aboutsummaryrefslogtreecommitdiffstats
path: root/Mailman/Handlers/Scrubber.py (unfollow)
Commit message (Collapse)AuthorFilesLines
2011-06-02Fixed a problem which could result in raw, undecoded message bodiesMark Sapiro1-4/+7
appearing in plain digests and archives. Bug #787790.
2009-12-03Decoded RFC 2047 encoded message subjects for a few reports. Bug #266428.Mark Sapiro1-0/+1
2009-08-01Mailman no longer folds long sub-part headers in multipart messages.Mark Sapiro1-21/+0
In addition, Mailman no longer escapes From_ lines in the body of messages sent to regular list members, although MTA's may do it anyway. This is to avoid breaking signatures per Bug #265967. Changes include - Message.py, added a Generator class to avoid header folding and an as_string() method wirth a mangle_from_ argument. - Mailbox.py, uses new Message.Generator class. - SMTPDirect.py, uses as_string(mangle_from_=False) to flatten message. - Scrubber.py, removed unused ScrubberGenerator class.
2009-07-31Backported several bug fixes from the 2.2 branch.Mark Sapiro1-1/+1
2009-01-13Work around email 3.0.1 issue when set_payload charset arg is unicode.Mark Sapiro1-1/+4
2008-11-30Now that Python 2.4 is the minimum and we will use more recent installedMark Sapiro1-2/+2
email packages, convert all the email message get_type() calls to get_content_type().
2008-11-12Apply Heiko Rommel's patch for hashlib deprecation warnings for bug 293178.Barry Warsaw1-3/+3
I've modified the patch to improve some of the stylistic issues.
2007-11-18Scrubber.py - changed to use part.get_payload(), not part._payload.Mark Sapiro1-2/+2
2007-11-06- Scrubber.pyMark Sapiro1-5/+6
Fixed an issue where an implicit text/plain part without any headers gets lost. Moved the cleansing of the filename extension to a place where it is guaranteed to be a string as opposed to an empty list.
2007-06-22Scrubber.py - Cleaned up a few loose ends and incomplete things left after theMark Sapiro1-17/+19
previous commit. - Normalized a couple more 'URL:'. - Improved handling of None payloads. - Cleaned up a few charset coercions. OutgoingRunner.py - Made probe bounce processing and queuing of bounces conditional on having some permanent failure(s).
2007-06-15Scrubber.py - If a malformed message has Content-Type: with amsapiro1-4/+7
charset="quoted-printable" parameter, quopri_encode can be called at t = t.encode(charset, 'replace') which throws an AssertionError. See log message for r. 8213. Caught this. - Malformed RFC 2047 encoded filename= parameter can have a null byte or other garbage in the extension. Cleaned this. - A message with a message/delivery-status part returns None for the part's payload. Checked for a payload before attempting unicode/encode.
2007-05-09base64 codec raises 'AssertionError'. This should not occur in normal casetkikuchi1-1/+1
but it looks like thare is a buggy MUA or spammer who declairs like so: Content-Type: text/plain; charset=base64 :-(
2007-05-08- CGI/admin.pymsapiro1-2/+29
The email address which forms a part of the various CGI data keys in the admin membership list is now urllib.quote()ed. This allows changing options for and unsubbing an address which contains a double-quote character. - CGI/admindb.py Added additional test to not display "Database Updated ..." when coming from the login page. - CGI/roster.py, HTMLFormatter.py Changed to show hidden members when authorization is site or list's admin or moterator password. Patch 1587651. - Defaults.py.in, Handlers/Cleanse_DKIM.py Added a new REMOVE_DKIM_HEADERS Defaults.py/mm_cfg.py setting (default = No) to control removing dkim/domainkey signatures from posts and mail to -owner. - Handlers/Decorate.py, Handlers/Scrubber.py Changed to preserve format=flowed and delsp=yes in the Content-Type: of the body when adding header/footer and when scrubbing attachments and to remove trailing spaces from the header/footer lines so they won't be flowed. Bug 1495122. Fixed a scrubber issue where the i18n translated 'next part' separator can be garbled if the list charset is different from the message. - Queue/Runner.py. Queue/Switchboard.py Now that we have .bak queue entries for recovery, it is no longer the case that an unparseable message is lost. In this case, and in case of other exceptions when dequeueing, I added a preservation feature to move the .bak file to qfiles/shunt as a .psv file and write an appropriate log entry. It is also possible for an attempt to shunt a message to fail. One example that occurred in practice (bug 1656289) was caused by a huge message that threw a MemoryError in processing and then threw another MemoryError in the attempt to pickle the message for the shunt queue. In this case as well, I log and attempt to preserve the original queue entry by renaming.
2006-02-19Fixed bug 1430236 by catching TypeError when trying to get a decoded payloadmsapiro1-1/+6
when payload is None.
2006-02-03variable name: it is not a floating number. (time tuple)tkikuchi1-2/+2
2006-01-29Back out Revision 2.18.2.19 patch for email.Message.set_payload() bugtkikuchi1-10/+3
because it is overwrapped in Mailman.Message.
2005-12-30A cleansing pass, almost entirely cosmetic. Such things as whitespacebwarsaw1-5/+6
normalization, removal of tabs, copyright year updates to changed files, docstring and comment fixes, and usage of True/False. I also made a pass through the NEWS file. One import was reordered, and after this commit I will move the mmdsr.readme file to README.mmdsr. From my perspective, after that we're ready to go. I will port these changes forward to the trunk.
2005-12-17Fixes for email.set_payload() not distinguish parsed or virgin payload.tkikuchi1-21/+24
I've tested the example by Mark Sapiro: http://mail.python.org/pipermail/mailman-developers/2005-November/018395.html both with and without 'Content-Transfer-Encoding' but may need more test.
2005-12-13Add an extra trailing space in scrubbed content URL. This may save thetkikuchi1-1/+3
users of MS Outlook and Apple Mail.
2005-10-23Add OverflowError in the except list. (back port from MAIN).tkikuchi1-1/+1
2005-08-27FSF office has moved to 51 Franklin Street.tkikuchi1-1/+1
2005-07-13Backout last checkin. The fix was already coded in the following part. ^^;)tkikuchi1-3/+0
2005-07-13A part can be None type in Python2.4 if multipart/mixed without real content.tkikuchi1-0/+3
Temporary work around to ignore such case.
2005-05-22process(): One more bug fix, though this one should be safe. Under email 2.5,bwarsaw1-1/+8
it is possible for a message to be "not is_multipart()" but to have a None payload. I know of at least one situation where this can happen: you have a Content-Type: multipart/* but there is nothing but two blank lines between the first boundary and the end boundary. Under email 3, you get a string payload but under email 2.5 you get None. Because there's nothing in such parts, they should be safe to ignore.
2005-01-16New names added to ACKNOWLEDGMENTS. Updated NEWS in preparation for 2.1.6b1.bwarsaw1-4/+3
Update copyright years for files changes in 2005. Whitespace normalization.
2005-01-12Provision for part == None case. Closing bug# 1099138tkikuchi1-2/+4
2004-11-13Normalize charset to the output if input/output are different.tkikuchi1-0/+3
2004-10-14fix bugs when using ARCHIVE_HTML_SANITIZER = 1tkikuchi1-2/+3
2004-10-03Merging SF patches:tkikuchi1-2/+16
[ 904850 ] Scrubber in regular delivery per list [ 1027882 ] filter attachments by filename extensions and a patch in mailman-dev mailing list http://mail.python.org/pipermail/mailman-developers/2004-September/017246.html
2004-09-17[ 891491 ] Scrubber.py patch by tkikuchitkikuchi1-10/+43
Modified Files: Mailman/Handlers/Scrubber.py Mailman/Defaults.py.in Fixes some bugs: charset problem where input/output charset are different text file without charset makes trouble when merging into one text msg. delete content-transfer encoding use Utils.oneline() for i18n filename use msg.walk() to collect parts Introduce: mm_cfg.SCRUBBER_DONT_USE_ATTACHMENT_FILENAME to prevent extremely long fn.
2003-12-01True/False where appropriate.bwarsaw1-1/+1
process(): When we encode the text, catch ValueError along with UnicodeError and LookupError. The ValueError can be raised if the charset is the empty string. Closes SF bug # 834486.
2003-12-01True/False where appropriate.bwarsaw1-15/+23
process(): When we encode the text, catch ValueError along with UnicodeError and LookupError. The ValueError can be raised if the charset is the empty string. Closes SF bug # 834486.
2003-09-22Backporting from the HEAD -- updated handlersbwarsaw1-2/+5
2003-02-08Backporting from the trunk.bwarsaw1-29/+72
2003-01-10Copyright years.bwarsaw1-4/+4
2003-01-10safe_strftime(): Watch out for TypeError coming back from strftime().bwarsaw1-1/+1