summaryrefslogtreecommitdiff
path: root/cron
Commit message (Collapse)AuthorAgeFilesLines
* main(): Use DEFAULT_EMAIL_HOST unless DEFAULT_HOST_NAME was overriddenbwarsaw2002-12-021-2/+4
| | | | in mm_cfg.py
* Move the import of Charset to after the import of paths, so we pick upbwarsaw2002-10-281-4/+4
| | | | Mailman's copy of the email package instead of Python's.
* Whitespace normalizationbwarsaw2002-10-281-6/+6
|
* pending_requests(): Include the Subject header in the pending summary.bwarsaw2002-10-281-2/+4
|
* pending_requests(): The requests.pck database may have Unicode stringsbwarsaw2002-10-251-1/+19
| | | | | | | | | | | | | in them, say if an encoded name appeared in a From header. But maketext() may return byte strings with non-ascii characters in them, and concatenating these two types of strings is a no no. The local fix (implemented here) is to make sure that pending_requests() returns a byte string with no characters that are illegal in the list's preferred language's charset. The longer term fix probably ought to be that we use Unicode everywhere and that maketext() returns a Unicode.
* Jon Parise's patch to improve the usage() output for the command linebwarsaw2002-10-216-13/+37
| | | | | | 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.
* In the LogStdErr() call, we don't need to pass in the tee argument,bwarsaw2002-10-211-1/+1
| | | | since the default is fine.
* open_newsgroup(): SF bug # 620033 indicates that an IOError can bebwarsaw2002-10-151-5/+5
| | | | | | raised in the NNTP() constructor. Just catch it, log it, and move on. Also, whitespace normalization.
* poll_newsgroup(): Eek! Typo! The intent was definitely to remove anybwarsaw2002-09-061-1/+1
| | | | existing X-Originally-To header before we place our own there.
* main(), usage(): Added support for command line arguments -h/--helpbwarsaw2002-08-281-2/+43
| | | | and -l/--listname.
* Added a -f / --force switch to force notifications to members who havebwarsaw2002-08-091-11/+18
| | | | already been notified within the bounce_you_are_disabled_warnings_interval.
* main(): Get rid of the phantom "moderator requests" messages. Fix bybwarsaw2002-07-131-1/+1
| | | | Fil.
* Add options to also send disabled notifications for users who havebwarsaw2002-05-281-43/+96
| | | | | | | | been disabled by themselves, the list owner, or for unknown (legacy) reasons. By default we only notify `bounce disabled' members, but you could now do notifications for any other reason. Also, fix the -l/--listname option parsing.
* main(): While we're at it, cruise through thebwarsaw2002-05-281-18/+30
| | | | | hold_and_cmd_autoresponses dictionary to see if any entries can be evicted (we only hold such data for a single day).
* Add a -l / --listname option (which can appear multiple times) tobwarsaw2002-05-221-2/+18
| | | | limit password sending to a specific list.
* Backing out the last two patches. This wasn't the right place to makebwarsaw2002-05-091-9/+2
| | | | this change.
* main(): Rework the resetting of a member's bounce info, since thebwarsaw2002-05-091-4/+6
| | | | setBounceInfo() call must be made with the list lock acquired.
* main(): If the member's bounce info is old-style, simply reset it.bwarsaw2002-05-071-0/+5
| | | | It's totally useless to us.
* Share a single nntp connection amongst all lists with the samebwarsaw2002-04-281-9/+29
| | | | | | | | | | | | | | | | nntp_host. Also, clean up some exception handling. Specifically, open_newsgroup(): Cache the connection object. clearcache(): New function to clean things up at script exit. poll_newsgroup(): Catch all NNTPErrors, not just (obsolete) error_temp. process_lists(): Catch all socket and nntplib errors when opening the newsgroup. main(): Be sure to clear the nntp connection cache when done.
* poll_newsgroup(): GetAdminEmail() is gone so replace this with morebwarsaw2002-03-271-2/+5
| | | | appropriate addresses.
* main(): GetAdminEmail() is gone so replace this with more appropriatebwarsaw2002-03-271-2/+3
| | | | addresses.
* pending_requests(): We don't need to compare the length of the infobwarsaw2002-03-261-14/+4
| | | | | package to know how to unpack the request record. bin/update should now canonicalize them.
* Update copyright years.bwarsaw2002-03-164-4/+4
|
* pending_requests(): Slightly better formatting when there's abwarsaw2002-03-151-2/+3
| | | | fullname.
* main(): Pass the list's preferred language to the UserNotificationbwarsaw2002-02-281-3/+4
| | | | constructor so that the message gets the proper charset settings.
* main(): A couple of i18n fixes. In order to translate the Subject:bwarsaw2002-02-281-4/+14
| | | | | | | | header into the same language that the password reminder body is getting translated to, we need to temporarily set the i18n language around the calculation of the Subject: header. We also need to pass the user's suspected language <wink> into the UserNotification() constructor.
* main(): The .Save() call should be in the try: clause.bwarsaw2002-02-261-2/+2
|
* Update imports for the new rules on shadowing standard librarybwarsaw2002-02-231-7/+5
| | | | | modules. Specifically, import the email package /after/ we've imported paths.
* main(): Add a sweep & cull step before sending disabled notifications.bwarsaw2002-01-291-1/+30
| | | | | | | Here, we're looking for members who are not yet disabled, but who have a bounce score >= the threshold. This can happen if the list owner lowers the threshold. There's no sense in waiting until another bounce is received on the member before we disable them.
* Fix typo in autoconf substitution. Found by Dan Ohnesorg.bwarsaw2002-01-061-1/+1
|
* Add calls for cron/disabled to send out the you-are-disabled notices.bwarsaw2001-12-272-3/+9
| | | | | | | Send these out at 9am localtime. Also, change the admin reminders to run at 8am local time instead of 10pm local time.
* New cron script to search for disabled-by-bounce memberships and sendbwarsaw2001-12-271-0/+116
| | | | re-enable reminders when they're due.
* main(): All owner refereces should point to the mailman-owner@dom.ainbwarsaw2001-11-201-5/+7
| | | | | | | | | | | address instead of the mailman-admin@dom.ain address. We don't want people contacting the site owner to be bounce processed. Also, Utils.get_site_email()'s second argument should no longer include the leading dash. Set the `errorsto' metadata to the mailman-bounces address, and add a `verp' flag in the metadata set to VERP_PASSWORD_REMINDERS.
* pending_requests(): Subscription ID records unpack to a 6 tuple now,bwarsaw2001-11-091-2/+9
| | | | | which includes the fullname, but also watch out for older records which don't include the fullname.
* main(): If the site list is missing, write a log message to logs/errorbwarsaw2001-11-051-1/+10
| | | | | and exit with a non-zero status (so cron should let us know there's a problem).
* mimelib -> emailbwarsaw2001-10-223-10/+4
|
* Ben Gertzfield's patch to hardcode the path to the python executablebwarsaw2001-09-071-1/+3
| | | | | | | into the script's #! line -- based on --with-python settings, without losing CVS revision history. Install from the build directory.
* Ben Gertzfield's patch to hardcode the path to the python executablebwarsaw2001-09-076-6/+6
| | | | | | | | | | | | | 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.
* Massively rewritten so as to (hopefully) simplify the logic, and notbwarsaw2001-08-041-100/+109
| | | | | send the password reminder as if it's coming from the "first" public mailing list. Instead it comes from the "site list".
* Split SCRIPTS into FILES and PROGRAMS. The former is installed withbwarsaw2001-08-041-5/+8
| | | | | mode 644 while the latter is installed with mode 775. This lets you run cron scripts from the command line.
* Reorder the imports so mm_cfg is always the first module importedbwarsaw2001-07-276-9/+30
| | | | | | | | | | | | | | | after paths. Because these scripts are run from cron with "python -S" they must import mm_cfg before attempting to import mimelib; mm_cfg hacks sys.path to include site-packages which -S inhibits. For those scripts that already import mm_cfg, add a comment describing the import order dependencies. For those that didn't, add a comment about why it's being imported. Also, gate_news: Removed the _ContinueLoop docstring so translators have one less non-translatable docstring to worry about. Closes Thomas's SF patch #443803.
* poll_newsgroup(): work around Python 2.0 restriction on continue inside trytwouters2001-07-261-1/+8
| | | | clauses.
* Dang, the usual oversight.bwarsaw2001-07-261-1/+1
|
* main(): Use archive_dir() instead of the archive_directory attribute.bwarsaw2001-07-261-1/+1
|
* poll_newsgroup(): Untested patch so that newsgroup messages withbwarsaw2001-07-251-1/+8
| | | | broken MIME boundaries are ignored.
* All membership related attribute access should use the MemberAdaptorbwarsaw2001-07-191-2/+2
| | | | | | | API instead, e.g. GetUserOption() -> getMemberOption() GetUserSubscribedAddress() -> getMemberCPAddress()
* No longer necessary. qrunner is now a proper daemon and shouldn't bebwarsaw2001-07-061-290/+0
| | | | invoked from cron.
* Removed qrunner cron script, as it has been obsoleted bybwarsaw2001-07-051-2/+2
| | | | bin/mailmanctl and bin/qrunner.
* Lots of changes to make this act more like a traditional daemon and tobwarsaw2001-07-031-67/+59
| | | | | | | | | | | | | | | | | | | | | | | | | remove the run-from-cron functionality (yes, I know this script shouldn't be in cron/ anymore, but moving it is a PITA). Specifically, Removed the SIGCHLD signal handler since this will no longer be run as a cron job. Added a PIDFILE global to name the file holding the pid of the master qrunner process. sighup_handler(): When the master gets a SIGHUP, send a SIGINT to all the children so that they'll exit. This has two benefits: it will automatically close all open log files, and the auto-restart feature will mean all the children will see any changes to the source code (i.e they'll restart and thus import afresh any updated modules). master(): When the main loop exits, be sure to include the watchdog_pid in the list of children to SIGINT. main(): Removed the -b/--background flag. Write the pid of the current process to data/qrunner.pid so that it can be exited externally via: kill -INT `cat data/qrunner.pid` Convert all syslog() calls to new style.
* Don't run qrunner as a cron job any more (it's now a daemon).bwarsaw2001-07-031-3/+0
|