------------------------------------------------------------
revno: 1341
committer: Mark Sapiro <m...@msapiro.net>
branch nick: 2.2
timestamp: Tue 2014-05-06 09:40:56 -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
  NEWS


--
lp:mailman/2.2
https://code.launchpad.net/~mailman-coders/mailman/2.2

Your team Mailman Checkins is subscribed to branch lp:mailman/2.2.
To unsubscribe from this branch go to 
https://code.launchpad.net/~mailman-coders/mailman/2.2/+edit-subscription
=== modified file 'Mailman/Message.py'
--- Mailman/Message.py	2014-04-27 04:26:44 +0000
+++ Mailman/Message.py	2014-05-06 16:40:56 +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 'NEWS'
--- NEWS	2014-05-05 01:54:21 +0000
+++ NEWS	2014-05-06 16:40:56 +0000
@@ -49,10 +49,14 @@
       archive to emphasize that even if you got to the message from a
       subject, date or author index, previous and next are still by thread.
 
-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
Mailman-checkins@python.org
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org

Reply via email to