| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
correctly regardless of how it's used.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
* Turn on absolute_import and unicode_literals everywhere, and deal with the
aftermath.
* Use 'except X as Y' everywhere.
* Make the module prologues much more consistent.
* Use '{}'.format() consistently, except for logger interface.
* Because of the problems with calling ** args with unicode keywords, hide
calls to Template.substitute() behind an API.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
| |
that's part of the 'application', i.e. non-essential to the core functionality
is left in mailman.app. This division of labor is still formative.
|
| | |
|
| | |
|
| |
|
|
| |
subscribe to a mailing list.
|
| |
|
|
| |
Flesh out the join method.
|
| |\ |
|
| | | |
|
| |\ \
| |/
|/|
| |
| |
| | |
Begin to flesh out the tests for the join command.
Refactor out notifications from the add_member() function.
|
| | |
| |
| |
| |
| |
| | |
- Add join command
- Add echo command
- Add end command
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
the Pipermail, Prototype, and MailArchiver plugins into separate modules.
Put the archives registry on the config object and initialize it at the right
time.
Update plugin entry points.
|
| | |
| |
| |
| |
| | |
Fix the start up of the SMTPServer to listen on a consistent port number.
post_number -> post_id
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
using the current concept of the hash. This can change, but at least now I
have the interfaces and infrastructure to support this header. Of course,
Pipermail doesn't support a permalink, so that archiver no-ops.
Add an adapter to provide the interface that Pipermail requires over and above
the IMailingList interface. Add an is_enabled flag to IArchiver.
|
| |/ |
|
| |
|
|
|
| |
plugin architecture. Update the Echo command to the new architecture. Add a
doctest of course.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
| |
|