summaryrefslogtreecommitdiff
path: root/src/mailman/runners/docs
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Fix typo LTMP -> LMTP.Mark Sapiro2017-01-311-1/+1
|
* Simplified the various list settings and remamed several things.Mark Sapiro2016-12-261-1/+1
|
* Merge branch 'dmarc' of gitlab.com:msapiro/mailman into dmarcMark Sapiro2016-11-261-3/+3
|\
| * Fixed some doctests for the addition of the dmarc-moderation rule.Mark Sapiro2016-11-011-3/+3
| |
* | Replace smtpd with aiosmtpd.Barry Warsaw2016-11-241-1/+1
|/
* 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-171-2/+1
| | | | | | | | | | | | | | | | | | | | | | 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.
* Another test fix.Barry Warsaw2016-09-161-9/+11
|
* A few more changes.Barry Warsaw2016-09-081-3/+5
|
* 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
|
* New template system. Closes #249Barry Warsaw2016-07-161-8/+4
| | | | | The new template system is introduced for API 3.1. See ``src/mailman/rest/docs/templates.rst`` for details.
* Fixed mailman/issue#234.Mark Sapiro2016-05-151-1/+7
| | | | | | | Wraps the message/rfc822 parts in a MIME digest in a multipart/digest part. Updated the tests and the doc test.
* Make creating Link objects a more convenient.Barry Warsaw2016-01-251-4/+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.
* Add a send-digests subcommand to send list digests right now.Barry Warsaw2015-12-201-1/+1
| | | | | | | | | | | | | | * Add a `mailman send-digests` subcommand which replaces the functionality of the MM2.1 senddigests.py cronjob. * Use mlist.data_path where appropriate instead of crafting it from config.LIST_DATA_DIR. This makes it more consistent to switch to using the list-id as the data subdirectory. * Refactor the to_digest handler so that we can implement maybe_send_digest_now() for the internal API. * Fix some typos in subcommand --help summaries.
* Reorder the default-posting-chain to avoid spam.Aurélien Bompard2015-11-211-2/+2
| | | | | | Fixes: #163 Adapt unit tests.
* Vendorize Python 3.5's smtpd module, which properly handles non-UTF-8 byteBarry Warsaw2015-09-071-1/+1
| | | | input. Use this version only for Python 3.4.
* For now, treat `DeliveryMode.summary_digests` the same as `.mime_digests`.Barry Warsaw2015-09-061-6/+28
| | | | | (Closes #141). Also, don't enqueue a particular digest if there are no recipients for that digest.
* * REST API version 3.1 introduced. Mostly backward compatible with versionBarry Warsaw2015-07-181-0/+10
| | | | | | 3.0 except that UUIDs are represented as hex strings instead of 128-bit integers, since the latter are not compatible with all versions of JavaScript.
* * Messages now include a `Message-ID-Hash` as the replacement forBarry Warsaw2015-06-142-0/+3
| | | | | | `X-Message-ID-Hash` although the latter is still included for backward compatibility. Also be sure that all places which add the header use the same algorithm.
* Prepare for 3.1.Barry Warsaw2015-05-011-1/+1
| | | | Fix some tests that incorrectly hardcoded "3.0"
* Plumb the subscription policy through the REST API.Barry Warsaw2015-04-151-1/+1
|
* Prevent replay attacks with the confirmation token.Barry Warsaw2015-04-151-2/+2
|
* Full test suite passes.Barry Warsaw2015-04-141-0/+1
| | | | | | | | | | | | | * Make sure Registrar.discard() removces any workflow state manager state associated with the token, and that this is flushed to SA. * Adjust the email commands to the new IRegistrar API. * Update the IRegistrar interface. * Add IWorkflowStateManager.discard() and make `count` an attribute/property. * Mark two tests as expected failures due to LP: #1444184.
* Checkpointing.Barry Warsaw2015-04-141-3/+1
|
* Fix merge turd.Barry Warsaw2015-03-291-1/+1
|
* Merge abompard's subpolicy branch port with trunk. Still a WIP.Barry Warsaw2015-03-291-1/+1
|\
| * Resurrect Barry's subpolicy branch (lp:~barry/mailman/subpolicy)Aurélien Bompard2015-03-201-15/+4
| |
* | Replace add_member() with subscribe() helper.Barry Warsaw2015-03-261-10/+4
| |
* | Extended test helper subscribe() which takes an optional email address andBarry Warsaw2015-03-261-0/+4
| | | | | | | | returns the newly created member.
* | * Refactor add_member() so that it uses a RequestRecord namedtuple.Barry Warsaw2015-03-211-6/+10
|/ | | | | | * RequestRecord contains no password key so these are not part of the held requests database any more. * Pending record contains `email` now instead of `address`.
* * ``$cwd`` is now an additional substitution variable for the ``mailman.cfg``Barry Warsaw2015-01-032-12/+15
| | | | | | | | | | | | | file's ``[paths.*]`` sections. A new ``[paths.here]`` section is added, which puts the ``var_dir`` in ``$cwd``. It is made the default layout. * You can now view the contents of, inject messages into, and delete messages from the various queue directories via the ``<api>/queues`` resource. Also: inject_message() and inject_text() now return the filebase of the file injected into the queue directory.
* * You can access the system configuration via the resource pathBarry Warsaw2014-12-261-1/+1
| | | | | | | | | ``/3.0/system/configuration/<section>``. This returns a dictionary with the keys being the section's variables and the values being their value from ``mailman.cfg`` as verbatim strings. You can get a list of all section names via ``/3.0/system/configuration`` which returns a dictionary containing the ``http_etag`` and the section names as a sorted list under the ``sections`` key. The system configuration resource is read-only.
* Move internationalized digest tests to unittests.Barry Warsaw2014-12-201-199/+1
|
* Fix LMTP runner tests.Barry Warsaw2014-12-171-46/+14
|
* More test repair.Barry Warsaw2014-12-152-10/+10
|
* Use listid instead of (fqdn) listname in the metadata pickle.Barry Warsaw2014-12-153-16/+16
| | | | | | load_external() now always opens in utf-8 mode. More test repair.
* Tox-ify the test suite. Now you don't have to create a virtualenv separately.Barry Warsaw2014-11-071-6/+6
| | | | | | | | | | | To do this, we have to handle random test ordering, since tox explicitly sets PYTHONHASHSEED. That's a good thing for the future Python 3 port. Removed `mailman conf -t/--sort`; now the output is always sorted. RFC 2369 headers are now sorted before being added. etag repr dicts are sorted using pprint.pformat().
* Use print functions consistently through, and update all __future__ imports toBarry Warsaw2014-04-286-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.
* Several internal improvements:Barry Warsaw2014-01-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | * New events: - ConfirmationNeededEvent is triggered when a pendable requiring confirmation is created. This allows us to define an event handler for this event which sends the user notification. - SubscriptionEvent is triggered when a member is added to a mailing list. This lets us define an event handler which sends the welcome message. * send_welcome_message() now takes a member parameter instead of an address, which lets us directly access the member's delivery mode and user display name (if the member has a user, which it might not in some cases). * Use the list id in the pendable record instead of the list name for robustness (the latter can change but the former is permanent). * Test more registration conditions. * In the bin/runner command line switch handling, default `verbose` to None instead of False. This makes it work better with nose's -E switch (log to stderr). * In call_api(), if a POST, PUT, or PATCH method is used and data is None, encode the empty dictionary; seems like the behavior of urlencode() has changed, so this is safer. * Fix style and pyflakes warnings.
* Add enough __init__.py files to make these docs directories discoverable.Barry Warsaw2013-08-261-0/+0
|
* * Fixed the RFC 1153 digest footer to be compliant. (LP: #887610)Barry Warsaw2012-09-051-0/+8
|\ | | | | | | Fixed by Mark Sapiro.
| * Pretty printing is not necessary when the output actually matches.Mark Sapiro2012-04-111-3/+2
| |
| * Fixed the RFC 1153 digest footer to be compliant.Mark Sapiro2012-04-111-2/+11
| |
* | * `passlib`_ is now used for all password hashing instead of flufl.password.Barry Warsaw2012-07-021-5/+5
|/ | | | | | | | | | | | | | | | | | | | | | | 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.
* - Improve the NNTP doctest.Barry Warsaw2012-04-021-119/+17
| | | | | - Add a `cleanups` global to doctests. This can be used to register functions which will get called automatically at doctest tearDown time.
* * The `news` runner and queue has been renamed to the more accurate `nntp`.Barry Warsaw2012-03-311-20/+17
| | | | Beta testers can can safely remove `$var_dir/queue/news`.
* - Move some normal recipient tests to unittests.Barry Warsaw2012-03-231-1/+1
| | | | | | | | - Add unittests for owner recipients. There does eventually need to be some documentation about owner recipients. - Implement owner recipients handler. This includes moderators and owners (i.e. all the non-disabled the list administrators). - Changed the [mailman]site_owner setting in testing.cfg to noreply@example.com