aboutsummaryrefslogtreecommitdiffstats
path: root/Mailman/Queue (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Improve fix for lp:1921682.Mark Sapiro2021-03-311-2/+4
|
* Decode message bodies for replies in CommandRunner.Mark Sapiro2021-03-301-0/+3
|
* Bump copyright dates.Mark Sapiro2018-06-1713-12/+12
|
* Improve DELIVERY_RETRY_WAIT reimplementation.Mark Sapiro2018-04-102-6/+9
|
* The DELIVERY_RETRY_WAIT setting is now effective.Mark Sapiro2017-11-021-1/+4
|
* Catch NotAMemberError when member is removed before probe bounce returns.Mark Sapiro2017-02-141-13/+21
|
* Scrubber links in archives are now in the list's preferred_language.Mark Sapiro2016-05-271-1/+5
|
* Fixed a bug in ensuring gated news articles have a Subject:.Mark Sapiro2016-04-061-1/+1
|
* Attempt to improve threading of posts gated to Usenet.Mark Sapiro2016-04-021-3/+23
|
* Fixed CommandRunner shunting a message with a null byte in the body.Mark Sapiro2016-03-061-1/+2
|
* Avoid skipping a handler which rejected or discarded a messageMark Sapiro2015-11-241-1/+9
| | | when message is subsequently shunted and unshunted.
* Posts gated to usenet will no longer have other than the target groupMark Sapiro2015-11-061-15/+7
| | | in the Newsgroups: header.
* Improved fix for LP: 1482940.Mark Sapiro2015-08-131-10/+12
|
* Fixed bug with delayed probe bounces.Mark Sapiro2015-08-081-5/+12
|
* Fixed a bug in CommandRunner that could process the second word of aMark Sapiro2015-03-011-6/+9
| | | | | body line as a command word and a case sensitivity in commands in Subject: with an Re: prefix.
* Fixed a bug in CommandRunner that threw an uncaught KeyError ifMark Sapiro2015-02-281-3/+5
| | | | | the input to the list-request address contained a command word terminated by a period.
* Accept email command in Subject: prefixed with Re: or similar with noMark Sapiro2014-12-071-2/+10
| | | | intervening space.
* Added list name and handler name to auto-discard vette log entry.Mark Sapiro2014-10-251-3/+6
|
* The Switchboard.finish() method now logs the text of the exception whenMark Sapiro2013-04-061-3/+3
| | | | it fails to unlink/preserve a .bak file. (LP: 1165589)
* Fixed a bug where the Subject: of the user notification of aMark Sapiro2013-03-281-1/+1
| | | | | | | bin/remove_members unsubscribe was not in the user's language. (LP: 1161445) Also updated BounceRunner copyright for previous change.
* Fixed a bug where BounceRunner could create and leave behind zero lengthMark Sapiro2013-03-281-1/+3
| | | | bounce-events files. (LP: 1161610)
* IncomingRunner now logs rejected messages to the vette log.Mark Sapiro2012-10-211-0/+7
|
* Fixed a typo in the UPGRADING doc - bin/upgrade -> bin/update.Mark Sapiro2012-06-201-0/+0
|
* Fixed a possible CPU bound loop in OutgoingRunner if the attempt toMark Sapiro2012-03-271-1/+2
| | | | Connect to the SMTP server throws a socket.error. (LP: #966531)
* Eliminated the list cache from the qrunners. Indirect self-referencesMark Sapiro2011-09-291-17/+12
| | | | | | caused lists to never be dropped from the cache which in turn caused the qrunners to grow very large in installations with many lists or multiple large lists. Bug #862683.
* - A new mm_cfg.py setting RESPONSE_INCLUDE_LEVEL has been added to controlMark Sapiro2011-02-071-15/+43
| | | | | | | | | | | | | | | | | | | | how much of the original message is included in automatic responses to email commands. The default is 2 to preserve the prior behavior of including the full message. Setting this to 1 in mm_cfg.py will include only the original headers, and 0 will include none of the original. It is recommended to set this to 0 in mm_cfg.py to minimize the effects of backscatter. Bug #265835. - A new mm_cfg.py setting DEFAULT_RESPOND_TO_POST_REQUESTS has been added to control the default for respond_to_post_requests for new lists. It is set to Yes for backwards compatibility, but it is recommended that serious consideration be given to setting it to No. Bug #266051. - A new mm_cfg.py setting DISCARD_MESSAGE_WITH_NO_COMMAND has been added to control whether a message to the -request address without any commands or a message to -confirm whose To: address doesn't match VERP_CONFIRM_REGEXP is responded to or just logged. It defaults to Yes which is different from prior behavior. Bug #410236.
* - Fixed a problem where an emailed command in the Subject: header with aMark Sapiro2010-12-041-2/+3
| | | | | | | non-ascii l10n of an 'Re:' prefix is ignored. Bug #685261. - Fixed a problem with approving a post by email when the body of the approval mail is base64 encoded. Bug #677115.
* Replies to commands sent to list-request now come From: list-ownerMark Sapiro2009-08-051-2/+2
| | | | instead of list-bounces.
* Apply Heiko Rommel's patch for hashlib deprecation warnings for bug 293178.Barry Warsaw2008-11-121-2/+2
| | | | I've modified the patch to improve some of the stylistic issues.
* Another BounceRunner loop detection change (rev 1106 wasn't quite right).Mark Sapiro2008-06-221-2/+4
|
* - Prepended list name to bounce log unrecognized bounce messages.Mark Sapiro2008-06-221-22/+44
| | | | | - Improved bounce loop detection and handling in BounceRunner.py.
* Changed formatting for standards compliance and readability.Mark Sapiro2008-05-071-2/+2
|
* Made the preservation of unparseable messages conditional onMark Sapiro2008-04-262-8/+14
| | | | | | | | mm_cfg.QRUNNER_SAVE_BAD_MESSAGES. Changed the queue for preservation of undequeueable entries from 'shunt' to 'bad'.
* Added Galician translation from Frco. Javier Rial Rodrguez.Mark Sapiro2008-02-141-0/+0
|
* Switchboard.py - Added code to catch exceptions thrown in unpickling .bakMark Sapiro2008-02-141-18/+27
| | | | | | | files and preserve the file. This occurred when dequeue of a large entry threw MemoryError, the runner died and restarted, and then unpickling the .bak threw another MemoryError.
* Switchboard.py - Moved the counting of the number of recoveries of a .bak fileMark Sapiro2008-01-021-27/+33
| | | | | from the dequeue() method to the recover_backup_files() method in order to minimize added i/o.
* Switchboard.py - Added a count to the queue entry metadata to count the numberMark Sapiro2007-12-161-5/+25
| | | | | | | of times the entry has been dequeued in a recover backup scenario. When the count reaches three, the entry is preserved to the shunt queue and the fact logged. This prevents looping on a bad entry that causes a runner crash.
* BounceRunner.py - Fixed a mail loop if a list owner puts the list's -bouncesMark Sapiro2007-11-191-3/+14
| | | | or -admin address in the list's owner attribute (1834569).
* Fixed Mailman/Queue/CommandRunner.py to decode a quoted-printable or base64Mark Sapiro2007-11-091-2/+2
| | | | encoded message part.
* /cygdrive/c/MM_bzr/log.txtMark Sapiro2007-10-041-4/+16
|
* Scrubber.py - Cleaned up a few loose ends and incomplete things left after theMark Sapiro2007-06-221-4/+7
| | | | | | | | | 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).
* - CGI/admin.pymsapiro2007-05-082-17/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Delete the .bak file from the queue for an unparseable message.msapiro2006-11-171-0/+1
|
* 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!
* - Switchboard.py Changed "while key in times.keys():" tomsapiro2006-07-231-1/+1
| | | | "while times.has_key(key):" for execution efficiency while maintaining Python 2.1 compatibility.
* - Switchboard.py Added missing newline at EOF.msapiro2006-07-221-1/+1
|
* - bin/unshuntmsapiro2006-07-222-12/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Queue/Runner.py - Queue/Switchboard.py Backported the gfiles backup changes from the trunk. The following comments are from the trunk checkin. Note that the test cases are not added. Added robustness to Switchboards and Runners so that if a runner crashes uncleanly (e.g. segfaults the Python interpreter), messages being processed will not be lost. The vulnerability, ideas, and patches are credited to Richard Barrett and Mark Sapiro. Their original work was modified by Barry for this commit and any bugs are his fault. The basic idea is that instead of unlinking a .pck file in dequeue(), the file is renamed to a .bak file. The Switchboard grows a finish() method which then unlinks the .bak file. That class's constructor also grows a 'restore' argument (defaulting to false), which when true moves all .bak files it finds in its hash space to .pck, thereby restoring a file lost while "in flight". This relies on the fact that even with multiple qrunners, exactly one process will be responsible for one hash space slice, so it's never possible (under normal operation) for a .bak file to be renamed to .pck by some other process. Test cases for both the new Switchboard behavior and the use of that by Runner subclasses has been added. There are two things to watch out for, either of which may require some additional changes. There is some small potential to duplicate messages in various queues, if say 'mailmanctl' were improperly started more than once by a site admin. This usually won't happen unless an admin is overly eager with the mailmanctl -s switch, so we can chalk this one up to operator error. I'm not sure what more we can do about that. There's also a possibility that if we're processing a message that continually causes the Python interpreter to crash, we could end up duplicating messages endlessly. This is especially troublesome for the Outgoing runner which could conceivably cause a mail flood. I consider this the more critical issue to defend against, probably by adding a numbering scheme to the .bak file names and refusing to restore a .bak file more than say 3 times without human intervention.
* - Switchboard.py - Closed very tiny holes at the upper ends of queuemsapiro2006-07-091-5/+13
| | | | | slices that could result in unprocessable queue entries. Improved FIFO processing when two queue entries have the same timestamp.
* Add test in BounceRunner for non-fatal, VERPed bounce. Bug 1421285.msapiro2006-03-091-1/+5
|
* Changed BouncerAPI.py to return Stop from a Bouncer and changedmsapiro2006-03-011-0/+3
| | | | | | BounceRunner.py to discard the bounce when Stop returned. Changed DSN.py to recognize Action: headers with comments. Changed Qmail.py to recognize an observed different starting string.