[Zope3-dev] possible bug in z.a.password?

Adam Groszer agroszer at gmail.com
Fri Apr 20 09:59:52 EDT 2007


Hello,

Using the current trunk I experienced that using the PAU with a user
folder and users passwords stored with MD5, entering accented
characters as passwords causes an exception. That happens either at
adding the principal or at Z3's stock login form.

I think this is not my fault, but could somebody crosscheck that please?

Traceback from the login form, I entered "éá" as password:
  File "U:\zope\svn_zope34\src\zope\publisher\publish.py", line 130, in publish
    obj = request.traverse(obj)
  File "U:\zope\svn_zope34\src\zope\publisher\browser.py", line 513, in traverse

    ob = super(BrowserRequest, self).traverse(obj)
  File "U:\zope\svn_zope34\src\zope\publisher\http.py", line 448, in traverse
    ob = super(HTTPRequest, self).traverse(obj)
  File "U:\zope\svn_zope34\src\zope\publisher\base.py", line 252, in traverse
    publication.callTraversalHooks(self, obj)
  File "U:\zope\svn_zope34\src\zope\app\publication\zopepublication.py", line 12
3, in callTraversalHooks
    self._maybePlacefullyAuthenticate(request, ob)
  File "U:\zope\svn_zope34\src\zope\app\publication\zopepublication.py", line 11
0, in _maybePlacefullyAuthenticate
    principal = auth.authenticate(request)
  File "U:\zope\svn_zope34\src\zope\app\authentication\authentication.py", line
76, in authenticate
    info = authplugin.authenticateCredentials(credentials)
  File "U:\zope\svn_zope34\src\zope\app\authentication\principalfolder.py", line
 280, in authenticateCredentials
    if not internal.checkPassword(credentials["password"]):
  File "U:\zope\svn_zope34\src\zope\app\authentication\principalfolder.py", line
 150, in checkPassword
    return passwordManager.checkPassword(self.password, password)
  File "U:\zope\svn_zope34\src\zope\app\authentication\password.py", line 54, in
 checkPassword
    return storedPassword == self.encodePassword(password)
  File "U:\zope\svn_zope34\src\zope\app\authentication\password.py", line 77, in
 encodePassword
    return md5.new(password).hexdigest()
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordin
al not in range(128)

-- 
Best regards,
 Groszer Adam
--
Quote of the day:
Top ten things you'll never hear in an internet chat room: 5. Well... gotta go. It's almost time to pick up my date.



More information about the Zope3-dev mailing list