summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove an obsolete directory.Barry Warsaw2011-05-282-46/+0
|
* Remove an unused module.Barry Warsaw2011-05-281-73/+0
|
* Merge bounce cleanup branch. This is a major cleansing and refactoring of theBarry Warsaw2011-05-2729-397/+1615
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bounce processor. Note that one thing this does not do is implement any of the policy around bounce scores. It "merely" cleans up all the crud in the BounceRunner, and all the logic around registering bounce events. This means the bounce runner can actually be enabled again. More code needs to be written to process bounces events occasionally. Details: * maybe_forward() moved to app/bounces.py, and it can now discard the message, forward it to the list administrators (moderators + owners), or site owners. See UnrecognizedBounceDisposition. * scan_message() always returns a set of addresses. * The DSN bounce detector is cleaned up. * An IBounceProcessor utility is added. * IBounceEvents are added, with database support. * bounce_unrecognized_goes_to_list_owner -> forward_unrecognized_bounces_to * bounce_processing -> process_bounces * ReopenableFileHandler.filename is exposed as a public attribute. This aids in testing. * Fix the signature of UserNotification.__init__() to be more PEP 8 compliant. * Change the OwnerNotification.__init__() signature to take a roster object instead of `tomoderators`. When the roster is None, the site owner is used instead. * Fix the default style setting; s/personalization/personalize/ * BounceMixin is gone, baby gone. * Add tests for the OutgoingRunner. * make_testable_runner() can now take a predicate object, which can change how often the runner goes through its main loop. Use this e.g. to go through only once when a message does not get dequeued. * A new LogFileMark helper for testing messages to a log file.
| * * 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.
| * Merge current bounces work.Barry Warsaw2011-05-1512-19/+548
|/|
| * 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
|/
* add sample dataBarry Warsaw2011-05-091-0/+0
|
* Implement and test the extraction of the bouncing email address when a probeBarry Warsaw2011-05-093-43/+39
| | | | message bounces. This completes the refactoring of probes for MM3.
* Add test sample dataBarry Warsaw2011-05-091-0/+17
|
* Add non-English tests of the probe message.Barry Warsaw2011-05-083-11/+100
|
* Merge bounces branch (still incomplete, but tests pass).Barry Warsaw2011-05-078-112/+302
|\
| * checkpointingBarry Warsaw2011-05-066-45/+97
| |
| * trunk mergeBarry Warsaw2011-05-030-0/+0
| |\
| * | * Fix setup.py version regexp.Barry Warsaw2011-05-035-70/+121
| | | | | | | | | | | | | | | | | | * Move get_verp() to class-based for easy overridding. Hook up StandardVERP but not yet ProbeVERP. * Use uuid.uuid4() to get unique id.
* | | NEWSBarry Warsaw2011-05-031-0/+5
| | |
* | | Move the test timeout values into a configuration variable. Set devmode.waitBarry Warsaw2011-05-033-12/+21
| |/ |/| | | | | to the timeout value you want.
* | Fixed version number regexp.Barry Warsaw2011-05-031-1/+1
|/
* Another refactoring.Barry Warsaw2011-05-012-34/+4
|
* Fix refactor-o.Barry Warsaw2011-05-012-2/+2
|
* Start the enablement of bounce detection.Barry Warsaw2011-05-019-28/+302
| | | | | | | | | | * Move VERP header extraction to mailman.app.bounces, and ports the implementation to the get_verp() function. * Restore the [mta] verp_regexp value which got lost along the way. * Move mailman.email.utils to mailman.utilities.email and add a test for split_email() * Move specialized_message_from_string() from test_documentation to mailman.testing.helpers.
* * Fix styleguide (given by Mark Sapiro).Barry Warsaw2011-04-303-21/+21
| | | | * Post release version and NEWS file tweaks.
* Be sure to include a test file in the tarball.Barry Warsaw2011-04-291-0/+1
|
* Let's release 3.0.0a7 (Mission) today!Barry Warsaw2011-04-291-1/+1
|
* Some updates to the documentation in preparation for alpha 7.Barry Warsaw2011-04-294-26/+44
|
* Add NEWS entry.Barry Warsaw2011-04-271-0/+1
|
* Restore the bounce detectors tests which previously got accidentally removedBarry Warsaw2011-04-27125-318/+11915
|\ | | | | | | | | | | | | in a merge mistake. Also, make the tests pass <wink>. Also, refactor find_components() into a separate function scan_module() so that we can just extract the components from a single module.
| * One more refactoring.Barry Warsaw2011-04-271-0/+0
| |
| * Move the bouncer tests to the right directory.Barry Warsaw2011-04-27104-2/+2
| |
| * Remove the redundant src/mailman/tests/test_bounces.py file and ensure all theBarry Warsaw2011-04-278-292/+75
| | | | | | | | other bounce detector pass.
| * Checkpointing for refactoring.Barry Warsaw2011-04-27126-83/+11897
|/
* Update NEWS.txt.Barry Warsaw2011-04-261-1/+31
|
* Ensure that a member's address cannot be changed to an address they do notBarry Warsaw2011-04-252-0/+28
| | | | control.
* Complete the ability to change a subscription address, both internally and viaBarry Warsaw2011-04-2512-89/+514
| | | | | | | | | | | | | | the REST API. (LP: #643949) * New resource path in REST API: /addresses/<email>/memberships gets all the memberships for a given email address. * In the REST API, PUTting or PATCHing a list configuration now returns a 204 (No Content) success code instead of a 200 success code with an empty body. * When a user is subscribed with their preferred address, changing the preferred address also changes all subscriptions. * When a user is subscribed with a specific address, their subscription can be changed to any verified address they control. * Use a new naming scheme for doctests with multiple mailing lists.
* Allow users to subscribe to mailing lists through the REST API.Barry Warsaw2011-04-246-31/+125
| | | | | | | | * ISubscriptionService.join(): address -> subscriber. This is not backward compatible with the previous API! * Add get_user_by_id() to the IUserManager interface. It was already implemented, but the interface was missing the definition. * MissingUserError: new exception, purely for the REST API.