Explorar o código

Merge pull request #280 from fatlotus/patch-1

Add compatibility patch for .authenticate() in PAM authentication module
Guillaume Ayoub %!s(int64=11) %!d(string=hai) anos
pai
achega
ab77f62bf4
Modificáronse 1 ficheiros con 6 adicións e 1 borrados
  1. 6 1
      radicale/auth/PAM.py

+ 6 - 1
radicale/auth/PAM.py

@@ -33,6 +33,11 @@ from .. import config, log
 GROUP_MEMBERSHIP = config.get("auth", "pam_group_membership")
 
 
+# Compatibility patch for old versions of python-pam.
+if not hasattr(pam, "pam"):
+    pam.pam = (lambda *vargs, **kwargs: pam.authenticate(*vargs, **kwards))
+
+
 def is_authenticated(user, password):
     """Check if ``user``/``password`` couple is valid."""
     if user is None or password is None:
@@ -72,7 +77,7 @@ def is_authenticated(user, password):
             "The PAM user belongs to the required group (%s)" %
             GROUP_MEMBERSHIP)
         # Check the password
-        if pam.authenticate(user, password):
+        if pam.pam().authenticate(user, password):
             return True
         else:
             log.LOGGER.debug("Wrong PAM password")