1
0
Эх сурвалжийг харах

Merge pull request #281 from untitaker/pam

Fix compatibility for PAM auth
Guillaume Ayoub 11 жил өмнө
parent
commit
85826fcb74
1 өөрчлөгдсөн 8 нэмэгдсэн , 4 устгасан
  1. 8 4
      radicale/auth/PAM.py

+ 8 - 4
radicale/auth/PAM.py

@@ -33,9 +33,13 @@ 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))
+# Compatibility for old versions of python-pam.
+if hasattr(pam, "pam"):
+    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):
@@ -77,7 +81,7 @@ def is_authenticated(user, password):
             "The PAM user belongs to the required group (%s)" %
             GROUP_MEMBERSHIP)
         # Check the password
-        if pam.pam().authenticate(user, password):
+        if pam_authenticate(user, password):
             return True
         else:
             log.LOGGER.debug("Wrong PAM password")