summaryrefslogtreecommitdiff
path: root/Mailman/MailList.py
diff options
context:
space:
mode:
authorklm1998-04-27 20:13:19 +0000
committerklm1998-04-27 20:13:19 +0000
commit555cccfd12d61fc97218f603b2048844b08d15e9 (patch)
tree417b3a2469fd00b99239045a0c3e4f552929c7de /Mailman/MailList.py
parent37231473adb84cd2832abd91adabe8c890169231 (diff)
downloadmailman-555cccfd12d61fc97218f603b2048844b08d15e9.tar.gz
mailman-555cccfd12d61fc97218f603b2048844b08d15e9.tar.zst
mailman-555cccfd12d61fc97218f603b2048844b08d15e9.zip
Diffstat (limited to 'Mailman/MailList.py')
-rw-r--r--Mailman/MailList.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/Mailman/MailList.py b/Mailman/MailList.py
index fef4af3ca..a59c435ef 100644
--- a/Mailman/MailList.py
+++ b/Mailman/MailList.py
@@ -1,6 +1,6 @@
"The class representing a mailman maillist. Mixes in many feature classes."
-__version__ = "$Revision: 465 $"
+__version__ = "$Revision: 476 $"
try:
import mm_cfg
@@ -682,6 +682,7 @@ class MailList(MailCommandHandler, HTMLFormatter, Deliverer, ListAdmin,
#msg should be an IncomingMessage object.
def Post(self, msg, approved=0):
self.IsListInitialized()
+ # Be sure to ExtractApproval, whether or not flag is already set!
msgapproved = self.ExtractApproval(msg)
if not approved:
approved = msgapproved
@@ -689,6 +690,11 @@ class MailList(MailCommandHandler, HTMLFormatter, Deliverer, ListAdmin,
# If it's the admin, which we know by the approved variable,
# we can skip a large number of checks.
if not approved:
+ from_lists = msg.getallmatchingheaders('x-beenthere')
+ if self.GetListEmail() in from_lists:
+ self.AddRequest('post', mm_utils.SnarfMessage(msg),
+ mm_err.LOOPING_POST,
+ msg.getheader('subject'))
if len(self.forbidden_posters):
addrs = mm_utils.FindMatchingAddresses(sender,
self.forbidden_posters)