diff options
-rw-r--r-- | Mailman/Queue/BounceRunner.py | 17 | ||||
-rwxr-xr-x | NEWS | 4 |
2 files changed, 16 insertions, 5 deletions
diff --git a/Mailman/Queue/BounceRunner.py b/Mailman/Queue/BounceRunner.py index fcd6e3fb..d418ac5d 100644 --- a/Mailman/Queue/BounceRunner.py +++ b/Mailman/Queue/BounceRunner.py @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2013 by the Free Software Foundation, Inc. +# Copyright (C) 2001-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 @@ -151,10 +151,17 @@ class BounceMixin: try: op, addr, bmsg = mlist.pend_confirm(token) info = mlist.getBounceInfo(addr) - mlist.disableBouncingMember(addr, info, bmsg) - # Only save the list if we're unlocking it - if not locked: - mlist.Save() + if not info: + syslog('bounce', + '%s: Probe bounce received for %s with no bounce info', + mlist.internal_name(), + addr) + maybe_forward(mlist, bmsg) + else: + mlist.disableBouncingMember(addr, info, bmsg) + # Only save the list if we're unlocking it + if not locked: + mlist.Save() finally: if not locked: mlist.Unlock() @@ -14,6 +14,10 @@ Here is a history of user visible changes to Mailman. Bug fixes and other patches + - Fixed a bug where a delayed probe bounce can throw an AttributeError. + Now this will be logged and the probe bounce forwarded to the list + admin if bounce_unrecognized_goes_to_list_owner is Yes. (LP: #1482940) + - If a list is not digestable an the user is not currently set to receive digests, the digest options will not be shown on the user's options page. (LP: #1476298) |