diff options
| author | bwarsaw | 1999-04-16 02:31:35 +0000 |
|---|---|---|
| committer | bwarsaw | 1999-04-16 02:31:35 +0000 |
| commit | 10b780ffebd1c9589297a05e8ef7a7b2c11d082a (patch) | |
| tree | 6438d509e9f66fda2e2d1d65f1f3882a6c66b37a /Mailman/MailList.py | |
| parent | 0bce3a95cb9e2deff06ffaace47664a18b0c50ed (diff) | |
| download | mailman-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.py | 5 |
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) |
