summaryrefslogtreecommitdiff
path: root/mailman/queue/lmtp.py
Commit message (Collapse)AuthorAgeFilesLines
* Push the source directory into a 'src' subdirectory so that zc.buildout worksBarry Warsaw2009-01-251-218/+0
| | | | correctly regardless of how it's used.
* The conversion from Defaults.py to lazr.config is complete.Barry Warsaw2009-01-061-7/+2
| | | | | | | | | | | lazr.config 1.1 now has everything we need, so we don't need the special develop hack. make_instance is no longer necessary. Refactor the style stuff into their own directory. Finally! Move the delivery module into the mailman.mta package.
* Picking some (py)lint.Barry Warsaw2009-01-041-3/+2
|
* - For command line scripts, -C names the configuration file to use. ForBarry Warsaw2009-01-031-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | convenient testing, if -C is not given, then the environment variable MAILMAN_CONFIG_FILE is consulted. - Mailing lists no longer have a .web_page_url attribute; this is taken from the mailing list's domain's base_url attribute. - Incoming MTA selection is now taken from the config file instead of plugins. An MTA for Postfix+LMTP is added. bin/genaliases works again. - The LMTP server now properly calculates the message's original size. - If a message has no Message-ID, the stock archivers will return None for the permalink now instead of raising an assertion. - IArchiver no longer has an is_enabled property; this is taken from the configuration file now. - In bin/create_list, fixed a unicode problem when the language is defined in the configuration file. - Fixed bin/dumbdb, bin/list_lists, bin/remove_list, bin/unshunt, and bin/mailmanctl - config.archivers is a property now, not a dictionary that needs initialization from plugins. - IMailTransportAgent interface has been added.
* Bump copyright yearsBarry Warsaw2009-01-011-1/+1
|
* More test repairs.Barry Warsaw2008-12-311-15/+17
| | | | | | | * Move the lmtp configurations to lazr.config * Fixes to master.py * In qrunner.py, don't override initialize() * Make sure subprocesses get configured correctly during tests
* Use my lazr.config megamerge branch for now, even though it's still underBarry Warsaw2008-12-231-1/+1
| | | | | | | | | | | | | | development. Completely rework the way switchboards and queue runners are initialized, i.e. driven from the configuration file instead of hard coded. The various queue runner directories are no longer available thorugh the config object directly. Get them from config.switchboards. Provide minimal mailman.cfg and testing.cfg configuration files. Neuter styles for now until they can be consolidated with lazr.config.
* Upgrade to GPLv3.Barry Warsaw2008-09-241-12/+12
|
* Add some debug logging.Barry Warsaw2008-03-151-0/+3
|
* Move mailman.database.txnsupport to mailman.database.transaction and updateBarry Warsaw2008-03-131-31/+53
| | | | | | | | the txn() decorator. It no longer requires a _withtxn() method since it knows how to commit and abort the current transaction using the global database. Flesh out the lmtp.txt doctest with documentation for both bogus and valid subaddresses.
* Add a working (though not yet complete) test for the LMTP runner.Barry Warsaw2008-03-121-32/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor the TestableMaster class so that doctests don't need to do all the threading and event fiddling themselves. Hide all that in the test class. In bin/master, add the -r/--runner option to allow overriding the set of queue runners to start from the command line. This is much more convenient than fiddling the config file (which is still supported), and it allows us to start a subset of the runners from the TestableMaster class. Refactor the calculation of queue runner shortcut names into Configuration.add_qrunner(). This way, it's easy to share between bin/qrunner and bin/master. Use pkg_resource in bin/testall to create the test configuration file. We're still using mailman.__file__ as the target to os.walk() though, so this conversion isn't complete. In bin/testall, update to the new convention of putting .options and .arguments on the parser instance, so we only need to pass back one thing. In test_documentation.py, use config.verbosity instead of config.options.verbosity. Wind that through to bin/testall while we're at it. Update loginit.py so that defaults for all the logging options can be found in a [*] section. This is better than [DEFAULT] because the latter requires %-interpolation and still requires each sublogger to be specified explicitly. Now we just set values in the [*] section and have them apply to all loggers. Allow for passing bin/testall's -v and -e options to any subprocesses that get created, e.g. via the TestableMaster. Now testall will write a logging.cfg file with a [*] entry as appropriate. It's DEFAULT_DATABASE_URL now, not SQLALCHEMY_ENGINE_URL. StockDatabase._reset() requires that the store be rolled back before it's reset. Otherwise if there are outstanding transactions, the reset will fail with an OperationalError. Update the LMTPRunner. Have it return a 501 error if the message has defects. Most defective messages are spam. Make the LMTPRunner startable and stoppable. Just because it's asyncore based doesn't mean that's not possible <wink>. Enable the LMTP runner in tests.
* Fix a typo in a roster name.Barry Warsaw2008-03-061-2/+0
| | | | | | | | | | Remove an outdated comment. Add an SMTPServer wrapper class to the test helpers module. This will be used in tests of the outgoing queue, which actually needs to talk to an SMTP server. Adapt the smtpd-based server to being run under thread control, and remove some now unnecessary code.
* Bite the bullet: rename the Mailman package to mailman.Barry Warsaw2008-02-271-0/+193