Revision: 8164
          http://svn.sourceforge.net/mailman/?rev=8164&view=rev
Author:   tkikuchi
Date:     2007-03-02 19:19:21 -0800 (Fri, 02 Mar 2007)

Log Message:
-----------
Some fixes for rev 8162 for mmsitepass to work.

emum.py:
    'cls' is used instead of 'self'
mmsitepass.py:
    SCHEMES -> Schemes
passwords.py:
    make_secret is called with 'scheme' in string.
    decode() of challenge string fails if it is unicode.

Revision Links:
--------------
    http://svn.sourceforge.net/mailman/?rev=8162&view=rev

Modified Paths:
--------------
    trunk/mailman/Mailman/bin/mmsitepass.py
    trunk/mailman/Mailman/enum.py
    trunk/mailman/Mailman/passwords.py

Modified: trunk/mailman/Mailman/bin/mmsitepass.py
===================================================================
--- trunk/mailman/Mailman/bin/mmsitepass.py     2007-03-02 12:36:15 UTC (rev 
8163)
+++ trunk/mailman/Mailman/bin/mmsitepass.py     2007-03-03 03:19:21 UTC (rev 
8164)
@@ -67,7 +67,7 @@
     if len(args) > 1:
         parser.error(_('Unexpected arguments'))
     if opts.list_hash_schemes:
-        for label in passwords.SCHEMES:
+        for label in passwords.Schemes:
             print label.upper()
         sys.exit(0)
     return parser, opts, args
@@ -77,7 +77,7 @@
     # shoule be checked after config is loaded.
     if password_scheme == '':
         password_scheme = config.PASSWORD_SCHEME
-    if password_scheme.lower() not in passwords.SCHEMES:
+    if password_scheme.lower() not in passwords.Schemes:
         parser.error(_('Invalid password scheme'))
     return password_scheme
 

Modified: trunk/mailman/Mailman/enum.py
===================================================================
--- trunk/mailman/Mailman/enum.py       2007-03-02 12:36:15 UTC (rev 8163)
+++ trunk/mailman/Mailman/enum.py       2007-03-03 03:19:21 UTC (rev 8164)
@@ -75,8 +75,8 @@
         return '<%s {%s}>' % (cls.__name__, COMMASPACE.join(enums))
 
     def __iter__(cls):
-        for i in sorted(self._enums):
-            yield self._enums[i]
+        for i in sorted(cls._enums):
+            yield cls._enums[i]
 
     def __getitem__(cls, i):
         # i can be an integer or a string

Modified: trunk/mailman/Mailman/passwords.py
===================================================================
--- trunk/mailman/Mailman/passwords.py  2007-03-02 12:36:15 UTC (rev 8163)
+++ trunk/mailman/Mailman/passwords.py  2007-03-03 03:19:21 UTC (rev 8164)
@@ -218,7 +218,7 @@
     # 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 @@
     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:])


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.
_______________________________________________
Mailman-checkins mailing list
[email protected]
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org

Reply via email to