| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
Add 8-miles-high.rst.
Remove my temporary contents.rst list and conf.py.
Adds chains.png, pipeline.png, msg-flow.png -- probably temporarily.
|
| | |\ \
| | |/
| |/| |
|
| | | |
| | |
| | |
| | | |
Replace msg-flow.png with inline graphviz.
Add inline graphviz for pipeline.png and chains.png (not ready for prime time).
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
Also, change the implementation of mailing list REST resource's member_count
to use the more efficient implementation of IRoster.member_count.
|
| |\ \ \
| | | |
| | | |
| | | | |
number of subscribed members. Given by Toshio Kuratomi.
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
"display_name" across the board.
* `IMailingList.real_name` -> `IMailingList.display_name`
* `IUser.real_name` -> `IUser.display_name`
* `IAddress.real_name` -> `IAddress.display_name`
* Schema changes:
- real_name -> display_name (mailinglist, user, address)
|
| |\ \ \
| | | |
| | | |
| | | | |
without a `Precedence:` header. Given by Mark Sapiro. (LP: #808821)
|
| | |/ /
| | |
| | |
| | | |
header. (LP: #808821)
|
| |/ /
| |
| |
| | |
`$var_dir/archives/prototype`, given by Toshio Kuratomi.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
otherwise it rejects the message with a 550 error. Also, the LMTP server
adds the `X-Message-ID-Hash` header automatically. The `inject` cli
command will also add the `X-Message-ID-Hash` header, but it will craft a
`Message-ID` header first if one is missing from the injected text. Also,
`inject` will always set the correct value for the `original_size`
attribute on the message object, instead of trusting a possibly incorrect
value if it's already set. The individual `IArchiver` implementations no
longer set the `X-Message-ID-Hash` header.
|
| |\|
| |
| |
| | |
file. Given by Andrea Crotti. (LP: #953707)
|
| | | |
|
| | |
| |
| |
| | |
(LP: #890675)
|
| |\|
| |
| |
| | |
(LP: #949926).
|
| |/ |
|
| |
|
|
|
|
|
|
|
|
|
| |
postings go through the `posting_chain` while messages to owners to through
`owners_chain`. The default `built-in` chain is renamed to
`default-posting-chain` while the `built-in` pipeline is renamed
`default-posting-pipeline`.
* Schema changes:
- start_chain -> posting_chain
- pipeline -> posting_pipeline
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
footers, using the same semantics and algorithm as for welcome and goodbye
messages.
Additional schema changes:
- msg_header -> header_uri
- msg_footer -> footer_uri
- digest_header -> digest_header_uri
- digest_footer -> digest_footer_uri
|
| |
|
|
|
|
|
|
| |
IMailingList documentation.
Also:
* `ILanguageManager.add()` returns the `ILanguage` object just created.
|
| |
|
|
|
|
|
|
|
|
| |
email.
Also:
- The user's Full Name is included on the To line of a welcome message.
- Clean up some tests.
- The welcome_message_uri for lists using the default style is set to
mailman:///welcome.txt so a welcome message is sent by default.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
used in welcome and goodbye messages, and supports both language and
mailing list specifications. E.g. mailman:///test@example.com/it/welc.txt
* Schema changes:
- welcome_msg -> welcome_message_uri
- goodbye_msg -> goodbye_message_uri
- send_welcome_msg -> send_welcome_message
- send_goodbye_msg -> send_goodbye_message
* New `ITemplateLoader` utility.
|
| |
|
|
|
|
| |
is now used when search for all template overrides, site, domain, or
mailing list. The in-tree English templates are used only as a last
fallback.
|
| |
|
|
|
|
|
| |
Also:
- updated the 'join' command's descriptions
- email commands should now have a short_description. The description
(i.e. long description) should not repeat this information.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
`digest=` argument now accepts the following values: `no` (for regular
delivery), `mime`, or `plain`.
Also:
- Fix get_queue_messages() to properly sort on the string representation of a
header, since it could be a Header instance.
|
| |
|
|
| |
it exists in an `etc` directory which is a sibling of argv0.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
if they contain non-ASCII characters. (LP: #685261)
Also:
- When the registrar confirms an email address, the verified_on value gets
set using the Mailman datetime interface. This simply improves testability
for that API.
- In Runner._one_iteration(), be sure to commit the database transaction
*before* calling _short_circuit().
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
resources now accept a `held` path component. GETing this returns all held
messages for the mailing list. POSTing to a specific request id under this
url can dispose of the message using `Action` enums.
* `IRequests` interface is removed. Now just use adaptation from
`IListRequests` directly (which takes an `IMailingList` object).
* `handle_message()` now allows for `Action.hold` which is synonymous with
`Action.defer` (since the message is already being held).
* `IListRequests.get_request()` now takes an optional `request_type`
argument to narrow the search for the given request.
- also, print_function is now a standard __future__ import. The template has
been updated, but add this to modules as you edit them.
|
| |
|
|
| |
- Also, rewrite the Postfix alias generator to use the faster, duck-typed API.
|
| | |
|
| |
|
|
| |
every mailing list as (list_name, mail_host).
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
* Separate out the RFC 2369 header adding handler.
* Dynamically calculate the `List-Id` header instead of storing it in the
database. This means it cannot be changed.
* Be sure to clean out any digest .mmdf files when the world is reset.
|
| |
|
|
|
|
| |
off the `mailman.config.config` object.
* Fixed bogus use of `bounce_processing` attribute (should have been
`process_bounces`, with thanks to Vincent Fretin. (LP: #876774)
|
| |
|
|
| |
(LP: #872391)
|
| |\
| |
| |
| | |
suite compliance by Barry. (LP: #860159)
|
| |/ |
|
| |
|
|
| |
exists. (LP: #874929). Given by Vincent Fretin.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* acquire_lock_1(): No need to unlink the tempfile
* Start.process(): Don't print error message when the lock is in stale_lock
or host_mismatch status and --force has been given.
* control.rst: Refactor test code into test_control.py.
* test_create.py: To more accurately mimic argparse, FakeParser.error() needs
to `sys.exit(1)`. The `SystemExit` must also be caught in the appropriate
tests.
* logging.py: Locking is now down by the flufl.lock package, so apply the
`mailman.lock` configuration to it.
|
| | |
|