summaryrefslogtreecommitdiff
path: root/Mailman/passwords.py
diff options
context:
space:
mode:
authortkikuchi2007-03-03 03:19:21 +0000
committertkikuchi2007-03-03 03:19:21 +0000
commitef47275337f8a66d577489c1f0121087a713cf27 (patch)
tree2875093fbb3e524dc545053ad8a77fbd687da7cd /Mailman/passwords.py
parenta39a27fce459fb6fc4d0c1ee17ab571d51bf16bf (diff)
downloadmailman-ef47275337f8a66d577489c1f0121087a713cf27.tar.gz
mailman-ef47275337f8a66d577489c1f0121087a713cf27.tar.zst
mailman-ef47275337f8a66d577489c1f0121087a713cf27.zip
Diffstat (limited to 'Mailman/passwords.py')
-rw-r--r--Mailman/passwords.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/Mailman/passwords.py b/Mailman/passwords.py
index e019d061e..2b7d38f2d 100644
--- a/Mailman/passwords.py
+++ b/Mailman/passwords.py
@@ -218,7 +218,7 @@ def make_secret(password, scheme=None):
# be a unicode.
if isinstance(password, unicode):
password = password.encode('utf-8')
- scheme_class = _SCHEMES_BY_ENUM.get(scheme, _DEFAULT_SCHEME)
+ scheme_class = _SCHEMES_BY_TAG.get(scheme, _DEFAULT_SCHEME)
secret = scheme_class.make_secret(password)
return '{%s}%s' % (scheme_class.TAG, secret)
@@ -236,4 +236,7 @@ def check_response(challenge, response):
scheme_parts = scheme_group.split()
scheme = scheme_parts[0].lower()
scheme_class = _SCHEMES_BY_TAG.get(scheme, _DEFAULT_SCHEME)
+ if isinstance(rest_group, unicode):
+ # decode() fails. (challenge is from database)
+ rest_group = str(rest_group)
return scheme_class.check_response(rest_group, response, *scheme_parts[1:])