mmh
24 years agoApplied Simon Burge <simonb@thistledown.com.au>'s dtimep.lex patch:
Dan Harkless [Tue, 14 Mar 2000 20:40:47 +0000 (20:40 +0000)]
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.

Added scan.MMDDYY and scan.YYYYMMDD format files.

24 years ago* Applied, after some finessing,
Dan Harkless [Tue, 14 Mar 2000 09:20:27 +0000 (09:20 +0000)]
* 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.

24 years agoApplied Simon Burge <simonb@thistledown.com.au>'s dtime.c patch:
Dan Harkless [Tue, 14 Mar 2000 05:24:57 +0000 (05:24 +0000)]
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).

24 years agoModified username_extension masquerading to only use the extended address on
Dan Harkless [Tue, 14 Mar 2000 05:05:49 +0000 (05:05 +0000)]
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").

While in there (adrsprintf()), added checking of snprintf()'s return code and
added calls to adios() when things are not kosher.  Also simplfied the really
confusing REALLYDUMB #ifdef'ing, which didn't even jibe with the comment
explaining REALLYDUMB in acconfig.h.  Now adrsprintf() will always return just
the username, even if an explicit domain is passed in (which currently doesn't
happen anywhere in nmh).

24 years agoJust removed the odd space between the "!" and the "/bin/sh". I believe some
Dan Harkless [Tue, 14 Mar 2000 02:39:13 +0000 (02:39 +0000)]
Just removed the odd space between the "!" and the "/bin/sh".  I believe some
OSes might choke on that, and certainly no OS requires it.

24 years agoApplied Sullivan N. Beck <sbeck@cise.ufl.edu>'s mhshow-suffix patch:
Dan Harkless [Tue, 14 Mar 2000 02:29:26 +0000 (02:29 +0000)]
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".

24 years agoApplied Neil W Rickert <rickert+nmh@cs.niu.edu>'s msh.c patch:
Dan Harkless [Mon, 6 Mar 2000 20:19:04 +0000 (20:19 +0000)]
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.

24 years agoChanged the new "plussed_user" option to mts.conf's "masquerade:" to
Dan Harkless [Sat, 4 Mar 2000 00:02:46 +0000 (00:02 +0000)]
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.

24 years agoOops. I was using an older email address for Neil -- now he uses the $USERPLUS
Dan Harkless [Fri, 3 Mar 2000 07:30:31 +0000 (07:30 +0000)]
Oops.  I was using an older email address for Neil -- now he uses the $USERPLUS
feature that I'm crediting him for.  ;^>

24 years agoAdded a new "boolean" type to mh.h and TRUE and FALSE constants.
Dan Harkless [Fri, 3 Mar 2000 07:24:41 +0000 (07:24 +0000)]
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@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.

24 years agoOops. You can't just change comments in configure.in, or configure won't be
Dan Harkless [Thu, 2 Mar 2000 08:20:00 +0000 (08:20 +0000)]
Oops.  You can't just change comments in configure.in, or configure won't be
modified (it doesn't contain the comments) and you won't be able to commit it,
and then the timestamps'll be messed up for everyone and unnecessary autoconf
calls will occur.  Added some unnecessary (but frequently used in the file)
trailing 'dnl's on some AC_SUBST()s.

24 years agoOops. My last group commit comment failed to mention what I was doing in this
Dan Harkless [Thu, 2 Mar 2000 07:56:00 +0000 (07:56 +0000)]
Oops.  My last group commit comment failed to mention what I was doing in this
file.  I was adding:

* Change all man pages to group all the commandline options together in one
  section with each as a separate mini-heading.  Having to dig through prose to
  find what a particular option does is a pain in the nads.

This time, moved it out of the [POSSIBILITIES] section and put it in the [TODO]
section, as I feel it's very important (and wouldn't be that difficult to do --
somewhat time-consuming, yes, but not difficult).

24 years agoChanged the GECOS-field '&' translation behavior to be controlled by the BSD42
Dan Harkless [Thu, 2 Mar 2000 07:52:47 +0000 (07:52 +0000)]
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.

Also added ULTRIX 4.2A to the list of OSes that have an initgroups() function
but no prototype in the system headers.

24 years agoMade a goofy change so that I could produce a new configure because when I
Dan Harkless [Tue, 29 Feb 2000 06:17:58 +0000 (06:17 +0000)]
Made a goofy change so that I could produce a new configure because when I
checked in the last version I did it with "cvs commit ... configure configure.in
..." and that apparently gives configure.in a newer timestamp than configure,
which results in spurious autoconf runs when people download the source.  We
need to write a little note to developers somewhere saying what in order you
need to check in those autoconf files and how long you need to wait in between
each one and such...

24 years agoChanged "echo > stamp-h.in" in Makefile.in to "date > stamp-h.in" so that
Dan Harkless [Tue, 29 Feb 2000 05:59:16 +0000 (05:59 +0000)]
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.

24 years agoUpped the version number to 1.0.3+dev (ideally this should be done by whoever
Dan Harkless [Tue, 29 Feb 2000 05:16:35 +0000 (05:16 +0000)]
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.

24 years ago * Fix security hole in mhshowsbr.c which allowed untrusted shell
Ruud de Rooij [Mon, 28 Feb 2000 17:09:02 +0000 (17:09 +0000)]
* Fix security hole in mhshowsbr.c which allowed untrusted shell
  code to be executed.
* Released nmh 1.0.3.

24 years agoOops. %-escapes on mhstore lines in mhn.defaults.sh should not be surrounded by
Dan Harkless [Thu, 10 Feb 2000 18:50:23 +0000 (18:50 +0000)]
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.

24 years agoRemoved an item that Richard did without removing its TODO, and removed an item
Dan Harkless [Fri, 4 Feb 2000 20:36:43 +0000 (20:36 +0000)]
Removed an item that Richard did without removing its TODO, and removed an item
that was duplicated in two different priority sections.

24 years agoWhoever originally added the -help switch to all the commands got too cute and
Dan Harkless [Fri, 4 Feb 2000 20:34:07 +0000 (20:34 +0000)]
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.

24 years agoWhoever originally added the -help switch to all the commands got too cute and
Dan Harkless [Fri, 4 Feb 2000 20:28:23 +0000 (20:28 +0000)]
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.

24 years agoModified INSTALL and config.h.in to reflect the new -kpop feature.
Dan Harkless [Fri, 4 Feb 2000 01:46:29 +0000 (01:46 +0000)]
Modified INSTALL and config.h.in to reflect the new -kpop feature.

24 years ago* Applied wesley.craig@umich.edu's KPOP patches. According to him:
Dan Harkless [Fri, 4 Feb 2000 01:32:12 +0000 (01:32 +0000)]
* 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.

  One tweak I made to the patch he sent to nmh-workers was to move the
  declaration of his new hp2 variable into the #ifdef KPOP section so you don't
  get an "unused variable" warning when compiling without KPOP.

* Modified inc.man and msgchk.man to document Wesley's new -kpop.

24 years agoAdded check for lynx to write mhshow-show-text/html line in mhn.defaults.sh.
Dan Harkless [Sat, 29 Jan 2000 01:34:20 +0000 (01:34 +0000)]
Added check for lynx to write mhshow-show-text/html line in mhn.defaults.sh.

24 years agoMade a couple of minor whitespace changes to test if the latest beta version of
Dan Harkless [Fri, 28 Jan 2000 23:29:06 +0000 (23:29 +0000)]
Made a couple of minor whitespace changes to test if the latest beta version of
CVS fixes this bug:

    dilvish-dan> cvs commit ../ChangeLog mhn.defaults.sh
    danh@mhost.com's password:
    Warning: Remote host denied X11 forwarding, perhaps xauth program could not be run on the server side.
    cvs: lock.c:179: lock_name: Assertion `*short_repos++ == '/'' failed.
    Terminated with fatal signal 6
    cvs commit: saving log message in /tmp/cvslIx_yb

24 years agoAll %-escapes in mhn.defaults that actually expand to something should be
Dan Harkless [Fri, 28 Jan 2000 22:00:33 +0000 (22:00 +0000)]
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.

24 years agomakedir() had multiple bugs dating back to MH. It passed an octal constant to
Dan Harkless [Thu, 27 Jan 2000 20:20:01 +0000 (20:20 +0000)]
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.

A second `make install' would always fail because the check for whether
mh_profile.5 existed was written incorrectly.

24 years agoDoug's check for whether mh_profile.5 exists was bad -- it looked in the local
Dan Harkless [Thu, 27 Jan 2000 20:14:58 +0000 (20:14 +0000)]
Doug's check for whether mh_profile.5 exists was bad -- it looked in the local
directory rather than the installation directory, so the check would always
return false and re-installation when mh_profile.5 did exist would bomb out.

24 years agoFixed multiple bugs in makedir(). First off, when creating nested folders, it
Dan Harkless [Thu, 27 Jan 2000 20:12:38 +0000 (20:12 +0000)]
Fixed multiple bugs in makedir().  First off, when creating nested folders, it
only set permissions properly on the innermost one.  Secondly, it passwd an
octal constant to atoi(), which only works on decimal numbers, resulting in
directories with no user read or execute permission, making creation of nested
dirs fail.

Also added a comment wondering why we do special processing when euid != uid.
If no one disagrees with my comments, I'll remove that weird code in the future.

24 years agoDan Winship informed me that the right fix when gcc -Wall complains about char
Dan Harkless [Wed, 26 Jan 2000 21:35:43 +0000 (21:35 +0000)]
Dan Winship informed me that the right fix when gcc -Wall complains about char
indexes to arrays is to cast to unsigned char, not int.  You want to prevent
negative indexes into the array.

24 years agoAdded documentation on both types of masquerading to post's man page.
Dan Harkless [Wed, 26 Jan 2000 10:16:32 +0000 (10:16 +0000)]
Added documentation on both types of masquerading to post's man page.

Also clarified some wording and added a note that the new type of masquerading
has been implemented only for post, not for the undocumented spost backend.

24 years agoExpanded the mention of the $SIGNATURE environment variable to talk about the
Dan Harkless [Wed, 26 Jan 2000 10:14:14 +0000 (10:14 +0000)]
Expanded the mention of the $SIGNATURE environment variable to talk about the
three different ways to override "From:" header construction.  Also added
mh-tailor(5) to the "SEE ALSO" section.

24 years agoJust added a comment explaining that akvalue() does mh alias substitution.
Dan Harkless [Wed, 26 Jan 2000 09:27:59 +0000 (09:27 +0000)]
Just added a comment explaining that akvalue() does mh alias substitution.

24 years agoI had my envelope-From:-setting in the wrong place in the code, before alias
Dan Harkless [Wed, 26 Jan 2000 09:26:23 +0000 (09:26 +0000)]
I had my envelope-From:-setting in the wrong place in the code, before alias
processing was done.  Put it in the right place, and properly implemented
Resent-From:-handling, which I had neglected before.

24 years agoAdded a comment bemoaning the lack of aliasing on the From: header and
Dan Harkless [Wed, 26 Jan 2000 09:24:15 +0000 (09:24 +0000)]
Added a comment bemoaning the lack of aliasing on the From: header and
explaining why I wasn't going to bother implementing my new draft-From:-based
email address masquerading right now.

24 years agoDoug's portability fix of my setgid inc autodetection had a caching bug -- if
Dan Harkless [Wed, 26 Jan 2000 06:51:50 +0000 (06:51 +0000)]
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
fail 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:".

24 years agoI'm surprised this didn't hit anyone sooner. Doug's portability fix of my
Dan Harkless [Wed, 26 Jan 2000 06:39:49 +0000 (06:39 +0000)]
I'm surprised this didn't hit anyone sooner.  Doug's portability fix of my
setgid inc autodetection didn't do its caching properly.  It cached the variable
$nmh_cv_ls_mail_grp (previously $nmh_group_mailspool), but did substitution on
$MAIL_SPOOL_GRP (previously $MAILGROUP) without setting the latter to the
former.  That meant that when re-running configure, $MAIL_SPOOL_GRP would be
NULL, so the $(MAIL_SPOOL_GRP) Make variable would be NULL, and installation
would fail with the error "install:  2755 does not exist" (since the argument to
-g was missing).

24 years agoImplemented a new type of username masquerading, which is also activated by
Dan Harkless [Wed, 26 Jan 2000 05:40:30 +0000 (05:40 +0000)]
Implemented a new type of username masquerading, which is also activated by
setting mmailid to non-zero in mts.conf.  The new type is based on the From:
header in the message draft rather than the GECOS field of the passwd file like
the old type.

With mmailid turned off, when a user specifies a custom From: header in a draft,
it'll be used, but the user's real address will be revealed in the SMTP envelope
From: and in the Sender: header.  With mmailid on, this revelation is disabled.

Also copied to here my new comment from mh.h explaining (if I understand it
correctly) the functionality of struct swit's minchars field.  Also, changed the
minchars for "help" from 4 to 0.  It doesn't make sense to use a positive
integer that's the exact length of the option.  That'll make it print out like
"-(help)".  The parentheses are supposed to go around the minimum part of the
option you need to specify when abbreviating it.  Perhaps someone thought it
would be cute to put "help" in parentheses to imply that you know about it
already as you just specified it be seeing the current output, but I think this
"overloading" of the meaning of the parentheses is awkward.  I need to go around
and change "help" to 0 everywhere, but it's getting too late to do it tonight.

Also added some other explanatory comments to existing code.

24 years agoUpdated to reflect that there are now two types of username masquerading
Dan Harkless [Wed, 26 Jan 2000 05:28:33 +0000 (05:28 +0000)]
Updated to reflect that there are now two types of username masquerading
(GECOS-based, the old one, and draft-From:-based, the new one).  Also clarified
existing wording.

24 years agoDocumented the minchars field of struct swit to the best of my understanding.
Dan Harkless [Wed, 26 Jan 2000 05:03:07 +0000 (05:03 +0000)]
Documented the minchars field of struct swit to the best of my understanding.

24 years agoModified the mmailid comment to reflect that there are now two types of
Dan Harkless [Wed, 26 Jan 2000 05:01:06 +0000 (05:01 +0000)]
Modified the mmailid comment to reflect that there are now two types of
masquerading (wouldn't want sysadmins to not realize that by allowing one,
they're allowing the other).  I also prefer my new wording of "allow" vs. the
old "turn on" because the latter implied that masquerading would take effect
just by setting that variable (not the case unless /etc/passwd had been
previously modified to have the <fakeusername>s).

24 years agoWhoever changed all the references to nmh-workers@math.gatech.edu to
Dan Harkless [Wed, 26 Jan 2000 04:57:57 +0000 (04:57 +0000)]
Whoever changed all the references to nmh-workers@math.gatech.edu to
nmh-workers@mhost.com missed this file.

24 years agoChanged Mmailids to an extern so that we can access it from post.c to see if we
Dan Harkless [Wed, 26 Jan 2000 04:54:30 +0000 (04:54 +0000)]
Changed Mmailids to an extern so that we can access it from post.c to see if we
should do the new draft-From:-based masquerading.  Also clarified some comments
now that there are two different types of masquerading.

24 years agoJust clarified a couple of points in my last change description.
Dan Harkless [Tue, 25 Jan 2000 21:06:09 +0000 (21:06 +0000)]
Just clarified a couple of points in my last change description.

24 years agoThe prototype I gave for initgroups() which was documented in the AIX 4.1 info
Dan Harkless [Tue, 25 Jan 2000 07:45:10 +0000 (07:45 +0000)]
The prototype I gave for initgroups() which was documented in the AIX 4.1 info
page conflicted with the real one that comes from grp.h on Solaris 2.6.
Adjusted it so the local prototype is correct on both (hopefully all)
platforms.  Also added an include of <unistd.h>, which is where initgroups()
lives on HP-UX 10.20.

24 years agoI kept going back and forth checking in new pointless revisions of
Dan Harkless [Tue, 25 Jan 2000 07:10:25 +0000 (07:10 +0000)]
I kept going back and forth checking in new pointless revisions of
configure[.in], but it now looks like the problem was that stamp-h.in was older
than configure.in (or maybe there were two problems).  Hopefully this'll get rid
of the needless auto* calls.

24 years agoShoot. Apparently it gets the timestamp from the check-in time rather than
Dan Harkless [Tue, 25 Jan 2000 06:56:25 +0000 (06:56 +0000)]
Shoot.  Apparently it gets the timestamp from the check-in time rather than
preserving the actual timestamp on the file when you check it in, so the
timestamp was the same for configure.in and configure, so the Makefile was doing
an autoconf just in case.  This time I'm checking in configure.in first and
configure at least a second later.  What a pain.

24 years agoAccidentally checked in configure with older date than configure.in, but I
Dan Harkless [Tue, 25 Jan 2000 06:46:13 +0000 (06:46 +0000)]
Accidentally checked in configure with older date than configure.in, but I
hadn't made changes to configure.in that would result in a different configure,
so I can't check one in with the right timestamp.  Therefore, I made a
meaningless change to configure.in (adding a "dnl" to the end of line that was
like others that had "dnl" at the end but didn't have one itself) and
regenerated configure.

24 years agoThe conditional definition of the "np" variable didn't make any sense. It was
Dan Harkless [Tue, 25 Jan 2000 06:21:38 +0000 (06:21 +0000)]
The conditional definition of the "np" variable didn't make any sense.  It was
only defined if HAVE_GETHOSTBYNAME was defined and only used when
HAVE_GETHOSTBYNAME wasn't defined.  I'm kind of surprised that never blew up
anywhere.  Changed the definition conditional to match the usage conditional.

24 years agoGot rid of the rest of the warnings that I didn't have time for on 1999-07-15
Dan Harkless [Tue, 25 Jan 2000 06:19:51 +0000 (06:19 +0000)]
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).

24 years agoOn AIX 4.1, snprintf() is defined in libc.a but there's no prototype in
Dan Harkless [Tue, 25 Jan 2000 06:18:54 +0000 (06:18 +0000)]
On AIX 4.1, snprintf() is defined in libc.a but there's no prototype in
<stdio.h> or elsewhere.  Apparently it's not officially supported (though it
seems to work perfectly and IBM apparently uses it in internal code).  Anyhow,
if we omit our own snprintf() and vsnprintf() prototypes when we HAVE_SNPRINTF,
we get a billion warnings at compile time.  Use the C preprocessor to preprocess
stdio.h and make sure that there's actually a prototype.  Define
HAVE_SNPRINTF_PROTOTYPE if so, and use that to control our local prototype
definition.

Also, define strcasecmp() and strncasecmp() here all the time since we define
our own versions and always use them.  The only way we could get into trouble
doing this would be if the vendor's versions didn't have the same parameters,
but I don't see that happening.  If we don't define them here, we get warnings
all over the place that default prototypes are being used for 'em, and the
system header to include varies from OS to OS.

24 years agoOn AIX 4.1, snprintf() is defined in libc.a but there's no prototype in
Dan Harkless [Tue, 25 Jan 2000 06:13:38 +0000 (06:13 +0000)]
On AIX 4.1, snprintf() is defined in libc.a but there's no prototype in
<stdio.h> or elsewhere.  Apparently it's not officially supported (though it
seems to work perfectly and IBM apparently uses it in internal code).  Anyhow,
if we omit our own snprintf() and vsnprintf() prototypes when we HAVE_SNPRINTF,
we get a billion warnings at compile time.  Use the C preprocessor to preprocess
stdio.h and make sure that there's actually a prototype.  Define
HAVE_SNPRINTF_PROTOTYPE if so, and use that to control our local prototype
definition.

24 years agoAdded include of signals.h for SIGNAL() prototype.
Dan Harkless [Tue, 25 Jan 2000 06:06:18 +0000 (06:06 +0000)]
Added include of signals.h for SIGNAL() prototype.

24 years agoAdded include of mh.h for snprintf() prototype.
Dan Harkless [Tue, 25 Jan 2000 06:04:29 +0000 (06:04 +0000)]
Added include of mh.h for snprintf() prototype.

24 years agoAdded include of mh.h to get snprintf() prototype and changed all references to
Dan Harkless [Tue, 25 Jan 2000 06:00:22 +0000 (06:00 +0000)]
Added include of mh.h to get snprintf() prototype and changed all references to
getcpy() to our_getcpy() to prevent conflict with the external one.

24 years agoPut in a prototype for stdio internal function _filbuf() to get rid of the
Dan Harkless [Tue, 25 Jan 2000 05:58:26 +0000 (05:58 +0000)]
Put in a prototype for stdio internal function _filbuf() to get rid of the
"default prototype" warning (only do this when we didn't #define it to something
specific due to another #define telling us to do so).

24 years agoPut in a prototype for client() to get rid of the "default prototype" warning.
Dan Harkless [Tue, 25 Jan 2000 05:55:20 +0000 (05:55 +0000)]
Put in a prototype for client() to get rid of the "default prototype" warning.
The prototype should really go in a new client.h file or somewhere, but I don't
have time right now for that.

24 years agoTypecast to get rid of warnings that index into cc[] is a char.
Dan Harkless [Tue, 25 Jan 2000 05:53:40 +0000 (05:53 +0000)]
Typecast to get rid of warnings that index into cc[] is a char.

24 years agoPut in prototype for initgroups() to get rid of "default prototype" warning. On
Dan Harkless [Tue, 25 Jan 2000 05:52:31 +0000 (05:52 +0000)]
Put in prototype for initgroups() to get rid of "default prototype" warning.  On
AIX 4.1, at least, the function exists in libc.a but doesn't exist in any .h.

24 years agoTypecast to get rid of warnings that array index into types[] is a char.
Dan Harkless [Tue, 25 Jan 2000 05:50:12 +0000 (05:50 +0000)]
Typecast to get rid of warnings that array index into types[] is a char.

24 years ago * Move mhtest from bindir to libdir.
Ruud de Rooij [Thu, 6 Jan 2000 21:30:07 +0000 (21:30 +0000)]
* Move mhtest from bindir to libdir.

* Move sendfiles from libdir to bindir.

* Updated sendfiles manpage to reflect this change.

* Added documentation for -build and -file switches to repl and
  forw manpages (patch from Peter Maydell).

* Fixed interaction between specifying -cc in profile and -group on
  command-line.

25 years ago* Add command to reverse the action of rmm [-nounlink] -- "urmm"? "umm"? "um"?
Dan Harkless [Thu, 11 Nov 1999 01:01:07 +0000 (01:01 +0000)]
* Add command to reverse the action of rmm [-nounlink] -- "urmm"?  "umm"?  "um"?
* Allow user customization of which kinds of text parts in multipart/alternative
  messages are preferred.  It would be nice if one selectable behavior would be
  to be prompted at runtime for which version to show.
* Add a new %-escape that makes temp files more permanent than %f, so that you
  can use gnuclient -q or netscape -remote on message parts.  Put netscape
  -remote in mhn.defaults for text/html once this is done.

25 years agoChanged the version number from 1.0.3 to 1.0.2+dev. There was not unanimous
Dan Harkless [Tue, 2 Nov 1999 21:49:47 +0000 (21:49 +0000)]
Changed the version number from 1.0.3 to 1.0.2+dev.  There was not unanimous
support for my proposed even/odd release/developer version number dichotomy.
1.0.2+dev implies release 1.0.2 plus some development.

25 years agoUpped the version number to 1.0.3. If we don't do this, then when people report
Dan Harkless [Fri, 29 Oct 1999 20:42:13 +0000 (20:42 +0000)]
Upped the version number to 1.0.3.  If we don't do this, then when people report
bugs against 1.0.2, we won't know "which" 1.0.2 they're talking about (since the
development source is publically available via CVS).  I think the Linux kernel
version numbers are a good model, so the next time we roll a tarball, it should
be version 1.0.4 (or higher -- anyhow, an even-numbered version).

25 years agoupdated INSTALL directions
Doug Morris [Fri, 29 Oct 1999 05:10:18 +0000 (05:10 +0000)]
updated INSTALL directions

25 years agorelease nmh-1.0.2
Doug Morris [Fri, 29 Oct 1999 04:49:01 +0000 (04:49 +0000)]
release nmh-1.0.2

25 years agoupdated the TODO list and bumped the revision to 1.0.2.
Doug Morris [Fri, 29 Oct 1999 04:32:50 +0000 (04:32 +0000)]
updated the TODO list and bumped the revision to 1.0.2.

25 years agofixed test in Makefiles for LIBTOOL for the case where it doesn't exist
Doug Morris [Wed, 27 Oct 1999 05:21:12 +0000 (05:21 +0000)]
fixed test in Makefiles for LIBTOOL for the case where it doesn't exist

25 years agofixed libtool check, sort of...
Doug Morris [Tue, 26 Oct 1999 21:12:36 +0000 (21:12 +0000)]
fixed libtool check, sort of...

25 years agochanges to allow building under Mac OS X/Rhapsody
Doug Morris [Thu, 21 Oct 1999 18:59:35 +0000 (18:59 +0000)]
changes to allow building under Mac OS X/Rhapsody

25 years ago * Changed repl defaults to partly revert to MH behaviour:
Ruud de Rooij [Sun, 17 Oct 1999 17:39:22 +0000 (17:39 +0000)]
* Changed repl defaults to partly revert to MH behaviour:
  "-cc all" is now only implied with -group.
* The replcomps template includes cc: header again (as in MH).
* Updated repl man page to reflect these changes.

25 years agosunos/solaris modifications
Doug Morris [Sat, 16 Oct 1999 00:56:05 +0000 (00:56 +0000)]
sunos/solaris modifications

25 years agoreplaced the BIND guess (based on BSDishness) with checks for gethostbyname and setho...
Doug Morris [Fri, 15 Oct 1999 22:38:55 +0000 (22:38 +0000)]
replaced the BIND guess (based on BSDishness) with checks for gethostbyname and sethostent

25 years agofixed bug in mh-profile/mh_profile manpage link - it did not check first
Doug Morris [Wed, 13 Oct 1999 14:56:41 +0000 (14:56 +0000)]
fixed bug in mh-profile/mh_profile manpage link - it did not check first

25 years agoupdated manpage's Makefile and modified the way configure tests to see whether
Doug Morris [Wed, 13 Oct 1999 13:58:41 +0000 (13:58 +0000)]
updated manpage's Makefile and modified the way configure tests to see whether
it should define LINUX_STDIO.

25 years agoAdded '-L' to the calls of 'ls' in configure.in -- I have seen multiple machines
Dan Harkless [Mon, 4 Oct 1999 22:23:29 +0000 (22:23 +0000)]
Added '-L' to the calls of 'ls' in configure.in -- I have seen multiple machines
in the past where the mail spool was a symlink to a directory on another device
with more free space.

25 years ago * Fixed a portability problem in Doug's fix of a portability
Dan Harkless [Sat, 2 Oct 1999 06:00:54 +0000 (06:00 +0000)]
* Fixed a portability problem in Doug's fix of a portability
problem in my MAILGROUP autoconf support ('ls -l' vs. 'ls -lg').

25 years agoI didn't like the double use of "MAILGROUP" for two different variables used in
Dan Harkless [Sat, 2 Oct 1999 06:00:11 +0000 (06:00 +0000)]
I didn't like the double use of "MAILGROUP" for two different variables used in
different languages, with different values.  I renamed Doug's new Makefile
"MAILGROUP" to MAIL_SPOOL_GRP.

25 years agoTouched because I changed configure.in.
Dan Harkless [Sat, 2 Oct 1999 05:57:23 +0000 (05:57 +0000)]
Touched because I changed configure.in.

25 years agoDoug's fix for my MAILGROUP autoconf support on his platform (yep, I was
Dan Harkless [Sat, 2 Oct 1999 05:55:54 +0000 (05:55 +0000)]
Doug's fix for my MAILGROUP autoconf support on his platform (yep, I was
ignorant about that "wheel" group) broke it on my platforms (AIX 4.1.5.0.01 and
Solaris 2.6).  `ls -lg` doesn't do what Doug was expecting on these platforms --
it displays _only_ the group rather than the user and the group (thus awk
'{print $4}' did the wrong thing).

Also did some miscellaneous cleanup, like making variables that were intended to
be cached actually be cached (renamed to nmh_cv_*, etc.), and using the $AWK
that we've auto-detected rather than relying on the $PATH to find one.

25 years ago * Added config.sub and config.guess to the list of files to be
Ruud de Rooij [Sun, 26 Sep 1999 17:45:55 +0000 (17:45 +0000)]
* Added config.sub and config.guess to the list of files to be
distributed.

* Fixed bug in sbr/fmt_scan.c where an extra newline would be
added if a list of addresses was split over several header lines.

* In mts/smtp/smtp.c, undefine strlen and strcpy if they are
macros, regardless of platform.

* Allow q to quit mhshow, and n to skip to next part.  Patch from
Kimmo Suominen <kim@tac.nyc.ny.us>.

* Modified mhstore to recognize attachments created by sendfiles
with x-conversions=gzip.

25 years agomoved canonical guesses back into user config section of config.h
Doug Morris [Mon, 13 Sep 1999 19:23:29 +0000 (19:23 +0000)]
moved canonical guesses back into user config section of config.h

25 years agoupdates to post.c and termsbr.c that prevent warnings on OpenBSD
Doug Morris [Mon, 13 Sep 1999 18:20:28 +0000 (18:20 +0000)]
updates to post.c and termsbr.c that prevent warnings on OpenBSD

25 years agoLots of little code cleanups to prevent warnings - mostly making sure
Doug Morris [Sun, 12 Sep 1999 13:50:11 +0000 (13:50 +0000)]
Lots of little code cleanups to prevent warnings - mostly making sure
some function prototypes are available at compile time. Also fixed
Makefile.in so that make nmhdist will work -- it just blew up after
COMPLETION-TCSH was added and ZSH-COMPLETION was changed to
COMPLETION-ZSH.

25 years agoupdating changelog, should have been done with last commit
Doug Morris [Sun, 12 Sep 1999 07:19:40 +0000 (07:19 +0000)]
updating changelog, should have been done with last commit

25 years agofix for configure to find db1/ndbm.h in new linux systems
Doug Morris [Sun, 12 Sep 1999 06:44:02 +0000 (06:44 +0000)]
fix for configure to find db1/ndbm.h in new linux systems

25 years agoconfigure, configure.in stamp-h.in, and uip/Makefile.in modified to fix
Doug Morris [Fri, 10 Sep 1999 05:22:40 +0000 (05:22 +0000)]
configure, configure.in stamp-h.in, and uip/Makefile.in modified to fix
  MAILGROUP test.
m_getfld.c - added the patch submitted by Richard Cohen to fix
    crashing when mh_profile has no trailing newline.
smtp.c, lock_file.c, m_scratch.c, m_tmpfil.c, mhscmds.c, rcvtty.c, and
  spost.c modified to fix mkstemp bugs. Some I've simply commented out
  because the repair requries either creating another new tempfile
  function (there are 3 already) or cleaning up the existing tmpfile
  functions and all the calls to them. I'm opting for the latter but
  it will take a while.

25 years agoRenamed ZSH.COMPLETION to COMPLETION-ZSH and added COMPLETION-TCSH.
Dan Harkless [Tue, 7 Sep 1999 23:45:20 +0000 (23:45 +0000)]
Renamed ZSH.COMPLETION to COMPLETION-ZSH and added COMPLETION-TCSH.

25 years agoNew file along the lines of the old ZSH.COMPLETION, but for tcsh. Pretty bare
Dan Harkless [Tue, 7 Sep 1999 23:41:37 +0000 (23:41 +0000)]
New file along the lines of the old ZSH.COMPLETION, but for tcsh.  Pretty bare
right now.

25 years agoRenamed to COMPLETION-ZSH so it'll alphabetize next to new COMPLETION-TCSH.
Dan Harkless [Tue, 7 Sep 1999 23:34:00 +0000 (23:34 +0000)]
Renamed to COMPLETION-ZSH so it'll alphabetize next to new COMPLETION-TCSH.

25 years agoRenamed from ZSH.COMPLETION so it'll alphabetize next to new COMPLETION-TCSH.
Dan Harkless [Tue, 7 Sep 1999 23:29:14 +0000 (23:29 +0000)]
Renamed from ZSH.COMPLETION so it'll alphabetize next to new COMPLETION-TCSH.

25 years agoCrap. That's what I get for using vi instead of xemacs for a change. Inserted
Dan Harkless [Wed, 18 Aug 1999 00:05:24 +0000 (00:05 +0000)]
Crap.  That's what I get for using vi instead of xemacs for a change.  Inserted
missing newline.

25 years agoJust adding some text to this file so that cvs will see a difference and let me check...
Dan Harkless [Wed, 18 Aug 1999 00:01:28 +0000 (00:01 +0000)]
Just adding some text to this file so that cvs will see a difference and let me check it in.  Every time acconfig.h or configure.in are changed (which I just
did), the timestamp on this file needs to be updated or when people do a make
an unnecessary `cd . && autoheader` will be done, and not everybody has the
autoconf tools installed.  The next person to change those two files (or
aclocal.m4) will need to change this text, maybe just to a message saying which
dependency files were changed and by whom.

25 years agoAutomated #define of MAILGROUP and installation of inc as setgid mail when the
Dan Harkless [Tue, 17 Aug 1999 23:31:23 +0000 (23:31 +0000)]
Automated #define of MAILGROUP and installation of inc as setgid mail when the
mail spool directory isn't world-writable.

25 years agoAutomated #define of MAILGROUP and installation of inc as setgid mail when the
Dan Harkless [Tue, 17 Aug 1999 23:15:31 +0000 (23:15 +0000)]
Automated #define of MAILGROUP and installation of inc as setgid mail when the
mail spool directory isn't world-writable.

25 years agoJust removed some useless whitespace that [X]Emacs' Make mode highlights as
Dan Harkless [Tue, 17 Aug 1999 23:12:42 +0000 (23:12 +0000)]
Just removed some useless whitespace that [X]Emacs' Make mode highlights as
being semi-bogus.

25 years agoAutomated #define of MAILGROUP and installation of inc as setgid mail when the
Dan Harkless [Tue, 17 Aug 1999 23:09:46 +0000 (23:09 +0000)]
Automated #define of MAILGROUP and installation of inc as setgid mail when the
mail spool directory isn't world-writable.

25 years ago* slocal -debug used to leave a copy of each message processed in /tmp.
Dan Harkless [Fri, 16 Jul 1999 01:39:09 +0000 (01:39 +0000)]
* slocal -debug used to leave a copy of each message processed in /tmp.
* Got rid of a ton of compilation warnings output by gcc -Wall.
* rcvdistcomps no longer has "Resent-Fcc: outbox"; new rcvdistcomps.outbox does.

25 years agoEliminated compilation warnings.
Dan Harkless [Fri, 16 Jul 1999 01:30:05 +0000 (01:30 +0000)]
Eliminated compilation warnings.

25 years agoEliminated unsued sigset_t variables set and oset.
Dan Harkless [Fri, 16 Jul 1999 01:19:29 +0000 (01:19 +0000)]
Eliminated unsued sigset_t variables set and oset.