| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
correctly regardless of how it's used.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Postfix lmtp file more compliant with the Postfix docs. (Thanks Patrick
Koetter).
Fix a few more lazr.config conversion issues.
Fix bin/show_qfiles, and add a --summary switch.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
suite does not yet work though.
|
| | |
|
| |
|
|
|
|
|
|
| |
Fix some typos in Utils.py
Fix add_members and list_members
Add a testing MTA.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
| |
Rewrote start_qrunners() for new lazr.config based configuration.
ReopenableFileHandler.reopen() given a default filename argument for reopening
to a different file. Useful in tests.
|
| |
|
|
|
|
|
|
|
|
| |
mailman.configuration -> mailman.config.config
mailman.initialize -> mailma.core.initialize
mailman.loginit -> mailman.core.logging (yay future absolute imports!)
Convert all configurations to lazr.config, though some legacy still remains,
and I haven't been able to remove Defaults.py yet. Added as_boolean() and
as_log_level() helpers for explicit type conversion. Added a schema.cfg.
|
| |
|
|
| |
Launchpad bug #280418.
|
| |
|
|
| |
Launchpad bug #284802.
|
| | |
|
| |
|
|
|
|
| |
- Remove Utils.reap()
- Flesh out interfaces.
- PEP 8 names.
|
| | |
|
| | |
|
| |
|
|
| |
Flesh out the join method.
|
| |\
| |
| |
| |
| |
| | |
Begin to flesh out the tests for the join command.
Refactor out notifications from the add_member() function.
|
| | |
| |
| |
| |
| |
| | |
from the prototype archiver.
Add a mailman.archiver log.
|
| | |
| |
| |
| |
| | |
Fix the start up of the SMTPServer to listen on a consistent port number.
post_number -> post_id
|
| |/
|
|
| |
mailman.testing should contain any support for running the tests.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
put the Message-ID first in the log message. Dict the MsgSafeDict class as
unnecessary now.
Fix the DEFAULT_MSG_FOOTER.
Back out an earlier unnecessary change for virgin queue pipelines.
Add a bunch of debugging to the mail Runner loops.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add a VirginPipeline for the virgin queue, which is mostly the same as the
BuiltInPipeline, so refactor the commonality into a BasePipeline.
- Simplify and update bin/dumpdb.
- Rename inject() to inject_text() and add inject_message(). Both interfaces
will be useful.
- When enqueuing and not using _plaintext, use the highest pickle protocol
supported.
- Fix the archive runner's calculation of whether to clobber the message's
Date: header.
- Fix the outgoing queue's deliver_after calculation.
- Update the virgin queue runner. It doesn't need to inherit from
IncomingRunner any more; it can just execute the 'virgin' pipeline.
|
| |
|
|
|
|
|
|
|
| |
- Lots of Pipermail work just to get it to play nice with the new apis.
- Fix ARCHIVE_SCRUBBER
- Lots of changes to mailman.app.archiving, especially to provide an
adapter from the new MailingList api to the one expected by
Pipermail (e.g. archive_dir()).
- Add a test of the basic pipermail archiver.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
including:
- MailingList.full_path -> IMailingList.data_path and implement this as a
property on the MailingList object.
- Fix the 'decorate' handler to work with the new member/user data model,
instead of the old MemberAdaptor interface.
- Fix a few problems with the smtp-direct handler, though this needs more work
and tests.
- Add some debug logging to both the test smtplistener and the SMTPServer
proxy. Fix the proxy's consumption of messages from the thread queue.
- Fix the smtplistener's calculation of the X-Peer header.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
should be tests for these. :/
- Disable MTA hack in remove_list()
- Convert bin/inject to SingleMailingListOptions
- Remove an unnecessary import
- Fix qrunner restarts in bin/master
- Add IMailinglist.pipeline so that this value persists
- Move Runner.SLEEPTIME into the __init__() so that it isn't hurt by order of
configuration initialization.
|
| |
|
|
|
|
|
|
| |
for putting exceptions close to the interfaces where they are used.
MakeRandomPassword() returns unicodes now.
Flesh out bin/add_members.py and bin/list_members.py
|
| |
|
|
|
|
| |
arguments.
Added a MultipleMailingListOptions subclass.
|
| |
|
|
|
|
| |
- Add an options base class that groks unicode argument types
- Rename newlist to create_list
- Update list_lists, master, qrunner
|
| | |
|
| | |
|
| |
|
|
|
| |
the help for bin/testall --randomize for details), but it still better than
nothing.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|