diff options
| author | bwarsaw | 2006-07-30 19:21:02 +0000 |
|---|---|---|
| committer | bwarsaw | 2006-07-30 19:21:02 +0000 |
| commit | 347bd559f5559775ac489e89c47c1206eae0711c (patch) | |
| tree | 18cf9cf1ca5ca1feb786d3a6b0bd35b3078b5812 /Mailman/SecurityManager.py | |
| parent | 13185804a6a138449be016fe187833c6630af991 (diff) | |
| download | mailman-347bd559f5559775ac489e89c47c1206eae0711c.tar.gz mailman-347bd559f5559775ac489e89c47c1206eae0711c.tar.zst mailman-347bd559f5559775ac489e89c47c1206eae0711c.zip | |
Upgrade to email package version 4.0.1. Because email 4.0.1 is only
compatible back to Python 2.3, this change should not get back ported to
Mailman 2.1.
Port to Python 2.5. The non-test suite changes should get back ported to
Mailman 2.1 (which I will do next), but don't worry about the test suite ones
because MM2.1's test suite is hopeless. Specifically:
- In SecurityManager.py, fix the parsecookie() code to work with Python 2.5
generated cookie text. The latter was changed to be more RFC compliant so
it does not output training semicolons for each line of cookie text. This
broke the splitting rules, so now first split on newlines, then on ';\s*'.
This should work across all Python versions.
- In Python 2.5, exceptions are new-style, and thus are no longer of
ClassType. The instantiation type test in hold_for_approval() was too
naive.
- Raising strings generates deprecation warnings in Python 2.5. Switch the
one weird use of this in Utils.py to use a class exception. Don't call it
"quick exit" though because it's probably not.
- In the tests, use True/False instead of 1/0
- Use failUnless/failIf instead of assertEqual against True/False.
- In the tests, use Message.get_content_type() instead of Message.get_type()
since the latter is gone in email 4.0.1. Same with get_content_maintype()
and get_main_type().
Diffstat (limited to 'Mailman/SecurityManager.py')
| -rw-r--r-- | Mailman/SecurityManager.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/Mailman/SecurityManager.py b/Mailman/SecurityManager.py index 46f90ad98..e97084cf1 100644 --- a/Mailman/SecurityManager.py +++ b/Mailman/SecurityManager.py @@ -343,11 +343,12 @@ splitter = re.compile(';\s*') def parsecookie(s): c = {} - for p in splitter.split(s): - try: - k, v = p.split('=', 1) - except ValueError: - pass - else: - c[k] = v + for line in s.splitlines(): + for p in splitter.split(line): + try: + k, v = p.split('=', 1) + except ValueError: + pass + else: + c[k] = v return c |
