------------------------------------------------------------
revno: 1137
committer: Barry Warsaw <[EMAIL PROTECTED]>
branch nick: py26
timestamp: Sat 2008-11-29 18:46:03 -0500
message:
trunk
modified:
Mailman/Handlers/AvoidDuplicates.py
Mailman/SecurityManager.py
NEWS
------------------------------------------------------------
revno: 1132.1.2
committer: Mark Sapiro <[EMAIL PROTECTED]>
branch nick: 2.1
timestamp: Thu 2008-11-20 13:08:31 -0800
message:
Fixed a problem in SecurityManager that caused it to not find the
cookie when CheckCookie was not given a user and the user in the cookie
had a %xx encoded character. Bug # 299220.
modified:
Mailman/SecurityManager.py
NEWS
------------------------------------------------------------
revno: 1132.1.1
committer: Mark Sapiro <[EMAIL PROTECTED]>
branch nick: 2.1
timestamp: Fri 2008-11-14 14:09:30 -0800
message:
Fixed a bug in AvoidDuplicates.py that caused it to fail if the address
in the To: or Cc: header differed in case from the case-preserved member
address. Bug #297795.
modified:
Mailman/Handlers/AvoidDuplicates.py
NEWS
=== modified file 'Mailman/Handlers/AvoidDuplicates.py'
--- a/Mailman/Handlers/AvoidDuplicates.py 2005-08-27 01:40:17 +0000
+++ b/Mailman/Handlers/AvoidDuplicates.py 2008-11-14 22:09:30 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2003 by the Free Software Foundation, Inc.
+# Copyright (C) 2002-2008 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -40,34 +40,38 @@
# Short circuit
if not recips:
return
+ # There is an issue with addresses in To: or Cc: that differ in
+ # case from the MemberCPAddresses in recips. We can't just
+ # lower-case everything because we still want CP addresses in
+ # the final recips list, so we lower case the keys.
# Seed this set with addresses we don't care about dup avoiding
explicit_recips = {}
listaddrs = [mlist.GetListEmail(), mlist.GetBouncesEmail(),
mlist.GetOwnerEmail(), mlist.GetRequestEmail()]
for addr in listaddrs:
- explicit_recips[addr] = True
+ explicit_recips[addr.lower()] = True
# Figure out the set of explicit recipients
ccaddrs = {}
for header in ('to', 'cc', 'resent-to', 'resent-cc'):
addrs = getaddresses(msg.get_all(header, []))
if header == 'cc':
for name, addr in addrs:
- ccaddrs[addr] = name, addr
+ ccaddrs[addr.lower()] = name, addr
for name, addr in addrs:
if not addr:
continue
# Ignore the list addresses for purposes of dup avoidance
- explicit_recips[addr] = True
+ explicit_recips[addr.lower()] = True
# Now strip out the list addresses
for addr in listaddrs:
- del explicit_recips[addr]
+ del explicit_recips[addr.lower()]
if not explicit_recips:
# No one was explicitly addressed, so we can't do any dup collapsing
return
newrecips = []
for r in recips:
# If this recipient is explicitly addressed...
- if explicit_recips.has_key(r):
+ if explicit_recips.has_key(r.lower()):
send_duplicate = True
# If the member wants to receive duplicates, or if the recipient
# is not a member at all, just flag the X-Mailman-Duplicate: yes
@@ -81,8 +85,8 @@
if send_duplicate:
msgdata.setdefault('add-dup-header', {})[r] = True
newrecips.append(r)
- elif ccaddrs.has_key(r):
- del ccaddrs[r]
+ elif ccaddrs.has_key(r.lower()):
+ del ccaddrs[r.lower()]
else:
# Otherwise, this is the first time they've been in the recips
# list. Add them to the newrecips list and flag them as having
=== modified file 'Mailman/SecurityManager.py'
--- a/Mailman/SecurityManager.py 2008-11-13 04:02:29 +0000
+++ b/Mailman/SecurityManager.py 2008-11-29 23:46:03 +0000
@@ -298,7 +298,8 @@
usernames.append(k[len(prefix):])
# If any check out, we're golden. Note: `@'s are no longer legal
# values in cookie keys.
- for user in [Utils.UnobscureEmail(u) for u in usernames]:
+ for user in [Utils.UnobscureEmail(urllib.unquote(u))
+ for u in usernames]:
ok = self.__checkone(c, authcontext, user)
if ok:
return True
=== modified file 'NEWS'
--- a/NEWS 2008-09-21 19:12:52 +0000
+++ b/NEWS 2008-11-20 21:08:31 +0000
@@ -27,6 +27,14 @@
certain errors that can be caused by configuration of a particular list.
Bug #265941 (sf775100).
+ - Fixed a bug in AvoidDuplicates.py that caused it to fail if the address
+ in the To: or Cc: header differed in case from the case-preserved member
+ address. Bug #297795.
+
+ - Fixed a problem in SecurityManager that caused it to not find the
+ cookie when CheckCookie was not given a user and the user in the cookie
+ had a %xx encoded character. Bug # 299220.
+
2.1.11 (30-Jun-2008)
New Features
--
Stable, maintained release series
https://code.launchpad.net/~mailman-coders/mailman/2.1
You are receiving this branch notification because you are subscribed to it.
_______________________________________________
Mailman-checkins mailing list
[email protected]
Unsubscribe:
http://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org