| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commit 3c6500c2292869f94667520f16c8d6c6f1d2c530
Author: Barry Warsaw <barry@python.org>
Date: Tue Aug 29 22:51:18 2017 -0400
Close #383
Messages with badly encoded ``Subject`` headers no longer crash the message
moderation REST API.
commit f6040ec139bcccd48cfa9acc734cd528a8ede35c
Author: Aurélien Bompard <aurelien@bompard.org>
Date: Thu Jul 27 00:52:05 2017 +0200
Fix #383: email encoding errors can crash the REST API
|
| | |
|
| | |
|
| | |
|
| |\
| |
| |
| |
| | |
Document Unicode usage in Mailman 3 REST API and email addresses.
See merge request !274
|
| | | |
|
| | | |
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We did not previously complete the renaming of the templates. Rename:
* user:ack:welcome -> list:user:notice:welcome
* user:ack:goodbye -> list:user:notice:goodbye
The new names are what are actually used in send_welcome_message() and
send_goodbye_message() so the old names were actually never used.
NOTE: If you added welcome or goodbye templates through REST from git head,
the old names will not be used. Given that this wasn't a feature in 3.0, and
the above use case is very unlikely, I've decided not to do a migration. If
anybody is affected, the changes can be made manually in withlist.
Closes: #337
|
| |
|
|
| |
Closes #335
|
| |
|
|
|
|
|
|
| |
Before this commit the welcome template included older instructions on
how to reset a users password.
This commit updates the documentation to reflect the new way of
resetting a users password by clicking on a link when logging in.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
tests for for the exceptions.
Enhanced the InvalidListNameError exception to return the invalid name.
|
| | |
|
| | |
|
| |
|
|
| |
Closes #287
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* gunicorn.py needs to initialize mailman once, not per request.
* make_application takes environment and response arguments, which it passes to
the callable WSGI application (in this case, the instance of the RootedAPI
class). (wsgiref does something similar, but wsgi_server only needs a copy
of the application, and it passes the same two arguments to that object
internally.
Note, in my opinion wsgiapp.py's make_application has a misleading name, since
it doesn't behave like a normal make_application (it's not invoked by a WSGI
server). I've left it as-is, though, since it is public.
|
| | |
|
| |
|
|
| |
Closes #42
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| |\ |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |\ \
| |/
|/| |
|
| | | |
|
| | |\ |
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
If a message can't be parsed by Python due to bad structure, don't raise an
error but return a generic 'this message is defective' string instead.
|
| | |_|/
|/| | |
|
| | | |
| | |
| | |
| | |
| | | |
This works around Python issue 28548 and fixes #288.
Test given by Amit.
|
| | | | |
|
| | | | |
|
| | | | |
|