From 7fc34196cae19d5e719f6ae94ffb39debc87cf3c Mon Sep 17 00:00:00 2001 From: Mark Sapiro Date: Thu, 13 Aug 2015 19:05:52 -0700 Subject: Improved fix for LP: 1482940. --- Mailman/Queue/BounceRunner.py | 22 ++++++++++++---------- NEWS | 3 +-- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/Mailman/Queue/BounceRunner.py b/Mailman/Queue/BounceRunner.py index d418ac5d..651039d6 100644 --- a/Mailman/Queue/BounceRunner.py +++ b/Mailman/Queue/BounceRunner.py @@ -30,6 +30,7 @@ from Mailman import mm_cfg from Mailman import Utils from Mailman import LockFile from Mailman.Message import UserNotification +from Mailman.Bouncer import _BounceInfo from Mailman.Bouncers import BouncerAPI from Mailman.Queue.Runner import Runner from Mailman.Queue.sbcache import get_switchboard @@ -152,16 +153,17 @@ class BounceMixin: op, addr, bmsg = mlist.pend_confirm(token) info = mlist.getBounceInfo(addr) 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() + # info was deleted before probe bounce was received. + # Just create a new info. + info = _BounceInfo(addr, + 0.0, + time.localtime()[:3], + mlist.bounce_you_are_disabled_warnings + ) + 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() diff --git a/NEWS b/NEWS index 4e481f08..c547054e 100755 --- a/NEWS +++ b/NEWS @@ -15,8 +15,7 @@ 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) + (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 -- cgit v1.2.3