| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
"display_name" across the board.
* `IMailingList.real_name` -> `IMailingList.display_name`
* `IUser.real_name` -> `IUser.display_name`
* `IAddress.real_name` -> `IAddress.display_name`
* Schema changes:
- real_name -> display_name (mailinglist, user, address)
|
| |/
|
|
| |
`$var_dir/archives/prototype`, given by Toshio Kuratomi.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
otherwise it rejects the message with a 550 error. Also, the LMTP server
adds the `X-Message-ID-Hash` header automatically. The `inject` cli
command will also add the `X-Message-ID-Hash` header, but it will craft a
`Message-ID` header first if one is missing from the injected text. Also,
`inject` will always set the correct value for the `original_size`
attribute on the message object, instead of trusting a possibly incorrect
value if it's already set. The individual `IArchiver` implementations no
longer set the `X-Message-ID-Hash` header.
|
| |\
| |
| |
| | |
(LP: #949926).
|
| | | |
|
| | |
| |
| |
| |
| | |
- add the shell completion to the python shell
- add an option to use IPython, disabled by default
|
| |/ |
|
| |
|
|
|
|
|
|
| |
IMailingList documentation.
Also:
* `ILanguageManager.add()` returns the `ILanguage` object just created.
|
| |
|
|
|
|
|
|
|
|
| |
email.
Also:
- The user's Full Name is included on the To line of a welcome message.
- Clean up some tests.
- The welcome_message_uri for lists using the default style is set to
mailman:///welcome.txt so a welcome message is sent by default.
|
| |
|
|
|
|
|
| |
Also:
- updated the 'join' command's descriptions
- email commands should now have a short_description. The description
(i.e. long description) should not repeat this information.
|
| |
|
|
|
| |
Also add some debugging to the verification message, IOW, which template is it
using (this may be more generally useful, but for now, it's an experiment).
|
| |
|
|
|
|
|
|
|
| |
`digest=` argument now accepts the following values: `no` (for regular
delivery), `mime`, or `plain`.
Also:
- Fix get_queue_messages() to properly sort on the string representation of a
header, since it could be a Header instance.
|
| |
|
|
| |
are already members of the list.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
automatically do the right thing in most cases. Keep test_suite() in
test_documentation.py since these dynamically set up docs tests properly.
Refactor test_passwords.py so that base class tests aren't bogusly run. Also,
remove test_membership.py which was essentially disabled because it was
testing the MM2 membership API.
|
| |
|
|
|
|
| |
in the database, namely strip out empty lines and comments first, otherwise
PostgreSQL spews "empty statement" errors at us.
- Down to 4 test failures.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* acquire_lock_1(): No need to unlink the tempfile
* Start.process(): Don't print error message when the lock is in stale_lock
or host_mismatch status and --force has been given.
* control.rst: Refactor test code into test_control.py.
* test_create.py: To more accurately mimic argparse, FakeParser.error() needs
to `sys.exit(1)`. The `SystemExit` must also be caught in the appropriate
tests.
* logging.py: Locking is now down by the flufl.lock package, so apply the
`mailman.lock` configuration to it.
|
| | |
|
| | |
|
| |
|
|
|
| |
for consistency. This changes the REST API for mailing list
resources. (LP: #787599)
|
| | |
|
| |
|
|
|
| |
* Expose **kws to inject_text()
* Add tests.
|
| |
|
|
|
| |
* 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
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
both encrypted according to a scheme, and a bytes object.
add_member(): Use encrypt_password().
cli_members: Give the user a default, user-friendly password. Of course, this
will be encrypted so it can't be retrieved, but it can be reset.
Passwords are stored as bytes objects, not unicode now.
ConfigLayer: Set the default test password scheme to cleartext.
General test repair.
|
| |
|
|
|
| |
* Find users by user_id via the user manager.
* Extend the repr of users to include the user id.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
IAddress.email and IAddress.original_address to IAddress.original_email. From
now on we'll use "address" to talk about the IAddress object and "email" to
talk about the textual email address.
|
| |
|
|
|
|
| |
ports are still hard coded.
Also, 'bin/mailman info' dumps the REST root url and credentials.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
does a pretty good job anyway.
* Remove master.get_lock_data() now that flufl.lock 2.1 provides the same
detailed information.
* Add WatcherState.none to indicate that the master is not running.
* Instrument master_state() and acquire_lock_1() for testing, and add
unittests.
* LBYL for 'bin/mailman start' so that the error message when the master is
already running happens in the foreground process and is more user friendly.
* Add 'bin/mailman status' to provide master queue runner status on the
command line.
|
| |
|
|
|
| |
due to _() interpolation) and a few other problems that did not have
immediately obvious fixes.
|
| | |
|
| | |
|
| |
|
|
| |
process just the front-end.
|
| |
|
|
| |
* Move DigestFrequency from mailinglist to digests.
|
| | |
|
| | |
|
| |
|
|
| |
* Make sure all paths are absolute
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
var_dir in the config file is a relative path, the bin/master and bin/qrunner
subprocesses end up creating another hierarchy under $VAR_DIR. This is
because 'bin/mailman start' chdirs to $VAR_DIR before starting master.
The fix involves putting the absolute path to $VAR_DIR in the $MAILMAN_VAR_DIR
environment variable. If the configuration file reader sees this, it uses the
value instead of $var_dir from the configuration file.
Another change is to remove qrunner's --subproc/-s option and stick this in
the environment as well, using $MAILMAN_UNDER_MASTER_CONTROL.
Other fixes here include:
* Deciphering the master lock file contents correctly
* Reformatting the error message so that it fits in 79 columns when prefixed
by argparse error info.
|
| |
|
|
| |
* Update printing of version string to avoid argparse DeprecationWarnings.
|
| |
|
|
|
|
|
|
| |
support the Filesystem Hierarchy Standard. This is done through the
configuration file.
* add a --paths/-p option to 'bin/mailman info'
* PIDFILE -> PID_FILE
|