summaryrefslogtreecommitdiff
path: root/Mailman/Bouncers
Commit message (Collapse)AuthorAgeFilesLines
* Bite the bullet: rename the Mailman package to mailman.Barry Warsaw2008-02-2719-1243/+0
|
* Tweak copyright years.Barry Warsaw2008-02-0718-18/+18
|
* Mailman/Bouncers/SMTP32.py - Added a recognition. Improved address pattern.Mark Sapiro2007-11-112-6/+10
| | | | | | Mailman/Bouncers/SimpleMatch.py - Improved two regexps. Mailman/tests/test_bounces.py - Added a test.
* The start of a setuptools conversion. All the Makefile.in and autoconfBarry Warsaw2007-07-131-75/+0
| | | | artifacts are removed, as is the C files which we will no longer need.
* Update copyright years.bwarsaw2007-01-1920-66/+59
|
* Updated a few bouncers to recognize more bounces.msapiro2006-06-114-2/+52
| | | Added more test cases.
* - Added additional bounce recognition for Qmail and SimpleMatch.pymsapiro2006-05-142-1/+6
| | | | - Added test cases for above.
* Remove most uses of the types module, in favor of isinstance checks againstbwarsaw2006-04-171-4/+4
| | | | | | the builtin types. Two still remain: a check against ClassType and a check against MethodType. Also, fix some hinky type comparisons to use isinstance() consistently.
* - Convert all logging to Python's standard logging module. Get rid of allbwarsaw2006-04-171-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | traces of our crufty old Syslog. Most of this work was purely mechanical, except for: 1) Initializing the loggers. For this, there's a new module Mailman/loginit.py (yes all modules from now on will use PEP 8 names). We can't call this 'logging.py' because that will interfere with importing the stdlib module of the same name (can you say Python 2.5 and absolute imports?). If you want to write log messages both to the log file and to stderr, pass True to loginit.initialize(). This will turn on propagation of log messages to the parent 'mailman' logger, which is set up to print to stderr. This is how bin/qrunner works when not running as a subprocess of mailmanctl. 2) The driver script. I had to untwist the StampedLogger stuff and implement differently printing exceptions and such to log/error because standard logging objects don't have a write() method. So we write to a cStringIO and then pass that to the logger. 3) SMTPDirect.py because of the configurability of the log messages. This required changing SafeDict into a dict subclass (which is better than using UserDicts anyway -- yay Python 2.3!). It's probably still possible to flummox things up if you change the name of the loggers in the SMTP_LOG_* variables in mm_cfg.py. However, the worst you can do is cause output to go to stderr and not go to a log file. Note too that all entry points into the Mailman system must call Mailman.loginit.initialize() or the log output will go to stderr (which may occasionally be what you want). Currently all CGIs and qrunners should be working properly. I wish I could have tested all code paths that touch the logger, but that's infeasible. I have tested this, but it's possible that there were some mistakes in the translation. - Mailman.Bouncers.BounceAPI.Stop is a singleton, but not a class instance any more. - True/False code cleanup, PEP 8 import restructuring, whitespace normalization, and copyright year updates, as appropriate.
* Now that Python 2.3 is the minimum requirement for Mailman 2.2:bwarsaw2006-04-151-7/+1
| | | | | | | | | | | - Remove True/False binding cruft - Remove __future__ statements for nested scopes - Remove ascii_letters import hack from Utils.py - Remove mimetypes.guess_all_extensions import hack from Scrubber.py - In Pending.py, set _missing to object() (better than using []) Also, update copyright years where appropriate, and re-order imports more to my PEP 8 tastes. Whitespace normalize.
* Now that we've converted from CVS to Subversion, remove CVS cruft frombwarsaw2006-04-151-1/+0
| | | | | the trunk. This serves also to test write permission to the svn repository, and tests email notifications.
* Recognize more bounces - DSN.py, Qmail.py and SimpleMatch.pymsapiro2006-04-043-3/+19
|
* Added bounce tests. Updated bounce recognizers to pick up a few more.msapiro2006-03-242-1/+21
|
* Preparing for email 3.0/4.0. get_type() -> get_content_type() etc.tkikuchi2006-03-076-8/+8
|
* Updated SimpleWarning to return Stop. Updated SimpleMatch to catch a few moremsapiro2006-03-062-3/+17
| | | | Added some more test cases.
* Added some more bounce recognition to SimpleMatch and changed the logicmsapiro2006-03-031-12/+28
| | | | | | | so one all pattern sets are tried until a match is found so one start pattern whose address doesn't match won't preempt a later patern set that will match. Added more test cases.
* Changed BouncerAPI.py to return Stop from a Bouncer and changedmsapiro2006-03-013-16/+24
| | | | | | 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.
* Fixed 'undeliverable to' pattern. It can have multiple spaces 'undeliverable ↵msapiro2006-02-051-1/+1
| | | | to'.
* Added bounces from yahoo.com on behalf of other domains like sbcglobal.net.msapiro2006-02-021-0/+4
|
* Added another observed prefix 'unknown user:'msapiro2006-01-251-2/+4
|
* Added Microsoft SMTPSVC. 'Improved' pattern for prodigy.net.msapiro2006-01-231-1/+5
|
* Add 'full mailbox' from Prodigy.netmsapiro2006-01-091-2/+7
|
* back porting from 2.1.6tkikuchi2005-08-281-1/+1
|
* FSF office has moved. chdcking in for MAIN branch.tkikuchi2005-08-2720-20/+20
|
* True/False where appropriate.bwarsaw2003-09-121-4/+10
| | | | | | | Fixed the import of Stop, which was causing the import of this message to fail. The symptom was this traceback message in logs/error: AttributeError: 'module' object has no attribute 'process'
* check(): If the action is 'disabled', stop the bounce processor frombwarsaw2003-08-181-7/+6
| | | | running, but don't attempt to dig out an email address.
* Relieving myself on the hydrant before Barry wakes up.twouters2003-03-191-4/+4
|
* Fix one of Peer's problems: get_payload can return a list or a string, buttwouters2003-03-191-1/+6
| | | | this bounce handler was only expecting a string.
* Whitespace normalization.bwarsaw2003-03-121-6/+4
|
* Another simplematch, this one for another demon.co.uk format. Partly closestwouters2003-03-121-1/+5
| | | | SF patch #534297, demon.co.uk and another bounce handler, by Martin Pool.
* Explicitly add another Postfix-lookalike contender, 'SMTP_Gateway'. Closestwouters2003-03-121-4/+5
| | | | SF patch #521124, Bouncer for SMTP_Gateway, by Martin Pool.
* Update copyright yearsbwarsaw2003-03-111-1/+1
|
* SF patch #683906, add $DESTDIR to install target, by Ademar de Souza Reistwouters2003-03-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Jr, after much checking and rechecking (and some massaging) by me. Checking in now before I fall asleep and forget what all this was for. This patch adds the ability to 'make DESTDIR=/some/dir/tree install' that doesn't influence the paths stored in e.g. Defaults.py at all, which is of good use for various package managers. It is not all that package managers must do, however! Running make install with DESTDIR set means bin/update is never run, and mm_cfg.py is always written; package managers should make sure the appropriate post-installation is done, and that mm_cfg.py is treated as a config file. This patch inadvertently fixes some bogus whitespace: 8-spaces where surrounding code used tabs. The difference was harmless because the 8-spaces were used inside shell-continued-oneliners, but it is confusing and could lead to future harm. I'm too tired to make those two or three changes in a separate checkin, sorry. This patch also assumes the various packages that are installed using distutils do not record (or rather, use) their installation paths anywhere, but this seems to hold true at least for the moment. Also, I've done so many slow cvs diff's, I'm wondering when we'll switch to Subversion. Unfortunately, I've also done so many 'cvs diff -c > file; patch -p0 -R < file's to switch back and forth between patches and change sets, I'm wondering when we'll switch to Aegis as well. :-P
* RFC 3464 obsoletes 1894 for the DSN standard.bwarsaw2003-03-021-5/+9
|
* Donn Cave's patch #602087 to honor configure's --srcdir switch.bwarsaw2002-12-121-1/+1
|
* PATTERNS: Fix the regexp for sucking out the address in the sectionbwarsaw2002-12-021-2/+4
| | | | | | | labeled "sz-sb.de" to ignore potential angle-brackets that might appear. process(): Do a better job of filtering out Nones.
* check(): First, use parseaddr() to split up any realname/addrs found,bwarsaw2002-12-021-1/+8
| | | | then uniquify the return results based on the address.
* ScanMessages(): Move the pipeline list to a module global, since I'mbwarsaw2002-12-021-18/+21
| | | | going to re-use it in a new test script.
* pcre: Make the start line regexp even more liberal. Seems like any ofbwarsaw2002-10-211-1/+1
| | | | spaces or tabs can appear at the beginning of the line.
* Whitespace normalizationbwarsaw2002-10-181-3/+3
|
* intermediatebwarsaw2002-10-181-0/+47
|
* Whitespace normalization and pychecker fixes.bwarsaw2002-10-181-5/+7
|
* ScanMessages(): Added the Exchange (MS Exchange) recognizer.bwarsaw2002-10-181-3/+4
| | | | Also, whitespace normalization.
* find_textplain(): Don't recurse if the payload isn't a Messagebwarsaw2002-07-111-1/+4
| | | | instance.
* process(): Simply by just taking the first text/plain part.bwarsaw2002-07-111-2/+1
|
* intermediatebwarsaw2002-04-111-0/+47
|
* Liberalize some of these tests so international Yahoo! accounts arebwarsaw2002-04-111-2/+4
| | | | still caught. Inspired by SF patch # 538983 by David Abrahams.
* ScanMessage(): This is an internal API change to make life much easierbwarsaw2002-03-261-59/+7
| | | | | | | | | | for the BounceRunner. Instead of actually registering the bounces here, it simply returns the list of addresses that have matched. It returns an empty list if none of the bounce detectors found any addresses. I'm also ripping out the test code. The unit test suite is more appropriate.
* Update copyright years.bwarsaw2002-03-1617-17/+17
|
* ScanMessages(): Provide the name of the module being processed in thebwarsaw2002-03-091-1/+6
| | | | syslog error message.