summaryrefslogtreecommitdiff
path: root/src/mailman/rules
Commit message (Collapse)AuthorAgeFilesLines
...
* Don't use `flake8: noqa`.Barry Warsaw2016-04-011-1/+1
| | | | | | | 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.
* Allow fall backs for moderation actions.Barry Warsaw2016-04-013-29/+48
| | | | | | | | | The `moderation_action` for members and nonmember can now be ``None`` which signals falling back to the appropriate list default action, e.g. `default_member_action` and `default_nonmember_action`. Given by Aurélien Bompard. Closes #189
* Members and nonmembers moderation action fallbackAurélien Bompard2016-03-313-11/+72
| | | | | | | | Members and nonmember's moderation action should be None by default, and in that case the moderation rule should fallback to the mailing list's default action. Fixes: #189
* Clean up the rules directory.Barry Warsaw2016-03-2513-57/+30
|
* First massive round of cleanups.Barry Warsaw2016-03-2315-105/+57
| | | | | | | | * Get rid of explicit __all__ settings and use the @public decorator. * Get rid of ^L's * Use expected_count argument for get_queue_messages() * Various code modernizations. * Other minor changes to make flake8 happy.
* Add NEWS and modify a comment.Barry Warsaw2016-03-101-1/+1
|
* Implement review suggestionsAurélien Bompard2016-03-101-2/+2
|
* Protect the approved rule against unknown charsetsAurélien Bompard2016-03-102-7/+32
| | | | Fixes #203
* Revert "Rename the HeaderMatch.chain column to action"Aurélien Bompard2016-02-291-2/+1
| | | | This reverts commit 703fc135dfcd496a704562ddc263aa0f4f828de9.
* Rename the HeaderMatch.chain column to actionAurélien Bompard2016-02-291-1/+2
| | | | It makes it clearer what values are valid, and allows validation.
* The order of a mailing list's header matches is significantAurélien Bompard2016-02-291-4/+4
| | | | | | | Add a numerical index property to HeaderMatch objects, and change the HeaderMatchSet manager to take the order into account. Items can now be inserted and removed by index.
* Make creating Link objects a more convenient.Barry Warsaw2016-01-251-2/+2
| | | | | | 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.
* Happy New Year.Barry Warsaw2016-01-0215-15/+15
|
* Fix the approved rule when there is no list passwordAurélien Bompard2015-11-212-0/+8
|
* Clean up pass through abompard's branch.Barry Warsaw2015-10-201-8/+8
|
* Use and interface for the set of header_matchesAurélien Bompard2015-10-201-7/+5
|
* Fix a code typo in the docsAurélien Bompard2015-10-201-1/+1
|
* Implement changes from the reviewAurélien Bompard2015-10-201-2/+31
|
* Adapt the code and the tests to the new HeaderMatch objectAurélien Bompard2015-10-201-1/+4
|
* Do a cleansing pass on abompard's branch.Barry Warsaw2015-06-242-26/+35
|
* Use the *_these_nonmembers properties for moderationAurélien Bompard2015-06-172-2/+54
|
* Implement reasons for why a message is being held for moderator approval.Barry Warsaw2015-05-113-6/+52
| | | | | | | Given by Aurélien Bompard, tweaked by Barry Warsaw. Remove the inaccurate confirmation url and admindb urls from the substitution dictionaries for postauth.txt and posthold.txt, and the templates.
* Extended test helper subscribe() which takes an optional email address andBarry Warsaw2015-03-261-0/+7
| | | | returns the newly created member.
* Bump copyright years.Barry Warsaw2015-01-0415-15/+15
|
* Remove huge amounts of now unnecessary file boilerplate.Barry Warsaw2014-12-2215-74/+17
|
* Trunk merge.Barry Warsaw2014-12-223-1/+37
|\
| * * Fixed getting non-ASCII filenames from RFC 2231 i18n'd messages. Given byBarry Warsaw2014-12-081-0/+2
| |\ | | | | | | | | | Aurélien Bompard. (LP: #1060951)
| | * Convert unicode instance testing to bytes instance testingAurélien Bompard2014-12-041-1/+1
| | |
| | * Do not auto-convert Message headers to unicodeAurélien Bompard2014-12-021-0/+2
| | | | | | | | | | | | Fixes: bug #1060951
| * | * Fixed messages without a `text/plain` part crashing the `Approved` rule.Barry Warsaw2014-12-032-1/+34
| |\ \ | | |/ | |/| | | | Given by Aurélien Bompard. (LP: #1158721)
| | * Emails without a text/plain part crash the Approved ruleAurélien Bompard2014-11-302-1/+35
| |/ | | | | | | Fixes: bug #1158721
* | Fix the administrivia rule.Barry Warsaw2014-12-171-1/+1
| |
* | Fix the approved rule. Don't decode the payload so that we get a unicode toBarry Warsaw2014-12-082-6/+6
|/ | | | | | | | search against. This may not be in the long-term best interest because it ignores Content-Transfer-Encoding, however with decode=True it always returns binary data. We may have to decode and then re.search() with a bytes pattern. passlib always returns a unicode password in Python 3, so adjust for that.
* Fix a few issues with `python2 -3` compatibility.Barry Warsaw2014-11-191-1/+1
|
* Use print functions consistently through, and update all __future__ imports toBarry Warsaw2014-04-2812-31/+31
| | | | | | | | reflect this. Also, mock out sys.stderr on some tests so that their nose2 output is quieter. A few other minor coding style consistencies.
* * Fix non-member moderation rule to prefer a member sender if both membersBarry Warsaw2014-03-152-0/+82
| | | | | and non-members are in the message's sender list. Given by Aurélien Bompard. (LP: #1291452)
* Bump copyright years.Barry Warsaw2014-01-0114-14/+14
|
* * Use the ``enum34`` package instead of ``flufl.enum``.Barry Warsaw2013-08-271-1/+1
|\
| * Switch to PEP 435 enums from flufl.enums.Barry Warsaw2013-06-181-1/+1
| |
* | Add enough __init__.py files to make these docs directories discoverable.Barry Warsaw2013-08-261-0/+0
|/
* Bump copyright years.Barry Warsaw2013-01-0114-14/+14
|
* Fix the order of PasswordContext.verify() to match that of passlib.Barry Warsaw2012-12-251-1/+1
|
* ConfigurationBarry Warsaw2012-11-041-2/+2
| | | | | | | | | | | | | | | ------------- * `[passlib]path` configuration variable renamed to `[passlib]configuration`. * Postfix-specific configurations in the `[mta]` section are moved to a separate file, named by the `[mta]configuration` variable. * In the new `postfix.cfg` file, `postfix_map_cmd` is renamed to `postmap_command`. Also: * More Python 2.7-isms, use assertMultiLineEqual() directly. * Added external_configuration() and load_external() to mailman.config.config * ConfigLayer does a blanket set of [postfix]postmap_command so subtests generally won't have to.
* * Python 2.7 is not required. Python 2.6 is no longer officially supported.Barry Warsaw2012-10-311-1/+1
| | | | | The code base is now also `python2.7 -3` clean, although there are still some warnings in 3rd party dependencies. LP: #1073506
* Get test suite completely working:Barry Warsaw2012-07-202-2/+2
| | | | | | | - migrations.rst needs to handle new standard migration - Add ResetHelper() to refactor out common migration test cooperation. - Handle temporary database. - Fix some attribute names.
* trunk mergeBarry Warsaw2012-07-204-18/+101
|\
| * * `passlib`_ is now used for all password hashing instead of flufl.password.Barry Warsaw2012-07-024-13/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default hash is `sha512_crypt`. * Events renamed and moved: * `mailman.chains.accept.AcceptNotification` * `mailman.chains.base.ChainNotification` * `mailman.chains.discard.DiscardNotification` * `mailman.chains.hold.HoldNotification` * `mailman.chains.owner.OwnerNotification` * `mailman.chains.reject.RejectNotification` changed to (respectively): * `mailman.interfaces.chains.AcceptEvent` * `mailman.interfaces.chains.ChainEvent` * `mailman.interfaces.chains.DiscardEvent` * `mailman.interfaces.chains.HoldEvent` * `mailman.interfaces.chains.AcceptOwnerEvent` * `mailman.interfaces.chains.RejectEvent` * A `ConfigurationUpdatedEvent` is triggered when the system-wide global configuration stack is pushed or popped. * With the switch to `passlib`_, `[passwords]password_scheme` has been removed. Instead use `[passwords]path` to specify where to find the `passlib.cfg` file. See the comments in `schema.cfg` for details.
| * Replace flufl.password with passlib, albeit with a wrapper.Barry Warsaw2012-06-273-13/+7
| |
* | trunk mergeBarry Warsaw2012-06-0313-40/+40
|\|
| * General code cleanup.Barry Warsaw2012-04-2513-40/+40
| | | | | | | | | | | | | | | | - Add explicit dependency on zope.event in setup.py. - Use Python 3 compatible syntax for specifying that a class implements an interface, i.e. the @implementer class decorator. - print_function futures. - Whitespace normalization.