added Todd Miller's packf patch
[mmh] / ChangeLog
index 749e73c..b03b6e6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,251 @@
+Tue Mar 28 16:17:39 2000 Doug Morris <doug@mhost.com>
+
+       * applied Todd Miller's <Todd.Miller@courtesan.com> 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.  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
+       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.
+
 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:
@@ -25,11 +273,12 @@ Fri Jan 28 17:39:24 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
 
 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.
@@ -46,18 +295,18 @@ Tue Jan 25 22:58:12 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
        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>