| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
require Python to be at least 2.3.0
Convert all scripts/* scripts (except driver) to use the
symlink-to-bin/mmshell trick.
For now (since we're debugging more often than releasing), set STEALTH_MODE to
False in scripts/driver. We need to remember to turn this back to True when
we start getting closer to releases!
In the various scripts, er, Mailman/bin scripts, convert them to $-strings for
i18n substitution, and clean up imports. Also, get rid of the crufty Emacs
-*- line, which is no longer needed now that the files end in .py.
Get rid of lots of unnecessary svn:executable properties.
Remove an unnecessary import from Mailman/bin/disabled.py
|
| |
|
|
|
| |
(should the cron scripts propagate log messages to stderr?)
- updated scripts/* scripts to use new logging rather than stderr writes.
|
| |
|
|
|
|
|
|
|
|
|
| |
- Remove the LogStdErr() calls from all the scripts/* scripts.
- Convert the LockFile.py code to use the logging logs. Also do general code
cleanup in this module. Note that the 'withlogging' argument to __init__()
has been removed, as we can use logging's mechanisms to control how much of
LockFile will get logged (by default, not much).
- Add the 'mailman.locks' logger to loginit.py
- Remove Mailman/Handlers/Sendmail.py once and for all
- Remove LIST_LOCK_DEBUGGING from Defaults.py.in
|
| | |
|
| | |
|
| |
|
|
| |
#! line.
|
| |
|
|
|
| |
the Switchboard that it should save the message as plain text and not
as a pickle.
|
| |
|
|
| |
queue runner.
|
| |
|
|
|
| |
Note that ToArchive.py will set this if it isn't present in the
metadata already, however that might incur hold and other delays.
|
| | |
|
| | |
|
| |
|
|
| |
described in qrunner for details).
|
| |
|
|
| |
Closes David Champion's patch #101331.
|
| |
|
|
|
| |
messages posted to the list (as opposed to message sent to the -admin,
-owner, -request addresses, or internally generated).
|
| |
|
|
|
|
|
|
|
|
|
|
| |
messages to the qfiles directory. This once and for all avoids the
possibility that we hit the MTA's command time limit. The mailing
list objects are never locked so we can't time out there. They don't
need to be locked for message queuing.
The penalty is that we do more disk i/o for every message destined to
the list, the list-owner or list-request, and messages are not
delivered immediately. Both are probably worthy tradeoffs for
absolutely guaranteeing that messages never get lost.
|
| |
|
|
|
| |
DeliverToList() will now do this automatically if any pipeline module
fails.
|
| |
|
|
|
|
|
|
|
| |
name is missing or bogus, or the list lock cannot be acquired within
the LIST_LOCK_TIMEOUT time frame -- the message is enqueued for
qrunner to try again later. Previously, the message was simply lost!
If DeliverToList() returns a true value, then this means the message
delivery was not completed, and again, the message is enqueued.
|
| | |
|
| | |
|
| |
|
|
| |
"post ending" message (better debugging).
|
| |
|
|
| |
taking longer than 16 minutes to complete.
|
| |
|
|
| |
Message.Message requires this.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
HandlerAPI.DeliverToUser() for fast track delivery of the
welcome messages.
Stick most code in main()
Use LogStdErr
Remove the fromusenet cruft -- since Usenet messages are gated to the
newsgroup without going through the post script now, this is all
unnecessary.
Move the sending of postheld.txt to the Hold.py pipeline module, where
it really belongs. Plus it won't work here because those exceptions
aren't percolated up to the post script. MMLoopingPost exceptions
still make it through and are handled here (although I suspect this
should go into one of the handlers too).
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
MailList.Post(), specifically:
Message object ctor takes a file-like object, so use StringIO when the
data is coming from a string.
MailList.Post() no longer takes an approved argument. Setting the
`fromusenet' attribute on the message object is enough to let the
system know where the message is from.
|
| |
|
|
|
|
|
|
|
|
| |
the mailing list that have a matching X-BeenThere header). Instead of
holding such messages for approval, an MMLoopingPost error is raised.
This is caught by the post CGI script, which logs this occurance and
sends a notice (containing the original message) to the list admin.
This way, the admin knows there's a problem and can track the loop
down, but isn't so inconvenienced to go the the Web page just to
discard the message (the usual disposition).
|
| |
|
|
|
|
|
| |
Stick a `fromusenet' attribute on the msg object, value taken from
whether there is a magical second argument to the post script (only
happens from GatewayManager). Also post message with approved flag
set to fromusenet, so message originating on Usenet are pre-approved.
|
| |
|
|
| |
templates/postheld.txt
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
approval - notifications are now sent even for suspected spam. I was
experimenting with avoiding alerting spammers to spam filtering, but
i've come to realize that:
- Not notifying prevents non-spammers from getting any feedback when
they inadvertantly trip a spam sensitivity, and
- It's probably best to blast stuff back at spammers. In the common
case that the return addresses are useless, no harm, and if the
return addrs are good, then the more people using the spam
protection, the more spam the spammer gets in response.
The moral is, forthrightness is the best policy. Even if it does
expose our measures and up the ante in the spam war, security via
obscurity is a poor, and often misguided, approach.
|
| |
|
|
| |
stderr. (I expect we should do this for all the scripts.)
|
| |
|
|
| |
- new version of Unlock takes care of that.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QUESTION: The MailList.Unlock() method currently raises two different
AttributeErrors when the list is not currently locked (depending on
whether or not the lock was previously created). This certainly seems
like the wrong exception.
We could make .Unlock() check for the lock and return a better
exception, or we could have it just return if the list is not locked.
I'm inclined towards the latter, but it changes the character of the
list locking interface a wee bit.
I think it ought to be changed, one way or the other. John, what's
your inclination?
Ken
|
| |
|
|
|
| |
module (we should really create a mail driver similar to the CGI
driver).
|
| | |
|
| |
|
|
| |
constructor actuals when the list doesn't need to be locked.
|
| |
|
|
|
|
|
|
| |
is present, post realizes that it was called by the News->Mail gateway,
and tells the mailing list not to Mail->News gateway anything.
Actually, thinking about it, it is probably better to set a field in
each message object saying "Don't send me to news!". I'll probably
adjust that after I get to test the code.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
from $PATH
2. Do no direct sys.path munging in this file. Import the `paths'
module, which is created during the configure process, and which
performs all necessary path munging (and exports some useful
variables too).
3. Remove RCS crud
Also:
Removed all hardcoded absolute paths. Instead, calculate paths using
paths.prefix as the base.
Change ''' TQS to """ so as not to confuse font-lock.
!!!! When calling SendTextToUser(), set the new optional argument
raw=1 so that the text body will not be wrapped/filled. The checkin
that implements wrapping and filling has not yet been made. Note that
it would be nice if just the templated text could be wrapped/filled
and the err_msg left alone, but that's currently too hard to separate.
|
| | |
|
| |
|
|
|
|
|
| |
do so.
Added a copy of the GNU GPL.
Added information about mailman-users in README, and reworded some text in there (made the credits less verbose... perhaps they should move to a credits file?)
|
| | |
|
| | |
|
| |
|
|
| |
with spam and do not notify the sender that their message is being held.
|
| | |
|
| |
|
|
| |
the hold is list moderation.
|
| |
|
|
| |
existence of the would silently prevent the post.
|
| |
|