2010-08-14 22:22 gordon * courier-pythonfilter.spec, setup.py: Release 1.7 2010-08-14 22:18 gordon * filters/: auto_whitelist.py, comeagain.py, dialback.py, greylist.py: Replace md5 module with hashlib. 2010-08-14 22:09 gordon * courier/: config.py, xfilter.py: Replace the use of os.popen with subprocess.Popen 2010-08-14 21:23 gordon * filters/dialback.py: Use hexdigest() for db value. 2010-01-21 09:11 gordon * filters/auto_whitelist.py: Don't allow a whitelist between identical addresses. Users sometimes email themselves a note, which creates a path for spam. 2009-09-07 00:33 gordon * filters/clamav.py: Temp fail on clamav exceptions. 2009-01-18 19:47 gordon * courier-pythonfilter.spec, setup.py: Release 1.6 2009-01-18 19:44 gordon * filters/dialback.py: Track md5 hash of addresses in dialback, like other filters. 2009-01-18 19:36 gordon * pythonfilter: Offer more explanation in the import error message. 2009-01-18 19:30 gordon * pythonfilter-modules.conf, filters/TtlDb.py: MySQL support for TtlDb. 2009-01-10 23:04 gordon * courier/config.py: Log a more specific error if anydbm lacks the module to load a dbm file. This is only likely to happen on Debian derivatives. 2009-01-02 21:18 gordon * courier-pythonfilter.spec, setup.py: Release 1.5 2009-01-02 21:16 gordon * README.hacking, courier/config.py, filters/dialback.py: Add an "esmtphelo" function to the config module which returns a value similar to the one documented for Courier's configuration file of the same name. This function is now used by the "dialback" module to set an appropriate "helo" name for its SMTP sessions. 2009-01-02 20:49 gordon * README, pythonfilter.conf, filters/noreceivedheaders.py: Add filter which removes AUTH data from message headers. 2009-01-01 21:55 gordon * pythonfilter-modules.conf, filters/localsenders.py: Add option to require that "localsenders" use authentication. 2008-12-31 20:46 gordon * filters/TtlDb.py: Catch IntegrityError thrown by the psycopg2 module on duplicate key. 2008-12-21 21:00 gordon * courier/authdaemon.py, courier/xfilter.py, filters/TtlDb.py: Use the default Exception implementation. 2008-12-21 20:58 gordon * README, filters/TtlDb.py, tests/testttldb.py: Add support for the psycopg2 adapter. 2008-10-19 14:52 gordon * filters/comeagain.py: Fix typo. 2008-10-12 01:15 gordon * courier-pythonfilter.spec: Include egg info for Python installations that install it. 2008-09-19 08:42 gordon * README, pythonfilter.conf, filters/log_aliases.py: Add new filter which logs information about aliases. 2008-09-17 10:33 gordon * courier/xfilter.py: Fix unbound reference to filterName 2008-07-31 16:43 gordon * courier-pythonfilter.spec, setup.py: Release 1.4 2008-07-31 15:47 gordon * courier-pythonfilter.spec: Don't use dist tag on systems where it isn't defined. 2008-07-31 15:36 gordon * courier/xfilter.py: Improve loop detection. Suggested by Jérôme Blion. 2008-07-25 14:41 gordon * pythonfilter: Log traceback when failing to import filter module. 2008-07-21 10:47 gordon * courier-pythonfilter.spec: Improvements suggested by Alan Milligan 2008-07-18 10:06 gordon * courier-pythonfilter.spec, setup.py: Release 1.3 2008-07-18 10:00 gordon * courier/config.py: Don't log an error if the config section is missing or commented. 2008-07-17 15:01 gordon * filters/greylist.py: Remove greylist-specific whitelisting functions in favor of the external whitelist modules. 2008-07-17 15:00 gordon * courier/xfilter.py: Fix bug where contents of a filtered message may be left dangling at the end of the modified version's data file. 2008-07-14 10:09 gordon * courier-pythonfilter.spec, setup.py: Release 1.2 2008-07-14 01:17 gordon * filters/add_signature.py: Add two headers to the list of items which shouldn't be moved when wrapping a message. 2008-07-13 23:47 gordon * README, courier-pythonfilter.spec, courier/quarantine.py, filters/greylist.py, pythonfilter-modules.conf: Replace /var/state with modern FHS compliant /var/lib 2008-07-13 23:25 gordon * filters/quota.py: Correct a bug where the result of getRecipientsData was passed instead of the first element (the recipient's address) as expected. 2008-07-13 23:16 gordon * filters/: spfcheck.py, whitelist_spf.py: Rewrite spfcheck.py (though it remains deprecated) as a simple blacklist to remove functional overlap with whitelist_spf.py. Both spfcheck.py and whitelist_spf.py were updated to the RFC compliant API and proper return codes are now used. 2008-07-07 00:13 gordon * pythonfilter-modules.conf, courier/authdaemon.py: Correct errors in previous authdaemon config patch. 2008-07-06 23:54 gordon * courier/config.py: Use RawConfigParser to avoid unwanted interpolation, and log errors loading the module configuration file. 2008-06-11 14:32 gordon * README, pythonfilter-modules.conf, courier/quarantine.py: Allow quarantine notices to be turned off. 2008-06-11 14:15 gordon * pythonfilter-modules.conf, courier/authdaemon.py: Allow users to specify the authdaemon socket location. 2008-05-27 21:32 gordon * courier/xfilter.py: Make sure that any message that passes through xfilter ends with a newline character. Messages without newlines can't be delivered by courier's smtp client. 2008-05-26 20:07 gordon * README, pythonfilter.conf: Move the spamassassin module later in the default list, after the more lightweight modules are run. 2008-05-26 20:04 gordon * pythonfilter-modules.conf, filters/spamassassin.py: Extend the spamassassin module to allow better control over filtering, and to allow the spamassassin headers to incoming messages. This change will allow the spamassassin filter to be used on a server which is only a mail relay, and does not have any local accounts. 2008-05-26 20:01 gordon * courier/xfilter.py: Add dummy xfilter class to aid testing modules. 2008-05-26 19:53 gordon * README.hacking: Fix xfilter example in the documentation. 2008-05-26 18:15 gordon * pythonfilter: Clean up reject log. 2008-05-26 18:04 gordon * pythonfilter: Log refused messages. 2008-05-26 17:49 gordon * README.hacking, courier/xfilter.py, filters/add_signature.py: Update xfilter.submit() method and documentation to provide better behavior for newer versions of Courier. 2008-04-13 15:39 gordon * filters/: auto_whitelist.py, comeagain.py, deliveredto.py, dialback.py, greylist.py, quota.py: Fix up some exception handling and logging. 2008-03-23 01:06 gordon * COPYING, pythonfilter, pythonfilter-quarantine, courier/authdaemon.py, filters/TtlDb.py, filters/add_signature.py, filters/attachments.py, filters/auto_whitelist.py, filters/clamav.py, filters/comeagain.py, filters/debug.py, filters/deliveredto.py, filters/dialback.py, filters/greylist.py, filters/localsenders.py, filters/noduplicates.py, filters/nosuccessdsn.py, filters/privateaddr.py, filters/quota.py, filters/ratelimit.py, filters/spamassassin.py, filters/spfcheck.py, filters/whitelist_auth.py, filters/whitelist_block.py, filters/whitelist_dnswl.py, filters/whitelist_relayclients.py, filters/whitelist_spf.py, tests/testconfig.py, tests/testcontrol.py, tests/testmoduleconfig.py, tests/testttldb.py, courier/config.py, courier/control.py, courier/quarantine.py, courier/xfilter.py: Update copyright information. 2008-03-23 00:31 gordon * courier-pythonfilter.spec, setup.py, MANIFEST.in: Import better spec file than distutils creates. 2008-03-20 23:57 gordon * README, pythonfilter-modules.conf, pythonfilter.conf, courier/xfilter.py, filters/add_signature.py: Add a filter that will append a signature to messages sent by authenticated users. Logic for signature appending is probably very site-specific, so many users should expect to use this filter as a template to write their own. 2008-03-20 23:47 gordon * README, pythonfilter-modules.conf, pythonfilter-quarantine, courier/quarantine.py, filters/clamav.py: Allow the quarantine module to notify an administrative address in addition to recipients of quarantined messages, and to give users the admin's address rather than the release address. 2008-03-19 21:03 gordon * setup.py: Release 1.1 2008-03-19 21:03 gordon * README, courier/quarantine.py, courier/xfilter.py: Make the quarantine module's "release" method use the "local" source, to avoid filtering messages on release. 2008-03-19 20:22 gordon * pythonfilter-modules.conf, filters/clamav.py: Allow clamav filter to quarantine messages. 2008-03-19 20:06 gordon * MANIFEST.in, README, pythonfilter-modules.conf, pythonfilter-quarantine, setup.py, courier/quarantine.py, courier/xfilter.py: Initial support for message quarantine. 2008-03-17 17:33 gordon * README: Add simple documentation for TtlDb's SQL support. 2008-03-17 16:54 gordon * courier/: authdaemon.py, xfilter.py: Fix exception definitions. 2008-03-17 16:49 gordon * filters/TtlDb.py, pythonfilter-modules.conf, filters/auto_whitelist.py, filters/comeagain.py, filters/dialback.py, filters/greylist.py, tests/testttldb.py, tests/configfiles/pythonfilter-modules.conf: Initial revision of experimental SQL TtlDb support. 2008-01-04 21:50 gordon * filters/: localsenders.py, whitelist_block.py, whitelist_dnswl.py, attachments.py, auto_whitelist.py, clamav.py, comeagain.py, deliveredto.py, dialback.py, greylist.py, noduplicates.py, nosuccessdsn.py, quota.py, spamassassin.py, whitelist_auth.py, whitelist_relayclients.py, whitelist_spf.py: Run initFilter() before testing, pointed out by Jérôme Blion 2008-01-04 21:38 gordon * filters/spamassassin.py, pythonfilter-modules.conf, filters/clamav.py: Additional configuration items, suggested by Jérôme Blion 2007-12-12 15:01 gordon * filters/quota.py: Another logic fix in quota filter. 2007-12-12 14:55 gordon * filters/quota.py: Fix up the quota filter. 2007-12-09 21:17 gordon * setup.py: Release 1.0 2007-12-09 21:16 gordon * courier/xfilter.py: Fix invocation of email.generator.Generator, and make compatible with Python's email package, version 3 and version 4. 2007-11-27 08:08 gordon * README: Fix "whitelist_relayclients" reference in README. 2007-11-26 10:14 gordon * pythonfilter.conf, setup.py, filters/clamav.py, filters/comeagain.py: Minor patches from Milan Obuch. 2007-11-24 16:02 gordon * MANIFEST.in: Include pythonfilter-modules.conf file 2007-11-24 16:00 gordon * setup.py: Release 0.26 2007-11-24 15:35 gordon * filters/greylist.py: Add missing call to applyModuleConfig 2007-11-24 15:35 gordon * courier/config.py: Fixes from testing: preserve option case, and fix behavior when requested section isn't found. 2007-11-24 12:51 gordon * README, pythonfilter-modules.conf, setup.py, filters/attachments.py, filters/auto_whitelist.py, filters/clamav.py, filters/comeagain.py, filters/debug.py, filters/deliveredto.py, filters/dialback.py, filters/greylist.py, filters/localsenders.py, filters/noduplicates.py, filters/nosuccessdsn.py, filters/privateaddr.py, filters/quota.py, filters/ratelimit.py, filters/spamassassin.py, filters/spfcheck.py, filters/whitelist_auth.py, filters/whitelist_block.py, filters/whitelist_dnswl.py, filters/whitelist_relayclients.py, filters/whitelist_spf.py: Make use of the new initFilter and module configuration functions. 2007-11-24 11:56 gordon * README.hacking, pythonfilter, courier/config.py, tests/testmoduleconfig.py, tests/configfiles/pythonfilter-modules.conf: Add new initFilter() function capability, and functions to load configuration files so that modules don't need to be modified directly. 2007-11-23 13:13 gordon * courier/xfilter.py: Replace use of as_string() with email.generator class. Should reduce memory, and avoid misformatting messages. 2007-11-12 12:09 gordon * setup.py: Release 0.25 2007-11-12 12:08 gordon * courier/xfilter.py: Attempt to use the most efficient submit method available. 2007-11-12 11:59 gordon * courier/config.py: Add Courier version information, and function to check for minimum version of Courier. 2007-10-19 16:12 gordon * README, pythonfilter.conf, filters/localsenders.py: Add a filter that validates sender addresses, if their domain is locally hosted. 2007-10-19 14:53 gordon * README, pythonfilter.conf, filters/deliveredto.py: Added a filter that does minimal checking on the Delivered-To header. 2007-10-15 15:41 gordon * courier/xfilter.py: Fix the path prefix for submit. 2007-10-12 20:41 gordon * MANIFEST.in: Include test files in the source distribution. 2007-10-12 20:35 gordon * setup.py: Release 0.24 2007-10-12 20:34 gordon * courier/xfilter.py: Experimental "newSubmit" function to test changes in courier-0.57.0.20071006 2007-10-12 20:18 gordon * courier/xfilter.py: Fix problem with XFilter and xalias addresses. 2007-08-18 22:01 gordon * pythonfilter, courier/authdaemon.py, courier/config.py, courier/control.py, courier/xfilter.py, filters/TtlDb.py, filters/dialback.py, filters/greylist.py, filters/privateaddr.py: Another set of PEP 8 changes. 2007-08-06 15:48 gordon * setup.py: Release 0.23 2007-08-06 15:33 gordon * pythonfilter: Use __import__ rather than "exec 'import'" to load modules. 2007-08-06 15:25 gordon * pythonfilter, courier/config.py, courier/control.py, courier/xfilter.py, filters/auto_whitelist.py, filters/comeagain.py, filters/debug.py, filters/dialback.py, filters/greylist.py, filters/privateaddr.py, filters/ratelimit.py, filters/spfcheck.py, filters/whitelist_block.py, filters/whitelist_dnswl.py, filters/whitelist_relayclients.py, filters/whitelist_spf.py: Replace deprecated string functions with string object methods. 2007-08-06 13:22 gordon * courier/control.py, tests/testcontrol.py: Return only undelivered recipients in getRecipients and getRecipientsData. 2007-08-06 13:05 gordon * tests/: queuefiles/control-ldapalias, testcontrol.py: Add new control file for test suite. 2007-08-01 12:52 gordon * tests/: queuefiles/control-duplicate, testcontrol.py: Add new control file for test suite. 2007-08-01 10:54 gordon * tests/testcontrol.py: Finish testcontrol.py script. 2007-07-31 16:39 gordon * tests/: testconfig.py, testcontrol.py: More work on the test suite. 2007-07-27 23:22 gordon * tests/: testconfig.py, configfiles/aliases, configfiles/defaultdomain, configfiles/hosteddomains, configfiles/locallowercase, configfiles/locals, configfiles/me, configfiles/smtpaccess, queuefiles/control-xalias, queuefiles/data-test1: Add the first bits of a test suite. 2007-07-27 21:59 gordon * courier/config.py: Allow control module to be imported in non-threaded programs. 2007-07-26 21:16 gordon * filters/clamav.py: Support both pyclamav and pyclamd in the clamav filter. 2007-07-20 14:25 gordon * courier/xfilter.py: Set RELAYCLIENT before calling 'submit' 2007-06-15 09:56 gordon * courier/config.py: Avoid a zombie "courier-config" 2007-06-02 22:20 gordon * README, filters/spamassassin.py, pythonfilter.conf: Added "spamassassin" module contributed by Jérôme Blion 2007-06-02 22:10 gordon * filters/whitelist_spf.py: Add default return value. 2007-05-25 22:56 gordon * setup.py: Release 0.22 2007-05-25 22:56 gordon * README, pythonfilter.conf, filters/quota.py: Add new quota checking module 2007-05-25 21:40 gordon * courier/authdaemon.py, filters/dialback.py: Bugfix for connection errors, and other failure detections 2007-05-25 17:06 gordon * courier/authdaemon.py: Initial interface to Courier's authdaemon 2007-05-13 11:33 gordon * setup.py, courier/config.py: Release 0.21 2007-05-05 12:29 gordon * README, courier/config.py, pythonfilter: Use "courier-config" for directory locations 2007-03-05 09:47 gordon * .pydevproject: Allow eclipse to add its .pydevproject file 2007-03-03 15:08 gordon * README.hacking: Document the new getAuthUser function 2007-03-03 15:02 gordon * setup.py: Release 0.20 2007-03-02 14:26 gordon * courier/control.py, filters/auto_whitelist.py, filters/whitelist_auth.py: Add a function to simplify AUTH detection. 2007-02-20 21:17 gordon * courier/config.py: Fix loop in isLocal function 2007-02-06 13:20 gordon * filters/privateaddr.py: Lowercase recipient address if the system is so configured. 2007-01-30 19:31 gordon * filters/dialback.py: Fix the notes for the connection process 2007-01-30 19:26 gordon * setup.py: Release 0.19 2007-01-30 19:22 gordon * filters/dialback.py: Correct the non-blocking connect() logic. 2007-01-25 06:16 gordon * courier/config.py: Add sysconf and prefix values for FreeBSD's port install. 2007-01-24 10:07 gordon * setup.py: Release 0.18 2007-01-24 10:04 gordon * filters/dialback.py: Continue to next MX on SMTP exception 2007-01-24 10:01 gordon * filters/dialback.py: Fix double-unlocking mutex. 2007-01-23 08:30 gordon * pythonfilter: Fix typo. 2007-01-18 15:30 gordon * MANIFEST.in: Include the new "hacking" document in releases. 2007-01-18 15:22 gordon * README: Document building an exception list for greylisting. Some legit senders don't meet some of the assumptions in the greylisting spec. 2007-01-18 15:03 gordon * setup.py: Release 0.17 2007-01-17 16:49 gordon * README, pythonfilter.conf, filters/whitelist_dnswl.py: Added a DNS whitelist module. 2007-01-15 20:30 gordon * README, pythonfilter.conf, filters/whitelist_block.py: Add a whitelist_block filter to exempt IP addresses and networks from filtering. 2007-01-15 20:19 gordon * filters/whitelist_spf.py: Add debugging mode to whitelist_spf filter 2007-01-15 20:15 gordon * courier/config.py: Fix IPv6 smtpaccess lookups. 2007-01-15 19:45 gordon * README, pythonfilter.conf, filters/whitelist_spf.py: Add a new module to whitelist senders based on the SPF records for their domain. 2007-01-15 19:19 gordon * README, pythonfilter.conf, filters/whitelist_relayclients.py: Rename whitelist module to whitelist_relayclients 2007-01-15 19:09 gordon * README.hacking: Note that os.wait() is required when processes are spawned. 2007-01-15 15:48 gordon * courier/config.py, filters/spfcheck.py: Make sure stderr messages end in newline. 2007-01-10 11:08 gordon * README, README.hacking, courier/control.py, courier/xfilter.py: Documentation updates 2007-01-05 13:58 gordon * setup.py: Release 0.16 2007-01-03 09:37 gordon * filters/dialback.py: Indicate at what stage of a connection an SMTP exception occurs 2007-01-02 13:02 gordon * filters/: TtlDb.py, auto_whitelist.py, comeagain.py, dialback.py, greylist.py, ratelimit.py: Use try/finally/unlock blocks around all mutexes. This should prevent a mutex from remaining locked where uncaught exceptions occur. 2007-01-02 12:06 gordon * filters/TtlDb.py: The C based DBM libraries don't expose __setitem__ and similar functions, so interface with the db object as a dictionary. 2006-12-20 21:36 gordon * setup.py: Release 0.15 2006-12-20 21:34 gordon * filters/dialback.py: Document a method for refusing mail from non-RFC-compliant systems. 2006-12-20 21:32 gordon * filters/dialback.py: Implement a readline function that will work with non-blocking sockets. 2006-12-19 13:13 gordon * setup.py: Release 0.14 2006-12-19 13:11 gordon * filters/TtlDb.py: Add delitem method 2006-12-17 13:06 gordon * setup.py: Release 0.13 2006-12-17 13:05 gordon * filters/: auto_whitelist.py, whitelist_auth.py: Simplify the regex for AUTH. 2006-12-15 18:11 gordon * filters/clamav.py: Correct mistake on previous checkin. 2006-12-15 15:19 gordon * filters/clamav.py: Use the "scanfile" function from pyclamav, instead of parsing the message in Python 2006-12-13 14:49 gordon * filters/TtlDb.py: Correct typo of "self". 2006-12-12 14:14 gordon * setup.py: Release 0.12 2006-12-12 14:13 gordon * filters/dialback.py: Bugfixes from testing 2006-12-12 00:56 gordon * filters/TtlDb.py: Fixes from testing. 2006-12-11 22:20 gordon * INSTALL, MANIFEST.in: INSTALL docs are now in README 2006-12-11 22:18 gordon * README, pythonfilter.conf: Remove notes warning users not to use dialback. It *should* be safe now. 2006-12-11 22:17 gordon * filters/: comeagain.py, dialback.py: Cleanup: use the getSender function in dialback and comeagain 2006-12-11 22:11 gordon * filters/dialback.py: Update dialback for TtlDb 2006-12-11 22:02 gordon * filters/dialback.py: Clean up previous, ineffective attempt to make this module thread-safe. 2006-12-11 16:40 gordon * filters/dialback.py: Initial implementation of a non-blocking, thread-safe SMTP object. 2006-12-11 14:58 gordon * filters/: TtlDb.py, auto_whitelist.py, comeagain.py, greylist.py: Moved the db code for TTL tracking into its own helper module. 2006-12-08 16:01 gordon * setup.py: Release 0.11 2006-12-08 16:00 gordon * README, pythonfilter.conf: Update documentation 2006-12-08 13:24 gordon * filters/auto_whitelist.py: Bugfixes from testing 2006-12-07 23:26 gordon * filters/auto_whitelist.py: Fleshed out auto_whitelist, ready for testing. 2006-12-07 16:24 gordon * pythonfilter.conf, filters/auto_whitelist.py: Initial prototype for auto_whitelist. Not yet functional. 2006-12-06 09:02 gordon * filters/greylist.py: Use "has_key" instead of "in" for python 2.2 compatibility. 2006-12-05 14:07 gordon * filters/: comeagain.py, dialback.py, greylist.py: Apply consistent locking to "anydbm" files. 2006-12-03 23:02 gordon * setup.py: 0.10 release 2006-12-03 22:58 gordon * filters/greylist.py: Fixes from initial testing. 2006-12-03 22:58 gordon * pythonfilter.conf: Add the privateaddr filter 2006-12-01 16:55 gordon * pythonfilter.conf, filters/greylist.py: Initial commit of a greylist module, based on one by Georg Lutz 2006-12-01 14:32 gordon * filters/comeagain.py: Documentation update 2006-12-01 10:59 gordon * filters/whitelist_auth.py, pythonfilter, courier/config.py, courier/xfilter.py, filters/comeagain.py, filters/debug.py, filters/dialback.py, filters/noduplicates.py, filters/nosuccessdsn.py, filters/ratelimit.py, filters/whitelist_relayclients.py: Update copyright date 2006-12-01 10:58 gordon * courier/control.py: Fix bug where IPv6 addresses can't be detected. 2006-12-01 10:57 gordon * INSTALL: Documentation update 2006-12-01 09:55 gordon * .project: [no log message] 2006-12-01 09:55 gordon * filters/privateaddr.py: Add a privacy filter written for UW. 2006-12-01 09:55 gordon * courier/config.py, filters/attachments.py, filters/clamav.py: Patches from Robert Penz, including a fix for Debian's spool path. 2006-09-11 16:22 gordon * courier/__init__.py, courier/xfilter.py, filters/__init__.py: Fix up __init__.py files 2006-09-11 15:00 gordon * filters/whitelist_auth.py, pythonfilter.conf: Rename whitelist-auth to whitelist_auth 2006-03-13 11:44 gordon * setup.py: 0.9 release 2006-03-13 11:38 gordon * courier/xfilter.py: Clean up the submit IO code. 2006-03-13 10:38 gordon * courier/: control.py, xfilter.py: Initial implementation of message modification class. 2005-10-02 18:05 gordon * filters/attachments.py: Fix incorrectly commented line. 2005-10-02 00:13 gordon * README: Remove reference to the "order" variable, which was previously depreciated. 2005-10-02 00:12 gordon * INSTALL, pythonfilter.conf, filters/attachments.py, filters/clamav.py: Add clamav and attachments filters. 2004-12-25 15:00 gordon * pythonfilter, pythonfilter.conf, filters/debug.py, filters/dialback.py, filters/whitelist_auth.py, filters/whitelist_relayclients.py: Remove the "order" variable from filters. Filters are now loaded and run in the order that they are listed in the pythonfilter.conf file. 2004-12-25 14:57 gordon * filters/whitelist_auth.py: New filter that exempts users who authenticate from further filtering. 2004-12-21 21:45 gordon * setup.py: [no log message] 2004-12-21 21:45 gordon * filters/noduplicates.py: New filter that removes duplicate canonical addresses from the control file. 2004-12-19 20:11 gordon * MANIFEST.in: Include the basic config file the MANIFEST. 2004-12-19 20:09 gordon * pythonfilter.conf: [no log message] 2004-12-19 20:01 gordon * filters/nosuccessdsn.py: New filter which rewrites control files so that no "success" DSNs are sent. 2004-12-19 20:01 gordon * courier/control.py: Added functions which add and remove recipients from Courier's message control files. 2004-12-19 19:56 gordon * courier/config.py: Added setup routine to detect courier installation location. 2004-12-19 17:42 gordon * courier/control.py: Bugfix getLines and add getRecipientsData function. 2004-12-13 00:26 gordon * courier/control.py, filters/comeagain.py, filters/ratelimit.py, filters/spfcheck.py, filters/whitelist_relayclients.py: Use the controlFileList argument in the control module to simplify and make interface more consistent. 2004-12-12 21:55 gordon * courier/config.py: Added functions to access a few more of Courier's configuration files. 2004-12-07 21:03 gordon * INSTALL, README, pythonfilter, courier/config.py, courier/control.py, filters/__init__.py, filters/comeagain.py, filters/debug.py, filters/dialback.py, filters/ratelimit.py, filters/spfcheck.py, filters/whitelist_relayclients.py: Reformat according to Python standard code format (mostly). 2004-12-02 20:15 gordon * INSTALL, pythonfilter, setup.py, filters/__init__.py: Always distribute all modules. Load only modules indicated by configuration file. 2004-12-02 20:14 gordon * filters/debug.py: Add missing gid print. 2004-12-02 18:33 gordon * filters/: debug.py, whitelist_relayclients.py: Added a debugging module which prints some of the process parameters and information about the body and control files to stderr. 2004-11-28 21:29 gordon * filters/: comeagain.py, dialback.py: Fix the arguments to anydbm.open() 2004-11-28 21:25 gordon * pythonfilter: Explicitly set the permissions on the filter socket to make sure that all users who invoke sendmail can submit messages for filtering. 2004-02-10 22:50 gordon * filters/: spf.py, spfcheck.py: Renamed spf.py to spfcheck.py to avoid module name conflicts. 2004-01-28 16:50 gordon * filters/spf.py: Added the SPF module from Jon Nelson. 2004-01-28 16:42 gordon * pythonfilter: Fix typo. 2003-09-27 22:22 gordon * setup.py: Bumped version number for release containing the ratelimit filter. 2003-09-17 13:18 gordon * filters/ratelimit.py: Completed the ratelimit filter. 2003-09-11 16:04 gordon * pythonfilter: Correct attempt to use the wrong function to examine a module's attributes. 2003-09-11 14:47 gordon * setup.py: Bumped the version number for new release. 2003-09-11 14:44 gordon * MANIFEST.in: Add ChangeLog to the list of files distributed. 2003-09-11 14:42 gordon * filters/: comeagain.py, dialback.py, ratelimit.py: Cleaned up the state cleanup variables in several modules. 2003-09-11 14:36 gordon * filters/dialback.py: [no log message] 2003-09-11 14:36 gordon * README: Clean up resource leak in the dialback module. 2003-09-11 14:09 gordon * courier/config.py: [no log message] 2003-09-11 14:09 gordon * INSTALL, pythonfilter: Moved the values of "prefix" and "spool" into the courier config module. 2003-09-10 19:13 gordon * filters/: comeagain.py, dialback.py: Removed individual whitelist check in favor of the whitelist module. 2003-09-10 19:09 gordon * COPYING, INSTALL, MANIFEST.in, README: Added GPL license file, and common documentation files. 2003-09-10 14:38 gordon * pythonfilter: Added an "order" parameter to modules, so that they can run in a specified sequence. 2003-09-10 14:38 gordon * filters/whitelist_relayclients.py: Added a whitelist module which will prevent other modules running on messages sent from clients that the server relays for. 2003-08-27 15:02 gordon * filters/: comeagain.py, dialback.py: Use a common state dir for filters. 2003-08-27 14:08 gordon * courier/control.py: Updated the Courier control module, reduced repetitive code. 2003-08-27 13:13 gordon * filters/comeagain.py: Added new module that forces any previously unknown sender to send their message a second time. Most spamware and virusware won't do this, so the filter should cut down on the amount of unwanted traffic into the domain. Some mailing lists won't put up with this behavior, though. 2003-08-27 13:10 gordon * MANIFEST.in, setup.py: Improvements to the build system. 2003-08-27 10:23 gordon * courier/control.py: Fix spelling in courier control module. 2003-08-27 10:20 gordon * courier/config.py: Bugfixes in the courier config module. 2003-08-14 20:36 gordon * courier/config.py, filters/dialback.py: Added "me" and "read1line" methods to the courier.config module, both of which emulate the courier library functions. 2003-08-14 19:57 gordon * filters/dialback.py: Dual thread mechanism for SMTP session timeouts. Mechanics are odd to compensate for Python's F*CKED thread model. 2003-08-10 09:09 gordon * pythonfilter: Increase the listen backlog to help prevent 432 errors in Courier. 2003-08-07 16:45 gordon * pythonfilter: Close and delete filter socket before waiting for filters to finish so as to avoid rejecting email. 2003-08-07 14:32 gordon * MANIFEST.in, pythonfilter, setup.py, courier/__init__.py, courier/config.py, courier/control.py, filters/dialback.py, filters/ratelimit.py: Initial revision 2003-08-07 14:32 gordon * MANIFEST.in, pythonfilter, setup.py, courier/__init__.py, courier/config.py, courier/control.py, filters/dialback.py, filters/ratelimit.py: Initial import.