| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
or unverified. (LP: #975698)
|
| |
|
|
| |
now.
|
| | |
|
| |\
| |
| |
| |
| | |
- There is a tiny change from the version already merged, because now sys.ps1
is set correctly even if readline/rlcompleter fail..
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
bit. The previous `[spam.header.foo]` sections have been removed.
Instead, there's a new `[antispam]` section that contains a `header_checks`
variable. This variable takes multiple lines of `Header: regexp` values,
one per line. There is also a new `jump_chain` variable which names the
chain to jump to should any of the header checks (including the
list-specific, and programmatically added ones) match.
* Fixed a typo when returning the configuration file's header match checks.
(LP: #953497)
Also:
- Remove an unused method.
- Improve test coverage for mailman/app/bounces.py
- 100% test coverage for mailman/chains/headers.py
- Various other minor code cleanup.
- Fixed the 'any' rule, which was checking a bogus metadata dictionary key.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
is hashed with the currently selected scheme.
Also:
- Simplify and rewrite the approved.rst doctest. Now just document the good
path, and only describe its functionality using the Approved: header, which
is the recommended header.
- Greatly expand the unittests for the approved rule.
|
| |\ \
| | |
| | |
| | |
| | |
| | | |
given by Mark Sapiro. (LP: #949924)
(with some minor stylistic fixes by Barry)
|
| | | |
| | |
| | |
| | | |
* Renamed rules/docs/approve.py to approved.py for consistency.
|
| | |\ \ |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
- Add a `cleanups` global to doctests. This can be used to register
functions which will get called automatically at doctest tearDown time.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Configuration schema variable changes:
[nntp]username -> [nntp]user
[nntp]port (added)
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
header removal and de-duplication algorithms.
- Improve the robustness of the de-duplication code.
- Add a very nice helper called `configuration` which can be used either as a
decorator or context manager to temporarily set values in a configuration
section. No more need to manage pushes/pops. More code needs to be
converted to use this style.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
Beta testers can can safely remove `$var_dir/queue/news`.
|
| | | | | |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | | |
hyperkitty have been added, given by Stephen J Turnbull.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
------------
* Internally, all datetimes are kept in the UTC timezone, however because of
LP: #280708, they are stored in the database in naive format.
* `received_time` is now added to the message metadata by the LMTP runner
instead of by `Switchboard.enqueue()`. This latter no longer depends on
`received_time` in the metadata.
* The `ArchiveRunner` no longer acquires a lock before it calls the
individual archiver implementations, since not all of them need a lock. If
they do, the implementations must acquire said lock themselves.
Configuration
-------------
* New configuration variables `clobber_date` and `clobber_skew` supported in
every `[archiver.<name>]` section. These are used to determine under what
circumstances a message destined for a specific archiver should have its
`Date:` header clobbered.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
now works as expected!
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- 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
|
| | | | | |
| | | | |
| | | | |
| | | | | |
recipients handler.
|
| | | | | |
| | | | |
| | | | |
| | | | | |
how I think about them anyway.
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
this through the incoming runner.
|
| | |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- email.iterators.body_line_iterator() cannot handle unicodes in Python 2.6,
because it uses cStringIO.StringIO under the covers, and *that* can't handle
unicode. This works fine in Python 2.7, so I override this for the tests
only under 2.6 (the code itself isn't affected).
- AddressError needs to str() its IAddress attribute explicitly in the
__str__() method, otherwise under Python 2.6, you'll get unprintable reprs
in the doctests. Again, this works correctly in 2.7, but EIBTI, so it can't
hurt either way.
- EmailError: a new exception, not related to AddressError. The reason for
this it to conform to current nomenclature: "address" means an IAddress
while "email" means a text email address. So InvalidEmailAddressError
now derives from EmailError instead of AddressError because it gets passed a
text email address, and because that is invalid, it never gets turned into
an IAddress. The __str__() of this new base exception class does some
tricky encoding to keep it compatible between Python 2.6 and 2.7.
- UnverifiedAddressError derives from AddressError instead of the more generic
MailmanError.
- A few random code cleanups are included.
|
| | | | | |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* Configuration variable `[mailman]filtered_messages_are_preservable`
controls whether messages which have their top-level `Content-Type`
filtered out can be preserved in the `bad` queue by list owners.
* Configuration section `[scrubber]` removed, as is the scrubber handler.
This handler was essentially incompatible with Mailman 3 since it required
coordination with Pipermail to store attachments on disk.
* Schema additions:
- mailinglist.filter_action
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* Configuration variable `[mailman]filtered_messages_are_preservable`
controls whether messages which have their top-level `Content-Type`
filtered out can be preserved in the `bad` queue by list owners.
* Configuration section `[scrubber]` removed, as is the scrubber handler.
This handler was essentially incompatible with Mailman 3 since it required
coordination with Pipermail to store attachments on disk.
* Schema additions:
- mailinglist.filter_action
|
| | | |_|/
| |/| |
| | | |
| | | | |
some new APIs I suspect.
|
| |\ \ \ \
| | |/ /
| |/| /
| |_|/
|/| | |
Pycon 2012 Mailman 3 sprint. Also improvements to the Sphinx build given
by Andrea Crotti.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|