diff options
| author | klm | 1998-12-10 01:25:27 +0000 |
|---|---|---|
| committer | klm | 1998-12-10 01:25:27 +0000 |
| commit | e70bccaf9850f40665327891dc48aad97dbf7c70 (patch) | |
| tree | 9ff9fe57dc4bb82005921ff48bc2c1052ec8ea0b | |
| parent | 417f3f6bf67a57bdd4098b20b8de8345f511fd7e (diff) | |
| download | mailman-e70bccaf9850f40665327891dc48aad97dbf7c70.tar.gz mailman-e70bccaf9850f40665327891dc48aad97dbf7c70.tar.zst mailman-e70bccaf9850f40665327891dc48aad97dbf7c70.zip | |
| -rw-r--r-- | Mailman/SecurityManager.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Mailman/SecurityManager.py b/Mailman/SecurityManager.py index 4a9bd5e4e..c0a14e534 100644 --- a/Mailman/SecurityManager.py +++ b/Mailman/SecurityManager.py @@ -71,16 +71,20 @@ class SecurityManager: """True if password is valid for site, list admin, or specific user.""" if self.ValidAdminPassword(pw): return 1 + # We need to obtain the right letter-case translated version, if any: got = self.members.get(string.lower(user), None) if got == None: got = self.digest_members.get(string.lower(user), None) - if got == 0: # Found, and case translation unneeded: - normalized = user - elif got == None: # Not found in either members dict: + if got == None: + # Not found in either members dict, resort to expensive FindUser. normalized = self.FindUser(user) - else: # Found, use case translation version: + elif type(got) == types.StringType: + # Found case translated version, use it: normalized = got + else: # Found, no case translation needed: + normalized = user + try: # XXX Huh?? Why eliminate password case info?? klm # 11/23/98. if (string.lower(pw) <> string.lower(self.passwords[normalized])): |
