htpasswd: fix passlib module version comparison (#20202)
Previously, we used StrictVersion which failed to parse some passlib version strings. For example, Debian currently ship passlib with a __version__ of '1.7.0.post20161128115349' StrictVersion throws an exception when parsing this version string. Change to using LooseVersion which successfully parses version strings such as this. Fixes #20199
This commit is contained in:
parent
846174b4ba
commit
0be0aa5f10
1 changed files with 4 additions and 4 deletions
|
@ -104,7 +104,7 @@ EXAMPLES = """
|
|||
|
||||
import os
|
||||
import tempfile
|
||||
from distutils.version import StrictVersion
|
||||
from distutils.version import LooseVersion
|
||||
|
||||
try:
|
||||
from passlib.apache import HtpasswdFile, htpasswd_context
|
||||
|
@ -138,7 +138,7 @@ def present(dest, username, password, crypt_scheme, create, check_mode):
|
|||
if check_mode:
|
||||
return ("Create %s" % dest, True)
|
||||
create_missing_directories(dest)
|
||||
if StrictVersion(passlib.__version__) >= StrictVersion('1.6'):
|
||||
if LooseVersion(passlib.__version__) >= LooseVersion('1.6'):
|
||||
ht = HtpasswdFile(dest, new=True, default_scheme=crypt_scheme, context=context)
|
||||
else:
|
||||
ht = HtpasswdFile(dest, autoload=False, default=crypt_scheme, context=context)
|
||||
|
@ -149,7 +149,7 @@ def present(dest, username, password, crypt_scheme, create, check_mode):
|
|||
ht.save()
|
||||
return ("Created %s and added %s" % (dest, username), True)
|
||||
else:
|
||||
if StrictVersion(passlib.__version__) >= StrictVersion('1.6'):
|
||||
if LooseVersion(passlib.__version__) >= LooseVersion('1.6'):
|
||||
ht = HtpasswdFile(dest, new=False, default_scheme=crypt_scheme, context=context)
|
||||
else:
|
||||
ht = HtpasswdFile(dest, default=crypt_scheme, context=context)
|
||||
|
@ -176,7 +176,7 @@ def absent(dest, username, check_mode):
|
|||
""" Ensures user is absent
|
||||
|
||||
Returns (msg, changed) """
|
||||
if StrictVersion(passlib.__version__) >= StrictVersion('1.6'):
|
||||
if LooseVersion(passlib.__version__) >= LooseVersion('1.6'):
|
||||
ht = HtpasswdFile(dest, new=False)
|
||||
else:
|
||||
ht = HtpasswdFile(dest)
|
||||
|
|
Loading…
Reference in a new issue