------------------------------------------------------------
revno: 1587
fixes bug: https://launchpad.net/bugs/1519062
committer: Mark Sapiro <m...@msapiro.net>
branch nick: 2.1
timestamp: Tue 2015-11-24 06:11:28 -0800
message:
  Avoid skipping a handler which rejected or discarded a message
  when message is subsequently shunted and unshunted.
modified:
  Mailman/Queue/IncomingRunner.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/Queue/IncomingRunner.py'
--- Mailman/Queue/IncomingRunner.py	2014-10-25 20:08:25 +0000
+++ Mailman/Queue/IncomingRunner.py	2015-11-24 14:11:28 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2014 by the Free Software Foundation, Inc.
+# Copyright (C) 1998-2015 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
@@ -157,6 +157,10 @@
                     os._exit(1)
             except Errors.DiscardMessage:
                 # Throw the message away; we need do nothing else with it.
+                # We do need to push the current handler back in the pipeline
+                # just in case the syslog call throws an exception and the
+                # message is shunted.
+                pipeline.insert(0, handler)
                 syslog('vette', """Message discarded, msgid: %s'
         list: %s,
         handler: %s""",
@@ -169,6 +173,10 @@
                 return 0
             except Errors.RejectMessage, e:
                 # Log this.
+                # We do need to push the current handler back in the pipeline
+                # just in case the syslog call or BounceMessage throws an
+                # exception and the message is shunted.
+                pipeline.insert(0, handler)
                 syslog('vette', """Message rejected, msgid: %s
         list: %s,
         handler: %s,

=== modified file 'NEWS'
--- NEWS	2015-11-06 17:14:29 +0000
+++ NEWS	2015-11-24 14:11:28 +0000
@@ -22,6 +22,10 @@
 
   Bug fixes and other patches
 
+    - It was possible under some circumstances for a message to be shunted
+      after a handler rejected or discarded it, and the handler would be
+      skipped upon unshunting and the message accepted.  (LP: #1519062)
+
     - Posts gated to usenet will no longer have other than the target group
       in the Newsgroups: header.  (LP: #1512866)
 

_______________________________________________
Mailman-checkins mailing list
Mailman-checkins@python.org
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org

Reply via email to