summaryrefslogtreecommitdiff
path: root/src/mailman/runners
Commit message (Collapse)AuthorAgeFilesLines
* Added a rule to discard messages with no valid sender address.Mark Sapiro2017-06-301-4/+4
|
* Ignore syntactically invalid sender addresses.Mark Sapiro2017-06-301-0/+11
|
* Update the configuration documentation.Barry Warsaw2017-04-161-0/+2
| | | | | It's less important now that the configuration system is built on lazr.config. Closes #45
* Port to aiosmtpd 1.0a5Barry Warsaw2017-04-061-12/+8
|
* Remove the dependency on httplib2.Barry Warsaw2017-02-061-3/+4
| | | | Closes #42
* Fix typo LTMP -> LMTP.Mark Sapiro2017-01-311-1/+1
|
* Handle PEP 475 fallout.Barry Warsaw2017-01-282-6/+13
| | | | | | | | | | | | | | | Closes #255 As of Python 3.5, PEP 475 gets in our way. Runners with long time.sleep()'s in their _snooze() method (e.g. the retry runner) will have their system call implemented time.sleep() automatically retried at the C layer. The only reliable way to prevent this is to raise an exception in the signal handler. The standard run() method automatically suppresses this exception, meaning, it's caught and ignored, but effectively breaks the run() loop, which is just what we want. The lmtp and rest runners implement their own run loops, so they also have to handle this exception, by ignoring it.
* Bump copyright years.Barry Warsaw2017-01-0426-26/+26
|
* Simplified the various list settings and remamed several things.Mark Sapiro2016-12-261-1/+1
|
* Merged from master.Mark Sapiro2016-12-0912-18/+15
|\
| * Remove some unused imports.Barry Warsaw2016-11-301-2/+0
| |
| * Finish configuring flufl.testing.Barry Warsaw2016-11-301-4/+3
| | | | | | | | Also, use the better way to set the LMTP ident.
| * Use `atpublic` for @public instead of internal copy.Barry Warsaw2016-11-2912-12/+12
| |
* | Merge branch 'dmarc' of gitlab.com:msapiro/mailman into dmarcMark Sapiro2016-11-261-3/+3
|\ \ | |/ |/|
| * Merge gitlab.com:mailman/mailman into dmarcMark Sapiro2016-11-012-0/+6
| |\
| * | Fixed some doctests for the addition of the dmarc-moderation rule.Mark Sapiro2016-11-011-3/+3
| | |
* | | Use aiosmtpd 1.0a3 and add NEWS.Barry Warsaw2016-11-241-14/+3
| | |
* | | Remove some unnecessary code and update a comment.Barry Warsaw2016-11-241-1/+1
| | |
* | | Replace smtpd with aiosmtpd.Barry Warsaw2016-11-242-61/+49
| | |
* | | Fix the Flake8 ignore tagsAurélien Bompard2016-11-211-1/+1
| |/ |/|
* | Closes: #259Barry Warsaw2016-10-312-2/+2
| | | | | | | | | | Remove the digest mbox files after the digests are sent. Given by Aurélien Bompard.
* | Implment review suggestionsAurélien Bompard2016-10-312-5/+5
| |
* | Remove digest mbox after sending itAurélien Bompard2016-10-312-0/+6
|/ | | | Fixes #259
* Prevent posting from banned addressesAurélien Bompard2016-10-271-3/+4
| | | | Fixes #283
* Fix doctests to properly set unsubscription_policy = SubscriptionPolicy.openMark Sapiro2016-10-251-1/+1
| | | | where needed.
* Simplify the implementation.Barry Warsaw2016-10-173-8/+6
| | | | | | | | | | | | | | | | | | | | | | This merges the SubscriptionManager and UnsubscriptionManager into a single SubscriptionManager implementation that handles both register() and unregister(). This allows us to use direct class-based adaptation instead of the more clunky getAdapter() API. We can also eliminate the funky _get_workflow() implementation detail. This has a couple of side-effects. .confirm() must lookup the token in the pendings database and pull out the pending type, dispatching to the proper class depending on the type, or raising a LookupError if the token is None or there is no pendable associated with the given token. This feels like an acceptable trade-off. However, this *also* means that IWorkflowStateManager must lose its 'name' argument in its methods. That's because we won't actually know the name until its too late. Honestly, the name wasn't providing much value anyway (it was always the subclass's name), so losing that seems fine too. The complication here is that the name was a primary key in the 'workflowstate' table, so we need to add its removal in the database migration.
* flake8 fixes.Barry Warsaw2016-10-161-3/+2
|
* Another test fix.Barry Warsaw2016-09-161-9/+11
|
* Split registration (subscription) and unsubscription:Barry Warsaw2016-09-131-20/+60
| | | | | | | | * events * notices * handlers Also, be sure to do only one `leave` command per email.
* Fix more tests.Barry Warsaw2016-09-111-0/+2
|
* A few more changes.Barry Warsaw2016-09-081-3/+5
|
* IWorkflowManager -> ISubscriptionManagerBarry Warsaw2016-09-012-5/+5
|
* CheckpointingBarry Warsaw2016-09-013-9/+6
|
* Intermediate CommitAbhilash Raj2016-09-013-6/+89
|
* Added unsubscribe instructions to list:member:generic:footer.txtFrancesco Ariis2016-08-251-4/+4
|
* Reorganize the documentation for better accesibilityAbhilash Raj2016-08-211-0/+8
|
* Rebase mailman/mailman!180 and cleanup # noqaBarry Warsaw2016-07-282-4/+4
|
* New template system. Closes #249Barry Warsaw2016-07-163-49/+49
| | | | | The new template system is introduced for API 3.1. See ``src/mailman/rest/docs/templates.rst`` for details.
* Minor cleanups.Barry Warsaw2016-05-152-3/+3
|
* Fixed mailman/issue#234.Mark Sapiro2016-05-153-16/+39
| | | | | | | Wraps the message/rfc822 parts in a MIME digest in a multipart/digest part. Updated the tests and the doc test.
* Use contextlib.suppress() where appropriate.Barry Warsaw2016-04-302-6/+4
|
* Don't use `flake8: noqa`.Barry Warsaw2016-04-012-4/+4
| | | | | | | This suppresses all errors in the file. Use `noqa`, although pep8 doesn't honor this for all errors. There may be a plugin which helps.
* Tweak the import rules checker.Barry Warsaw2016-03-271-1/+1
| | | | Fix the last few violations of the import rules.
* Import order flake8 plugin.Barry Warsaw2016-03-273-5/+5
| | | | Fix lots of import order errors discovered by the new plugin.
* Clean up the runners directory.Barry Warsaw2016-03-2525-389/+162
|
* Close #208Barry Warsaw2016-03-202-6/+43
| | | | Don't let crashes in IArchiver plugins break handlers or runners.
* Super duper.Barry Warsaw2016-01-265-7/+7
| | | | | * Python 3-ify super() calls. * Remove a bunch of obsolete exception classes.
* Make creating Link objects a more convenient.Barry Warsaw2016-01-252-8/+4
| | | | | | Link.__init__() can now take an IRule or the string naming a rule, which will be looked up in config.rules. Similarly, it can take an IChain or the name of a chain.
* Additional refactoring to use the QuerySequence wrapper, so that we can stillBarry Warsaw2016-01-061-1/+1
| | | | | | use len() and slicing on SQLAlchemy query results. We also don't need to list()-ify the results in the tests. This isn't perfect, but at least it doesn't introduce yet another layer violation.
* Make the members request pageableAurélien Bompard2016-01-061-1/+1
|