| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
| |
just means that there /is/ no digest waiting to go out for this list.
So don't log an error message.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
command line interface. This latter allows you to manually poll a
specific list's newsgroup for a range of message numbers, sending them
to the list. Using this interface does /not/ update the watermark
file.
We also don't update the watermark entry for a specific list until
that list's child process (which does the actually gating of the
messages from Usenet to mailing list) exits with a zero status. If it
exits with non-zero, it is taken as a complete failure of the gating
process and the watermark isn't updated. This could cause
duplicates, so a really anal approach would be to create a pipe
between child and parent and write the new watermark after each
message is successfully gated.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
MailList methods they call don't exist anymore AFAICT.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
- 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.
|
| |
|
|
| |
are newer than their .txt.gz files.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
hung_timeout => lifetime
|
| |
|
|
|
| |
This way, I can wrap the body of the code in a try/finally so the lock
is definitely released should something bad happen.
|
| | |
|
| |
|
|
|
|
|
| |
mm_cfg.VIRTUAL_HOST_OVERVIEW is true. This should resolve PR#5.
Note that this is a debugging version and not /quite/ the final
check-in.
|
| |
|
|
|
|
| |
public list to serve as the sender of the password notifications.
(This arrangement is still ad-hoc, as my previous mailpasswds checkin
message suggests.)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
propagate version string changes to the public (you have to
autoreconf, then reconfigure and reinstall).
Now, VERSION is set directory in Defaults.py.in and the Release.py
script updates that file directly. Now we just need to run
./config.status and do a re-install. I hope this will make things
easier.
I'm also bumping the version to 1.0b8, so I can do a release tomorrow.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
messing up their SIGCHLD handling. This would manifest as an IOError
getting raised in the cmdproc.close() call of DeliverToList() in
Deliverer.py. Thanks go Harald Meland for describing the real problem
and giving the real fix. Thanks go to Greg Stein for testing this
patch and verifying that it works.
Deliverer.DeliverToList(): Undo previously checked in patch, which
simply wrapped a try/except around the cmdproc.close() call and
ignored errno=10 IOErrors. This was treating the symptoms, not the
cause.
All files in cron/: Added Harald's work around of the Linux bug by
including these lines in every file:
# Work around known problems with some RedHat cron daemons
import signal
signal.signal(signal.SIGCHLD, signal.SIG_DFL)
It helps RedHat and doesn't appear to hurt on e.g. Solaris.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- reorganized into functions with a small amount of __main__ code
- re-ordered the way the work gets done between the parent and the
child. it was possible the gate_watermarks file would be
continuously trashed because it was written by every child process,
which run asynchronously. now only the parent writes this file, but
it does so after each list's gating child process starts.
This also means that the parent is what makes the initial NNTP
connection, and gets the stats of the list (e.g. first and last).
These it passes to the child process, along with the current
watermark. The child just does the actual gating.
- Added a per-list locking file so that only one gate_news process
will be gating a list at any one time. What happens is: the parent
acquires the per-list lock. If that fails, it just moves on to the
next list; gate_news runs again in 5 minutes anyway, and the
hung_timeout on the lock is set to 4 minutes.
If the parent gets the per-list lock, it forks a child to handle
gating that list. The child then steals the lock from the parent
(this should be safe), gates all the new messages, and then releases
the per-list lock.
This new code should be forking-safe, should not have run away
processes, and lets you run gate_news from the command line without
interfering with any cron spawned gate_news process.
|
| |
|
|
|
|
|
| |
times.
XXX - this should probably be made to fork only for lists that
actually need to gate news.
scott
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
any is available, for actually sending out the passwords reminders.
Otherwise, an unadvertised list may be used (and will be, if there are
no advertised ones on the system), putting its name in the list-id
header, and so forth.
The proper fix will be to not use a list object, at all, to do the
sends - use Utils.SendTextToUser, or something, directly. This should
be fixed before full release - we just need to identify the proper
headers - who should be the sender, where should failure notices go,
etc, etc. Hmm - it would be nice to have a special return address
that would do the bounce processing, but look for and handle the bad
address on *all* the lists to which it belongs...
|
| |
|
|
|
| |
cut-and-paste of the 'archive' script). I added a more relevant, but
really minimal, comment, in its stead.
|
| | |
|
| |
|
|
| |
depending on whether or not the list is an umbrella...
|
| |
|
|
|
|
| |
recipients for password notices are the administrators of the member
addresses - this way, the password will not be advertised to the
sublist membership!
|
| |
|
|
|
| |
removed but weren't
scott
|
| |
|
|
|
|
|
| |
print a line indicating user and list when one of the specified
subscribers is found.
Changed var name to "confined_to".
|
| |
|
|
|
|
| |
specified, ignore all others. This provides an easy way to inform
users who have forgotten exactly what they're list memberships are
(which i'm about to do for someone).
|
| |
|
|
|
| |
trigger 'vacation' style programs. (Sorta amusingly, this just
prevents the admin from getting their own vacation notice...)
|
| |
|
|
| |
trigger 'vacation' style programs. (I thought i already added this!)
|
| |
|
|
| |
Also, last line needs to have a newline at the end or autoconf won't
|
| |
|
|
|
|
|
|
| |
pending items to the message after formatting, rather than the more
complicated literal inclusion of a format string that was being used.
Added a '-v' option to the script, to get verbose operation for
debugging.
|
| |
|
|
| |
There's a new crontab entry that checks the queue once every 30 mins.
|
| |
|
|
|
|
|
|
| |
checked in to the distribution, but since this one already was, i'm
revising it to what i think it should be. Question is, should these
be checked in at all? We do with here with similar things, like
grail, etc, it's just that the file becomes a part of the
distribution...
|
| |
|
|
|
|
|
|
|
| |
Note that, in order to avoid wrapping the pending requests list, it is
inserted in a separate pass after the maketext.
Also, using a changed name for the RequestsPending() call,
NumRequestsPending() - i'll be checking in ListAdmin.py with the new
name momentarily.
|
| |
|
|
| |
things.
|
| |
|
|
| |
from Mailman import mm_cfg
|
| | |
|
| |
|
|
| |
rest of the text can be wrapped/filled but not the table.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
wait() within the send loop every PAUSE_FREQUENCY users, in order to
wait for the deliver process to finish queuing up the messages.
Also, the password message text was getting mangled by the word
wrapping in SendTextToUser. I added 'raw=1' to the call. (I should
say that i really don't think that SendTextToUser should be in the
business of wrapping or filling text - i thought Utils.maketext, when
deliberately applied, was going to take care of all that? Ah - i bet
i'm just behind in my checkouts...)
|