| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
mailmanctl -u, you might not be able to completely delete a list
through the web. This is because the archives are written with the
group of the mailmanctl script, which can be changed if that's not
root, but ttw list deletion will try to delete the archive as group
mailman. If the users don't match (and they usually won't),
permission crash.
This just includes a warning and some helpful information in the
docstring.
|
| |
|
|
|
|
| |
and cron scripts. When code/status == 0, there's no error (it's
likely --help output) so send that to stdout. Otherwise, it's an
error and the output goes to stderr.
|
| |
|
|
| |
since the default is fine.
|
| | |
|
| |
|
|
| |
Closes SF bug #599544 by Tokio Kikuchi.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
of numeric ids. Initial idea and patch by Todd Vierling, fleshed out
by Barry.
Specific changes here:
check_privs(): since we only have the MAILMAN_USER and MAILMAN_GROUP
names here, we need to convert them to their numeric ids via
getgrnam()/getpwnam(). We need the ids because setgid() and setuid()
want ids.
|
| |
|
|
|
|
| |
10). If a qrunner exits with something other than SIGINT, its restart
counter gets incremented and if that is greater than MAX_RESTARTS,
that qrunner won't be restarted.
|
| | |
|
| |
|
|
|
|
|
| |
needs to be prepended with the LOCK_DIR otherwise the unlink will
fail.
Also fixed a typo in the docstring.
|
| |
|
|
|
|
|
| |
the useful data is encoded in the last path component. Otherwise the
calculation gets messed up if the lock file is something like
/usr/local/mailman-2.1/locks/...
|
| |
|
|
| |
signal number from the os.wait() status value.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
flag so that when it's garbage collected, the lock files won't be
removed. Since they're the same as the forced lock's files, we'd be
removing the files at the wrong time.
acquire_lock(): Rearrange the return values so the logic is a little
easier to follow. Move the "return lock" into the try stanza.
|
| |
|
|
|
| |
to run as a mailmanctl subproc (subtly, but usefully changing it's
exit semantics).
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
does the right thing! The sub-qrunners are exec'd now from
bin/qrunner using some new command line options, so killing and
(auto-)restarting them will cleanly reload any changed modules.
Also, the lock is acquired in the foreground so you don't get ugly
error messages if another master qrunner is already running.
Finally, the separate lock-refresher process is gone. Too hard to
implement correct lock ownership transfer semantics with it (it was
more complicated than the simple pass-thru to the child). Now, lock
refresh is implemented by a once-a-day alarm signal in the master
qrunner process watcher.
Also implemented the `reopen' command which causes all the log files
to be re-opened (very useful if you're rotating log files!).
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
into the script's #! line -- based on --with-python settings, without
losing CVS revision history.
#! /usr/bin/env python
becomes
#! @PYTHON@
which gets substituted for in configure.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
stale lock (by matching hostname and pid) it will delete the lock
files before trying to reclaim them.
Also added -q/--quiet to suppress status messages (but not error
messages, which always go to stderr).
sigterm_handler(): We need to catch SIGTERM since that's what init
will send us when changing run levels. SIGTERM just kills all the
sub-qrunners with SIGINT (i.e. no restart).
|
| |
|
|
| |
mailmanctl is doing.
|
| |
|
|
| |
master-qrunner lock could not be acquired.
|
| |
|
|
|
|
|
| |
(concatenated strings are harder for some languages to translate
correctly), and use the usage() method when the check fails.
main(): Add -u / --run-as-user to skip the check_privs() test.
|
| |
|
|
|
| |
complains if we aren't running as the right user, gets called from main().
Should we check for the availability of os.(g|s)et(u|g)id ?
|
| |
|