summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | LP: #834130 add moderators and owners through REST API w/testsStephen A. Goss2011-08-256-21/+50
|/ / /
* | | * Local timezone in X-Mailman-Approved-At caused test failure. (LP: #832404)Barry Warsaw2011-08-233-5/+18
| | |
* | | * Fix AttributeError triggered by i18n call in autorespond_to_sender()Barry Warsaw2011-08-235-16/+120
| |/ |/| | | | | (LP: #827060)
* | Rename IDomain.email_host to .mail_host for consistency. Similarly in theBarry Warsaw2011-08-229-64/+65
| | | | | | | | REST API. (LP: #831660)
* | * Moderating a message with Action.accept now sends the message. (LP: #827697)Barry Warsaw2011-08-227-6/+130
|/ | | | | | | | | | | 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.
* * Four new events are created, and notifications are sent during mailing listBarry Warsaw2011-08-1716-45/+348
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | lifecycle changes: - ListCreatingEvent - sent before the mailing list is created - ListCreatedEvent - sent after the mailing list is created - ListDeletingEvent - sent before the mailing list is deleted - ListDeletedEvent - sent after the mailing list is deleted * Using the above events, when a mailing list is deleted, all its members are deleted, as well as all held message requests (but not the held messages themselves). (LP: 827036) Also: relax the find_member() argument constraints so that even the subscriber email address is optional. This is mirrored in the REST API's .../members/find resource.
| * Complete bug 827036 work.Barry Warsaw2011-08-179-44/+110
| | | | | | | | | | | | | | | | | | | | | | * Add ListCreatingEvent and ListDeletingEvent. These are sent before the operation actually occurs, whereas the previously added ListCreatedEvent and ListDeletedEvent are sent after the operation. Specifically, this is necessary because request database deletion requires the IMailingList object, which is only available before the list is deleted. * Add a handler to clear out the requests database for a mailing list, when the mailing list is about to be deleted.
| * Fix some typos, and improve the code.Barry Warsaw2011-08-172-3/+3
| |
| * Basic infrastructure for fixing bug 827036.Barry Warsaw2011-08-178-39/+176
| | | | | | | | | | | | | | | | | | * Use zope.events to signal when a mailing list has been created or deleted. * Register a handler for the ListDeletedEvent which cleans up member subscriptions. * Relax the criteria for find_members(), both internally and in the REST API, so that the subscriber is not required. E.g. you can now find all members of a mailing list.
| * Send event notifications whenever a mailing list is created or deleted.Barry Warsaw2011-08-164-3/+95
|/
* * Handle SIGTERM in the REST server so that the test suite always shuts downBarry Warsaw2011-08-152-2/+9
| | | | | | correctly. (LP: #770328) (I hope)
* * DELETE users via the REST API. (LP: #820660)Barry Warsaw2011-08-144-4/+94
|
* * Fixed incorrect error code for /members/<bogus> (LP: #821020). Given byBarry Warsaw2011-08-143-0/+14
| | | | Stephen A. Goss.
* Remove role plurals from /lists/<fqdn_listname/rosters/<role>Barry Warsaw2011-08-143-10/+20
|
* Fixed broken API for getting a membership via role and email from a mailingBarry Warsaw2011-08-143-4/+22
| | | | | | list. (LP: #825570) Untested code is broken code.
* * New REST resource http://.../members/find can be POSTed to in order to findBarry Warsaw2011-08-1310-27/+385
| | | | | | member records. Arguments are `subscriber` (email address to search for - required), `fqdn_listname` (optional), and `role` (i.e. MemberRole - optional). (LP: #799612)
* Remove all pylint vestiges.Barry Warsaw2011-08-0325-36/+0
|
* Factor out bounce detection to flufl.bounce.Barry Warsaw2011-07-15126-13323/+19
|
* * The IMailingList attribute ``host_name`` has been renamed to ``mail_host``Barry Warsaw2011-06-1625-361/+62
| | | | | for consistency. This changes the REST API for mailing list resources. (LP: #787599)
* Plumb key=value arguments through to the `bin/mailman inject` command.Barry Warsaw2011-06-152-6/+44
|
* * Move inject.py to mailman.app package.Barry Warsaw2011-06-155-16/+235
| | | | | * Expose **kws to inject_text() * Add tests.
* After a current analysis by Richard Wackerbarth, it was found that notBarry Warsaw2011-06-142-6/+18
| | | | | | | | | | | | including site-packages in the built-out environment is what was causing FreeBSD to fail to find the _sqlite module. As it turns out, the reason for adding this no longer appears relevant on Ubuntu, so just remove the setting. Fix a reference error in bin/runner.py Rename: * START.txt -> START.rst * README.txt -> README.rst
* NEWS file updatesBarry Warsaw2011-06-111-0/+18
|
* Fixed two typos.Barry Warsaw2011-06-112-4/+5
| | | | | * Use a list comprehension to get a proper list of addresses. * config.devmode.testing must be converted to a boolean.
* Do not allow a list to be created with a bogus owner address. (LP: #778687)Barry Warsaw2011-06-114-48/+143
|
* Update COPYING file to GPLv3. (LP: #790994)Barry Warsaw2011-06-111-0/+4
|
* Typos, left over crud, and a refactoring.Barry Warsaw2011-06-103-17/+5
|
* Refactor MTA alias creation.Barry Warsaw2011-06-1011-52/+393
| | | | | | | | | | | | | * Create an IMailTransportAgentAliases utility that contains all the logic for generating all the aliases for a mailing list, both the fully-qualified ones and the local-part ones. * Add -f and -s options to `bin/mailman aliases` to facilitate outputing the aliases in other formats than the configured one, and for printing out a simple list of the aliases. * IMailTransportAgentAliases -> IMailTransportAgentLifecycle; also add a new definition for IMailTransportAgentAliases
* Major terminology shift:Barry Warsaw2011-06-0147-432/+441
| | | | | | | | | | | | | | | | | * 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-2940-266/+302
|
* Remove an obsolete directory.Barry Warsaw2011-05-282-46/+0
|
* Remove an unused module.Barry Warsaw2011-05-281-73/+0
|
* * Flesh out the BounceRunner, complete with tests.Barry Warsaw2011-05-274-109/+260
| | | | * Clean up the DSN bounce processor.
* * bounce_processing -> process_bouncesBarry Warsaw2011-05-275-157/+85
| | | | | * Finally get rid of BounceMixin * Test the simple case where the mailing list does no bounce processing.
* * bounce_unrecognized_goes_to_list_owner -> forward_unrecognized_bounces_to Barry Warsaw2011-05-2520-91/+291
| | | | | | | | | | | | * Add an additional option for unrecognized bounce disposition: send it to the site administrators. * Move maybe_forward() from src/mailman/queue/bounce.py to src/mailman/app/bounces.py, refactor and add tests. * Add a LogFileMark class to help with tests that want to check the output to a log file. * OwnerNotification gets a better signature. Instead of tomoderators, the last argument is a roster to send the notification to. If roster is None, then the notification goes to the site administrators.
* Eliminate the BounceMixin from the OutgoingRunner.Barry Warsaw2011-05-181-10/+2
|
* More testing and refactoring the temporary failures branch.Barry Warsaw2011-05-182-11/+71
|
* Work out what happens for permanent and temporary non-probe failures.Barry Warsaw2011-05-172-18/+100
|
* * Flesh out IBounceProcessor so that you can get an iterator over all eventsBarry Warsaw2011-05-175-9/+204
| | | | | | | and over just the unprocessed events. * In the outgoing queue runner, work out the logic for when SomeRecipientsFailed with permanent failures in a probe message.
* Test (and fix!) the path in the outgoing runner where a socket.error getsBarry Warsaw2011-05-173-10/+91
| | | | | | raised during the delivery function. Modify the ReopenableFileHandler so that the filename is a public attribute.
* More testsBarry Warsaw2011-05-141-0/+24
|
* More tests.Barry Warsaw2011-05-141-1/+23
|
* Another test.Barry Warsaw2011-05-141-0/+9
|
* * Fixed testsBarry Warsaw2011-05-142-4/+8
| | | | * Fix obvious typo in __init__(). How can we get Storm to help us with this?
* oh wellBarry Warsaw2011-05-142-4/+3
|
* checkpointingBarry Warsaw2011-05-142-6/+105
|
* Add tests for the outgoing queue runner.Barry Warsaw2011-05-144-7/+103
| | | | | | | * Use m.u.datetime.now() instead of datetime.now() * Add a predicate argument to make_testable_runner() so that we can e.g. pass in a function that causes the queue runner to run only once. * Minor improvement to get_queue_messages() so that it doesn't need a lambda.
* * 'where' -> contextBarry Warsaw2011-05-132-2/+5
| | | | * Improve documentation for Enum Storm type.
* * BounceEvent.where -> BounceEvent.contextBarry Warsaw2011-05-133-16/+43
| | | | * Add BounceContext enum
* Add bounce registration and bounce events.Barry Warsaw2011-05-136-11/+257
|