summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * | * `bin/mailman start` was passing the wrong relative path to its runnerBarry Warsaw2012-10-242-3/+9
| | | | | | | | | | | | subprocesses when -C was given. LP: #982551
* | | * Python 2.7 is not required. Python 2.6 is no longer officially supported.Barry Warsaw2012-10-3132-381/+156
|/ / | | | | | | | | The code base is now also `python2.7 -3` clean, although there are still some warnings in 3rd party dependencies. LP: #1073506
* | DatabaseBarry Warsaw2012-10-1613-210/+389
| | | | | | | | | | | | | | | | | | | | | | | | -------- * 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``.
* | * Added support for Postfix `relay_domains` setting for better virtual domainBarry Warsaw2012-10-127-212/+223
|\ \ | | | | | | | | | | | | | | | | | | | | | support. Contributed by Jimmy Bergman. * `bin/mailman aliases` loses the `--output`, `--format`, and `--simple` arguments, and adds a `--directory` argument. This is necessary to support the Postfix `relay_domains` support.
| * | Add another paragraph to MTA.rst regarding virtual domainsJimmy Bergman2012-09-241-0/+5
| | |
| * | Write a domain map that postfix can use as relay_domains automatically on ↵Jimmy Bergman2012-09-242-4/+73
|/ / | | | | | | | | | | list creation/removal. Improve postfix documentation in MTA.rst by referencing the official docs.
* | * You can now verify and unverify an email address through the REST API.Barry Warsaw2012-09-224-3/+159
| | | | | | | | | | | | | | POST to .../addresses/<email>/verify and .../addresses/<email>/unverify respectively. The POST data is ignored. It is not an error to verify or unverify an address more than once, but verifying an already verified address does not change its `.verified_on` date. (LP: #1054730)
* | * You can now PUT and PATCH on user resources to change the user's displayBarry Warsaw2012-09-229-110/+320
| | | | | | | | | | | | | | | | | | | | | | | | | | | | name or password. For passwords, you pass in the clear text password and Mailman will hash it before storing. Also: * Major refactoring of validators for PUT and PATCH. Pull the common logic out of configuration.py and put it in a PatchValidator class in helpers.py. Also move GetterSetter to helpers.py * Add new exception classes RESTError, UnknownPATCHRequestError, ReadOnlyPATCHRequestError. These are used in the PatchValidator. * Added Validator.update() which works nicely for PATCH and PUT.
* | * Add list_id to JSON representation for a mailing list (given by JimmyBarry Warsaw2012-09-224-17/+69
|\ \ | |/ |/| | | | | | | | | | | Bergman). * The canonical resource for a mailing list (and thus its self_link) is now the URL with the list-id. To reference a mailing list, the list-id url is preferred, but for backward compatibility, the posting address is still accepted.
| * Add list_id to the REST API list representationJimmy Bergman2012-09-202-0/+4
| |
| * Write a domain map that postfix can use as relay_domains automatically on ↵Jimmy Bergman2012-08-132-7/+64
|/ | | | list creation/removal
* Bump versions and code name for 3.0b3.Barry Warsaw2012-09-082-4/+9
|
* Prep for 3.0b2.Barry Warsaw2012-09-061-1/+1
|
* * Fixed the RFC 1153 digest footer to be compliant. (LP: #887610)Barry Warsaw2012-09-053-9/+19
|\ | | | | | | 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-113-8/+19
| |
* | Documentation updates for beta 2.Barry Warsaw2012-09-056-27/+32
| |
* | Port the schema migration changes for LP: #1024509 to PostgreSQL.Barry Warsaw2012-09-052-6/+37
| |
* | * Schema migrations (LP: #1024509)Barry Warsaw2012-09-045-11/+76
| | | | | | | | - member.mailing_list -> list_id
* | * The link between members and the mailing lists they are subscribed to, isBarry Warsaw2012-09-0435-244/+366
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | now via the RFC 2369 `list_id` instead of the fqdn listname (i.e. posting address). This is because while the posting address can change if the mailing list is moved to a new server, the list id is fixed. (LP: #1024509) + IListManager.get_by_list_id() added. + IListManager.list_ids added. + IMailingList.list_id added. + Several internal APIs that accepted fqdn list names now require list ids, e.g. ISubscriptionService.join() and .find_members(). + IMember.list_id attribute added; .mailing_list is now an alias that retrieves and returns the IMailingList. - list_id added (LP: #1024509)
* | * Expose `archive_policy` in the REST API. Contributed by AlexanderBarry Warsaw2012-08-204-0/+14
| | | | | | | | Sulfrian. (LP: #1039129)
* | Style fixes: compare enums with identity, not equality.Barry Warsaw2012-08-202-2/+2
| |
* | Update NEWSBarry Warsaw2012-08-201-2/+1
| |
* | A few fixes for schema migration on PostgreSQL.Barry Warsaw2012-08-203-4/+22
| | | | | | | | | | | | | | | | | | - migration.rst needs special cleanup since the Version table is no longer wiped by the test machinery. This only caused failures when running the migration.rst test multiple times, and only on PostgreSQL. - Complete the removal of archive_volume_frequency and generic_nonmember_action for PostgreSQL. - Remove setting archive_volume_frequency in the default style.
* | typoBarry Warsaw2012-08-191-1/+1
| |
* | * Removed obsolete `IMailingList` attribute `generic_nonmember_action.Barry Warsaw2012-08-199-10/+9
| | | | | | | | (LP: #975696)
* | * Fix residual references to the old `IMailingList` archive variables.Barry Warsaw2012-08-188-19/+28
| | | | | | | | (LP: #1031393)
* | * Show devmode in `bin/mailman info` output. (LP: #1035028)Barry Warsaw2012-08-174-7/+13
| | | | | | | | | | | | Also, allow doctest cleanups to be tuples, in which case the first item is the callable and the subsequent items are the arguments. Makes for config.pop()'ing much nicer.
* | * Non-unicode values in msgdata broke pending requests. (LP: #1031391)Barry Warsaw2012-08-173-6/+33
| |
* | * Clarify the semantics of the noreply_address variable. It's the local-partBarry Warsaw2012-08-153-8/+8
| | | | | | | | | | | | | | | | of an email address. * Rectify an omission in the copyright assignees. * Of course, don't use PostgreSQL by default in the test suite.
* | * The policy for archiving has now been collapsed into a single enum, calledBarry Warsaw2012-07-2642-209/+1472
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ArchivePolicy. This describes the three states of never archive, archive privately, and archive_publicly. (LP: #967238) Database -------- * Schema migrations (LP: #971013) - include_list_post_header -> allow_list_posts - news_prefix_subject_too -> nntp_prefix_subject_too - news_moderation -> newsgroup_moderation - archive and archive_private have been collapsed into archive_policy. - nntp_host has been removed. * The PostgreSQL port of the schema accidentally added a moderation_callback column to the mailinglist table. Since this is unused in Mailman, it was simply commented out of the base schema for PostgreSQL.
| * | And now, working for PostgreSQL.Barry Warsaw2012-07-251-0/+3
| | |
| * | Working for SQLite:Barry Warsaw2012-07-2513-41/+135
| | | | | | | | | | | | | | | | | | include_list_post_header -> allow_list_posts Also add a bunch more migration tests.
| * | The final bit of refactoring puts the specifics of making a temporary databaseBarry Warsaw2012-07-255-65/+94
| | | | | | | | | | | | into the hands of the database modules, by using ZCA adapters.
| * | Fix resetting PostgreSQL databases, thus making the full test suite pass withBarry Warsaw2012-07-254-45/+38
| | | | | | | | | | | | them.
| * | Add a temporary database factory so we can remove more cruft from theBarry Warsaw2012-07-254-39/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | The version component is no longer necessary.Barry Warsaw2012-07-251-3/+0
| | |
| * | Refactor a slightly better way of indicating which tables should be reset byBarry Warsaw2012-07-251-9/+9
| | | | | | | | | | | | the testing framework.
| * | Refactor to better handling the difference between a testing database and aBarry Warsaw2012-07-2513-137/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | A few more tweaks to get PostgreSQL working.Barry Warsaw2012-07-253-11/+5
| | | | | | | | | | | | | | | - store.rollback() is better than store.execute('ABORT;') - We need to do a commit after the migrations are loaded.
| * | One more refactoring.Barry Warsaw2012-07-254-21/+21
| | |
| * | Refactor once again for SQLite/PostgreSQL differences.Barry Warsaw2012-07-254-68/+46
| | |
| * | No need to parameterize the exceptions, since Storm does this for us.Barry Warsaw2012-07-253-7/+3
| | |
| * | Very nearly there with PostgreSQL support for testing the beta2 migration.Barry Warsaw2012-07-258-62/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Improve migration logging - Disable pre_reset() and post_reset() on migrations, which might need to be re-enabled for SQLite support. - Be sure to record the migration version in PostgreSQL. - Parameterize the Error that will occur. - Better sample data for PostgreSQL and SQLite, which have different formats.
| * | Checkpointing Postgres port of test suite.Barry Warsaw2012-07-239-104/+496
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Refactor load_schema() into a separate load_sql() method. - Add API for test suite to make a temporary database. - Add code to migrate the PostgreSQL database. - Comment out `moderation_callback` from the PostgreSQL SQL; this must have snuck in accidentally via the contributed port. - Refactor test_migrations.py
| * | Add a few more tests.Barry Warsaw2012-07-201-1/+18
| | |
| * | Get test suite completely working:Barry Warsaw2012-07-208-55/+119
| | | | | | | | | | | | | | | | | | | | | - migrations.rst needs to handle new standard migration - Add ResetHelper() to refactor out common migration test cooperation. - Handle temporary database. - Fix some attribute names.
| * | trunk mergeBarry Warsaw2012-07-2041-180/+543
| |\ \ | |/ / |/| |
* | | Update news with bug issue.Barry Warsaw2012-07-031-1/+1
| | |
* | | More consistency in the way post-configuration changes are processed. LessBarry Warsaw2012-07-029-49/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.