[Repoze-checkins] r1619 - in repoze.who/trunk: . docs repoze/who
Chris McDonough
chrism at agendaless.com
Sat Aug 16 16:08:32 EDT 2008
Author: Chris McDonough <chrism at agendaless.com>
Date: Sat Aug 16 16:08:32 2008
New Revision: 1619
Log:
- A bug in the middleware's ``authenticate`` method made it
impossible to authenticate a user with a userid that was null
(e.g. 0, False), which are valid identifiers. The only invalid
userid is now None.
Modified:
repoze.who/trunk/CHANGES.txt
repoze.who/trunk/docs/conf.py
repoze.who/trunk/repoze/who/middleware.py
repoze.who/trunk/repoze/who/tests.py
repoze.who/trunk/repoze/who/version.txt
Modified: repoze.who/trunk/CHANGES.txt
==============================================================================
--- repoze.who/trunk/CHANGES.txt (original)
+++ repoze.who/trunk/CHANGES.txt Sat Aug 16 16:08:32 2008
@@ -1,7 +1,12 @@
repoze.who changes
==================
-After 1.0.2
+1.0.3 (2008/08/16)
+
+ - A bug in the middleware's ``authenticate`` method made it
+ impossible to authenticate a user with a userid that was null
+ (e.g. 0, False), which are valid identifiers. The only invalid
+ userid is now None.
- Applied patch from Olaf Conradi which logs an error when an invalid
filename is passed to the HTPasswdPlugin.
Modified: repoze.who/trunk/docs/conf.py
==============================================================================
--- repoze.who/trunk/docs/conf.py (original)
+++ repoze.who/trunk/docs/conf.py Sat Aug 16 16:08:32 2008
@@ -51,9 +51,9 @@
# other places throughout the built documents.
#
# The short X.Y version.
-version = '1.0.2'
+version = '1.0.3'
# The full version, including alpha/beta/rc tags.
-release = '1.0.2'
+release = '1.0.3'
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
Modified: repoze.who/trunk/repoze/who/middleware.py
==============================================================================
--- repoze.who/trunk/repoze/who/middleware.py (original)
+++ repoze.who/trunk/repoze/who/middleware.py Sat Aug 16 16:08:32 2008
@@ -189,7 +189,7 @@
identifier_rank = id_rank_start
for identifier, identity in identities:
userid = plugin.authenticate(environ, identity)
- if userid:
+ if userid is not None:
logger and logger.debug(
'userid returned from %s: "%s"' % (plugin, userid))
Modified: repoze.who/trunk/repoze/who/tests.py
==============================================================================
--- repoze.who/trunk/repoze/who/tests.py (original)
+++ repoze.who/trunk/repoze/who/tests.py Sat Aug 16 16:08:32 2008
@@ -266,6 +266,23 @@
self.assertEqual(creds['password'], 'password')
self.assertEqual(userid, 'chris_id2')
+ def test_authenticate_user_null_but_not_none(self):
+ environ = self._makeEnviron()
+ plugin1 = DummyAuthenticator(0)
+ plugins = [ ('identifier1', plugin1) ]
+ mw = self._makeOne(authenticators=plugins)
+ identities = [ (None, {'login':'chris', 'password':'password'}) ]
+ results = mw.authenticate(environ, None, identities)
+ self.assertEqual(len(results), 1)
+ result = results[0]
+ rank, authenticator, identifier, creds, userid = result
+ self.assertEqual(rank, (0,0))
+ self.assertEqual(authenticator, plugin1)
+ self.assertEqual(identifier, None)
+ self.assertEqual(creds['login'], 'chris')
+ self.assertEqual(creds['password'], 'password')
+ self.assertEqual(userid, 0)
+
def test_challenge_noidentifier_noapp(self):
environ = self._makeEnviron()
challenger = DummyChallenger()
Modified: repoze.who/trunk/repoze/who/version.txt
==============================================================================
--- repoze.who/trunk/repoze/who/version.txt (original)
+++ repoze.who/trunk/repoze/who/version.txt Sat Aug 16 16:08:32 2008
@@ -1 +1 @@
-1.0.2
+1.0.3
More information about the Repoze-checkins
mailing list