summaryrefslogtreecommitdiff
path: root/src/mailman/config (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | Get addresses.rst, i.e. /<api>/addresses working.Barry Warsaw2014-08-121-1/+1
|/
* Use print functions consistently through, and update all __future__ imports toBarry Warsaw2014-04-282-3/+6
| | | | | | | | reflect this. Also, mock out sys.stderr on some tests so that their nose2 output is quieter. A few other minor coding style consistencies.
* - Configuration.style_configs(): Removed unused code.Barry Warsaw2014-03-023-11/+44
| | | | | - mailman.cfg: Removed unused section. - Improve the config.py test coverage to 100%.
* Bump copyright years.Barry Warsaw2014-01-018-8/+8
|
* * Add support for the Exim 4 MTA. Contributed by Stephen Turnbull.Barry Warsaw2013-11-301-0/+4
|\
| * New modules config.exim4 and mta.exim4 support the Exim4 MTA.Stephen J. Turnbull2013-09-251-0/+4
| | | | | | | | Documentation added to docs/MTA.rst (with some stylistic changes to existing text.
* | Checkpointing.Barry Warsaw2013-11-254-5/+69
|/
* - Write ./var/etc/mailman.cfg if it doesn't already exist.Barry Warsaw2013-03-201-0/+29
| | | | | | | - Use ./var/etc/mailman.cfg if it exists, just after ./mailman.cfg and just before ~/.mailman.cfg. - Add link to FHS - Whitespace normalization.
* Test added to non_queue_runner bugSandesh Kumar Agrawal2013-01-171-0/+2
|
* Final changes to non-queue runner bugSandesh Kumar Agrawal2013-01-111-1/+1
|
* first bug fixSandesh Kumar Agrawal2013-01-101-1/+1
|
* Bump copyright years.Barry Warsaw2013-01-017-7/+7
|
* * The default list style is renamed to `legacy-default` and a newBarry Warsaw2012-12-301-1/+1
| | | | | | | | `legacy-announce` style is added. This is similar to the `legacy-default` except set up for announce-only lists. Also, major refactoring of the default style into (hopefully) smaller composable units.
* LP: #975692 phase 1Barry Warsaw2012-12-281-5/+9
| | | | | | | | | | | | | | | | | * Rework list style management. No more style priorities or matching.. Now, you name a style explicitly to apply and that's it. * create_list() now takes a `style` argument. * config file now names both a default style to use, and a set of paths to scan for IStyle instances. (This could be a model for other plugins.) * added IMailingList.style_name to record the last style applied, but this is going to be removed in subsequent revisions. Also: * Move find_components() and scan_module() from app/finder.py to utilities/modules.py * Cleaned up lifecycle.rst for better documentation. Some tests moved to test_lifecycle.py. * Remove some unnecessary test tearDown() code.
* Merge Aurélien Bompard's branch to factor our archiver-specific configurationsBarry Warsaw2012-11-043-15/+65
|\ | | | | | | | | into their own configuration files. Reworked by Barry to use the new external configuration file support, and to make test suite succeed.
| * Allow archivers to use their own configuration fileAurélien Bompard2012-09-174-13/+91
| | | | | | | | | | | | | | | | | | | | | | | | There's a new "configure" entry in the archiver's section, which can point to an ini-compatible configuration file (ConfigParser is used) for additional archiver-specific configuration. The existing archiver config have been split off schema.cfg to their own configuration files. These shipped files can be overridden by a conf file of the same name in $ext_dir. The ini-file loading method should be rather generic, in case we want the same feature somewhere else.
* | ConfigurationBarry Warsaw2012-11-044-9/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ------------- * `[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.
* | DatabaseBarry Warsaw2012-10-161-5/+12
|/ | | | | | | | | | | | -------- * The `ban` table now uses list-ids to cross-reference the mailing list, since these cannot change even if the mailing list is moved or renamed. Interfaces ---------- * The `IBanManager` is no longer a global utility. Instead, you adapt an `IMailingList` to an `IBanManager` to manage the bans for a specific mailing list. To manage the global bans, adapt ``None``.
* * Clarify the semantics of the noreply_address variable. It's the local-partBarry Warsaw2012-08-151-5/+4
| | | | | | | | of an email address. * Rectify an omission in the copyright assignees. * Of course, don't use PostgreSQL by default in the test suite.
* The final bit of refactoring puts the specifics of making a temporary databaseBarry Warsaw2012-07-251-0/+14
| | | | into the hands of the database modules, by using ZCA adapters.
* Add a temporary database factory so we can remove more cruft from theBarry Warsaw2012-07-251-0/+6
| | | | | | | | | individual database classes themselves. This does mean that the temporary factory must know something special about the sqlite and postgresql databases, but I think that's an acceptable trade-off. This should make the test code cleaner, and allow me to write better support for temporary PostgreSQL databases.
* Refactor to better handling the difference between a testing database and aBarry Warsaw2012-07-251-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | production database. - Add an IDatabaseFactory interface with two named utility implementations. The initialization subsystem will either ask for the 'testing' or 'production' factory utility depending on whether we're in the test suite or not. The testing factory returns an IDatabase that can be _reset(). - initialize_2() now takes an optional `testing` argument, defaulting to False. The test ConfigLayer will pass in True. - Remove _reset() from the base database class. - The ModelMeta now adds a PRESERVE attribute to database classes. This defaults to False, meaning by default the test framework will reset the table. The Version table is preserved because it records the schema migrations. - Because of the above, we no longer need to support pre_reset() and post_reset() on migrations. Also, bin/mailman should allow the standard configuration file search algorithm to be used except when -C/--config is given.
* More consistency in the way post-configuration changes are processed. LessBarry Warsaw2012-07-021-20/+6
| | | | | | | | | | magic in the _post_process() method, more ConfigurationUpdatedEvents. More centralization of event initialization. Added property Configuration.language_configs. Instead of initializing events in initialize_2(), initialize them in initialize_1() and do it before the configuration is loaded.
* * `passlib`_ is now used for all password hashing instead of flufl.password.Barry Warsaw2012-07-025-11/+76
| | | | | | | | | | | | | | | | | | | | | | | 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-271-2/+3
|
* General code cleanup.Barry Warsaw2012-04-251-3/+2
| | | | | | | | - 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.
* * Header check specifications in the `mailman.cfg` file have changed quiteBarry Warsaw2012-04-062-22/+17
| | | | | | | | | | | | | | | | | | | | 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.
* The port of NNTPRunner to Mailman 3 is complete.Barry Warsaw2012-04-011-4/+6
| | | | | | * Configuration schema variable changes: [nntp]username -> [nntp]user [nntp]port (added)
* * The `news` runner and queue has been renamed to the more accurate `nntp`.Barry Warsaw2012-03-311-2/+2
| | | | Beta testers can can safely remove `$var_dir/queue/news`.
* ArchitectureBarry Warsaw2012-03-261-0/+16
| | | | | | | | | | | | | | | | | | | ------------ * 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.
* Merge the Pipermail eradication branch. The scrubber is also removed.Barry Warsaw2012-03-172-91/+5
|\ | | | | | | | | | | | | | | | | | | | | | | * 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
| * * Pipermail has been eradicated.Barry Warsaw2012-03-161-55/+5
| | | | | | | | | | | | | | | | | | | | | | | | * 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
| * Eradicate Pipermail. Everything but the scrubber test works. That will takeBarry Warsaw2012-03-152-37/+1
| | | | | | | | some new APIs I suspect.
* | * The Prototype archiver now stores its files in maildir format inside ofBarry Warsaw2012-03-142-0/+4
|\ \ | |/ |/| | | `$var_dir/archives/prototype`, given by Toshio Kuratomi.
| * Merge with upstreamtoshio2012-03-141-0/+15
| |\ | |/ |/|
| * Merge with upstream mailmantoshio2012-03-131-5/+0
| |\
| * | Fix up the archive_dir in the config filetoshio2012-03-132-0/+4
| | |
* | | * IPython support in `bin/mailman shell` contributed by Andrea Crotti.Barry Warsaw2012-03-121-0/+15
|\ \ \ | |_|/ |/| | | | | (LP: #949926).
| * | various small fixes after reviewing with Barry WarsawAndrea Crotti2012-03-131-3/+5
| | |
| * | - add a section in the schema to customize the shellAndrea Crotti2012-03-131-0/+9
| |/ | | | | | | | | - add the shell completion to the python shell - add an option to use IPython, disabled by default
* / * The experimental `maildir` runner is removed. Use LMTP.Barry Warsaw2012-03-121-5/+0
|/
* * Support downloading templates by URI, including mailman:// URIs. This isBarry Warsaw2012-03-031-13/+18
| | | | | | | | | | | | | 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.
* * Major redesign of the template search system, fixing LP: #788309. $var_dirBarry Warsaw2012-03-032-10/+5
| | | | | | 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.
* * Schema migrations have been implemented.Barry Warsaw2012-02-121-0/+3
|
* * Held messages can now be moderated through the REST API. Mailing listBarry Warsaw2012-01-301-7/+8
| | | | | | | | | | | | | | | 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.
* copybumpBarry Warsaw2012-01-014-4/+4
|
* Replace the password stuff with flufl.password.Barry Warsaw2012-01-011-12/+0
|
* * Implement the style manager as a utility instead of an attribute hangingBarry Warsaw2011-10-242-3/+7
| | | | | | 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)
* Merge PostgreSQL support from Stephen A. Goss, with refactoring by Barry. LP:Barry Warsaw2011-10-221-1/+1
| | | | #860159.
* * New REST resource http://.../members/find can be POSTed to in order to findBarry Warsaw2011-08-131-2/+2
| | | | | | member records. Arguments are `subscriber` (email address to search for - required), `fqdn_listname` (optional), and `role` (i.e. MemberRole - optional). (LP: #799612)