summaryrefslogtreecommitdiff
path: root/Mailman/MailList.py
diff options
context:
space:
mode:
authorbwarsaw1999-04-16 02:31:35 +0000
committerbwarsaw1999-04-16 02:31:35 +0000
commit10b780ffebd1c9589297a05e8ef7a7b2c11d082a (patch)
tree6438d509e9f66fda2e2d1d65f1f3882a6c66b37a /Mailman/MailList.py
parent0bce3a95cb9e2deff06ffaace47664a18b0c50ed (diff)
downloadmailman-10b780ffebd1c9589297a05e8ef7a7b2c11d082a.tar.gz
mailman-10b780ffebd1c9589297a05e8ef7a7b2c11d082a.tar.zst
mailman-10b780ffebd1c9589297a05e8ef7a7b2c11d082a.zip
Post(): New policy for message loops (e.g. messages that show up at
the mailing list that have a matching X-BeenThere header). Instead of holding such messages for approval, an MMLoopingPost error is raised. This is caught by the post CGI script, which logs this occurance and sends a notice (containing the original message) to the list admin. This way, the admin knows there's a problem and can track the loop down, but isn't so inconvenienced to go the the Web page just to discard the message (the usual disposition).
Diffstat (limited to 'Mailman/MailList.py')
-rw-r--r--Mailman/MailList.py5
1 files changed, 2 insertions, 3 deletions
diff --git a/Mailman/MailList.py b/Mailman/MailList.py
index a6277c07b..40baffe8d 100644
--- a/Mailman/MailList.py
+++ b/Mailman/MailList.py
@@ -1118,9 +1118,8 @@ class MailList(MailCommandHandler, HTMLFormatter, Deliverer, ListAdmin,
beentheres = map(lambda x: string.split(x, ": ")[1][:-1],
msg.getallmatchingheaders('x-beenthere'))
if self.GetListEmail() in beentheres:
- self.AddRequest('post', Utils.SnarfMessage(msg),
- Errors.LOOPING_POST,
- msg.getheader('subject'))
+ # Exit from scripts/post - no longer held
+ raise Errors.MMLoopingPost
if len(self.forbidden_posters):
forbidden_posters = Utils.List2Dict(self.forbidden_posters)
addrs = Utils.FindMatchingAddresses(sender, forbidden_posters)