aboutsummaryrefslogtreecommitdiffstats
path: root/Mailman/Handlers
diff options
context:
space:
mode:
Diffstat (limited to 'Mailman/Handlers')
-rwxr-xr-xMailman/Handlers/CalcRecips.py6
-rwxr-xr-xMailman/Handlers/CookHeaders.py5
-rw-r--r--Mailman/Handlers/SpamDetect.py21
3 files changed, 25 insertions, 7 deletions
diff --git a/Mailman/Handlers/CalcRecips.py b/Mailman/Handlers/CalcRecips.py
index 0680bfb1..069c88a8 100755
--- a/Mailman/Handlers/CalcRecips.py
+++ b/Mailman/Handlers/CalcRecips.py
@@ -184,6 +184,12 @@ def do_exclude(mlist, msg, msgdata, recips):
for sender in msg.get_senders():
if slist.isMember(sender):
break
+ for sender in Utils.check_eq_domains(sender,
+ slist.equivalent_domains):
+ if slist.isMember(sender):
+ break
+ if slist.isMember(sender):
+ break
else:
continue
srecips = set([slist.getMemberCPAddress(m)
diff --git a/Mailman/Handlers/CookHeaders.py b/Mailman/Handlers/CookHeaders.py
index acb79166..4e005dc5 100755
--- a/Mailman/Handlers/CookHeaders.py
+++ b/Mailman/Handlers/CookHeaders.py
@@ -425,6 +425,11 @@ def prefix_subject(mlist, msg, msgdata):
except UnicodeError:
pass
# Get the header as a Header instance, with proper unicode conversion
+ # Because of rfc2047 encoding, spaces between encoded words can be
+ # insignificant, so we need to append a space to prefix but only when
+ # we have Re:.
+ if recolon:
+ prefix += ' '
if old_style:
h = uheader(mlist, recolon, 'Subject', continuation_ws=ws)
h.append(prefix)
diff --git a/Mailman/Handlers/SpamDetect.py b/Mailman/Handlers/SpamDetect.py
index 509e1e6e..c7b8d9e7 100644
--- a/Mailman/Handlers/SpamDetect.py
+++ b/Mailman/Handlers/SpamDetect.py
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2015 by the Free Software Foundation, Inc.
+# Copyright (C) 1998-2016 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -123,10 +123,19 @@ error, contact the mailing list owner at %(listowner)s."""))
elif mlist.dmarc_moderation_action == 4:
raise Errors.DiscardMessage
- if mlist.member_verbosity_threshold > 0 and Utils.IsVerboseMember(mlist, addr):
- mlist.setMemberOption(addr, mm_cfg.Moderate, 1)
- syslog('vette', '%s: Automatically Moderated %s for verbose postings.',
- mlist.real_name, addr)
+ # Get member address if any.
+ for sender in msg.get_senders():
+ if mlist.isMember(sender):
+ break
+ else:
+ sender = msg.get_sender()
+ if (mlist.member_verbosity_threshold > 0 and
+ Utils.IsVerboseMember(mlist, sender)
+ ):
+ mlist.setMemberOption(sender, mm_cfg.Moderate, 1)
+ syslog('vette',
+ '%s: Automatically Moderated %s for verbose postings.',
+ mlist.real_name, sender)
if msgdata.get('approved'):
return
@@ -175,5 +184,3 @@ error, contact the mailing list owner at %(listowner)s."""))
hold_for_approval(mlist, msg, msgdata, HeaderMatchHold)
if action == mm_cfg.ACCEPT:
return
-
-