summaryrefslogtreecommitdiff
path: root/Mailman
diff options
context:
space:
mode:
authortwouters2003-03-19 00:59:19 +0000
committertwouters2003-03-19 00:59:19 +0000
commit3392971848cca85c5beb92cff1309f996d0a53fe (patch)
tree81bf19dfb89f6897b9e25936a7d8e27cdc1cfa1a /Mailman
parent8a7a67e71959718369bed74904a2dd84a681eb3d (diff)
downloadmailman-3392971848cca85c5beb92cff1309f996d0a53fe.tar.gz
mailman-3392971848cca85c5beb92cff1309f996d0a53fe.tar.zst
mailman-3392971848cca85c5beb92cff1309f996d0a53fe.zip
Fix one of Peer's problems: get_payload can return a list or a string, but
this bounce handler was only expecting a string.
Diffstat (limited to 'Mailman')
-rw-r--r--Mailman/Bouncers/Microsoft.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/Mailman/Bouncers/Microsoft.py b/Mailman/Bouncers/Microsoft.py
index 65d49cc15..5c2f4f4b0 100644
--- a/Mailman/Bouncers/Microsoft.py
+++ b/Mailman/Bouncers/Microsoft.py
@@ -18,6 +18,7 @@
import re
from cStringIO import StringIO
+from types import ListType
scre = re.compile(r'transcript of session follows', re.IGNORECASE)
@@ -32,7 +33,11 @@ def process(msg):
except IndexError:
# The message *looked* like a multipart but wasn't
return None
- body = StringIO(subpart.get_payload())
+ data = subpart.get_payload()
+ if isinstance(data, ListType):
+ # The message is a multi-multipart, so not a matching bounce
+ return None
+ body = StringIO(data)
state = 0
addrs = []
while 1: