summaryrefslogtreecommitdiff
path: root/src/mailman/runners
Commit message (Collapse)AuthorAgeFilesLines
...
* * The LMTP server now requires that the incoming message have a `Message-ID`,Barry Warsaw2012-03-135-19/+130
| | | | | | | | | | | otherwise it rejects the message with a 550 error. Also, the LMTP server adds the `X-Message-ID-Hash` header automatically. The `inject` cli command will also add the `X-Message-ID-Hash` header, but it will craft a `Message-ID` header first if one is missing from the injected text. Also, `inject` will always set the correct value for the `original_size` attribute on the message object, instead of trusting a possibly incorrect value if it's already set. The individual `IArchiver` implementations no longer set the `X-Message-ID-Hash` header.
* * The experimental `maildir` runner is removed. Use LMTP.Barry Warsaw2012-03-121-195/+0
|
* * Mailing lists get multiple chains and pipelines. For example, normalBarry Warsaw2012-03-073-22/+21
| | | | | | | | | | | postings go through the `posting_chain` while messages to owners to through `owners_chain`. The default `built-in` chain is renamed to `default-posting-chain` while the `built-in` pipeline is renamed `default-posting-pipeline`. * Schema changes: - start_chain -> posting_chain - pipeline -> posting_pipeline
* Fix header/footer interpolations when personalizing messages.Barry Warsaw2012-03-051-6/+7
| | | | | | | | | | | | | | | | | | - When doing individual deliveries, insert a 'member' key into the copy of the metadata dictionary for this recipient's delivery. This will contain the IMember of the recipient, if the recipient is a member of the mailing list. There will still be a 'recipient' key which will contain just the email address to deliver the message to. - Remove $user_password from header/footer placeholders. - Remove the 'personalize' key from the metadata dictionary and change decorate.process() to search only for the 'member' key. No need for both of them and the 'member' key contains more information. Plus, it allows us to do a more efficient member query in the delivery module some time in the future. - Move some of the LMTP log messages from mailman.runner to mailman.smtp.
* Template indirection now also in effect for regular and digest headers andBarry Warsaw2012-03-041-7/+36
| | | | | | | | | | | | footers, using the same semantics and algorithm as for welcome and goodbye messages. Additional schema changes: - msg_header -> header_uri - msg_footer -> footer_uri - digest_header -> digest_header_uri - digest_footer -> digest_footer_uri
* * A welcome message is sent when the user confirms their subscription viaBarry Warsaw2012-03-042-27/+64
| | | | | | | | | | email. Also: - The user's Full Name is included on the To line of a welcome message. - Clean up some tests. - The welcome_message_uri for lists using the default style is set to mailman:///welcome.txt so a welcome message is sent by default.
* Prevent the `confirm` command from running more than once on the same token.Barry Warsaw2012-03-011-2/+47
| | | | | Also add some debugging to the verification message, IOW, which template is it using (this may be more generally useful, but for now, it's an experiment).
* print functions!Barry Warsaw2012-02-291-15/+17
|
* * The `join` email command no longer accepts an `address=` argument. ItsBarry Warsaw2012-02-291-4/+100
| | | | | | | | | `digest=` argument now accepts the following values: `no` (for regular delivery), `mime`, or `plain`. Also: - Fix get_queue_messages() to properly sort on the string representation of a header, since it could be a Header instance.
* Make sure that an email subscription request is ignored for addresses whichBarry Warsaw2012-02-291-0/+40
| | | | are already members of the list.
* Remove test turd.Barry Warsaw2012-02-291-3/+0
|
* Don't try to double join someone via a single email command.Barry Warsaw2012-02-292-0/+96
|
* Greatly improve handling non-ascii in email commands.Barry Warsaw2012-02-282-8/+118
|
* * The `confirm` email command now properly handles `Re:`-like prefixes, evenBarry Warsaw2012-02-262-12/+114
| | | | | | | | | | | | if they contain non-ASCII characters. (LP: #685261) Also: - When the registrar confirms an email address, the verified_on value gets set using the Mailman datetime interface. This simply improves testability for that API. - In Runner._one_iteration(), be sure to commit the database transaction *before* calling _short_circuit().
* - Bump copyright years.Barry Warsaw2012-01-0716-17/+26
|\ | | | | | | | | | | - Refactor to use the flufl.password package. - Adapt to the API for flufl.bounce 2.0. - Add a `bin/mailman shell` alias for `bin/mailman withlist`.
| * copybumpBarry Warsaw2012-01-0116-16/+16
|/
* Remove extraneous `test_suite()` functions. zope.testrunner willBarry Warsaw2011-10-301-11/+0
| | | | | | | | | automatically do the right thing in most cases. Keep test_suite() in test_documentation.py since these dynamically set up docs tests properly. Refactor test_passwords.py so that base class tests aren't bogusly run. Also, remove test_membership.py which was essentially disabled because it was testing the MM2 membership API.
* * Implement the style manager as a utility instead of an attribute hangingBarry Warsaw2011-10-242-7/+61
| | | | | | off the `mailman.config.config` object. * Fixed bogus use of `bounce_processing` attribute (should have been `process_bounces`, with thanks to Vincent Fretin. (LP: #876774)
* * Fixed KeyError in retry runner, contributed by Stephen A. Goss.Barry Warsaw2011-10-242-1/+62
|\ | | | | | | (LP: #872391)
| * LP: #872391, fix Retry runner bug with unit testStephen A. Goss2011-10-242-1/+66
|/
* Finally, all doctests are named .rstBarry Warsaw2011-09-239-0/+0
|
* * User and Member ids are now proper UUIDs. The UUIDs are pended as unicodes,Barry Warsaw2011-08-301-1/+3
| | | | | | | | | | | | | | | | | | and exposed to the REST API as their integer equivalents. They are stored in the database using Storm's UUID type. - ISubscriptionService.get_member() now takes a UUID - IUserManager.get_user_by_id() now takes a UUID * Moderators and owners can be added via REST (LP: #834130). Given by Stephen A. Goss. - add_member() grows a `role` parameter. - ISubscriptionService.join() grows a `role` parameter. * InvalidEmailAddressError no longer repr()'s its value. * `address` -> `email` for consistency - delete_member() - ISubscriptionService.leave() * Fixed typo in app/subscriptions.py __all__ * AlreadySubscribedError: attributes are now public. * More .txt -> .rst renames.
* * Moderating a message with Action.accept now sends the message. (LP: #827697)Barry Warsaw2011-08-221-0/+3
| | | | | | | | | | | Also: * Use utilities.datetime.now() so that moderation related dates are predictable during the test suite. * When a message is accepted, drop it in the pipeline queue. The above bug was caused by the message going in the incoming queue, and then being re-moderated. * Expose mailman.bin.master.Loop in __all__. * Add some helpful debug logging.
* * Handle SIGTERM in the REST server so that the test suite always shuts downBarry Warsaw2011-08-151-2/+7
| | | | | | correctly. (LP: #770328) (I hope)
* * New REST resource http://.../members/find can be POSTed to in order to findBarry Warsaw2011-08-131-1/+1
| | | | | | member records. Arguments are `subscriber` (email address to search for - required), `fqdn_listname` (optional), and `role` (i.e. MemberRole - optional). (LP: #799612)
* Factor out bounce detection to flufl.bounce.Barry Warsaw2011-07-151-15/+17
|
* * The IMailingList attribute ``host_name`` has been renamed to ``mail_host``Barry Warsaw2011-06-161-2/+2
| | | | | for consistency. This changes the REST API for mailing list resources. (LP: #787599)
* * Move inject.py to mailman.app package.Barry Warsaw2011-06-152-2/+2
| | | | | * Expose **kws to inject_text() * Add tests.
* Major terminology shift:Barry Warsaw2011-06-0119-64/+63
| | | | | | | | | | | | | | | | | * Queue runners are now called just 'Runners' since several of them don't manage queue directories. * Ban the term 'qrunner' too. * The master queue runner watcher should now just be called the 'master' or the 'master runner'. * bin/qrunner -> bin/runner * mailman.qrunner log file -> mailman.runner * master-qrunner.lck -> master.lck * master-qrunner.pid -> master.pid Also: * Remove some obsolete files * Begin the .txt -> .rst renaming
* Rename 'queue' directory to 'runners' since not all subprocesses run a queue.Barry Warsaw2011-05-2926-0/+4724