| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |/ / / |
|
| | | | |
|
| | |/
|/|
| |
| | |
(LP: #827060)
|
| | |
| |
| |
| | |
REST API. (LP: #831660)
|
| |/
|
|
|
|
|
|
|
|
|
| |
Also:
* Use utilities.datetime.now() so that moderation related dates are
predictable during the test suite.
* When a message is accepted, drop it in the pipeline queue. The above bug
was caused by the message going in the incoming queue, and then being
re-moderated.
* Expose mailman.bin.master.Loop in __all__.
* Add some helpful debug logging.
|
| |\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
lifecycle changes:
- ListCreatingEvent - sent before the mailing list is created
- ListCreatedEvent - sent after the mailing list is created
- ListDeletingEvent - sent before the mailing list is deleted
- ListDeletedEvent - sent after the mailing list is deleted
* Using the above events, when a mailing list is deleted, all its members are
deleted, as well as all held message requests (but not the held messages
themselves). (LP: 827036)
Also: relax the find_member() argument constraints so that even the subscriber
email address is optional. This is mirrored in the REST API's
.../members/find resource.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Add ListCreatingEvent and ListDeletingEvent. These are sent before the
operation actually occurs, whereas the previously added ListCreatedEvent and
ListDeletedEvent are sent after the operation. Specifically, this is
necessary because request database deletion requires the IMailingList
object, which is only available before the list is deleted.
* Add a handler to clear out the requests database for a mailing list, when
the mailing list is about to be deleted.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
* Use zope.events to signal when a mailing list has been created or deleted.
* Register a handler for the ListDeletedEvent which cleans up member
subscriptions.
* Relax the criteria for find_members(), both internally and in the REST API,
so that the subscriber is not required. E.g. you can now find all members
of a mailing list.
|
| |/ |
|
| |
|
|
|
|
| |
correctly. (LP: #770328)
(I hope)
|
| | |
|
| |
|
|
| |
Stephen A. Goss.
|
| | |
|
| |
|
|
|
|
| |
list. (LP: #825570)
Untested code is broken code.
|
| |
|
|
|
|
| |
member records. Arguments are `subscriber` (email address to search for -
required), `fqdn_listname` (optional), and `role` (i.e. MemberRole -
optional). (LP: #799612)
|
| | |
|
| | |
|
| |
|
|
|
| |
for consistency. This changes the REST API for mailing list
resources. (LP: #787599)
|
| | |
|
| |
|
|
|
| |
* Expose **kws to inject_text()
* Add tests.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
including site-packages in the built-out environment is what was causing
FreeBSD to fail to find the _sqlite module. As it turns out, the reason for
adding this no longer appears relevant on Ubuntu, so just remove the setting.
Fix a reference error in bin/runner.py
Rename:
* START.txt -> START.rst
* README.txt -> README.rst
|
| | |
|
| |
|
|
|
| |
* Use a list comprehension to get a proper list of addresses.
* config.devmode.testing must be converted to a boolean.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* Create an IMailTransportAgentAliases utility that contains all the logic for
generating all the aliases for a mailing list, both the fully-qualified ones
and the local-part ones.
* Add -f and -s options to `bin/mailman aliases` to facilitate outputing the
aliases in other formats than the configured one, and for printing out a
simple list of the aliases.
* IMailTransportAgentAliases -> IMailTransportAgentLifecycle; also add a new
definition for IMailTransportAgentAliases
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Queue runners are now called just 'Runners' since several of them don't
manage queue directories.
* Ban the term 'qrunner' too.
* The master queue runner watcher should now just be called the 'master' or
the 'master runner'.
* bin/qrunner -> bin/runner
* mailman.qrunner log file -> mailman.runner
* master-qrunner.lck -> master.lck
* master-qrunner.pid -> master.pid
Also:
* Remove some obsolete files
* Begin the .txt -> .rst renaming
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
* Clean up the DSN bounce processor.
|
| |
|
|
|
| |
* Finally get rid of BounceMixin
* Test the simple case where the mailing list does no bounce processing.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Add an additional option for unrecognized bounce disposition: send it to the
site administrators.
* Move maybe_forward() from src/mailman/queue/bounce.py to
src/mailman/app/bounces.py, refactor and add tests.
* Add a LogFileMark class to help with tests that want to check the output to
a log file.
* OwnerNotification gets a better signature. Instead of tomoderators, the
last argument is a roster to send the notification to. If roster is None,
then the notification goes to the site administrators.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
and over just the unprocessed events.
* In the outgoing queue runner, work out the logic for when
SomeRecipientsFailed with permanent failures in a probe message.
|
| |
|
|
|
|
| |
raised during the delivery function.
Modify the ReopenableFileHandler so that the filename is a public attribute.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
* Fix obvious typo in __init__(). How can we get Storm to help us with this?
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
* Use m.u.datetime.now() instead of datetime.now()
* Add a predicate argument to make_testable_runner() so that we can e.g. pass
in a function that causes the queue runner to run only once.
* Minor improvement to get_queue_messages() so that it doesn't need a lambda.
|
| |
|
|
| |
* Improve documentation for Enum Storm type.
|
| |
|
|
| |
* Add BounceContext enum
|
| | |
|