summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* There are some situations where the RFC 2919 List-ID header must be explicitlyBarry Warsaw2009-03-036-21/+73
| | | | | 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.
* Convert content filter and acceptable aliases away from pickle types.Barry Warsaw2009-03-0311-114/+440
| | | | | | | * 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
* acceptable_aliases are no longer a pickle.Barry Warsaw2009-02-236-18/+149
|
* Get rid of one_last_digest. Move this into a separate OneLastDigest table.Barry Warsaw2009-02-2212-96/+349
| | | | | | | | | | | | | 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.
* Major cleanup of the automatic response stuff.Barry Warsaw2009-02-1910-158/+154
| | | | | | | | | 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.
* Complete the porting of the autoresponse implementation, with no need of theBarry Warsaw2009-02-193-69/+193
| | | | | | old pickle attributes. Fix a typo in the datetime.py module.
* Refactor.Barry Warsaw2009-02-193-76/+63
|
* Add IAutoResponseSet.last_response() and fix a few bugs with the datetimeBarry Warsaw2009-02-196-10/+67
| | | | | testing harness. Remove the {admin,postings,request}_response attributes, but these are not apparently tested.
* Eradicate hold_and_cmd_autoresponses.Barry Warsaw2009-02-175-30/+40
|
* Add a "mock and monkey" layer to set up testing infrastructure, e.g. forBarry Warsaw2009-02-174-4/+102
| | | | | | | | | | 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.
* Checkpointing the conversion of automatic responses away from pickles.Barry Warsaw2009-02-165-0/+271
|
* Remove one more unused function.Barry Warsaw2009-02-121-21/+0
|
* Remove or move QuotePeriods(), LCDomain(), and ValidateEmail from the UtilsBarry Warsaw2009-02-127-50/+79
| | | | module.
* Remove Utils.ParseEmail() and Utils.midnight().Barry Warsaw2009-02-125-34/+62
|
* Much clean up of the language code, though more can be done. Factor out theBarry Warsaw2009-02-1234-162/+227
| | | | | | | 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.
* Clean up and reorganization languages and the language manager.Barry Warsaw2009-02-108-173/+162
|
* More cleanup of Utils.py on the path of its eventual demise.Barry Warsaw2009-02-0955-85/+12
| | | | | Move the attic and web directories out of src/mailman for easier grepping. Eventually these will go away.
* Update an __all__ section.Barry Warsaw2009-02-091-0/+2
|
* Move mailman.Message to mailman.email.Message. Rename Message.get_sender() toBarry Warsaw2009-02-0936-233/+172
| | | | | | | | | 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.
* Branch mergeBarry Warsaw2009-02-075-19/+25
|\
| * Remove the Mailman.Mailbox module; use the standard Python mailbox module.Barry Warsaw2009-02-076-23/+37
| |
* | Work around the limitation in Python 2.6's OptionParser class's refusal toBarry Warsaw2009-02-041-4/+28
| | | | | | | | accept unicode options strings in its add_option() method.
* | Repair some test failures and fix a doc typo as reported by Patrick Koetter.Barry Warsaw2009-02-042-22/+12
|/
* Get an obsolete module out of our way.Barry Warsaw2009-02-041-0/+0
|
* Massive digester rework.Barry Warsaw2009-02-0416-891/+1511
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix 64 bit incompatibility.Barry Warsaw2009-01-291-3/+3
|
* Push the source directory into a 'src' subdirectory so that zc.buildout worksBarry Warsaw2009-01-25556-0/+555305
| | | | correctly regardless of how it's used.
* The start of a setuptools conversion. All the Makefile.in and autoconfBarry Warsaw2007-07-136-787/+0
| | | | artifacts are removed, as is the C files which we will no longer need.
* Update copyright years.bwarsaw2007-01-195-9/+11
|
* Now that we've converted from CVS to Subversion, remove CVS cruft frombwarsaw2006-04-151-15/+0
| | | | | the trunk. This serves also to test write permission to the svn repository, and tests email notifications.
* Port cleaning changes forward from 2.1-maint branch.bwarsaw2005-12-301-39/+41
|
* Correct error message when callers group ID - getgid() - is not registeredmsapiro2005-11-031-5/+10
|
* FSF office has moved. chdcking in for MAIN branch.tkikuchi2005-08-276-6/+6
|
* Update copyright yearsbwarsaw2003-03-111-1/+1
|
* While checking and re-checking the DESTDIR patch, I noticed this Makefiletwouters2003-03-111-1/+1
| | | | | | | | 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.
* SF patch #683906, add $DESTDIR to install target, by Ademar de Souza Reistwouters2003-03-111-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Donn Cave's patch #602087 to honor configure's --srcdir switch.bwarsaw2002-12-121-2/+2
|
* Patch # 490029 by Don Porter for a couple of missing DIRSETGIDs.bwarsaw2002-12-121-11/+3
| | | | Helps BSD installations.
* Jon Parise says:bwarsaw2002-10-211-1/+1
| | | | | | | | | | | 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.
* fatal(): Change the signature of vsnprintf() in the case of using thebwarsaw2002-09-051-1/+1
| | | | GNU version.
* Signature update.bwarsaw2002-09-051-2/+2
|
* Patch set for SF bug #596565. Use symbolic user/group names insteadbwarsaw2002-08-231-149/+174
| | | | | | | | | | | | | | | 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.
* Patch set for SF bug #596565. Use symbolic user/group names insteadbwarsaw2002-08-231-9/+10
| | | | | | | | | | | | | | | | | 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.
* Patch set for SF bug #596565. Use symbolic user/group names insteadbwarsaw2002-08-232-63/+63
| | | | | | | | | | | | | 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.
* Patch set for SF bug #596565. Use symbolic user/group names insteadbwarsaw2002-08-231-8/+8
| | | | | | | | | | | | | 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.
* CGI_PROGS: Get rid of the `archives' program. It's long been obsolete.bwarsaw2002-03-261-2/+2
|
* Remove obsolete files.bwarsaw2002-03-161-112/+0
|
* Update copyright years.bwarsaw2002-03-164-4/+4
|
* Obsolete.bwarsaw2002-03-162-118/+0
|
* VALID_COMMANDS: Added `confirm'bwarsaw2002-03-141-0/+1
|