aboutsummaryrefslogtreecommitdiffstats
path: root/Mailman
diff options
context:
space:
mode:
authorMark Sapiro <mark@msapiro.net>2008-02-19 20:26:57 -0800
committerMark Sapiro <mark@msapiro.net>2008-02-19 20:26:57 -0800
commit9ac7210487ec2bce4caca42ee4f8a17303aaabf5 (patch)
tree4ab34736ad907daf908d86066ef3fb34bcfd199f /Mailman
parent2aee687b29f28ef20703abcbe715d1b1d8e27546 (diff)
downloadmailman2-9ac7210487ec2bce4caca42ee4f8a17303aaabf5.tar.gz
mailman2-9ac7210487ec2bce4caca42ee4f8a17303aaabf5.tar.xz
mailman2-9ac7210487ec2bce4caca42ee4f8a17303aaabf5.zip
cmd_confirm.py - Modified to catch a UnicodeError that may occur under
obscure circumstances when scanning the message body for "unprocessed" commands. Moderate.py - Modified to not try to match "@listname" directly against the sender address.
Diffstat (limited to 'Mailman')
-rw-r--r--Mailman/Commands/cmd_confirm.py7
-rw-r--r--Mailman/Handlers/Moderate.py5
2 files changed, 8 insertions, 4 deletions
diff --git a/Mailman/Commands/cmd_confirm.py b/Mailman/Commands/cmd_confirm.py
index efa405e3..9d568df2 100644
--- a/Mailman/Commands/cmd_confirm.py
+++ b/Mailman/Commands/cmd_confirm.py
@@ -90,8 +90,11 @@ Bad approval password given. Held message is still being held."""))
match = 'confirm ' + cookie
unprocessed = []
for line in res.commands:
- if line.lstrip() == match:
- continue
+ try:
+ if line.lstrip() == match:
+ continue
+ except UnicodeError:
+ pass
unprocessed.append(line)
res.commands = unprocessed
# Process just one confirmation string per message
diff --git a/Mailman/Handlers/Moderate.py b/Mailman/Handlers/Moderate.py
index 346437e8..ff99c8fd 100644
--- a/Mailman/Handlers/Moderate.py
+++ b/Mailman/Handlers/Moderate.py
@@ -117,8 +117,9 @@ def process(mlist, msg, msgdata):
def matches_p(sender, nonmembers):
- # First strip out all the regular expressions
- plainaddrs = [addr for addr in nonmembers if not addr.startswith('^')]
+ # First strip out all the regular expressions and listnames
+ plainaddrs = [addr for addr in nonmembers if not (addr.startswith('^')
+ or addr.startswith('@'))]
addrdict = Utils.List2Dict(plainaddrs, foldcase=1)
if addrdict.has_key(sender):
return 1