Dan Harkless [Wed, 31 May 2000 00:22:05 +0000 (00:22 +0000)]
etc/Makefile.in was incorrectly installing mts.conf.in and sendfiles.in --
fixed. Changed the suffix for the backed-up previous versions of the etc files
from the ambiguous .old to .prev. Use diff and only keep the .prev file around
if different.
Dan Harkless [Tue, 30 May 2000 22:52:43 +0000 (22:52 +0000)]
ChangeLog: I think we should use a uniform style in this file. Reformatted
Ruud's recent entries.
configure: Weird. There's some timestamp screwup somewhere, perhaps in the way
Makefile.in is written, that caused autoconf to get run after I did
a `cvs update'. It regenerated configure, and apparently I'm using
a different version of autoconf, with a different order of awk
alternatives.
Shantonu Sen [Mon, 29 May 2000 07:29:08 +0000 (07:29 +0000)]
Moved date/time functions from zotnet/tws to sbr. More importantly,
wrote a new lexing function dparsetime (dtimep.lex) which
plays nicely with flex, needs no "sed hackery". It might work with
lex, but I haven't tried.
Ruud de Rooij [Sun, 28 May 2000 16:17:49 +0000 (16:17 +0000)]
* Added autoconf check for getutent().
* Changed uip/rcvtty.c and uip/slocal.c to use getutent() and
friends. Since I can only check on Linux, please check if
this works on other systems.
Ruud de Rooij [Sun, 28 May 2000 14:42:01 +0000 (14:42 +0000)]
* Applied patch from Peter Maydell to uip/scansbr.c for more
checks for write failures.
* Unlink temporary file properly in uip/rcvtty.c.
* Moved viamail from bindir to libdir.
* Changed sendfiles into sendfiles.in, so that path to viamail
is patched in.
* Added gzip support to sendfiles.
* Added References header to replcomps and replgroupcomps.
Dan Harkless [Fri, 26 May 2000 20:35:30 +0000 (20:35 +0000)]
msh has been unable to show MIME messages ever since 1.0. Alec Wolman
<wolman@cs.washington.edu> tracked down the problem to the -show flag being
passed to mhshow. mhshow is equivalent to the old mhn -show, so we don't need
the -show anymore. Removed it.
Dan Harkless [Tue, 9 May 2000 21:44:15 +0000 (21:44 +0000)]
* Changed configure.in to use gcc -Wall even without --enable-debug, to prevent
developers compiling optimized from introducing warnings, and to give
end-users a warm, fuzzy feeling as they (hopefully) see no warnings come out
(except perhaps on the lex output file) even with -Wall.
* Renamed getpass() to nmh_getpass() since the prototype for getpass() varies
from OS to OS, and we want to _always_ use our version of the function. Fixed
all the callers to use nmh_getpass() and added it to prototypes.h.
Semi-arbitrarily upped MAX_PASSWORD_LEN from 128 to 256. buf was being
calloc()'d and the memory leaked -- should have just been declared as static
char array. Prepended "Portions of this code are" to the copyright message,
as this version has been changed significantly from the BSD version.
* Added "nmh-local functions to use in preference to OS versions" section to
README.developers (currently just says to use nmh_getpass() instead of system
getpass()).
Dan Harkless [Tue, 9 May 2000 08:16:18 +0000 (08:16 +0000)]
Added steps to README.developers saying to change the version number to
X.Y.Z+dev. Did a little rearranging and changed the FTP dir from /home/ftp to
/var/ftp to reflect Doug's new machine.
Dan Harkless [Tue, 9 May 2000 07:55:58 +0000 (07:55 +0000)]
Got rid of four warnings in Shantonu's new getpass.c. Needed to #include
<stdlib.h> for calloc(), <unistd.h> for ttyname(), and "h/mh.h" for adios().
Also changed ch from char to int to get rid of "comparison is always 1 due to
limited range of data type" on EOF.
Dan Harkless [Tue, 9 May 2000 07:13:59 +0000 (07:13 +0000)]
Alphabetized Shantonu's $pop_kinds output on configure's "pop is enabled" line.
If POP3 is the only kind of POP enabled, say so, rather than just saying "yes"
(which is ambiguous).
Dan Harkless [Tue, 9 May 2000 06:53:21 +0000 (06:53 +0000)]
Shantonu updated the DIFFERENCES file to no longer say that APOP isn't
supported, but in so doing, he removed the note that RPOP isn't supported. Put
it back.
Dan Harkless [Tue, 9 May 2000 06:47:50 +0000 (06:47 +0000)]
* I had alphabetized the --configure options in the --help output
awhile back, but Shantonu added --enable-apop just under --enable-pop. Put it
in alphabetical order and clarified what --enable-apop does vs. --enable-pop and
--with-krb4. Also changed --with-mts help line from "mail transport agent" to
"mail transport agent/service" so the 's' in "mts" doesn't seem to come out of
nowhere.
* Added two steps to "releasing nmh" in README.developers. After
making the tarball, it's a good idea to diff the tree vs. the CVS tree to make
sure no files got left out, and then to chown the files so that they're owned by
root, preventing a Trojaning attack by a malicious remote user with a UID
matching yours.
Dan Harkless [Tue, 9 May 2000 04:52:55 +0000 (04:52 +0000)]
Doug informed me that the way I had restored the "lost" version histories was
wrong, because `cvs checkout's of old versions of nmh wouldn't work properly.
It occurs to me that this could be fixed by simply deleting those tags in the
new-location *,v files, but oh well. I'm putting everything back to the way
Doug originally had it. To get the old version history for a file that used to
be in the top directory, you'll need to "blindly" do a `cvs log' there (even
though you won't have a local copy of the file in that directory). `cvs diff'
will no longer be able to diff pre-move versions vs. post-move versions --
you'll have to do a lot of manual gyrations with `cvs checkout' and then use
`diff'.
Dan Harkless [Tue, 9 May 2000 03:58:04 +0000 (03:58 +0000)]
For reasons explained better elsewhere (e.g. Attic/README.developers), the
version history for this file got lost. Recreating it. This version is from
1998-05-08 -- it's the original nmh-1.0 version.
Dan Harkless [Tue, 9 May 2000 03:25:24 +0000 (03:25 +0000)]
In the hullaballoo with moving stuff back and forth out of the docs/ directory,
and trying to figure out the right way to preserve the old version history, this
file's version history prior to the first move into docs/ got wiped. I
introduced this file into the project after 1.0.3 was released, and was the only
one to modify it until after the 1.0.4 release. The post-1.0.4 changes have
survived in docs/README.developers, so I just need to check in the 1.0.4 version
and tag it as such, then remove it again, to make a `cvs checkout' of nmh 1.0.4
work again.
Dan Harkless [Tue, 9 May 2000 03:18:50 +0000 (03:18 +0000)]
Man, I'm a retard. Lemme try that again:
Just a silly note 'cause I'm vain -- below where it currently says:
Someone ("ssen" -- looks like Doug forgot to update a chroot() passwd file
It originally said " u i d 6 0 0 0 4 " (or a different number), but minus the
spaces. I guess after Doug added ssen into the chroot() passwd, he did a
search-and-replace for the UID, which changed my comment as well, making it look
like I had no way of determining who ssen was, which is silly. ;^>
Shantonu Sen [Sun, 7 May 2000 06:16:43 +0000 (06:16 +0000)]
An nmh-specific getpass, to remove dependency on system
getpass()es, which may or may not do what we want (including
flushing input streams, and taking input from stdin in the
absence of a controlling tty).
Dan Harkless [Sat, 6 May 2000 15:53:40 +0000 (15:53 +0000)]
Removed "installing nmh" section. Moved its note about the DIFFERENCES file up
next to the other MH discussion. Changed out-of-date "README" title (should
have been "README.history") to "README.about -- about nmh". After committing,
I'll rename the file to README.about inside the CVSROOT.
Dan Harkless [Sat, 6 May 2000 15:29:19 +0000 (15:29 +0000)]
Restored lost version histories for those moved files by doing a manual `mv' in
the CVSROOT on mhost. CVS badly needs a `cvs mv' command so that you can move
files (without having physical access to the CVSROOT) without losing versioning.
Put MACHINES back at the top level as it needs to be read before building.
Fixed DIST variable in {.,docs}/Makefile.in to reflect that and to add missing
entry for "INSTALL" file.
Dan Harkless [Sat, 6 May 2000 14:54:25 +0000 (14:54 +0000)]
Files that must be read before building nmh should not go in the docs
directory. Moved this file back to the top level (and made a couple of
stylistic and grammar tweaks while I was at it).
Dan Harkless [Mon, 17 Apr 2000 22:09:00 +0000 (22:09 +0000)]
The syntax I gave in the --help output for --enable-masquerade incorrectly
implied that the earlier options were prerequisites for the later options
(pointed out by Scott Blachowicz). No compact, non-confusing way to specify the
real syntax that I can see, so I'll just remove the []s and leave the explaining
about it being okay to specify a subset to the INSTALL file.
Also added a TODO item to put in proper parsing of the masquerade: line and/or
--enable-masquerade so if you misspell an option you find out about it, rather
than just having it silently fail (this weakness was currently only documented
in comments in the mts.conf-handling code).
Dan Harkless [Mon, 17 Apr 2000 22:04:33 +0000 (22:04 +0000)]
Someone (unfortunately original version history has been lost so I don't know
who) changed "danh" to "your-id". That makes my introductory comment "we'll use
version 1.0.4 and my mhost.com account, danh, as examples here" make no sense,
though.
If danh is going to be "parameterized", then 1.0.4 should be too. Doesn't make
sense to parameterize one of the changing items and not the other one. If it's
going to be done, danh should be changed to YOUR-ID or something and 1.0.4 (and
1_0_4) should be changed to X.Y.Z (and X_Y_Z). I just thought it'd be clearer
to use real values and disclaim that fact up front. Anyhow, putting danh back
until such time as someone wants to parameterize both items (and change the
introductory text appropriately).
Dan Harkless [Mon, 17 Apr 2000 21:25:23 +0000 (21:25 +0000)]
I had left out aclocal.m4 on the "use this order" line as I didn't think it'd
ever need to be changed. Someone ("ssen" -- looks like Doug forgot to update
a chroot() passwd file again) added it, but in a separate sentence. That
doesn't really make sense -- added it to the main sentence.
Also changed my note that none of the mailing lists require you to be subscribed
to post -- not true. As I originally thought, the exmh ones do require that --
the bounce messages were just slow in coming.
Dan Harkless [Mon, 17 Apr 2000 19:02:11 +0000 (19:02 +0000)]
Undeleted all the stuff Doug deleted at the top level for now. I think it's bad
to lose the CVS revision history, and I don't agree that all of these files
should go in the docs/ directory. Unfortunately Doug made modifications to FAQ
and README.developers after moving them, and I didn't want to lose his changes,
so I just mv'd the ones in the new directory to the top level. This lost the
old version history for those two files -- I know there wasn't much to lose for
README.developers (I originated the file and was the only one to make
modifications to it until Doug's recent change), but I have no idea what
information was lost in the FAQ's version history. The right thing to do on
those two files probably would have been to re-make Doug's changes in the
undeleted old versions and credit them to him in the CVS log.
Dan Harkless [Mon, 17 Apr 2000 18:36:59 +0000 (18:36 +0000)]
Undeleting everything at the top level for now. Doug's comment:
Sat Apr 15 10:33:00 2000 Doug Morris <doug@mhost.com>
* moved the documentation into a "docs" subdirectory. The
top-level directory was becoming messy. I also created another
file MAILING-LISTS describing the various nmh lists and the
archival system, and updated the FAQ to refer to it. I also
created a new README in the top level that is basically a list
of pointers to the various documentation. The old README I've
moved to docs/README.history, since that seemed like the right
thing to call it.
will be lost, but he can put back a modified version when we agree on what
should really go in docs/.
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.
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 [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.
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.
(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. ;^>
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: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).