+Mon May 08 23:46:29 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.
+
+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
+ 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>