aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Sapiro <msapiro@value.net>2010-12-04 13:19:49 -0800
committerMark Sapiro <msapiro@value.net>2010-12-04 13:19:49 -0800
commitdb33278a21b08a9f0f19963d133b5f0b878b3a1a (patch)
tree3a5c1311969ab328aad361a75808bd11e25d36a7
parent9483387a23b7dc01f33d95efcbc80e78e4b7479b (diff)
downloadmailman2-db33278a21b08a9f0f19963d133b5f0b878b3a1a.tar.gz
mailman2-db33278a21b08a9f0f19963d133b5f0b878b3a1a.tar.xz
mailman2-db33278a21b08a9f0f19963d133b5f0b878b3a1a.zip
- Fixed a problem where an emailed command in the Subject: header with a
non-ascii l10n of an 'Re:' prefix is ignored. Bug #685261. - Fixed a problem with approving a post by email when the body of the approval mail is base64 encoded. Bug #677115.
-rw-r--r--Mailman/MailList.py6
-rw-r--r--Mailman/Queue/CommandRunner.py5
-rw-r--r--NEWS6
3 files changed, 12 insertions, 5 deletions
diff --git a/Mailman/MailList.py b/Mailman/MailList.py
index 45ce6f09..a7efd986 100644
--- a/Mailman/MailList.py
+++ b/Mailman/MailList.py
@@ -1258,7 +1258,7 @@ class MailList(HTMLFormatter, Deliverer, ListAdmin,
except IndexError:
subpart = None
if subpart:
- s = StringIO(subpart.get_payload())
+ s = StringIO(subpart.get_payload(decode=True))
while True:
line = s.readline()
if not line:
@@ -1267,8 +1267,8 @@ class MailList(HTMLFormatter, Deliverer, ListAdmin,
continue
i = line.find(':')
if i > 0:
- if (line[:i].lower() == 'approve' or
- line[:i].lower() == 'approved'):
+ if (line[:i].strip().lower() == 'approve' or
+ line[:i].strip().lower() == 'approved'):
# then
approved = line[i+1:].strip()
break
diff --git a/Mailman/Queue/CommandRunner.py b/Mailman/Queue/CommandRunner.py
index 86d4a46c..3155f22f 100644
--- a/Mailman/Queue/CommandRunner.py
+++ b/Mailman/Queue/CommandRunner.py
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2009 by the Free Software Foundation, Inc.
+# Copyright (C) 1998-2010 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
@@ -76,7 +76,8 @@ class Results:
try:
subj = make_header(decode_header(subj)).__unicode__()
# TK: Currently we don't allow 8bit or multibyte in mail command.
- subj = subj.encode('us-ascii')
+ # MAS: However, an l10n 'Re:' may contain non-ascii so ignore it.
+ subj = subj.encode('us-ascii', 'ignore')
# Always process the Subject: header first
self.commands.append(subj)
except (HeaderParseError, UnicodeError, LookupError):
diff --git a/NEWS b/NEWS
index 4ae3fbc4..acacd31a 100644
--- a/NEWS
+++ b/NEWS
@@ -13,6 +13,12 @@ Here is a history of user visible changes to Mailman.
Bug Fixes and other patches
+ - Fixed a problem where an emailed command in the Subject: header with a
+ non-ascii l10n of an 'Re:' prefix is ignored. Bug #685261.
+
+ - Fixed a problem with approving a post by email when the body of the
+ approval mail is base64 encoded. Bug #677115.
+
- Fixed the host name in the From: address of the owner notification from
bin/add_members. Bug #666181.