summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* """Contains all the common functionality for the msg handler API."""bwarsaw1999-11-101-0/+51
|
* Package landmarkbwarsaw1999-11-101-0/+0
|
* New pipeline delivery modulebwarsaw1999-11-101-0/+116
| | | | """Inject the message to Usenet."""
* New pipeline delivery modulebwarsaw1999-11-101-0/+346
| | | | | | | | | | """Add the message to the list's current digest and possibly send it. This handler will add the current message to the list's currently accumulating digest. If the digest has reached its size threshold, it is delivered by creating an OutgoingMessage of the digest, setting the `isdigest' attribute, and injecting it into the pipeline. """
* New pipeline delivery modulebwarsaw1999-11-101-0/+28
| | | | """Add the message to the archives."""
* New pipeline delivery modulebwarsaw1999-11-101-0/+66
| | | | | | | | | | | | """Do more detailed spam detection. This module hard codes site wide spam detection. By hacking the KNOWN_SPAMMERS variable, you can set up more regular expression matches against message headers. If spam is detected, it is held for approval (see Hold.py). TBD: This needs to be made more configurable and robust. """
* New pipeline delivery modulebwarsaw1999-11-101-0/+85
| | | | | | | | | | | | """Deliver a message via `sendmail' drop-off. This module delivers the message via the command line interface to the sendmail program. It should work for sendmail clones like Postfix. It is expected that sendmail handles final delivery, message queueing, etc. The recipient list is only trivially split so that the command line is less that 4k in size. """
* New pipeline delivery modulebwarsaw1999-11-101-0/+196
| | | | | | | | | | | | | | | | """Determine whether this message should be held for approval. This modules tests only for hold situations, such as messages that are too large, messages that have potential administrivia, etc. Definitive approvals or denials are handled by a different module. If no determination can be made (i.e. none of the hold criteria matches), then we do nothing. If the message must be held for approval, then the hold database is updated and any administator notification messages are sent. Finally an exception is raised to let the pipeline machinery know that further message handling should stop. """
* New pipeline delivery modulebwarsaw1999-11-101-0/+31
| | | | | """Decorate a message by sticking the header and footer around it. """
* New pipeline delivery modulebwarsaw1999-11-101-0/+84
| | | | | | | """Cook a message's Subject header. Use Cleanse.py module to actually remove various headers. """
* New pipeline delivery modulebwarsaw1999-11-101-0/+35
| | | | """Cleanse certain headers from all messages."""
* New pipeline delivery modulebwarsaw1999-11-101-0/+55
| | | | | | | | | | | """Calculate the regular (i.e. non-digest) recipients of the message. This module calculates the non-digest recipients for the message based on the list's membership and configuration options. It places the list of recipients on the `recips' attribute of the message. This attribute is used by the SendmailDeliver and BulkDeliver modules. """
* New pipeline delivery modulebwarsaw1999-11-101-0/+66
| | | | | | | | | | | """Determine whether the message is approved for delivery. This module only tests for definitive approvals. IOW, this module only determines whether the message is definitively approved or definitively denied. Situations that could hold a message for approval or confirmation are not tested by this module. """
* New pipeline delivery modulebwarsaw1999-11-101-0/+28
| | | | | | | """Perform some bookkeeping after a successful post. This module must appear after the delivery module in the message pipeline. """
* New pipeline delivery modulebwarsaw1999-11-101-0/+50
| | | | | | | | | | """Send an acknowledgement of the successful post to the sender. This only happens if the sender has set their AcknowlegePosts attribute. This module must appear after the deliverer in the message pipeline in order to send acks only after successful delivery. """
* Hack Mailman/Version.py when changing the version number.bwarsaw1999-11-101-4/+4
|
* Moved the Mailman version variable to here from Defaults.py. Thisbwarsaw1999-11-101-0/+17
| | | | | | | | | means you can now change the version number without having to re-run configure (or config.status). That was a pain. In Defaults.py, you should see from Version import VERSION
* cosmeticbwarsaw1999-11-101-1/+0
|
* Build the Makefile inside Mailman/Handlersbwarsaw1999-11-102-2/+5
|
* Add the Mailman/Handlers subdirbwarsaw1999-11-101-2/+4
|
* StaleLockFileError: new exception to handle the case when a lockbwarsaw1999-11-061-1/+25
| | | | | | | | | claimant crashes before cleaning up it's hardlink claim. lock(): There's no reliable way to clean up stale hardlink lockfile claims programmatically, so the best we can do is signal the error and let a human fix the problem. This happens when we've stolen the lock, fail the 2-link test, but happen to be the lockfile winner.
* Updates for 1.1 release.bwarsaw1999-11-061-0/+31
|
* Bump to version 1.1bwarsaw1999-11-063-5/+10
|
* Removing all gifs. Convert logos to jpgs.bwarsaw1999-11-0114-0/+0
|
* Removed all information about the logo contest. It's over and I don'tbwarsaw1999-11-011-46/+0
| | | | feel like converting the gifs
* mailman.gif => mailman.jpgbwarsaw1999-11-012-4/+4
|
* A bunch of old changes -- can't remember the origin, sorry.bwarsaw1999-10-301-7/+54
| | | | | | | | | | DeliverToUser(): keep a global list of child processes we create so that they can be reaped later. Reap(): wait on the subchildren an remove from the _children global all that are finished. This should eliminate zombie processes. some debugging turds are still left in here, commented out
* ApprovedAddMembers(): each time through the loop, do a reap ofbwarsaw1999-10-301-0/+1
| | | | subchildren
* main(): Reap all subprocesses until none are leftbwarsaw1999-10-301-0/+4
|
* cosmeticbwarsaw1999-10-301-1/+2
|
* Invoke Python with -S option, which avoids the "import site". Thisbwarsaw1999-10-291-10/+13
| | | | | speeds up invocation of the executable considerably by eliminating tons of stats and other computation.
* main(): if the fromaddr can't be found, return after printing msgbwarsaw1999-10-251-0/+1
|
* In helo() and ehlo(), Don't fail when gethostbyaddr() fails -- justguido1999-10-221-2/+10
| | | | keep whatever gethostname() returns. After a suggestion by Doug Wyatt.
* Small typos reported by fdrake.bwarsaw1999-10-111-2/+2
|
* ParseMailCommands(): Quickie patch to allow quotes around the commandbwarsaw1999-09-081-0/+10
| | | | | | | part of the email command. This means "help" [sic] works and you don't have to say: Send the word "help" (sans quotes) to ...
* Bump VERSION to 1.0.2bwarsaw1999-09-071-1/+1
|
* Add an entry to run the nightly gzip at 3:27ambwarsaw1999-09-041-0/+5
|
* Add TODO item about Usenet crosspostingbwarsaw1999-09-041-0/+4
|
* Add Paul Hebblebwarsaw1999-09-041-0/+1
|
* ArchiveMail(): When public archiving is turned on andbwarsaw1999-09-041-7/+22
| | | | | | | | | PUBLIC_EXTERNAL_ARCHIVER is true, the variable contains a shell command string for os.popen() to invoke the external archiver. Similar for PRIVATE_EXTERNAL_ARCHIVER and private archiving. Patch submitted by Paul Hebble <hebble@ncsa.uiuc.edu>, modified by myself (I couldn't resist!)
* PUBLIC_EXTERNAL_ARCHIVER, PRIVATE_EXTERNAL_ARCHIVER: new variablesbwarsaw1999-09-041-2/+16
| | | | | | which control use of an external archiver for both public and private archiving. When both variables are false, the internal archiver is used.
* Remove some extraneous parens.bwarsaw1999-09-041-11/+9
| | | | ExtractApproval(): Use `is' test to compare against None, not ==
* SafeDict.__init__(): UserDict optional initial dict arg is a Pythonbwarsaw1999-09-031-1/+4
| | | | 1.5.2-ism. Here's a more portable implementation.
* SafeDict(): New classbwarsaw1999-09-021-2/+23
| | | | | | | maketext(): Use SafeDict class to make sure that key interpolation in the template can't raise an exception, even if someone's edited the template and included missing keys. Patch inspired by Sean Reifschneider <jafo@tummy.com>
* miscellaneous formattingbwarsaw1999-09-021-4/+33
|
* Simple script to print the current Mailman versionbwarsaw1999-09-022-1/+26
|
* PR#107 reports that Pegasus (presumably an MUA) usesbwarsaw1999-09-021-0/+1
| | | | | X-Confirm-Reading-To: to get automated receipts, so we need to remove this header too.
* "group sticky bit" -> setgid bit. PR#99bwarsaw1999-09-021-2/+2
|
* Two changes:bwarsaw1999-09-021-1/+16
| | | | | | | | - be sure to use the member's case-preserved subscribed address - watch out for any addresses that are in the password dictionary but are (for some unknown reason) not subscribed. Zap any such addresses found.
* InitTempVars(): Use <site> for lock file name when no list name isbwarsaw1999-09-021-1/+1
| | | | given (as is the case with calling bin/mmsitepass)