| Commit message (Collapse) | Author | Files | Lines |
|
feature, and the requirement for mimelib 0.4.
|
|
|
|
|
|
runner.stop() method call to break the __oneloop() loop after any
single message is processed.
|
|
sub-qrunners to cleanly exit themselves instead of potentially
stopping them in the middle of processing a message. Specifically,
sighup_handler(): Send SIGHUPs to the child processes instead of
SIGINTs.
start_lock_refresher(): Install our own SIGHUP handler, which simply
toggles off an instance-based loop flag. The signal kicks us out of
the sleep, so the next while test will return false and break us out
of the loop, existing the lock refresher. No need to deal with
KeyboardInterrupts.
start_runner(): In the parent, just return the pid of the child. In
the child, do the syslogging, and also install our own process's
SIGHUP handler, which will call the qrunner's stop() method. This
lets the qrunner break out of its loop at the next convenient place
(i.e. after processing one of its files). Again, no need to deal with
KeyboardInterrupts.
master(): More accurate syslog messages. Also, make sure the children
receive SIGHUP instead of SIGINT.
|
|
|
|
|
|
invoked from cron.
|
|
change_options(): Fixed the call to ApprovedAddMembers() so that we're
correctly passing through the values of the form variables
send_welcome_msg_to_this_batch and send_notifications_to_list_owner.
|
|
cause None to be returned from self.__getitem__(). Keep looking
through headers if that happens (this avoids a bug reported by Mentor
Cana on messages with no Sender: header and USE_ENVELOPE_SENDER set to
true).
send(): If the message doesn't have a Message-ID (and it probably
won't), craft one. This aids in debugging because the message-id will
get logged to logs/smtp.
|
|
|
|
implied by syslog.__call__()), passing in the MsgSafeDict instance to
the kws argument. This works around the Python limitation that **kws
in extended calls must be concrete dictionary objects.
|
|
write(): Just call new function write_ex(), passing arguments through.
write_ex(): Use explicit arguments to pass in the args tuple and kws
dictionary. This is because Python requires **kws in extended calls
to be concrete dictionary objects, not generic mapping objects.
SMTPDirect wants to pass in an instance of (subclassed) UserDict, so
it calls write_ex() directly.
Also, stash the msg argument in local variable origmsg, which is used
if we get an exception during string interpolation.
|
|
Message-ID header.
mcre: Message-ID headers crafted by Mailman now include a serial
number. Recognize this, and also use a verbose regular expression so
it's not so cryptic.
|
|
|
|
bin/mailmanctl and bin/qrunner.
|
|
|
|
|