diff options
Diffstat (limited to '')
-rw-r--r-- | Mailman/Archiver/pipermail.py | 4 | ||||
-rw-r--r-- | Mailman/Handlers/SpamDetect.py | 10 | ||||
-rw-r--r-- | Mailman/MTA/Postfix.py | 7 |
3 files changed, 16 insertions, 5 deletions
diff --git a/Mailman/Archiver/pipermail.py b/Mailman/Archiver/pipermail.py index c03d43b3..9b0813b0 100644 --- a/Mailman/Archiver/pipermail.py +++ b/Mailman/Archiver/pipermail.py @@ -249,8 +249,8 @@ class Article: if date is None: date = floatdate(message.get('x-list-received-date')) if date is None: - date = floatdate(re.sub(r'^.*;\s*', '', - message.get('received', ''), flags=re.S)) + rec_re = re.compile(r'^.*;\s*', re.DOTALL) + date = floatdate(rec_re.sub('', message.get('received', ''))) if date is None: date = floatdate(re.sub(r'From \s*\S+\s+', '', message.get_unixfrom() or '' )) diff --git a/Mailman/Handlers/SpamDetect.py b/Mailman/Handlers/SpamDetect.py index 257cdb24..4e554d70 100644 --- a/Mailman/Handlers/SpamDetect.py +++ b/Mailman/Handlers/SpamDetect.py @@ -56,7 +56,12 @@ class SpamDetected(Errors.DiscardMessage): """The message contains known spam""" class HeaderMatchHold(Errors.HoldMessage): - reason = _('The message headers matched a filter rule') + def __init__(self, pattern): + self.__pattern = pattern + + def reason_notice(self): + pattern = self.__pattern + return _('Header matched regexp: %(pattern)s') # And reset the translator @@ -195,6 +200,7 @@ error, contact the mailing list owner at %(listowner)s.""")) # pass it here but list-owner can set this to be # discarded on the GUI if he wants. return - hold_for_approval(mlist, msg, msgdata, HeaderMatchHold) + hold_for_approval( + mlist, msg, msgdata, HeaderMatchHold(pattern)) if action == mm_cfg.ACCEPT: return diff --git a/Mailman/MTA/Postfix.py b/Mailman/MTA/Postfix.py index b829ad6e..6fa3f14a 100644 --- a/Mailman/MTA/Postfix.py +++ b/Mailman/MTA/Postfix.py @@ -56,7 +56,12 @@ def _update_maps(): if (stat[ST_MODE] & targetmode) <> targetmode: os.chmod(file, stat[ST_MODE] | targetmode) dbfile = file + '.db' - stat = os.stat(dbfile) + try: + stat = os.stat(dbfile) + except OSError, e: + if e.errno <> errno.ENOENT: + raise + return if (stat[ST_MODE] & targetmode) <> targetmode: os.chmod(dbfile, stat[ST_MODE] | targetmode) user = mm_cfg.MAILMAN_USER |