Merge pull request #281 from untitaker/pam

Fix compatibility for PAM auth
This commit is contained in:
Guillaume Ayoub 2015-04-25 15:11:58 +02:00
commit 85826fcb74

View File

@ -33,9 +33,13 @@ from .. import config, log
GROUP_MEMBERSHIP = config.get("auth", "pam_group_membership") GROUP_MEMBERSHIP = config.get("auth", "pam_group_membership")
# Compatibility patch for old versions of python-pam. # Compatibility for old versions of python-pam.
if not hasattr(pam, "pam"): if hasattr(pam, "pam"):
pam.pam = (lambda *vargs, **kwargs: pam.authenticate(*vargs, **kwards)) def pam_authenticate(*args, **kwargs):
return pam.pam().authenticate(*args, **kwargs)
else:
def pam_authenticate(*args, **kwargs):
return pam.authenticate(*args, **kwargs)
def is_authenticated(user, password): def is_authenticated(user, password):
@ -77,7 +81,7 @@ def is_authenticated(user, password):
"The PAM user belongs to the required group (%s)" % "The PAM user belongs to the required group (%s)" %
GROUP_MEMBERSHIP) GROUP_MEMBERSHIP)
# Check the password # Check the password
if pam.pam().authenticate(user, password): if pam_authenticate(user, password):
return True return True
else: else:
log.LOGGER.debug("Wrong PAM password") log.LOGGER.debug("Wrong PAM password")