summaryrefslogtreecommitdiff
path: root/bin (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* process_request(): Utils.get_site_email()'s second argument should nobwarsaw2001-11-201-1/+1
| | | | longer include the leading dash.
* main(): Fixed use of obsolete call Utils.ParseAddrs() -- usesbwarsaw2001-10-271-12/+15
| | | | | | | | email.Utils.getaddresses() instead. Found by Fil. Also, converted to UserDesc interface for ApprovedAddMember(), and added support for sucking the Real Name out of the sync file. Also fixed some bugs in the output format strings.
* do_output(), do_list_categories(): Convert to the new GetConfigInfo()bwarsaw2001-10-271-71/+79
| | | | signature.
* Rebind stderr to logs/error.bwarsaw2001-10-242-0/+6
|
* Use email.Utils.parseaddr()bwarsaw2001-10-221-3/+2
|
* A major rewrite to 1) better support the new mailmanctl script and 2)bwarsaw2001-10-181-23/+173
| | | | | | | | | | | | | | | to hopefully lay the groundwork for a MM2.0.x compatible cron-invoked qrunner process. This qrunner responds to SIGINT, SIGTERM, and SIGHUP as described in the mailmanctl docstring. It also added a more robust -r/--runner flag to support mailmanctl invoking multiple qrunners per queue via slicing. The default now is to run continuously, unless -o/--once is given, and if multiple -r/--runner flags are given, they will be run in roundrobin format. This should be all we need to implement a backwards compatible cron/qrunner script.
* A fairly significant rewrite, but now the `restart' command actuallybwarsaw2001-10-181-94/+301
| | | | | | | | | | | | | | | | | | 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!).
* mimelib -> emailbwarsaw2001-10-101-1/+1
|
* Fix this to check the config.pck and config.pck.last files too.bwarsaw2001-10-042-53/+62
|
* Use DumperSwitchboard class to read the filename. This closes SF bugbwarsaw2001-10-011-3/+4
| | | | #465471.
* main(): Fix this to properly dump out a pickled message object.bwarsaw2001-10-011-2/+1
|
* Ben Gertzfield's patch to hardcode the path to the python executablebwarsaw2001-09-071-2/+11
| | | | | | | | into the script's #! line -- based on --with-python settings, without losing CVS revision history. Need to split fix_url.py from the rest of the scripts, since this one is only supposed to be run as a withlist module.
* Ben Gertzfield's patch to hardcode the path to the python executablebwarsaw2001-09-0725-32/+32
| | | | | | | | | | | | | 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.
* Ensure that the data/aliases* files are written at least rw-rw-xxxbwarsaw2001-09-041-0/+5
|
* addlang is retired (noticed by Ron Jarrell).bwarsaw2001-08-201-1/+1
|
* Change the semantics for creating a list in a virtual domain differentbwarsaw2001-08-201-44/+40
| | | | | | | | | | | | | | | than the default. Now, the syntax mylist@mydom.ain:www.mydom.ain is no longer supported; to set a different email host_name from the web_page_url host, you must first set up VIRTUAL_HOSTS, in which mydom.ain will be looked up. main(): No longer split the domain argument on `:' Calculate host_name and web_page_url as described above. Also, we're now always responsible for saving the list, so do that, then unlock the list and perform the rest of the task outside the try/finally.
* addlang is removed. Lists can enable individual language supportbwarsaw2001-08-171-122/+0
| | | | through the web.
* main(): When opening the DBFILE for locking, use the `w' flag so thatbwarsaw2001-08-171-1/+1
| | | | | | | we don't bomb out if the file doesn't exist yet. This lets us recommend bin/genaliases as the way to initialize things instead of `touch data/aliases.db' which seems to not work for some people.
* update_qfiles(): MM2.0 stores all its qfiles right under the qfiles/bwarsaw2001-08-151-0/+23
| | | | | | | | directory. To "update" any unprocessed message from a MM2.0 system to MM2.1, it should be sufficient to simply move them to qfiles/in and rename them so that they have the received time prepended to the basename (as expected by Switchboard's ...split('+') format).
* main(): Added the -s/--stale-lock-cleanup switch so that if mailmanctl finds abwarsaw2001-08-151-12/+87
| | | | | | | | | | | | 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).
* main(): Instead of using MAILMAN_OWNER, use Utils.get_site_email().bwarsaw2001-08-043-7/+7
| | | | The former config variable is going away.
* Add -q/--quiet, suggested by Scott Brown, which suppresses all statusbwarsaw2001-08-011-12/+26
| | | | messages.
* Update the example in the docstring to reflect the new MemberAdaptor API.bwarsaw2001-07-291-6/+6
|
* Another step towards conversion to MemberAdaptor API. Usebwarsaw2001-07-291-27/+3
| | | | changeMemberAddress() instead of hacking on the dicts directly.
* Merge in latest version (1.4) from Python 2.2 alpha CVS. Primarilybwarsaw2001-07-271-13/+32
| | | | | | this adds the -X flag to limit the files for which docstrings are extracted. It also fixes a bug related to module docstring extraction for 2nd and subsequent files.
* intermediatebwarsaw2001-07-261-0/+32
|
* This script isn't necessary any more. It twiddled the archivebwarsaw2001-07-261-95/+0
| | | | attributes, which are now calculated on the fly.
* Dang, the usual oversight.bwarsaw2001-07-261-1/+1
|
* dolist(): Remove the settings of the attributes archive_directory andbwarsaw2001-07-261-7/+1
| | | | | | private_archive_file_dir since these have been obsoleted. BAW: I'm not 100% sure the mlist.Save() is still needed.
* Module docstring consistency.bwarsaw2001-07-261-1/+1
|
* main(): Use ArchiveFileName() instead of private_archive_file_dir tobwarsaw2001-07-261-4/+3
| | | | | | | | calculate the path to the .mbox file. Also, change the order of unlocking so that its the reverse of the locking order (i.e. unlock the archive lock first, then unlock the list).
* SCRIPTS: Add fix_url.py as a bin/withlist script for modifyingbwarsaw2001-07-261-1/+1
| | | | web_page_url. Remove move_list as it is no longer necessary.
* main(): John Read's suggestion to include messages about whatbwarsaw2001-07-251-0/+3
| | | | mailmanctl is doing.
* main(): Print a slightly more informative error message if thebwarsaw2001-07-251-1/+5
| | | | master-qrunner lock could not be acquired.
* check_privs(): Fix the error message to be a single stringbwarsaw2001-07-251-7/+26
| | | | | | | (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.
* check_privs(): new function that drops root privileges (if we have them) andtwouters2001-07-241-0/+12
| | | | | 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 ?
* Rewrite docstring for clarity, and to describe the newbwarsaw2001-07-201-58/+106
| | | | | | | | | | | | | | | | | | | -a/--admin-notify flag, which allows the user to inhibit sending the administrator a notification of subscriptions. class Tee: helper class so that output can be sent both to stdout, and to a StringIO which might be sent to the list admin. class UserDesc: for use with ApprovedAddMember(). addall(): New function which does the loop-over-ApprovedAddMember() for a list of email addresses. Output is sent to the tee. main(): Slightly better option handling (it secretly accepts y, Y, yes, YES, YOWSA, n, N, NO, NINE for boolean options). Don't hide IOErrors if the digestfile or regularfile can't be opened for some reason. Be sure to Save() the list after all is said and done; ApprovedAddMember() does not do this anymore!
* main(): DeleteMember() -> ApprovedDeleteMember()bwarsaw2001-07-191-1/+1
|
* main(): Don't print an empty 'done' message if no languages were sucessfullytwouters2001-07-191-2/+3
| | | | added.
* dolist(): A start on conversion to the MemberAdaptor API (but it needsbwarsaw2001-07-191-2/+5
| | | | | completion. See the FIXME comment). Checking it in so I don't have to keep rsync'ing to the office machine. ;/
* All membership related attribute access should use the MemberAdaptorbwarsaw2001-07-195-10/+14
| | | | | | | | | API instead, e.g. GetMembers()/GetDigestMembers() -> getMembers() GetUserSubscribedAddress() -> getMemberCPAddress() GetDeliveryMembers() -> getRegularMemberKeys() GetDigestDeliveryMembers() -> getDigestMemberKeys()
* - Add missing import of 'errno'twouters2001-07-181-1/+2
| | | | - main(): use correct variable ('lang', not 'dir') in error message
* Added the --marshal/-m and --pickle/-p flags, and the ability to dumpbwarsaw2001-07-111-12/+75
| | | | | | both marshalled .db files and pickled .pck files (the latter of which is assumed to be a pickled message object, which is dumped with a Generator instead of pprint).
* SCRIPTS: added mailmanctl and qrunner.bwarsaw2001-07-051-1/+1
|
* intermediatebwarsaw2001-07-051-0/+96
|
* intermediatebwarsaw2001-07-051-0/+169
|
* move_language_templates(): if the TEMPLATE_DIR/gtemplate couldn't bebwarsaw2001-07-031-1/+6
| | | | | opened, then assume it's a new template added with this upgrade, and don't attempt to search for more specific, but identical templates.
* checkcgi(): Calculate the directory for the cgi-bin scripts, sincebwarsaw2001-07-021-2/+3
| | | | CGI_DIR is no longer defined.
* Syncing with latest Python cvs version (#, flags should be printedbwarsaw2001-06-281-1/+4
| | | | just before the msgid lines).
* main(): Improved the readability of a message.bwarsaw2001-05-311-1/+1
|