summaryrefslogtreecommitdiff
path: root/Mailman/MailList.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mailman/MailList.py')
-rw-r--r--Mailman/MailList.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/Mailman/MailList.py b/Mailman/MailList.py
index 7be036bef..476cbd1ed 100644
--- a/Mailman/MailList.py
+++ b/Mailman/MailList.py
@@ -632,6 +632,9 @@ class MailList(MailCommandHandler, HTMLFormatter, Deliverer, ListAdmin,
raise Errors.MMBadEmailError
if self.IsMember(name):
raise Errors.MMAlreadyAMember
+ if name == string.lower(self.GetListEmail()):
+ # Trying to subscribe the list to itself!
+ raise mm_err.MMBadEmailError
if digest and not self.digestable:
raise Errors.MMCantDigestError
@@ -803,8 +806,9 @@ 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:
+ 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'))