summaryrefslogtreecommitdiff
path: root/src/mailman/interfaces
Commit message (Collapse)AuthorAgeFilesLines
* Add SMTPS/STARTTLS support.mta-smtps-starttlsJ08nY2017-07-242-0/+41
| | | | | | | | | | | | - Adds SMTP over SSL/TLS and STARTTLS support to the outgoing delivery by spliting the Connection class into three separate classes with logic for SMTP, SMTP over SSL/TLS and STARTTLS. - The Delivery class loads the added configuratio values and selects the appropriate connection based on the configured protocol. - This requires aiosmtpd at least 1.1a1 for tests to pass, as SMTPS support was added there in: https://github.com/aio-libs/aiosmtpd/commit/0d33554c4787e575b7dd31b574259c0876dcc9f8
* Convert to click for CLI optionsBarry Warsaw2017-07-221-17/+15
|
* IListManager.get() now accepts both List-IDs and FQDN list names.Barry Warsaw2017-06-241-8/+22
|
* Moved InvalidListNameError class definition to mailman.interfaces.mailinglist.Mark Sapiro2017-02-201-0/+10
| | | | | Added more documentation on config.mailman.listname_chars. Made a couple of minor tweaks.
* Handle PEP 475 fallout.Barry Warsaw2017-01-281-0/+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.
* Delete subscription requests when a mailing list is deleted.Barry Warsaw2017-01-081-6/+12
| | | | Closes #214
* Bump copyright years.Barry Warsaw2017-01-0440-40/+40
|
* Make code style review pass.Barry Warsaw2017-01-041-18/+27
|
* Simplified the various list settings and remamed several things.Mark Sapiro2016-12-261-34/+12
|
* Merged from master.Mark Sapiro2016-12-0940-40/+40
|\
| * Use `atpublic` for @public instead of internal copy.Barry Warsaw2016-11-2940-40/+40
| |
* | Merge branch 'dmarc' of gitlab.com:msapiro/mailman into dmarcMark Sapiro2016-11-261-0/+64
|\ \ | |/ |/|
| * DMARC mitigations, part 1a.Mark Sapiro2016-10-311-0/+64
| |
* | Fix the Flake8 ignore tagsAurélien Bompard2016-11-211-0/+1
|/
* Implement the review suggestionsAurélien Bompard2016-10-261-2/+3
| | | | See !161
* Add a method to find list using properties filtersAurélien Bompard2016-10-261-0/+9
| | | | | | This allows the filtering to be done at the database level. It also makes list pagination much more efficient, since the slicing is done at the database level too.
* Manual merge.Barry Warsaw2016-10-252-3/+3
| | | | * Rebased, cleaned up, and test improvement.
* replaced `find` method with `bans` propertyAmit Tripathi2016-10-251-11/+5
|
* Added QuerySequence as return type of banned address listAmit Tripathi2016-10-251-0/+7
|
* Refactor.Barry Warsaw2016-10-181-2/+2
|
* Simplify the implementation.Barry Warsaw2016-10-171-11/+3
| | | | | | | | | | | | | | | | | | | | | | 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.
* Split registration (subscription) and unsubscription:Barry Warsaw2016-09-132-2/+15
| | | | | | | | * events * notices * handlers Also, be sure to do only one `leave` command per email.
* Fix more tests.Barry Warsaw2016-09-111-0/+3
|
* Fix many failures.Barry Warsaw2016-09-082-1/+76
| | | | Also, document more APIs.
* CheckpointingBarry Warsaw2016-09-011-1/+0
|
* Checkpointing.Barry Warsaw2016-09-012-115/+88
|
* Intermediate CommitAbhilash Raj2016-09-012-5/+8
|
* New template system. Closes #249Barry Warsaw2016-07-166-269/+289
| | | | | The new template system is introduced for API 3.1. See ``src/mailman/rest/docs/templates.rst`` for details.
* Better handling of the REST API plumbing.Barry Warsaw2016-06-281-1/+5
| | | | | | | | | * Add a version_info field which is a better way to do ordered comparisions of the API version. * All subresources now get their .api attribute set automatically, if they are passed back through the ObjectRouter. No more fiddling with context['api'] (unless of course, they don't make a roundtrip through the main ObjectRouter loop.
* Clean up the User.absorb() method and tests.Barry Warsaw2016-05-142-2/+18
|
* Clean up.Barry Warsaw2016-05-131-2/+9
|
* Implement suggestions from the reviewAurélien Bompard2016-05-041-2/+0
|
* Add a method to merge a user into another userAurélien Bompard2016-05-042-0/+14
|
* Update docstrings and add a missing attribute.Barry Warsaw2016-05-031-8/+10
|
* Add NEWS, tweak an interface, and rewrite a unit test.Barry Warsaw2016-04-181-5/+6
|
* Extend ISubscriptionService interface.Harshit Bansal2016-04-181-0/+15
| | | | | | Add documentation. Extend ISubscriptionService interface.
* public() takes keyword arguments.Barry Warsaw2016-04-041-2/+1
|
* Import order flake8 plugin.Barry Warsaw2016-03-2726-26/+26
| | | | Fix lots of import order errors discovered by the new plugin.
* Reorder the @public definition.Barry Warsaw2016-03-251-4/+2
| | | | This allows us to import it in more places without threat of import errors.
* Clean up the interfaces directory.Barry Warsaw2016-03-2539-414/+184
|
* Clean up the core directory.Barry Warsaw2016-03-246-10/+36
| | | | | | | mailman/core/errors.py is gone now. We had a duplicate base exception which now always comes from mailman/interfaces/errors.py. Obsolete/unused exceptions are remove. The other exceptions are moved to better locations.
* Closes #199Barry Warsaw2016-03-221-6/+4
| | | | | New subscription requests are rejected if there is already one pending. With thanks to Anirudh Dahiya. (Closes #199)
* Correct spacingAnirudh Dahiya2016-03-221-1/+1
|
* Correct space in error messageAnirudh Dahiya2016-03-221-1/+1
|
* Incorporates suggested changesAnirudh Dahiya2016-03-221-1/+11
|
* A bit of pre-merge cleanup.Barry Warsaw2016-03-221-2/+2
| | | | | | | | | | | * Reorder some add_argument() parameters. * Reword some help text. * Reword some of the doctest language. * Clean up whitespace. * Minor coding style change in unittests. * Add another unittest. * Fix a docstring (not related to these change). * Add NEWS.
* Fix cross-posting held on more than one list.Barry Warsaw2016-03-081-4/+5
| | | | | | | | | | | Closes #176 Also: * IMessageStore no longer raises a ValueError if the Message-ID already exists in the store; it just returns None. * The internal handle_message() function no longer takes a `preserve` argument, since messages are never removed from the IMessageStore.
* Last cleanups.Barry Warsaw2016-02-291-18/+22
| | | | | | | | | * Remove an unused import. * Opportunistically remove ^Ls * Add a missing interface attribute. * Fix up some docstrings. * Rename a parameter in an interface for clarity. * Random code style cleanups.
* Revert "Rename the HeaderMatch.chain column to action"Aurélien Bompard2016-02-291-8/+8
| | | | This reverts commit 703fc135dfcd496a704562ddc263aa0f4f828de9.
* Review suggestions: improve unit testsAurélien Bompard2016-02-291-1/+2
|