Upped the version number to 1.0.4+dev.
[mmh] / ChangeLog
index c97e57c..9ec45a4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+Fri Apr 14 17:59:43 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Upped the version number to 1.0.4+dev.
+
+Fri Apr 14 17:50:36 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.
+
+Fri Apr 14 17:50:36 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 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 the
-       lex output file (at least under AIX 4.1.5 and Solaris 2.6).
+       * 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>
 
@@ -174,7 +586,7 @@ Sun Sep 12 09:19:27 1999 Doug Morris <doug@mhost.com>
        * 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!
 
@@ -208,7 +620,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. 
@@ -623,9 +1035,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
@@ -1774,10 +2186,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.