| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
| |
set. Make this possible by moving list_id to an attribute of the MailingList
object instead of hard-coding its calculation in cook_headers.py.
|
| |
|
|
|
|
|
| |
* Add an adapter from mailing lists to acceptable alias set. Use this instead
of the old acceptable alias interface, which is not removed.
* Add contentfilter table
* Add a bunch of missing docstrings
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Make it explicit to get the last digest (I could imagine an user selecting not
to). Actually add tests for this.
Start to get rid of 'from storm.locals import *' in favor of more specific
imports. Start to use Store.of() instead of config.db.store where we can.
Rework (delivery)MemberRosters to use the Member attributes. This ensures
that the layered lookup happens at the expense of query optimization.
Sundry and various cleanups.
|
| |
|
|
|
|
|
|
|
| |
inject_message() grows a keyword argument dictionary which gets merged into
the message metadata.
Move NODELTA into the autorespond interface as ALWAYS_REPLY.
Convert the integer response values into the ResponseAction enum.
|
| |
|
|
|
|
| |
old pickle attributes.
Fix a typo in the datetime.py module.
|
| | |
|
| |
|
|
|
| |
testing harness. Remove the {admin,postings,request}_response attributes, but
these are not apparently tested.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
predictable dates and times.
Fill out the autorespond.txt test to show that when the date flips over, the
response counts reset.
Add a date/time factory which we should use rather than the built-in datetime
for now() and today() so that they can be appropriately tested.
|
| | |
|
| | |
|
| |
|
|
| |
module.
|
| | |
|
| |
|
|
|
|
|
| |
language manager stuff into a separate Language class, and be clearer in the
APIs about whether we want a language code or a Language instance.
The impetus to this was to get rid of Utils.GetCharSet(), which is done.
|
| | |
|
| |
|
|
|
| |
Move the attic and web directories out of src/mailman for easier grepping.
Eventually these will go away.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Message.sender (property) and Message.get_senders() to Message.senders
(another property). The semantics of .sender is slightly different too; it no
longer consults config.mailman.use_envelope_sender.
Add absolute_import and unicode_literals to Utils.py, and clean up a few
imports.
|
| |\ |
|
| | | |
|
| | |
| |
| |
| | |
accept unicode options strings in its add_option() method.
|
| |/ |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves actual digest creation and sending into a new queue runner. That
way, digest creation does not block the main incoming processor. Lots of code
clean up and reorganization too, and many fixes.
digest_last_sent_at: Make this a DateTime
digest_size_threshold: Make this a Float
digest_volume_frequency: Make this an Enum
DigestFrequency: new enum
Fix up IMailingList interface to reflect reality.
In Runner base class, allow for msg.get_sender() to return a False value. If
this happens (as it can with the empty marker messages used to signal the
digester that there's work to do), just use the list's preferred language.
Give the retry.py and incoming.py queue runner modules some proper epilogues.
The EmptyingRunner (for testing) logs itself as the runner its wrapping.
The digest file name now ends in .mmdf since that's the format we're using.
Add 'create_list' to doctest globals.
Add a Mailbox class to add support for the context manager protocol.
|
| | |
|
| |
|
|
| |
correctly regardless of how it's used.
|
| |
|
|
| |
artifacts are removed, as is the C files which we will no longer need.
|
| | |
|
| |
|
|
|
| |
the trunk. This serves also to test write permission to the svn
repository, and tests email notifications.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
ran chmod before chown... It really shouldn't, since chmod'ing first opens
up a security vulnerability, and chown can remove setuid bits. I'm also
somewhat confused about the 'install' target installing the CGI executables
and setting them g+s, and the 'finish' target chowning them and setting them
u+s, but I left that part alone.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Jr, after much checking and rechecking (and some massaging) by me. Checking
in now before I fall asleep and forget what all this was for.
This patch adds the ability to 'make DESTDIR=/some/dir/tree install' that
doesn't influence the paths stored in e.g. Defaults.py at all, which is of
good use for various package managers. It is not all that package managers
must do, however! Running make install with DESTDIR set means bin/update is
never run, and mm_cfg.py is always written; package managers should make
sure the appropriate post-installation is done, and that mm_cfg.py is
treated as a config file.
This patch inadvertently fixes some bogus whitespace: 8-spaces where
surrounding code used tabs. The difference was harmless because the 8-spaces
were used inside shell-continued-oneliners, but it is confusing and could
lead to future harm. I'm too tired to make those two or three changes in a
separate checkin, sorry.
This patch also assumes the various packages that are installed using
distutils do not record (or rather, use) their installation paths anywhere,
but this seems to hold true at least for the moment.
Also, I've done so many slow cvs diff's, I'm wondering when we'll switch to
Subversion. Unfortunately, I've also done so many 'cvs diff -c > file; patch
-p0 -R < file's to switch back and forth between patches and change sets,
I'm wondering when we'll switch to Aegis as well. :-P
|
| | |
|
| |
|
|
| |
Helps BSD installations.
|
| |
|
|
|
|
|
|
|
|
|
| |
Under FreeBSD, at least, sys/types.h should be included before grp.h.
Otherwise, the following (apparently harmless) warning is generated:
In file included from common.h:28,
from ./cgi-wrapper.c:22:
/usr/include/grp.h:58: warning: parameter names (without types) in function declaration
Make life easier for FreeBSD'ers.
|
| |
|
|
| |
GNU version.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of numeric ids. Initial idea and patch by Todd Vierling, fleshed out
by Barry.
Specific changes here:
check_caller(): The second argument now is a const char* instead of a
GID_T, since it takes a group name not an id.
Also, significantly rewrote the error messages that get logged when a
group mismatch (or other error) occurs. Hopefully now when errors do
occur, they'll be much easier to understand because they'll actually
give the suggested configure options to fix the problem.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of numeric ids. Initial idea and patch by Todd Vierling, fleshed out
by Barry.
Specific changes here:
We need to include grp.h
check_caller()'s second argument now is a const char* instead of a
GID_T, since it takes a group name not an id.
GID_MISMATCH -> GROUP_MISMATCH
Added exit code 8 for GROUP_NAME_NOT_FOUND which can happen if the
symbolic group name isn't installed on the system.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
of numeric ids. Initial idea and patch by Todd Vierling, fleshed out
by Barry.
Specific changes here:
LEGAL_PARENT_GID -> LEGAL_PARENT_GROUP
Also use parentgroup instead of parentid.
Whitespace normalization.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
of numeric ids. Initial idea and patch by Todd Vierling, fleshed out
by Barry.
Specific changes here:
MAIL_GID -> MAIL_GROUP
CGI_GID -> CGI_GROUP
MAILMAN_UID -> MAILMAN_USER
Also, safely pass the group names via the -D options.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|