summaryrefslogtreecommitdiff
path: root/src/mailman/config (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix coverage, deprecate, but run non-plugin (post|pre)_hooks.pluggable-componentsJ08nY2017-08-071-1/+8
|
* Add new logger which plugins can use.J08nY2017-08-071-0/+4
|
* Make config.plugin_configs yield a dict with plugin names.J08nY2017-08-071-2/+4
| | | | - Allows to better loop over pluging configs and their names.
* Add optional external configuration to plugins.J08nY2017-08-071-0/+8
| | | | | - Adds an optional 'conriguration' option similar to the one in [mta] which plugins can use to load their specific configs from.
* Add per-plugin hooks, add docs about plugins.J08nY2017-08-072-8/+5
| | | | | | | | | | | | | | | - Removes pre_hook, post_hook and ext_dir. With the latter being unused. Warns on startup if the hooks are present in config. - Adds IPlugin interface with pre_hook and post_hook methods. - Adds 'class' config parameter to plugins, which can be set to a class implementing the IPlugin interface, it will be initialized once on Mailman's startup, then before the DB setup the pre_hook will be run, after DB and other components the post_hook will be run. Plugin instances are stored in the config.plugins dict, with keys being their configuration section names.
* Add pluggable components.J08nY2017-08-072-8/+19
| | | | | | | | | | | | | | | | | - Adds the notion of a 'plugin'. - A plugin has a package path and a flag specifying whether it's enabled or not. - Adds a find_pluggable_components function similar to the find_components one. This one dynamically searches not only the mailman package but all of plugins. - e.g. find_pluggable_components('rules', IRule) finds all IRule components in mailman.rules but also in example_plugin.rules for plugin names example_plugin. - Uses the find_pluggable_components function in place of find_components when searching for Rules, Handlers, Chains, EmailCommands, and Styles.
* Convert to click for CLI optionsBarry Warsaw2017-07-221-0/+1
|
* Merge branch 'pr265' into 'master'Barry Warsaw2017-05-231-2/+5
|\ | | | | | | | | PR #265 with minor fixes See merge request !270
| * Fix minor spelling.Barry Warsaw2017-05-231-1/+1
| |
| * Adding documentation on how to enter multi-line header_checks.Simon Liebold2017-05-231-2/+5
| |
* | Add support for regex based postfix transport maps and relay_domains.Abhilash Raj2017-05-231-0/+5
|/
* Update the configuration documentation.Barry Warsaw2017-04-161-20/+120
| | | | | It's less important now that the configuration system is built on lazr.config. Closes #45
* Moved InvalidListNameError class definition to mailman.interfaces.mailinglist.Mark Sapiro2017-02-201-1/+3
| | | | | Added more documentation on config.mailman.listname_chars. Made a couple of minor tweaks.
* Made the allowable list name characters configurable.Mark Sapiro2017-02-191-0/+5
|
* Extensive reorganizationBarry Warsaw2017-02-041-7/+9
|
* Add a UTC tag.Barry Warsaw2017-01-291-1/+1
|
* Close #306Barry Warsaw2017-01-291-3/+3
| | | | Update documentation links for ``config.cfg`` settings.
* Rebase and elaborate.Barry Warsaw2017-01-081-6/+47
|
* Swap order of configs and describe use of both config filesAbhilash Raj2017-01-081-2/+5
|
* Add default configuration to the documentation.Abhilash Raj2017-01-081-0/+9
|
* Bump copyright years.Barry Warsaw2017-01-049-9/+9
|
* Implement caching suffix list with in-tree fallback.Barry Warsaw2017-01-011-0/+5
| | | | | | | | Also: * Change doctest cleanups to be an ExitStack. * Added [dmarc]cache_lifetime setting. * Cleanup pass through dmarc-mitigation.rst. * Be sure the cached org domain file is cleaned up when the world is reset.
* Fix some fallout from the previous commit.Barry Warsaw2016-12-311-1/+1
|
* Move the dmarc configuration options to their own section.Barry Warsaw2016-12-311-17/+23
|
* Minor tweaks and coverage:Barry Warsaw2016-12-301-4/+5
| | | | | | | * Format and wrap a comment. * Add a test for having two From: headers. * use <alpha@example.com> as standard Message-ID * Cover URLError case.
* Merged from master.Mark Sapiro2016-12-093-3/+3
|\
| * Fix an import.Barry Warsaw2016-11-291-1/+2
| |
| * Use `atpublic` for @public instead of internal copy.Barry Warsaw2016-11-292-2/+2
| |
| * Merge branch 'master' into py36Barry Warsaw2016-11-281-3/+3
| |\
| * | Handle a Python 3.6 difference in interact().Barry Warsaw2016-11-251-1/+0
| | | | | | | | | | | | | | | | | | | | | Also: * Fix a regexp that 3.6 raises an exception on. * Remove a deprecated attribute from passlib.cfg.
* | | Merge branch 'dmarc' of gitlab.com:msapiro/mailman into dmarcMark Sapiro2016-11-261-0/+15
|\ \ \ | |_|/ |/| |
| * | DMARC mitigations, part 1a.Mark Sapiro2016-10-311-0/+15
| | |
* | | Merge branch 'hide-system-disabled-archivers' into 'master' Barry Warsaw2016-11-261-3/+3
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't show the disabled archivers in the REST API Previously, system-disabled archivers were shown in the REST API. As a result it was possible to enable them without a validation error, but they would stay disabled on the next API GET call (their actual activation status depends on the list-specific *and* the system-wide status). Because one can't add a configuration overlay to the running REST server in testing mode, the prototype archiver was disabled in the testing configuration. This is where most of the changes in this commit come from. See merge request !87
| * | Fix testsAurélien Bompard2016-08-181-3/+3
| | |
* | | Fix the Flake8 ignore tagsAurélien Bompard2016-11-211-1/+1
| |/ |/|
* | Simplify the implementation.Barry Warsaw2016-10-171-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | A few more changes.Barry Warsaw2016-09-081-2/+2
| |
* | Remove workflowmanager.pyBarry Warsaw2016-09-021-2/+2
| |
* | IWorkflowManager -> ISubscriptionManagerBarry Warsaw2016-09-011-2/+2
| |
* | CheckpointingBarry Warsaw2016-09-011-5/+5
| |
* | Intermediate CommitAbhilash Raj2016-09-011-2/+10
|/
* Rebase mailman/mailman!180 and cleanup # noqaBarry Warsaw2016-07-281-1/+1
|
* New template system. Closes #249Barry Warsaw2016-07-163-4/+19
| | | | | The new template system is introduced for API 3.1. See ``src/mailman/rest/docs/templates.rst`` for details.
* A better solution to the test creating a var dir.Barry Warsaw2016-05-011-5/+9
| | | | | | Instead of shutil.rmtree'ing the create var directory, prevent it from happening altogether. This way we won't accidentally blow away a live one created for operational purposes.
* Ensure that $(PWD)/var/ is cleaned up.Barry Warsaw2016-04-301-0/+4
|
* Fix #228Barry Warsaw2016-04-221-0/+4
| | | | | | | | ``mailman shell`` now supports readline history if you set the ``[shell]history_file`` variable in mailman.cfg. Also, many useful names are pre-populated in the namespace of the shell. (Closes: #228) With test coverage.
* Fix comment.Barry Warsaw2016-04-101-1/+1
|
* Fix compatibility with IPython 4.Barry Warsaw2016-04-101-1/+3
|
* public() takes keyword arguments.Barry Warsaw2016-04-041-2/+3
|
* Don't use `flake8: noqa`.Barry Warsaw2016-04-011-1/+1
| | | | | | | This suppresses all errors in the file. Use `noqa`, although pep8 doesn't honor this for all errors. There may be a plugin which helps.