aboutsummaryrefslogtreecommitdiffstats
path: root/Mailman/Handlers (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fixed a bug where a message with an Approved: header held by a handlerMark Sapiro2009-12-301-3/+9
| | | | | that precedes Approve (SpamDetect by default) would not have the Approved: header removed if the held message was approved. Bug #501739.
* Decoded RFC 2047 encoded message subjects for a few reports. Bug #266428.Mark Sapiro2009-12-031-0/+1
|
* Fixed the auto-responder to treat messages to -confirm, -join, -leave,Mark Sapiro2009-09-131-4/+5
| | | | -subscribe and -unsubscribe as requests rather than posts. Bug #427962.
* Mailman no longer folds long sub-part headers in multipart messages.Mark Sapiro2009-08-012-23/+4
| | | | | | | | | | | 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.
* Removed or anonymized additional headers in posts to anonymous lists.Mark Sapiro2009-08-011-1/+14
|
* Backported several bug fixes from the 2.2 branch.Mark Sapiro2009-07-312-3/+3
|
* Work around email 3.0.1 issue when set_payload charset arg is unicode.Mark Sapiro2009-01-131-1/+4
|
* Fixed a problem in Decorate which could throw a TypeError on conversion toMark Sapiro2008-12-071-2/+10
| | | | | | | | unicode of a header/footer that was already unicode because of interpolating a unicode value. Made a minor change to the authentication logic for displaying hidden members on the roster.
* Now that Python 2.4 is the minimum and we will use more recent installedMark Sapiro2008-11-303-7/+8
| | | | | email packages, convert all the email message get_type() calls to get_content_type().
* trunkBarry Warsaw2008-11-291-8/+12
|\
| * Fixed a bug in AvoidDuplicates.py that caused it to fail if the addressMark Sapiro2008-11-141-8/+12
| | | | | | | | | | in the To: or Cc: header differed in case from the case-preserved member address. Bug #297795.
* | Apply Heiko Rommel's patch for hashlib deprecation warnings for bug 293178.Barry Warsaw2008-11-121-3/+3
|/ | | | I've modified the patch to improve some of the stylistic issues.
* Changed the stripping of trailing spaces from lines of the list headersMark Sapiro2008-10-031-1/+2
| | | | and footers to leave a trailing space on a '-- ' signature separator.
* Added check for gateway_to_news before holding for ModeratedNewsgroup.Mark Sapiro2008-06-231-2/+2
|
* Fixed CookHeaders.py which in some cases with new style prefixingMark Sapiro2008-06-201-1/+4
| | | | | would insert an extra space between the prefix and the subject.
* Fixed a problem in Decorate.py that could result in a multipartMark Sapiro2008-06-111-1/+7
| | | | | message with no part headers for the original body part (1991348).
* Gui/GuiBase.py - Don't allow self references in *_these_nonmembersMark Sapiro2008-03-152-14/+32
| | | | | | | | | | | | or regular_(in|ex)clude_lists. Handlers/CalcRecips.py - Log and skip any self reference lists in regular_(in|ex)clude_lists. Compare To: and Cc: addresses and regular_(in|ex)clude_lists case insensitively. Handlers/Moderate.py - Log and skip any self reference lists in *_these_nonmembers.
* CookHeaders.py - Changed the first URL in the RFC 2369 List-Unsubscribe:Mark Sapiro2008-03-061-2/+3
| | | | | | | | | | | | | header to go to the options login page instead of the listinfo page. options.py - Changed to only issue the "No address given" error if coming from the page itself so we don't get the error when linking from another page or the List-Unsubscribe: header. - Changed to remember the user's language selection when redisplaying the page after an error.
* cmd_confirm.py - Modified to catch a UnicodeError that may occur underMark Sapiro2008-02-191-2/+3
| | | | | | | | obscure circumstances when scanning the message body for "unprocessed" commands. Moderate.py - Modified to not try to match "@listname" directly against the sender address.
* Moderate.py - expanded some tabs inadvertently introduced in rev 1008Mark Sapiro2008-02-041-4/+4
|
* Allow us to pass in extra decoration (i.e. header/footer) data via the messageBarry Warsaw2008-01-161-2/+4
| | | | | | | | metadata. Specifically, if the metadata has a 'decoration-data' key, the value should be a dictionary with extra interpolation keys. Also fix a bug in the way the 'extradict' default value is passwed to decorate. This should never be a mutable object.
* Add 'sibling list' feature: exclude and include lists are other mailingTokio Kikuchi2007-11-251-1/+75
| | | | | lists whose members are exclude or included if they appear in To: or Cc:. (Patch ID 1347962)
* Scrubber.py - changed to use part.get_payload(), not part._payload.Mark Sapiro2007-11-181-2/+2
|
* Gui/GuiBase.py - Deleted the _escape() method - not needed since 2.1.9Mark Sapiro2007-11-181-2/+13
| | | | | | | | Gui/GuiBase.py Gui/Privacy.py Handlers/Moderate.py - Patched with a slightly modified version of sf patch 1220144 - allow specifying another list in accept_these_nonmembers.
* - Scrubber.pyMark Sapiro2007-11-061-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.
* Added Date and Message-ID headers to the confirm replyMark Sapiro2007-11-041-1/+3
| | | | message that Mailman adds to the admin notification.
* - Cgi/options.py - fixed to not present the "empty" topic to user.Mark Sapiro2007-11-041-2/+7
| | | | | - Handlers/CalcRecips.py - Changed to not process topics if topics are disabled for the list.
* Added removal of Authentication-Results: header.Mark Sapiro2007-11-041-4/+4
|
* MimeDel.py neglected to lower case file extensions for comparison withMark Sapiro2007-10-041-1/+1
| | | | lower cased *_filename_extensions. Fixed.
* /cygdrive/c/MM_bzr/log.txtMark Sapiro2007-10-041-1/+1
|
* Scrubber.py - Cleaned up a few loose ends and incomplete things left after theMark Sapiro2007-06-221-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).
* Scrubber.py - If a malformed message has Content-Type: with amsapiro2007-06-151-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.
* Improved processing of an Approve(d): body line by decoding the body payloadmsapiro2007-06-091-6/+22
| | | before looking for/deleting the Approve(d): line.
* base64 codec raises 'AssertionError'. This should not occur in normal casetkikuchi2007-05-091-1/+1
| | | | | | but it looks like thare is a buggy MUA or spammer who declairs like so: Content-Type: text/plain; charset=base64 :-(
* - CGI/admin.pymsapiro2007-05-083-6/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Changed header_filter_rules processing to ignore blank patterns.msapiro2007-01-201-1/+4
|
* A much improved release script, which now knows about Subversion (though isn'tbwarsaw2006-09-011-1/+0
| | | | | | | yet ready to work from the trunk). Also, get rid of all the obsolete .cvsignore directories, they're no longer needed. Almost ready for 2.1.9rc1!
* Back port Python 2.5 compatibility changes to Mailman 2.1. Specifically,bwarsaw2006-07-301-3/+9
| | | | | | | | | | | | | | | | | | - In SecurityManager.py, fix the parsecookie() code to work with Python 2.5 generated cookie text. The latter was changed to be more RFC compliant so it does not output trailing semicolons for each line of cookie text. This broke the splitting rules, so now first split on newlines, then on ';\s*'. This should work across all Python versions. - In Python 2.5, exceptions are new-style, and thus are no longer of ClassType. The instantiation type test in hold_for_approval() was too naive. This one is fixed differently here than in the MM trunk because in Python 2.1, 'type' isn't a type, it's a function and so can't be used as the second argument to isinstance() directly. - Raising strings generates deprecation warnings in Python 2.5. Switch the one weird use of this in Utils.py to use a class exception. Don't call it "quick exit" though because it's probably not.
* - Decorate.py Fixed bug 1507248 by ignoring header/footer charactersmsapiro2006-06-231-2/+2
| | | | | | | | outside the character set of the list's language. - Utils.py Fixed a security hole which allowed a crafted URI to inject bogus apparent messages into the error log, possibly inducing an admin to visit a phishing site.
* Fixed bug 1430236 by catching TypeError when trying to get a decoded payloadmsapiro2006-02-191-1/+6
| | | | when payload is None.
* ch_oneline(): Input string variable is overwritten. Also use listtkikuchi2006-02-171-8/+4
| | | | comprehension where appropriate.
* variable name: it is not a floating number. (time tuple)tkikuchi2006-02-031-2/+2
|
* Back out Revision 2.18.2.19 patch for email.Message.set_payload() bugtkikuchi2006-01-294-40/+12
| | | | because it is overwrapped in Mailman.Message.
* Prevent loop in hold/reject if addressed to '-owner'.tkikuchi2006-01-291-9/+10
|
* Moving deletion of Domainkey-Signature: and DKIM-Signature: headers to amsapiro2006-01-152-10/+34
| | | | new handler to be included in both GLOBAL_PIPELINE and OWNER_PIPELINE.
* SpamDetect.py: Fix loop. As a side effect, spam message may pass thetkikuchi2006-01-141-13/+15
| | | | filter if X-List-Administrivia header is forged.
* process(): Fix a comment.bwarsaw2006-01-011-4/+3
|
* Don't use 'X-List-Administrivia', second part.tkikuchi2005-12-311-1/+1
|
* On my second thought, I use msgdata for internally crafted message checking.tkikuchi2005-12-311-4/+2
| | | | | The keyword 'reduced_list_headers' is taken from CookHeaders.py and looks like it is, reviewing Message.py.
* Back out Revison 2.3.2.4 change. Check outermost message headertkikuchi2005-12-311-6/+6
| | | | even if it has X-List-Administrivia header ( mostly -owner notification ).