* Merged mts/sendmail functionality into mts/smtp; switching between
[mmh] / ChangeLog
index 810b823..96618bb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,832 @@
+Sat Jun 10 18:37:59 CEST 2000 Ruud de Rooij <ruud@ruud.org>
+
+       * Merged mts/sendmail functionality into mts/smtp; switching between
+       smtp and sendmail delivery method is now controlled by mts.conf.
+
+       * If tsort cannot deal with loops, in addition to defining tsort as
+       cat, also define lorder as echo.
+       
+       * Removed uip/popi.c from list of sources.
+
+Thu Jun 08 19:36:57 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * New dtimep.lex didn't parse day names properly.  Fixed.  Also
+       clarified ambiguous comments preceding day_map[] array (from old
+       dtimep.lex) that probably led to the erroneous cp++ being added.
+
+Wed Jun  7 20:52:33 CEST 2000 Ruud de Rooij <ruud@ruud.org>
+
+       * Added one more mkstemp invocation to uip/spost.c (which was in a
+       #if 0 block).
+
+       * Applied patch from Peter Maydell to clean up permissions handling
+       and error handling in uip/inc.c.
+
+Mon Jun  5 22:10:07 CEST 2000 Ruud de Rooij <ruud@ruud.org>
+
+       * Use cat instead of tsort if tsort cannot deal with loops in its
+       input (which is the case for tsort from GNU textutils).
+
+Mon Jun  5 21:14:36 CEST 2000 Ruud de Rooij <ruud@ruud.org>
+
+       * If lockfile is present, and its dotlockfile program is setgid,
+       inc does not need to be setgid.
+
+Sun Jun  4 21:35:40 CEST 2000 Ruud de Rooij <ruud@ruud.org>
+
+       * Added autoconf test for Miquel van Smoorenburg's liblockfile
+       library, as found on Debian systems.
+
+       * Added liblockfile support to sbr/lock_file.c.
+       
+Wed May 31 7:19:30 2000 Shantonu Sen <ssen@mit.edu>
+       
+       * Fixed up dtimep.lex a bit. Added back memory options for AIX to
+       increase available memory.  Took out %option noyywrap, which
+       wasn't understood by AT&T lex, as well as the -i
+       case-insensitivity flag.
+
+Wed May 31 07:40:45 2000 Doug Morris <doug@mhost.com>
+
+       * Added a lint target to the Makefiles and a check in autoconf
+       to determine whether lint or lclint exists on the system. 
+
+Fri May 30 19:21:48 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * etc/Makefile.in was incorrectly installing mts.conf.in and
+       sendfiles.in -- fixed.  Generated sendfiles script was not a
+       dependency of the `all' target, and was incorrectly included in
+       the distribution.  Changed the suffix for the backed-up previous
+       versions of the etc files from the ambiguous .old to .prev.  Added
+       call to diff -- only keep the .prev files around if different from
+       the newly-installed versions (intentionally didn't redirect output
+       to /dev/null so you'll notice when your changed versions are
+       getting moved aside).
+
+       * INSTALL never documented the etc/*.old thing.  Documented the
+       new etc/*.prev thing (including a note to watch for diff output).
+
+       * Applied Alec Wolman <wolman@cs.washington.edu>'s dropsbr.c patch:
+
+           In the map_write routine, a call is made to map_open and this
+           call is supposed to set the "clear" variable to 0 or 1,
+           depending on whether the map file is empty or not.  In
+           mh6.8.3, this worked because map_open would set "clear" by
+           calling the mbx_Xopen routine.  In nmh, the code for mbx_Xopen
+           was merged into mbx_open, but the interface for mbx_open
+           doesn't support the clear variable, so that functionality was
+           lost.  The map_open interface still contains "int *clear" in
+           the prototype, but never sets it.
+
+           My patch eliminates "clear" from the map_open interface (I
+           checked to make sure that map_write is the only client of
+           map_open).  Furthermore, my patch also sets the "clear"
+           variable properly at the beginning of map_write by calling
+           fstat().  This eliminates the bug in that the value of "clear"
+           being used later in the routine was just stack garbage.
+
+           Having a bad value of clear causes this next bug to be
+           triggered: The fp file pointer was being opened with fdopen,
+           but in two of the three switch cases it wasn't being closed.
+           In certain cases, this was causing packf to run out of file
+           descriptors if you attempted to pack a large folder.
+
+Mon May 29 7:48:15 2000 Shantonu Sen <ssen@mit.edu>
+
+       * Moved the date parsing routines from zotnet/tws to sbr/ (and
+       tws.h to h/). Updated all source files to reflect to new location
+       of tws.h.
+
+       * Rewrote dparsetime (in dtimep.lex -> dtimep.c) to replace the
+       old zotnet/tws/dtimep.c, dtimep.lex, lexstring.c, lexedit.c, and
+       dtimep.c-lexed. It should now work with flex (although untested
+       with lex), and requires no sed-ing. For now, I have the lexed
+       version in the distribution, so that end-users don't need to worry
+       about running it through flex/lex. I have not added back support
+       for guessing the time zone when it's not specified.
+       
+Sun May 28 17:44:15 CEST 2000 Ruud de Rooij <ruud@ruud.org>
+
+       * Added autoconf check for getutent().
+
+       * Changed uip/rcvtty.c and uip/slocal.c to use getutent() and
+       friends.  Since I can only check on Linux, please check if
+       this works on other systems.
+
+Sun May 28 14:58:49 CEST 2000 Ruud de Rooij <ruud@ruud.org>
+
+       * Applied patch from Peter Maydell to uip/scansbr.c for more
+       checks for write failures.
+
+       * Unlink temporary file properly in uip/rcvtty.c.
+
+       * Moved viamail from bindir to libdir.
+
+       * Changed sendfiles into sendfiles.in, so that path to viamail
+       is patched in.
+
+       * Added gzip support to sendfiles.
+
+       * Added References header to replcomps and replgroupcomps.
+
+Sun May 28 14:39:31 CEST 2000 Ruud de Rooij <ruud@ruud.org>
+
+       * Fixed m_getfld bug which caused segmentation faults when
+       incorporating messages which ended in multiple linefeeds crossing
+       a buffer boundary.
+
+Fri May 26 13:21:59 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * msh has been unable to show MIME messages ever since 1.0.  Alec
+       Wolman <wolman@cs.washington.edu> tracked down the problem to the
+       -show flag being passed to mhshow.  mhshow is equivalent to the
+       old mhn -show, so we don't need the -show anymore.  Removed it.
+
+Fri May 12 02:51:21 2000 Shantonu Sen <ssen@mit.edu>
+
+       * zotnet/bboards is not longer built by default. Goal is to move
+       the assorted functions in zotnet into sbr or some more logical
+       place.
+
+       * Moved zotnet/mf to sbr, and changed mf.h references accordingly,
+       as well as Makefiles.
+       
+Thu May 11 02:21:34 2000 Shantonu Sen <ssen@mit.edu>
+
+       * Simplified sbr/Makefile.in so that both SRCS and OBJS aren't
+       seperately and redundantly defined, but so that OBJS is a
+       pattern-substituted version of SRCS with suffix .c -> .o. This
+       should make maintainability easier.
+
+       * Added section to MACHINES indicating what platforms nmh is known
+       to compile and work on, just to give users peace of mind, or
+       something. This is by no means complete or exhaustive, so add
+       whatever you know works.
+       
+Tue May 09 20:38:04 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Alphabetized Shantonu's $pop_kinds output on configure's "pop is
+       enabled" line.  If POP3 is the only kind of POP enabled, say so,
+       rather than just saying "yes" (which is ambiguous).
+
+       * Fixed four warnings in Shantonu's new getpass.c.  Needed to
+       #include <stdlib.h> for calloc(), <unistd.h> for ttyname(), and
+       "h/mh.h" for adios().  Also changed ch from char to int to get rid
+       of "comparison is always 1 due to limited range of data type" on EOF.
+
+       * Added steps to README.developers saying to change the version
+       number to X.Y.Z+dev.  Did a little rearranging and changed the FTP
+       dir from /home/ftp to /var/ftp to reflect Doug's new machine.
+
+       * Changed configure.in to use gcc -Wall even without
+       --enable-debug, to prevent developers compiling optimized from
+       introducing warnings, and to give end-users a warm, fuzzy feeling
+       as they (hopefully) see no warnings come out (except perhaps on
+       the lex output file) even with -Wall.
+
+       * Renamed getpass() to nmh_getpass() since the prototype for
+       getpass() varies from OS to OS, and we want to _always_ use our
+       version of the function.  Fixed all the callers to use
+       nmh_getpass() and added it to prototypes.h.  Semi-arbitrarily
+       upped MAX_PASSWORD_LEN from 128 to 256.  buf was being calloc()'d
+       and the memory leaked -- should have just been declared as static
+       char array.  Prepended "Portions of this code are" to the
+       copyright message, as this version has been changed significantly
+       from the BSD version.
+
+       * Added "nmh-local functions to use in preference to OS versions"
+       section to README.developers (currently just says to use
+       nmh_getpass() instead of system getpass()).
+
+       * Prepended "Portions of this code are" to the copyright message
+       in ruserpass.c also.
+
+       * Added mts.conf.5 page per Neil W Rickert <rickert+nmh@cs.niu.edu>'s
+       report:
+       
+           This happens on solaris:
+
+                    % man mts.conf
+                    windex entry incorrect:  mts.conf(5) not found.
+                    No manual entry for mts.conf.
+
+           It is fixed by
+
+                    % echo ".so man5/mh-tailor.5" > mts.conf.5
+
+           done in the man5 directory.  We need to add 'mts.conf.5' as a
+           reference sourcing mh-tailor.5.
+       
+Mon May 08 23:51:55 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Doug informed me that the way I had restored the "lost" version
+       histories was wrong, because `cvs checkout's of old versions of
+       nmh wouldn't work properly.  It occurs to me that this could be
+       fixed by simply deleting those tags in the new-location *,v files,
+       but oh well.  I'm putting everything back to the way Doug
+       originally had it.  To get the old version history for a file that
+       used to be in the top directory, you'll need to "blindly" do a
+       `cvs log' there (even though you won't have a local copy of the
+       file in that directory).  `cvs diff' will no longer be able to
+       diff pre-move versions vs. post-move versions -- you'll have to do
+       a lot of manual gyrations with `cvs checkout' and then use `diff'.
+
+       * I had alphabetized the --configure options in the --help output
+       awhile back, but Shantonu added --enable-apop just under
+       --enable-pop.  Put it in alphabetical order and clarified what
+       --enable-apop does vs. --enable-pop and --with-krb4.  Also changed
+       --with-mts help line from "mail transport agent" to "mail
+       transport agent/service" so the 's' in "mts" doesn't seem to come
+       out of nowhere.
+
+       * Added two steps to "releasing nmh" in README.developers.  After
+       making the tarball, it's a good idea to diff the tree vs. the CVS
+       tree to make sure no files got left out, and then to chown the
+       files so that they're owned by root, preventing a Trojaning attack
+       by a malicious remote user with a UID matching yours.
+
+       * Changed DIFFERENCES to say that RPOP is not currently supported
+       rather than implying it by saying that APOP, KPOP, and POP[3] are.
+
+Sun May 07 18:16:43 2000 Shantonu Sen <ssen@mit.edu>
+
+       * Imported NetBSD version of getpass() and made extensive
+       revisions for compatibility with programs that pipe the password
+       to stdin, such as exmh.
+
+       * Removed tests for system ruserpass() which sometimes gave
+       phantom positive results. Also, bext to use internal functions if
+       we ever want to change .netrc format to something else, or access
+       other files.
+
+Sat May 06 08:28:09 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Restored lost version histories for those moved files by doing a
+       manual `mv' in the CVSROOT on mhost.  CVS badly needs a `cvs mv'
+       command so that you can move files (without having physical access
+       to the CVSROOT) without losing versioning.  Put MACHINES back at
+       the top level as it needs to be read before building.  Fixed DIST
+       variable in {.,docs}/Makefile.in to reflect that and to add
+       missing entry for "INSTALL" file.
+
+Sat May 06 13:13:07 2000 Doug Morris <doug@mhost.com>
+
+       * Re-cleaned up nmh documentation (by moving things to docs
+       subdir) and modified Makefile & configure.in to handle the change.
+
+Mon Apr 17 21:28:40 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Scott Blachowicz pointed out that the configure --help output
+       for --enable-masquerade was misleading.  Clarified.
+       
+Mon Apr 17 19:01:00 2000 Shantonu Sen <ssen@mit.edu>
+
+       * APOP support can be compiled in to inc and msgchk using
+       --enable-apop.
+
+       * To access an APOP host, specify -apop on the command line
+       along with any -host or -user option.
+
+Fri Apr 14 23:10:44 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Upped the version number to 1.0.4+dev until the next nmh release.
+
+       * Added a "releasing nmh" section to README.developers, while the
+       process was fresh in my mind.
+       
+Fri Apr 14 18:21:34 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Added new files README.developers, ChangeLog_MH-3_to_MH-6.6, and
+       ChangeLog_MH-6.7.0_to_MH-6.8.4.html to DIST target in Makefile.in.
+       
+       * Released nmh-1.0.4.
+
+Tue Apr 11 21:37:03 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Applied Brian Campbell <bacam@tardis.ed.ac.uk>'s mhn.defaults.sh
+       patch:
+
+           It appears that there shouldn't be quotes around the %s in the
+           iso-8859-1 charset entry; xterm passes the remaining arguments
+           to the program, quoting them means that xterm thinks they're
+           part of the program's name.
+
+       This %s isn't the same as the "Insert content subtype" one from
+       mhshow-show-* -- it doesn't come from MIME headers and is safe not
+       to quote.
+
+Sun Apr 09 13:03:59 2000 Doug Morris <doug@mhost.com>
+
+       * added check in fmt_compile() to handle a single-character
+       format string. fmt_compile() depends on having an array of
+       format characters with an empty item at the end. A
+       single-character format would cause programs using this
+       function to segfault because the algorithm used to decide on
+       the length of the array mistakenly created a single-item array
+       when the format string was one character. This eventually
+       caused problems when the program attempted to test item+1
+       in the array.
+
+Thu Apr 06 21:53:50 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Richard Coleman threw out a lot of old MH-specific files in nmh.
+       Much of the stuff, indeed, is not worth saving, but there are
+       nuggets that are very worthwhile, and should probably be added
+       back in.  Most important, IMHO, are the MH change logs, as they
+       can help answer questions like "Why is this code like this?" or
+       "How long has this been broken?" or "What was this ever used for?"
+
+       I've added a new file to the nmh tree called
+       ChangeLog_MH-3_to_MH-6.6.  It's cobbled together from the
+       mh-6.8.4/papers/mh*/MHCHANGES files.  I've re-ordered the entries
+       to go from newest at the top to oldest at the bottom to match the
+       ChangeLog convention.  Unfortunately there are no change logs for
+       versions of MH prior to 3 in the MH tar files available at
+       <ftp://ftp.ics.uci.edu/pub/mh>.  Also, it appears to me that there
+       are MH-6.6 changes that aren't documented in the logs.
+
+       I've also added ChangeLog_MH-6.7.0_to_MH-6.8.4.html.  This is
+       based on mh-6.8.4/papers/changes/mh-changes.ms.  The nroff format
+       and its "catman"-type output are a pain to deal with, but I was
+       loath to throw away the formatting, so I converted the file to
+       HTML.  The only actual markup in the body are the "<B>" and "<U>"
+       tags, and "&lt;" and "&gt;" instead of '<' and '>', so it's quite
+       doable to view the file in plain ASCII mode as well.  Note that
+       some of the changes this file documents as having been made in
+       MH-6.8.4 may not be present in nmh -- Richard started with 6.8.3
+       and later put in certain 6.8.4 stuff.
+       
+Wed Apr 05 21:09:28 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Applied Eric Schnoebelen <eric@cirr.com>'s mhshowsbr.c patch
+       fixing apparent bugs in Dan Winship's new security quoting code:
+       
+            Since upgrading, I've been getting the following errors
+            while attempting to process some MIME messages:
+
+                (1) Syntax error: Unterminated quoted string
+                    exit 2
+       
+            and:
+
+                (2) line 1/10 (END)Segmentation fault (core dumped)
+
+           (2) appears to be due to the testing of an unset pointer in
+           mhshowsbr.c:show_multi_aux().  (1) appears to be caused by
+           mis-quoting a filename being handed to the shell in
+           mhshowsbr.c:show_content_aux().
+
+           Resolving the pointer reference issue in
+           mhshowsbr.c:show_multi_aux() turned up a similar mis-quoting
+           problem in the routine.
+
+Tue Mar 28 16:17:39 2000 Doug Morris <doug@mhost.com>
+
+       * Applied Todd.Miller@courtesan.com's patch to dropsbr.c to
+       prevent core dumping on packf. Here's the note from his message:
+
+           Since sizeof(buffer) == sizeof(tmpbuffer) packf will dump
+           core on a file w/o a From line with a line >= BUFSIZ.
+           I noticed this because I had a junk file in my mail
+           spool somehow.
+
+Fri Mar 17 11:59:33 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * wesley.craig@umich.edu did not document his previous KPOP patch,
+       so I did so, and asked him to check what I wrote.  Unfortunately
+       he didn't notice my misunderstanding of his patch.  I wrote that
+       if you #define POPSERVICE "kpop", inc and msgchk will use KPOP
+       exclusively, but if you leave it as "pop3", you can use Wesley's
+       new -kpop switch on a given invocation.  Instead, however, -kpop
+       turned out to be necessary on every invocation, and a KPOP user
+       complained.  Applied Wesley's new patch, which makes things work
+       like I thought his original patch did.  After that, did one more
+       clarifying pass to the documentation in inc.man and msgchk.man.
+
+Wed Mar 15 18:45:45 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * When I fixed the long-standing makedir() bugs in January, I had
+       the code call strtoul(..., 0), which I believed to be safe as all
+       modes specified as ASCII constants in the nmh code started with a
+       leading zero (signifying octal), which I did as it would work if
+       internal constants were ever changed to hex.  Unfortunately I was
+       unaware of the "Folder-Protect:" .mh_profile entry, which
+       mh-profile.man documents as an octal-only constant, with no
+       leading zero required.  I've changed the strtoul() call to an
+       atooi() call and removed the misleading leading zeroes on the
+       ASCII octal constants in the code and man pages.  Also changed the
+       "Folder-Protect:" example in the man page to something more
+       interesting than a duplication of the default.
+
+       * When I added my --enable-masquerade option, you'll note that I
+       didn't make it --enable-nmh-masquerade.  I find the --enable-nmh-*
+       options too wordy and I'm not sure why Richard went that route.
+       I've renamed them to just --enable-*, but the old versions will
+       still work as well (they just aren't advertised).
+
+       * Added a line to the "nmh configuration" output saying whether
+       POP is enabled.
+
+       * Added a new README.developers file.  From the file:
+
+           This file is intended to provide a few tips for anyone doing
+           development on nmh.  Developers who learn things "the hard
+           way" about the nmh codebase (as opposed to local info best
+           encoded in a comment) are encouraged to share their wisdom
+           here.
+
+       Currently the topics are "autoconf files" and "directory structure".
+
+Tue Mar 14 12:41:48 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Applied, after some finessing,
+       Simon Burge <simonb@thistledown.com.au>'s --with-smtpservers patch:
+
+           Here's a patch that allows you to add
+
+                   --with-smtpservers=<some.host.name>
+
+           to the ./configure command line to set the "servers: " line in
+           etc/mts.conf.  Around here, we use "mailhost" so that all
+           machines in the current domain just talk to a central machine
+           and nothing else runs an MTA.  Now, I can use
+
+                   --with-smtpservers=mailhost
+
+           instead of having to remember to fix this by hand (and often
+           forgetting to do so!).
+
+       * Inspired by Simon's patch, added an --enable-masquerade option
+       to configure.  It will set the "masquerade:" line of mts.conf.
+       You may specify a subset of the three types of masquerading, like
+       --enable-masquerade="draft_from mmailid", or leave off explicit
+       arguments to enable all three types.
+
+       * Alphabetized the --enable and --with options in configure.in and
+       INSTALL and added documentation of the two new options to the latter.
+
+       * Added new dependency for mts.conf: Makefile.  If this isn't
+       done, then when you reconfigure nmh with new values for
+       --enable-masquerade or --with-smtpservers, you'll fail to get an
+       updated copy of mts.conf.
+
+       * Applied Simon Burge <simonb@thistledown.com.au>'s dtimep.lex patch:
+
+           It seems that some MUA's didn't handle y2k very well - ELM
+           seems to be one of them, and Ultrix's DXmail (based on MH!).
+           I've got a few emails this month that look like:
+
+                   575   Jan 00  Xxxxxx Xxxx       3603  ...
+           and
+                    22+  Jan 00  Xxx Xxxxx         1771  ...
+
+           The first has "15 Jan 100" as the date and the second has 
+           "19 Jan 00" as the date.  The following works around this so 
+           that scan, show, sortm, etc work ok.
+
+       I put Simon's patch under the control of a new #define called
+       FIX_NON_Y2K_COMPLIANT_MUA_DATES.  There's some commentary in
+       acconfig.h about when you might not want to #define it.
+
+       * Created new dtimep.c-lexed with Simon's change using dtimep.lex
+       lexed on Solaris 2.6.  Added missing dependency in
+       zotnet/tws/Makefile.in for dtimep.c: dtimep.c-lexed.
+
+       * Added scan.MMDDYY and scan.YYYYMMDD format files.
+
+Mon Mar 13 21:32:00 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Applied Sullivan N. Beck <sbeck@cise.ufl.edu>'s mhshow-suffix patch:
+
+            With the patch below, you can add lines like:
+
+                mhshow-suffix-application/msword: .doc
+                mhshow-suffix-application/PostScript: .ps
+
+            to the mhn.defaults file to append the given suffix to a
+           scratch file.  This allows applications which require a
+           certain suffix to run properly.
+
+       * Removed -force_html from lynx entry in mhn.defaults.sh (I
+       believe older versions of lynx lack that option) and added
+       "mhshow-suffix-text/html: .html".
+               
+       * Modified username_extension masquerading to only use the
+       extended address on generated [Resent-]From: lines and SMTP
+       envelope From:.  With Neil's original implementation, nmh's global
+       idea of the username was changed, which would result in inc lying
+       and saying you had no new mail because it was looking for a
+       mailbox called, for instance, "dan-nmh" (where username was "dan"
+       and $USERNAME_EXTENSION was "-nmh").
+               
+       * Applied Simon Burge <simonb@thistledown.com.au>'s dtime.c patch:
+       
+           There's a wrap-around problem that affects the implementation
+           of Zeller's congruence in dtime.c.  This causes the day-of-week
+           calculations to fail for dates after Feb 29, 2000 (probably up
+           until some year far in the future).
+
+Mon Mar 06 12:20:20 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Applied Neil W Rickert <rickert+nmh@cs.niu.edu>'s msh.c patch:
+
+            I finally tracked down the problem in msh that was causing
+           errors whenever I tried to examine a 'mmdf' style mailbox.
+
+           It turns out that not enough memory was being allocated with
+           calloc(), causing memory pointers to be overwritten and
+           corrupted.
+               
+Fri Mar 03 16:07:33 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Changed the new "plussed_user" option to mts.conf's
+       "masquerade:" to "username_extension" after getting feedback from
+       qmail users, who use '-' as a separator rather than '+'.  Removed
+       checking of $USERPLUS variable.  Now check $USERNAME_EXTENSION,
+       which needs to include the appropriate separator for your MTA
+       ('-', '+', or whatever) as its first character.
+               
+Thu Mar 02 23:04:30 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Added a new "boolean" type to mh.h and TRUE and FALSE constants.
+               
+       * Added a note to DIFFERENCES stating that it's out-of-date
+       (Richard was the last one to update it) and that we should
+       consider only documenting incompatibilities with MH there.
+
+       * Implemented (and documented) a third kind of username
+       masquerading: "plussed user" masquerading.  This one was suggested
+       by Neil Rickert <rickert+nmh@cs.niu.edu>.  It's based on sendmail's
+       "plussed user" feature, where mail sent to <user>+<string> will be
+       delivered to <user>.  When it's enabled, it's controlled by the
+       $USERPLUS environment variable.  How is it enabled?  Well, that
+       leads me to:
+
+       * Renamed the "mmailid:" setting in mts.conf to "masquerade:", and
+       changed it so that rather than being a boolean, it can be set to
+       any combination of the three values "draft_from", "mmailid", and
+       "plussed_user".  Thus it is now possible to enable the three types
+       of masquerading individually.
+
+       * Fixed a bug with "mmailid" masquerading (dating back to MH?)
+       where if it was turned on, ','s would no longer be considered
+       GECOS field delimiters.
+       
+Wed Mar 01 23:30:50 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Changed the GECOS-field '&' translation behavior to be
+       controlled by the BSD42 #define rather than GCOS_HACK, since it's
+       apparently always appropriate on OSes where BSD42 is #defined, and
+       never appropriate on any other OSes.  Thanks to Kimmo Suominen for
+       responding to my "What is this code here for?" comment in mts.c
+       and explaining the feature.
+       
+Mon Feb 28 21:50:29 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Upped the version number to 1.0.3+dev (ideally this should be
+       done by whoever makes a release tar file, immediately after doing
+       so).
+       
+       * Applied Paul Fox <pgf-spam@foxharp.boston.ma.us>'s scansbr.c
+       patch, posted to comp.mail.mh, which he says prevents loss of mail
+       when inc'ing into a full filesystem.
+
+       * Changed "echo > stamp-h.in" in Makefile.in to "date > stamp-h.in"
+       so that stamp-h.in will be different each time configure.in and
+       related files are changed, making it easier to check it in (which
+       is necessary to prevent unnecessary autoconf calls).
+
+       * My declaration of initgroups() in slocal.c to eliminate the "no
+       prototype" warning wasn't portable (FreeBSD 3.[23] choked).  Now
+       use AC_EGREP_HEADER to see where initgroups() is declared, if
+       anywhere.
+
+Sun Feb 20 12:17:15 2000 Ruud de Rooij <ruud@ruud.org>
+
+       * Fix security hole in mhshowsbr.c which allowed untrusted shell
+         code to be executed.
+       
+       * Released nmh 1.0.3.
+
+Thu Feb 10 10:54:36 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Oops.  %-escapes on mhstore lines in mhn.defaults.sh should not
+       be surrounded by single quotes, as a shell is not spawned when
+       just saving files, and the filenames will end up with literal
+       quotes embedded in them.
+
+Fri Feb 04 12:29:12 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Whoever originally added the -help switch to all the commands
+       got too cute and had the option itself print out as "-(help)" in
+       the -help output.  One theory is that they were making reference
+       to the fact that clearly you know about the -help option since
+       you're currently looking at its output.  I think it's a bad idea
+       to overload the meaning of the parentheses, however -- they're
+       supposed to indicate what abbreviated prefix of the switch you're
+       allowed to specify.
+
+       The other theory is that because you can say something like
+       "mhstore -" and get "mhstore: - ambiguous.  It matches" followed
+       by the same list of switches you get with -help, they were saying
+       you can "sorta" abbreviate "-help" as "-".  You don't get the
+       "Usage:" string, though, so it's not really the same thing.
+
+Thu Feb 03 17:52:01 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Applied wesley.craig@umich.edu's KPOP patches.  According to him:
+
+              The following patch fixes a problem with requesting a
+             service key for a machine that has multiple 'A' records.  It
+             also makes "-kpop" a command line option, for users who
+             would like to use both "kpop" and "pop".
+
+       Did no testing of the new features, as I don't have access to a
+       KPOP server.
+
+       * Modified inc.man and msgchk.man to document Wesley's new -kpop.
+
+       * Modified INSTALL and config.h.in to reflect the new -kpop feature.
+
+Fri Jan 28 17:39:24 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * All %-escapes in mhn.defaults that actually expand to something
+       should be surrounded by single quotes.  Added quotes to the ones
+       in mhn.defaults.sh that were missing them.
+
+       * Added check for lynx to write mhshow-show-text/html line in
+       mhn.defaults.sh.
+
+Thu Jan 27 12:22:25 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * makedir() had multiple bugs dating back to MH.  An octal
+       constant was apparently being interpreted as decimal, resulting in
+       directories with no user read or execute permissions, making
+       nested directory creation fail.  And there wasn't even an
+       _attempt_ to set desired permissions (e.g. from "Folder-Protect:"
+       in .mh_profile) on the outer directories of a nested directory.
+
+       * A second `make install' would always fail because the check for
+       whether mh_profile.5 existed was written incorrectly.
+       
+Wed Jan 26 02:22:00 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Added documentation on both types of masquerading to post's man
+       page.
+
+Tue Jan 25 22:58:12 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Doug's portability fix of my setgid inc autodetection had a
+       caching bug -- if you re-ran configure, uip/Makefile would be
+       corrupted, and installation would bomb out on OSes where inc needs
+       to be setgid.
+
+       * Implemented a new kind of email address masquerading.  Usually,
+       when a user writes a custom "From:" header in a draft, nmh uses it
+       rather than generating one.  However, the user's true address is
+       used in the SMTP envelope "From:" and is revealed in the "Sender:"
+       header.  Now, when mmailid is set to non-zero, the envelope
+       "From:" uses the address specified in the draft "From:" header,
+       and there is no "Sender:" header.  This is useful when sending on
+       behalf of a remote POP3 account or when remote mail robots
+       incorrectly use the envelope "From:" in preference to the body
+       "From:".  This processing has only been implemented for post, not
+       for the undocumented spost (which was already missing some "From:"
+       processing that post has).
+
+Mon Jan 24 22:26:06 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Got rid of the rest of the gcc -Wall warnings that I didn't have
+       time for on 1999-07-15 (and, it would seem, some new ones people
+       introduced since then).  The primary ones were the warnings that
+       default prototypes were being used for [v]snprintf() and
+       str[n]casecmp().  As of right now, there are _no_ compilation
+       warnings except on dtimep.c-lexed (at least under AIX 4.1.5 and
+       Solaris 2.6).
+
+Sun Jan 2 23:42:18 2000 Ruud de Rooij <ruud@ruud.org>
+
+       * Move mhtest from bindir to libdir.
+
+       * Move sendfiles from libdir to bindir.
+
+       * Updated sendfiles manpage to reflect this change.
+
+       * Added documentation for -build and -file switches to repl and 
+         forw manpages (patch from Peter Maydell).
+
+       * Fixed interaction between specifying -cc in profile and -group on 
+         command-line.
+
+Tue Nov 1 13:48:10 1999 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Changed the version number from 1.0.3 to 1.0.2+dev.  There was
+       not unanimous support for my proposed even/odd release/developer
+       version number dichotomy.  1.0.2+dev implies release 1.0.2 plus
+       some development.
+
+Fri Oct 29 13:42:51 1999 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Upped the version number to 1.0.3.  If we don't do this, then
+       when people report bugs against 1.0.2, we won't know "which" 1.0.2
+       they're talking about (since the development source is publically
+       available via CVS).  I think the Linux kernel version numbers are
+       a good model, so the next time we roll a tarball, it should be
+       version 1.0.4 (or higher -- anyhow, an even-numbered version).
+
+Fri Oct 29 06:41:08 1999 Doug Morris <doug@mhost.com>
+
+       * Released nmh-1.0.2.
+
+Tue Oct 26 22:57:00 1999 Doug Morris <doug@mhost.com>
+       
+       * Added check for whether "libtool" is in fact gnu libtool. If
+       it is, it is not used. This is the wrong behavior. If vendor
+       XYZ later on decides to create yet another libtool, we'll be
+       caught again. This works for now.
+
+       * Minor updates to MACHINES refering to Mac OS X.
+
+Thu Oct 21 20:45:37 1999 Doug Morris <doug@mhost.com>
+
+       * Added check for "libtool" (a ranlib type tool for Mac OS X)
+       and modified Makefiles so that nmh will build under Mac OS X.
+
+Sun Oct 17 08:28:56 1999 Ruud de Rooij <ruud@ruud.org>
+
+       * Changed repl defaults to partly revert to MH behaviour,
+         "-cc all" is now only implied with -group.
+
+       * The replcomps template includes cc: header again (as in MH).
+
+       * Updated repl man page to reflect these changes.
+
+Sat Oct 16 02:57:47 1999 Doug Morris <doug@mhost.com>
+
+       * Tweaked configure to handle Solaris and SunOS after the BIND
+       changes. Both need more cleanup.
+
+Sat Oct 16 00:17:36 1999 Doug Morris <doug@mhost.com>
+
+       * Removed BIND define and replaced it with a check for
+       gethostbyname (to determine if the host is DNS aware) and a
+       check for sethostent. This appears to be the right thing to
+       do, but there is no explanation of the reasoning behind the
+       BIND define in the code and it appears to have been used for
+       multiple purposes. 
+
+Wed Oct 13 15:53:53 1999 Doug Morris <doug@mhost.com>
+
+       * Updated manpages Makefile to link mh-profile.5 to
+       mh_profile.5 after installation. Suggestion from Richard Cohen
+        <richard@jubjub.demon.co.uk>.
+
+       * Modified configure.in to check for _IO_write_ptr and libio.h
+       to determine whether to define LINUX_STDIO instead of using 
+       config.guess.
+
+Mon Oct 4 15:22:46 1999 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Added '-L' to the calls of 'ls' in configure.in -- I have seen
+       multiple machines in the past where the mail spool was a symlink
+       to a directory on another device with more free space.
+
+Fri Oct 1 22:36:56 1999 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Fixed a portability problem in Doug's fix of a portability
+       problem in my MAILGROUP autoconf support ('ls -l' vs. 'ls -lg'). 
+
+Sat Sep 25 18:40:43 1999 Ruud de Rooij <ruud@ruud.org>
+
+       * Added config.sub and config.guess to the list of files to be
+       distributed.
+
+       * Fixed bug in sbr/fmt_scan.c where an extra newline would be
+       added if a list of addresses was split over several header lines.
+
+       * In mts/smtp/smtp.c, undefine strlen and strcpy if they are
+       macros, regardless of platform.
+
+       * Allow q to quit mhshow, and n to skip to next part.  Patch from
+       Kimmo Suominen <kim@tac.nyc.ny.us>.
+
+       * Modified mhstore to recognize attachments created by sendfiles
+       with x-conversions=gzip.
+
+Mon Sep 13 21:20:10 1999 Doug Morris <doug@mhost.com>
+
+       * added explicit cast to long from time_t for tclock in
+       post.c.
+
+       * Commented out #ifdefs for <sys/ioctl.h> in termsbr.c since
+       it's needed for ioctl() anyway. This prevents a warning about
+       implicit definition of ioctl().
+
+       * Moved guesses performed by AC_CANONICAL_SYSTEM back into the
+       "User Configuration" section of config.h (moved @TOP@ in
+       acconfig.h) so they're easier to find, should someone actually
+       want to mess with them.
+
 Sun Sep 12 15:50:34 1999 Doug Morris <doug@mhost.com>
 
        * updated Makefile.in so it recognized COMPLETION-TCSH and
@@ -36,12 +865,13 @@ Sun Sep 12 15:50:34 1999 Doug Morris <doug@mhost.com>
 Sun Sep 12 09:19:27 1999 Doug Morris <doug@mhost.com>
 
        * commented out _cleanup() in mf.c because it's the only
-       location in all of the source code where it exists. 
+       location in all of the source code where it exists. It was
+       preventing compilation on at least linux.
 
        * Added check for <db1/ndbm.h> which is the new location where
        linux systems appear to be stuffing this header file.
 
-Thu Sep  9 23:15:49 1999 Doug Morris <doug@mhost.com>
+Thu Sep 09 23:15:49 1999 Doug Morris <doug@mhost.com>
 
        * fixed varous mkstmep bugs introduced in 1.0.1 by me. Whups!
 
@@ -75,7 +905,7 @@ Thu Jul 15 18:37:07 1999 Dan Harkless <dan-nmh@dilvish.speed.net>
        * Default rcvdistcomps no longer puts a copy of all outgoing
        messages in outbox.  Added an rcvdistcomps.outbox that does.
 
-Sat Jun  9 12:22:47 1999 Doug Morris <doug@mhost.com>
+Sat Jun 09 12:22:47 1999 Doug Morris <doug@mhost.com>
 
        * Updated configure to check for mkstemp (available on OpenBSD) and 
        substitute it for mktemp if available. 
@@ -490,9 +1320,9 @@ Fri May  7 17:18:28 1999  Dan Winship  <danw@mit.edu>
        * Add new section on "Transfer Encodings" to man page for mhbuild.
 
        * In mhbuild.c, split compose_content into compose_content
-         (parse and execute composition string), and scan_content (scan content,
-         decided transfer encoding, check for clash with boundary string).
-         I did a good amount of rearranging of this code.
+         (parse and execute composition string), and scan_content (scan
+         content, decided transfer encoding, check for clash with boundary
+         string).  I did a good amount of rearranging of this code.
 
        * Moved definitions for data structures for parsing MIME
          messages from mhn.c and mhbuild.c to a new include
@@ -1641,10 +2471,11 @@ Sun Dec  1 10:00:00 1996  Richard Coleman  <coleman@math.gatech.edu>
        * Added flist command from exmh distribution.  It doesn't work
          yet, but it compiles :-)
 
-       * Changed default location for install to /usr/local/nmh/{bin,etc,lib,man}.
-         Split files so that format and configuration files go in nmh/etc, and
-         support binaries go in nmh/lib.  Of course, all this can now be changed
-         in the top level Makefile.
+       * Changed default location for install to
+         /usr/local/nmh/{bin,etc,lib,man}.  Split files so that format
+         and configuration files go in nmh/etc, and support binaries go
+         in nmh/lib.  Of course, all this can now be changed in the top
+         level Makefile. 
 
        * Started with mh-6.8.3 as based and converted to autoconf.
          Rewrote all the Makefiles.  Currently only works with sendmail/smtp.