+Sat Mar 17 03:18:15 2001 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+ * Ken Hornstein's configure.in Cyrus SASL checks were doing
+ `x"$with_cyrus_sasl" != "no"' instead of `... != x"no"'.
+
+Tue Mar 06 21:04:27 2001 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+ * Found some historical information about MH in RFC 808.
+ Supplemented it with info from Jerry Peek's MH book and added it
+ to docs/README.about.
+
+Tue Feb 6 20:35:40 2001 Shantonu Sen <ssen@mit.edu>
+
+ * sbr/dtime.c Use the same Y2K correction code as dtimep.lex
+
+ * sbr/dtimep.lex Restrict the parser to accept either
+ a numerical timezone offset, or a symbolic one (e.g. EST),
+ but not both (Since "2000 -400 EDT" might cause a double
+ subtraction of 60 minutes if both are parsed. One should be
+ enough).
+
+Mon Feb 05 20:22:54 2001 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+ * -L isn't sufficient for specifying the path of the Cyrus SASL
+ shared library. That'll allow us to link successfully, but on
+ many/most OSes that won't allow us to find libsasl at runtime. On
+ Solaris, we need to specify the library path with -R as well (or
+ else the user will have to use the $LD_LIBRARY_PATH kludge, which
+ is considered harmful). This fix should be extended to other OSes
+ as well.
+
+ * Print whether we have SASL support in the "nmh configuration"
+ summary configure prints out.
+
+ * Say in README.developers to use `\date' in case anyone is like
+ me and has `date' aliased in their shell to use a nonstandard (but
+ subjectively more readable) format.
+
+Thu Jan 25 21:15:52 2001 Shantonu Sen <ssen@mit.edu>
+
+ * man/mh-chart.man has updated synposes of
+ all nmh commands.
+
+Tue Jan 23 20:26:15 2001 Shantonu Sen <ssen@mit.edu>
+
+ * etc/digestcomps tried to force dates into a
+ 19xx when it's not necessary.
+
+Fri Jan 19 21:22:08 2001 Shantonu Sen <ssen@mit.edu>
+
+ * First round of manpage updates finished. They
+ are standardized on -man macros, with minimal
+ roff mark-up.
+
+ * man/tmac.h.in is no longer needed, since the
+ manpages do not depend on them anymore. Note:
+ strict "man" programs that didn't allow ".so"
+ sourcing outside the man tree will now format
+ the man pages correctly.
+
+ * man/vmh.1 is no longer built, since uip/vmh isn't
+
+Tue Jan 9 6:01:22 2001 Shantonu Sen <ssen@mit.edu>
+
+ * Finished manpages ali-prev
+
+ * Removed deprecated files from the repository.
+ Specifically, those rooted in zotnet/ and mts/sendmail
+ mts/mmdf. "cvs update -dP" will give a pruned directory
+ structure.
+
+ * Updated docs/Makefile.in to include README.manpages, and
+ uip/Makefile.in to include popi.c (which isn't being built,
+ though). This allows "make nmhdist" to create an archive that
+ is file-for-file identical to the current cvs repository.
+
+Sun Dec 31 20:48:50 2000 Shantonu Sen <ssen@mit.edu>
+
+ * Create docs/README.manpages, which details
+ the formatting rules I've been using.
+
+ * Finished ali-inc.
+
+Sat Dec 30 9:50:13 2000 Shantonu Sen <ssen@mit.edu>
+
+ * Created a new file "DATE" to hold the date
+ of the most recent nmh release. This date will be
+ used in the manpages.
+
+ * Updated docs/README.developers to add the step
+ of updating DATE. Also, updated configure to
+ read in the contents of the file as the variable
+ $DATE.
+
+ * Started work on updating man pages, with only
+ ali finished so far. Changes: 1) no dependence
+ on an external macro file, 2) uses only
+ -man macros (although I may be mistaken in this),
+ 3) syntax in the SYNOPSIS is a little more
+ in line with standard UNIX documentation, such as
+ bold flags and italicized parameters.
+
+Sun Dec 24 10:06:30 2000 Shantonu Sen <ssen@mit.edu>
+
+ * Updated INSTALL with information about the
+ --with-locking option.
+
+ * Fixed the Hesiod tests in configure.in. In
+ systems where res_send was in -lresolv, this
+ information was not being communicated to the
+ HESIOD_LIBS var. Now, if res_send is not found
+ in the default libraries, it's assumed to be
+ in -lresolv, and thus -lresolv is appended to
+ HESIOD_LIBS, which will need that to avoid
+ undefined symbols problems.
+
+ * Fixed the Kerberos tests in configure.in. New
+ versions of Kerberos 5 have renamed -lcrypto
+ to -lk5crypto (circa krb5 1.1 or thereabouts). The
+ new test tries to determine if -lk5crypto exists. If so,
+ this is a new krb5 system. If not, test for -lcrypto
+ and the rest of old krb5. If that fails, look
+ for a genuine krb4 installation.
+
+Fri Dec 22 22:08:51 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+ * -apop and -noapop were not documented in msgchk.man.
+ -snoop was documented but didn't appear in the usage SYNOPSIS.
+
+Fri Dec 22 23:42:16 2000 Shantonu Sen <ssen@mit.edu>
+
+ * Made a new ./configure option called
+ "--with-locking" that allows the file
+ locking mechanism to be chosen there instead of
+ requiring a manual edit of config.h.
+
+ * If the option is not explicitly set, or an
+ invalid option is specified, "dot" locking is
+ chosen. Valid options are "dot", "fcntl",
+ "flock", and "lockf". We need a way to tell
+ the user that these are the valid options, and
+ change the flag "--with-locking" if it's not
+ descriptive enough.
+
+Fri Dec 22 19:21:29 2000 Shantonu Sen <ssen@mit.edu>
+
+ * Remove the lex-specific memory hints at the
+ beginning of sbr/dtimep.lex. We've already
+ committed to supporting flex only, since
+ lex does not easily allow us to parse a single
+ string, as well as other problems documented
+ below and on nmh-workers.
+
+ * Added a switch statement to configure.in to
+ test for Mac OS X. If this is the case, LDFLAGS
+ should not contain "-s" since the linker rejects
+ the flag.
+
+ * Updated MACHINES to include Mac OS X Public Beta,
+ as well as Linux 2.4 running glibc 2.2.
+
+Wed Dec 20 16:00:46 2000 Shantonu Sen <ssen@mit.edu>
+
+ * Marked deprecated directories in docs/README.developers
+ as deprecated, with pointers to the new code location.
+ Eventually these deprecated directories should go away.
+
+Tue Dec 19 19:16:37 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+ * -apop and -noapop were not documented in inc.man. -snoop was
+ documented but didn't appear in the usage SYNOPSIS.
+
+Thu Dec 14 14:32:09 2000 Shantonu Sen <ssen@mit.edu>
+
+ * Updated config.guess and config.sub to the most recent
+ versions on ftp://ftp.gnu.org/pub/gnu/config, dated
+ 12-07-00. This should prevent configure from failing
+ on newer operating systems because config.{guess,sub}
+ couldn't correctly identify them.
+
+Thu Dec 14 1:30:44 2000 Shantonu Sen <ssen@mit.edu>
+
+ * Fixed the circular dependency created when I moved
+ zotnet/mts to mts/generic and merged them into libmts.
+ mts/generic/client.c and mts/generic/mts.c are now in sbr/
+ (and thus in libmh), which makes libmh self-contained and
+ not depending on an external archive.
+
+ * All include statements now look for mts.h in h/. The
+ Makefiles and configure script have been modified so that
+ mts/generic is no longer built.
+
+Mon Dec 11 22:08:07 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+ * When Shantonu made the new libmts.a, he swapped $(MTSLIB) and
+ libmh.a in sbr/Makefile.in so that libmh.a comes first, but this
+ causes the build to fail on Solaris, because libmts.a has to get
+ ruserpass() out of libmh.a. Swapping them back to the way Ken
+ Hornstein's patch (which I applied on Jul 20) put them, with
+ libmh.a correctly coming second. If there are times when libmts.a
+ needs to come second, then it would appear there's a circular
+ dependency and someone (Shantonu?) did an mts merge incorrectly.
+
+Fri Sep 8 01:36:23 2000 Shantonu Sen <ssen@mit.edu>
+
+ * Took out bad time textual time zones like BST and JST.
+ I found them online somewhere, but am not sure if they're
+ correct.
+
+Fri Sep 8 00:36:48 2000 Shantonu Sen <ssen@mit.edu>
+
+ * Moved zotnet/mts to mts/generic. This code reorganization
+ makes the entire zotnet tree deprecated -- bboards is unneeded,
+ mf was was moved to sbr, tws was rewritten and moved to sbr, and
+ now finally mts.
+
+ * Created a new static library called libmts.a used during
+ compilation which includes the generic mts code and the
+ smtp/sendmail code. This supercedes the functionality of the
+ old libsmtp.a and the remains of libzot.a.
+
+ * Updated header includes to reference the new location of mts.h
+ in mts/generic/mts.h. Also, update the configure and top-level
+ Makefile not to descend into zotnet. Also, they don't descend
+ into mts/mmdf and mts/sendmail (the sendmail code has been
+ merged into the smtp code).
+
+ * Added #include <h/nmh.h> to h/md5.h, since my compile was
+ complaining about implicitly-declared memcpy and memset, which
+ appear to be in strings.h. In any event, nmh.h should take care
+ of it for us.
+
+ * When doing a "make nmhdist", notice that the generated
+ snapshot does not include zotnet of the mts directories as noted
+ above. Since they are no longer compiled, and I don't see any
+ obvious code path to get to them, end-users should probably
+ not need them. If you think otherwise, turn Makefile generation
+ back on in configure.in and turn on recursion into those dirs
+ in the appropriate Makefile.in
+
+Wed Sep 6 22:40:03 2000 Shantonu Sen <ssen@mit.edu>
+
+ * Tracked down the problem in the new dtimep where time
+ zones were being radically misreported. It was because the
+ parser knew about military time zones (such as M or E) but in
+ some cases did not know about the textual representation of
+ some zones (like MET). When it encountered one of these, the
+ date parser misread MET as the military time zone T (well, first
+ zone M, then E, and finally T). I took military zones out, and
+ things seem much better. Also, the default behavior of parsing
+ time zones appears to default to GMT in the absence of better
+ info, which is less bogus than assuming the mail came from the
+ current time zone, which was the behavior in 1.04.
+
+Thu Aug 10 13:22:13 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+ * Decided that limiting the message number columns to 3 on my
+ scan.MMDDYY and scan.YYYYMMDD (to try to regain space taken by
+ extra date info) was ill-conceived. It's not that tough to get
+ past 999 messages, though I imagine it's rather rare to exceed
+ 9999. Changed these to 4. Also put the "replied / encrypted"
+ column back in YYYYMMDD -- I've never seen it show anything but a
+ space, but that space is useful if you use scan, grep, and awk
+ (with the default field separator) to grab message numbers (I know
+ -- pick should really be used for these purposes...).
+
+Mon Aug 7 20:11:09 CEST 2000 Ruud de Rooij <ruud@ruud.org>
+
+ * Modify umask set by mhshow to enable user execute bit, so that
+ viewers that create temporary directories (e.g., lynx) will be
+ able to access them.
+
+Thu Aug 03 17:14:08 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+ * TODO: Allow multiple simultaneous differing contexts, probably
+ each tied to a parent (terminal) process.
+
+Tue Aug 1 10:48:05 EDT 2000 Kimmo Suominen <kim@tac.nyc.ny.us>
+
+ * Makefile install rules should not look for generated files in
+ the source tree -- this will happen to work when configuring and
+ building inside the source tree but will fail when using an
+ external build tree. Fixed etc/Makefile.in.
+
+Mon Jul 24 16:20:45 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+ * When Shantonu wrote the new, more portable dtimep.lex, he left
+ out the #ifdef DSTXXX stuff for some reason. Not a good idea, as
+ that code is required for proper printing of numeric-offset
+ timezones that have daylight saving time. Without that code,
+ -0700 during DST gets printed as MST instead of PDT.
+
+ * Renamed DSTXXX as ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST and
+ added an explanatory comment by its #definition.
+
+ * Updated README.developers with the fact that zotnet/tws is going away.
+
+Thu Jul 20 20:30:52 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+ * Moved Kimmo's new "--with-hash-backup" to be output with the
+ rest of the --with options in the configure --help output. Also,
+ people did not preserve my alphabetization of the --with options
+ when they added new ones. Re-alphabetized.
+
+ * One more pass at README.developers now that it's clear that my
+ previously-suggested one-line autoconf-file commit can cause
+ unnecessary local makes and an out-of-sync stamp-h.in file, but
+ would not cause problems for other people using the CVS files.
+
+ * Ken Hornstein's SASL patch was not integrated properly with
+ Ruud's new merged mts/sendmail code. Kimmo has since fixed nmh so
+ it compiles, but according to Ken, the SASL stuff still does not
+ work. Integrating a patch from him for this.
+
+ * Last pass at README.developers -- Kimmo's 5-step commit was
+ overkill. You only need 3 steps, since configure.in is the only
+ autoconf file with the RCS $Id keyword.
+
+ * Applied Kurt J. Lidl <lidl@eng.us.uu.net>'s $MAILHOST patch:
+
+ I have a small patch that would be nice to be included --
+ basically, it allows the usage of the "MAILHOST" environment
+ variable, without having to have HESIOD turned on. I need
+ this functionality for my environment, where we have identical
+ /usr/local on all my machines (so I cannot just hardcode into
+ the mts.conf file), and I have multiple POP mail servers for
+ my users.
+
+ Modified inc.man to reflect that along with "pophost:" and -host,
+ $MAILHOST can now activate POP mail inclusion as well.
+
+ * Fixed warnings from diff on first-time install of nmh. Also
+ added 'echo's clarifying the etc file installation activities.
+
+Tue Jul 18 19:36:59 EDT 2000 Kimmo Suominen <kim@tac.nyc.ny.us>
+
+ * Added the answer to Dan's question in README.developers.
+
+Mon Jul 17 19:10:36 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+ * Clarified and made some corrections to Kimmo's README.developers
+ changes (BTW, if anyone can explain why the RCS Ids are able to cause
+ problems with the dependencies, please fill in the explanation --
+ I never encountered a problem with the old single-commit method).
+
+Sat Jul 15 23:13:49 EDT 2000 Kimmo Suominen <kim@tac.nyc.ny.us>
+
+ * Add configure option --with-hash-backup so the backup prefix can
+ be easily changed from "," to "#".
+
+ * Simplified sbr/Makefile.in so that it works with any make.
+
+ * Use mkstemp in sbr/lock_file.c.
+
+ * Commits of autoconf-related files apparently can't all be done
+ in one shot due to RCS Ids changing when committing -- updated
+ README.developers.
+
+Tue Jul 11 14:18:01 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+ * Clarified post.man and send.man for those not completely up on
+ SASL terminology. "SASL encryption layers are not supported for
+ SMTP" means that encryption is supported for the authentication
+ but not for the subsequent data stream.
+
+Sat Jul 8 01:36:19 EDT 2000 Kimmo Suominen <kim@tac.nyc.ny.us>
+
+ * Applied Ken Hornstein <kenh@cmf.nrl.navy.mil>'s patches
+ implementing SASL support for POP3 and SMTP. If nmh is compiled
+ with SASL support, using the -sasl switch on the inc, msgchk,
+ post, and send commands will enable authentication encryption for
+ SMTP, and both authentication and data stream encryption for POP3.
+
+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 "<" and ">" 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
* 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. I guess the idea was to make 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
+ 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. It doesn't make sense to show that you're
- allowed to "abbreviate" the switch to its entire length.
+ 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>
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.
+ 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.
Thu Jan 27 12:22:25 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
- * makedir() had multiple bugs dating back to MH. It passed an
- octal constant to atoi(), which interpreted it as decimal,
- resulting in directories with no user read or execute permissions,
- making nested directory creation fail. Also, when creating a
- nested directory, correct permissions were only set on the inner one.
+ * 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.
corrupted, and installation would bomb out on OSes where inc needs
to be setgid.
- * Implemented a new kind of email address masquerading. 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).
+ * 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>
* 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!
* 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.