aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Mailman/Queue/BounceRunner.py22
-rwxr-xr-xNEWS3
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