diff options
-rw-r--r-- | Mailman/Queue/BounceRunner.py | 22 | ||||
-rwxr-xr-x | 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() @@ -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 |