summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbwarsaw2002-05-17 23:54:51 +0000
committerbwarsaw2002-05-17 23:54:51 +0000
commit3052a8594100a91e29ee7f8844c375116d9330af (patch)
tree9797dd9c7a67fc6a5ef303fa8162381fc7f44fd8
parentf391caa1911e833467acefd9dd5554419666750d (diff)
downloadmailman-3052a8594100a91e29ee7f8844c375116d9330af.tar.gz
mailman-3052a8594100a91e29ee7f8844c375116d9330af.tar.zst
mailman-3052a8594100a91e29ee7f8844c375116d9330af.zip
-rw-r--r--Mailman/Queue/CommandRunner.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/Mailman/Queue/CommandRunner.py b/Mailman/Queue/CommandRunner.py
index 3b8b96b88..eb71a9cfc 100644
--- a/Mailman/Queue/CommandRunner.py
+++ b/Mailman/Queue/CommandRunner.py
@@ -157,6 +157,15 @@ class CommandRunner(Runner):
QDIR = mm_cfg.CMDQUEUE_DIR
def _dispose(self, mlist, msg, msgdata):
+ # The policy here is similar to the Replybot policy. If a message has
+ # "Precedence: bulk" and no "X-Ack: yes" header, we discard it to
+ # prevent replybot response storms.
+ precedence = msg.get('precedence', '').lower()
+ ack = msg.get('x-ack', '').lower()
+ if precedence == 'bulk' and ack <> 'yes':
+ syslog('vette', 'Precedence: bulk message discarded by: %s',
+ mlist.GetRequestEmail())
+ return 0
res = Results(mlist, msg, msgdata)
# BAW: Not all the functions of this qrunner require the list to be
# locked. Still, it's more convenient to lock it here and now and