------------------------------------------------------------
revno: 1484
fixes bug: https://launchpad.net/bugs/1316682
committer: Mark Sapiro <[email protected]>
branch nick: 2.1
timestamp: Tue 2014-05-06 09:35:47 -0700
message:
A critical incompatibility between the DMARC Wrap Message action and
Python versions older than 2.6.x for some x <= 5 existed and caused
Wrapped message to be shunted. This is fixed. (LP: #1316682)
modified:
Mailman/Message.py
Mailman/Version.py
NEWS
--
lp:mailman/2.1
https://code.launchpad.net/~mailman-coders/mailman/2.1
Your team Mailman Checkins is subscribed to branch lp:mailman/2.1.
To unsubscribe from this branch go to
https://code.launchpad.net/~mailman-coders/mailman/2.1/+edit-subscription
=== modified file 'Mailman/Message.py'
--- Mailman/Message.py 2014-04-27 04:25:34 +0000
+++ Mailman/Message.py 2014-05-06 16:35:47 +0000
@@ -59,6 +59,25 @@
return self.__class__(fp, self._mangle_from_,
self.__children_maxheaderlen, self.__children_maxheaderlen)
+ # This is the _handle_message method with the fix for bug 7970.
+ def _handle_message(self, msg):
+ s = StringIO()
+ g = self.clone(s)
+ # The payload of a message/rfc822 part should be a multipart sequence
+ # of length 1. The zeroth element of the list should be the Message
+ # object for the subpart. Extract that object, stringify it, and
+ # write it out.
+ # Except, it turns out, when it's a string instead, which happens when
+ # and only when HeaderParser is used on a message of mime type
+ # message/rfc822. Such messages are generated by, for example,
+ # Groupwise when forwarding unadorned messages. (Issue 7970.) So
+ # in that case we just emit the string body.
+ payload = msg.get_payload()
+ if isinstance(payload, list):
+ g.flatten(msg.get_payload(0), unixfrom=False)
+ payload = s.getvalue()
+ self._fp.write(payload)
+
class Message(email.Message.Message):
=== modified file 'Mailman/Version.py'
--- Mailman/Version.py 2014-05-03 17:35:40 +0000
+++ Mailman/Version.py 2014-05-06 16:35:47 +0000
@@ -16,7 +16,7 @@
# USA.
# Mailman version
-VERSION = '2.1.18'
+VERSION = '2.1.18-1'
# And as a hex number in the manner of PY_VERSION_HEX
ALPHA = 0xa
@@ -31,7 +31,7 @@
MICRO_REV = 18
REL_LEVEL = FINAL
# at most 15 beta releases!
-REL_SERIAL = 0
+REL_SERIAL = 1
HEX_VERSION = ((MAJOR_REV << 24) | (MINOR_REV << 16) | (MICRO_REV << 8) |
(REL_LEVEL << 4) | (REL_SERIAL << 0))
=== modified file 'NEWS'
--- NEWS 2014-05-05 01:54:04 +0000
+++ NEWS 2014-05-06 16:35:47 +0000
@@ -5,10 +5,14 @@
Here is a history of user visible changes to Mailman.
-2.1.19 (xx-xxx-xxxx)
+2.1.18-1 (06-May-2014)
Bug fixes and other patches
+ - A critical incompatibility between the DMARC Wrap Message action and
+ Python versions older than 2.6.x for some x <= 5 existed and caused
+ Wrapped message to be shunted. This is fixed. (LP: #1316682)
+
- Sender: headers are no longer removed in from_is_list Munge From
actions. (LP: #1315970)
_______________________________________________
Mailman-checkins mailing list
[email protected]
Unsubscribe:
https://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org