Dan Harkless [Mon, 17 Apr 2000 16:56:57 +0000 (16:56 +0000)]
Added note that user questions are acceptable on nmh-workers.
Shantonu Sen [Mon, 17 Apr 2000 05:29:49 +0000 (05:29 +0000)]
Added that you should check in aclocal.m4 after acconfig.h, if you change it.
Shantonu Sen [Mon, 17 Apr 2000 05:25:18 +0000 (05:25 +0000)]
APOP support: Making the apop option appear after pop in ./configure --help
and committing in the right order to avoid unnecessary autoconfing.
Shantonu Sen [Mon, 17 Apr 2000 05:12:14 +0000 (05:12 +0000)]
Don't try to figure out ruserpass - just use version from sbr/
Shantonu Sen [Mon, 17 Apr 2000 05:09:46 +0000 (05:09 +0000)]
APOP support: Use the ruserpass function in this directory for
all password prompts, instead of using system functions.
Shantonu Sen [Mon, 17 Apr 2000 05:08:32 +0000 (05:08 +0000)]
APOP support: If APOP is enabled, build it into inc and msgchk
using $(APOPLIB).
Shantonu Sen [Mon, 17 Apr 2000 05:07:03 +0000 (05:07 +0000)]
APOP support: Making APOP a ./configure option with --enable-apop,
and giving more information about the types of POP support
in the configuration summary.
Shantonu Sen [Mon, 17 Apr 2000 05:04:05 +0000 (05:04 +0000)]
Adding APOP #defines
Shantonu Sen [Sun, 16 Apr 2000 13:28:12 +0000 (13:28 +0000)]
Changed some string terminations from NULL to \0.
Doug Morris [Sat, 15 Apr 2000 04:28:27 +0000 (04:28 +0000)]
Moved most of the documentation into a new "docs" subdirectory. Added a MAILING-LISTS file talking about the lists and archives, and updated the FAQ to refer to it.
Dan Harkless [Sat, 15 Apr 2000 02:00:43 +0000 (02:00 +0000)]
Added a "releasing nmh" section to README.developers, while the process was
fresh in my mind.
Dan Harkless [Fri, 14 Apr 2000 21:38:37 +0000 (21:38 +0000)]
Okay, got that tag stuff straightened out. Now upping the version to 1.0.4+dev.
Dan Harkless [Fri, 14 Apr 2000 21:26:56 +0000 (21:26 +0000)]
Oops. Had a duplicate entry.
Dan Harkless [Fri, 14 Apr 2000 21:05:34 +0000 (21:05 +0000)]
Oops. Didn't do a `cvs rtag` before changing the version to 1.0.4+dev. Putting
it back.
Dan Harkless [Fri, 14 Apr 2000 20:47:32 +0000 (20:47 +0000)]
Upped the version number to 1.0.4+dev.
Dan Harkless [Fri, 14 Apr 2000 20:40:31 +0000 (20:40 +0000)]
* 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.
Dan Harkless [Wed, 12 Apr 2000 00:54:54 +0000 (00:54 +0000)]
Just reworded the bit about '%s' being safe not to quote (it's only safe not to
quote on the -charset- line).
Dan Harkless [Wed, 12 Apr 2000 00:25:23 +0000 (00:25 +0000)]
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.
%s doesn't come from MIME headers, so not quoting it is safe.
Doug Morris [Sun, 9 Apr 2000 07:04:24 +0000 (07:04 +0000)]
bug fix - prevents core-dumping on scan -format '1'
Dan Harkless [Fri, 7 Apr 2000 00:42:55 +0000 (00:42 +0000)]
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.
Dan Harkless [Thu, 6 Apr 2000 19:56:35 +0000 (19:56 +0000)]
Whoah, this should have been changed a long time ago. For one thing, Richard
forgot to update the copyright date when he made modifications in 1999, but more
significantly, this COPYRIGHT notice hasn't been changed since Richard ceded
control of nmh development and it became an open-source project.
Changed the COPYRIGHT notice to a BSD License, with a couple of minor wording
tweaks. Copyright is assigned to "the authors of nmh", which is anyone who
writes code, whether they have CVS accounts or not.
Dan Harkless [Thu, 6 Apr 2000 00:22:06 +0000 (00:22 +0000)]
* Add some way to configure whether you prefer to see text/plain or text/html
parts of multipart/alternative messages.
Dan Harkless [Thu, 6 Apr 2000 00:11:50 +0000 (00:11 +0000)]
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.
Dan Harkless [Fri, 31 Mar 2000 04:25:26 +0000 (04:25 +0000)]
Terran Melconian pointed out that my theory as to why -help was printed as
"-(help)" in the -help output was probably not the most likely scenario. Added
his. ;^>
Doug Morris [Tue, 28 Mar 2000 14:42:36 +0000 (14:42 +0000)]
added Todd Miller's packf patch
Dan Harkless [Fri, 17 Mar 2000 20:19:43 +0000 (20:19 +0000)]
When I applied Wesley Craig's original KPOP patch, I made a change directly to
config.h.in. That's a no-no since that file is automatically generated. Now
that I've applied Wesley's second patch that makes things work as I had
originally documented, I'm re-making the change here, but this time by properly
modifying acconfig.h and then generating config.h.in from that.
Dan Harkless [Fri, 17 Mar 2000 20:11:03 +0000 (20:11 +0000)]
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.
Dan Harkless [Thu, 16 Mar 2000 02:40:42 +0000 (02:40 +0000)]
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".
Dan Harkless [Wed, 15 Mar 2000 23:37:30 +0000 (23:37 +0000)]
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.
Dan Harkless [Wed, 15 Mar 2000 22:25:16 +0000 (22:25 +0000)]
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.
Dan Harkless [Tue, 14 Mar 2000 21:21:28 +0000 (21:21 +0000)]
Added:
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.
Dan Harkless [Tue, 14 Mar 2000 21:15:55 +0000 (21:15 +0000)]
Added missing dependency in zotnet/tws/Makefile.in for dtimep.c: dtimep.c-lexed.
Dan Harkless [Tue, 14 Mar 2000 21:07:56 +0000 (21:07 +0000)]
Created new dtimep.c-lexed with Simon's change using dtimep.lex lexed on
Solaris 2.6.
Removed my comment about strdup(). The Solaris 2.6 failure was due to
failing to do a make distclean after configuring for Ultrix 4.2A. I'll
leave the change, though, since it's still a good one (just not worth
reporting in the ChangeLog).
Dan Harkless [Tue, 14 Mar 2000 20:50:19 +0000 (20:50 +0000)]
Changed strdup() in strdup.c to take a _const_ char*. Don't know why this
didn't hit anyone before, but I wasn't able to compile on Solaris 2.6 without
doing this, due to a "previous declaration" error.
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.
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.
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).
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).
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.
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".
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.
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.
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. ;^>
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.
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.
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).
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.
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...
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
Dan Harkless [Wed, 26 Jan 2000 09:27:59 +0000 (09:27 +0000)]
Just added a comment explaining that akvalue() does mh alias substitution.
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.
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.
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:".
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).
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.
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.
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.
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).
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.
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.
Dan Harkless [Tue, 25 Jan 2000 21:06:09 +0000 (21:06 +0000)]
Just clarified a couple of points in my last change description.
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.
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.
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.
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.
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.
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).
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.
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.
Dan Harkless [Tue, 25 Jan 2000 06:06:18 +0000 (06:06 +0000)]
Added include of signals.h for SIGNAL() prototype.
Dan Harkless [Tue, 25 Jan 2000 06:04:29 +0000 (06:04 +0000)]
Added include of mh.h for snprintf() prototype.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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).
Doug Morris [Fri, 29 Oct 1999 05:10:18 +0000 (05:10 +0000)]
updated INSTALL directions
Doug Morris [Fri, 29 Oct 1999 04:49:01 +0000 (04:49 +0000)]
release nmh-1.0.2