docs/README.manpages
[mmh] / ChangeLog
1 Sun Dec 31 20:48:50 2000 Shantonu Sen <ssen@mit.edu>
2
3         * Create docs/README.manpages, which details
4         the formatting rules I've been using.
5
6         * Finished ali-inc.
7         
8 Sat Dec 30 9:50:13 2000 Shantonu Sen <ssen@mit.edu>
9
10         * Created a new file "DATE" to hold the date
11         of the most recent nmh release. This date will be
12         used in the manpages.
13
14         * Updated docs/README.developers to add the step
15         of updating DATE. Also, updated configure to
16         read in the contents of the file as the variable
17         $DATE.
18
19         * Started work on updating man pages, with only
20         ali finished so far. Changes: 1) no dependence
21         on an external macro file, 2) uses only
22         -man macros (although I may be mistaken in this),
23         3) syntax in the SYNOPSIS is a little more
24         in line with standard UNIX documentation, such as
25         bold flags and italicized parameters.
26
27 Sun Dec 24 10:06:30 2000 Shantonu Sen <ssen@mit.edu>
28
29         * Updated INSTALL with information about the
30         --with-locking option.
31
32         * Fixed the Hesiod tests in configure.in. In
33         systems where res_send was in -lresolv, this
34         information was not being communicated to the
35         HESIOD_LIBS var. Now, if res_send is not found
36         in the default libraries, it's assumed to be
37         in -lresolv, and thus -lresolv is appended to
38         HESIOD_LIBS, which will need that to avoid
39         undefined symbols problems.
40
41         * Fixed the Kerberos tests in configure.in. New
42         versions of Kerberos 5 have renamed -lcrypto
43         to -lk5crypto (circa krb5 1.1 or thereabouts). The
44         new test tries to determine if -lk5crypto exists. If so,
45         this is a new krb5 system. If not, test for -lcrypto
46         and the rest of old krb5. If that fails, look
47         for a genuine krb4 installation.
48         
49 Fri Dec 22 22:08:51 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
50
51         * -apop and -noapop were not documented in msgchk.man.
52         -snoop was documented but didn't appear in the usage SYNOPSIS.
53
54 Fri Dec 22 23:42:16 2000 Shantonu Sen <ssen@mit.edu>
55
56         * Made a new ./configure option called
57         "--with-locking" that allows the file
58         locking mechanism to be chosen there instead of
59         requiring a manual edit of config.h.
60
61         * If the option is not explicitly set, or an
62         invalid option is specified, "dot" locking is
63         chosen. Valid options are "dot", "fcntl",
64         "flock", and "lockf". We need a way to tell
65         the user that these are the valid options, and
66         change the flag "--with-locking" if it's not
67         descriptive enough.
68
69 Fri Dec 22 19:21:29 2000 Shantonu Sen <ssen@mit.edu>
70
71         * Remove the lex-specific memory hints at the
72         beginning of sbr/dtimep.lex. We've already
73         committed to supporting flex only, since
74         lex does not easily allow us to parse a single
75         string, as well as other problems documented
76         below and on nmh-workers.
77
78         * Added a switch statement to configure.in to
79         test for Mac OS X. If this is the case, LDFLAGS
80         should not contain "-s" since the linker rejects
81         the flag.
82
83         * Updated MACHINES to include Mac OS X Public Beta,
84         as well as Linux 2.4 running glibc 2.2.
85
86 Wed Dec 20 16:00:46 2000 Shantonu Sen <ssen@mit.edu>
87
88         * Marked deprecated directories in docs/README.developers
89         as deprecated, with pointers to the new code location.
90         Eventually these deprecated directories should go away.
91
92 Tue Dec 19 19:16:37 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
93
94         * -apop and -noapop were not documented in inc.man.  -snoop was
95         documented but didn't appear in the usage SYNOPSIS.
96
97 Thu Dec 14 14:32:09 2000 Shantonu Sen <ssen@mit.edu>
98
99         * Updated config.guess and config.sub to the most recent
100         versions on ftp://ftp.gnu.org/pub/gnu/config, dated
101         12-07-00. This should prevent configure from failing
102         on newer operating systems because config.{guess,sub}
103         couldn't correctly identify them.
104
105 Thu Dec 14 1:30:44 2000 Shantonu Sen <ssen@mit.edu>
106
107         * Fixed the circular dependency created when I moved
108         zotnet/mts to mts/generic and merged them into libmts.
109         mts/generic/client.c and mts/generic/mts.c are now in sbr/
110         (and thus in libmh), which makes libmh self-contained and
111         not depending on an external archive.
112
113         * All include statements now look for mts.h in h/. The
114         Makefiles and configure script have been modified so that
115         mts/generic is no longer built.
116
117 Mon Dec 11 22:08:07 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
118
119         * When Shantonu made the new libmts.a, he swapped $(MTSLIB) and
120         libmh.a in sbr/Makefile.in so that libmh.a comes first, but this
121         causes the build to fail on Solaris, because libmts.a has to get
122         ruserpass() out of libmh.a.  Swapping them back to the way Ken
123         Hornstein's patch (which I applied on Jul 20) put them, with
124         libmh.a correctly coming second.  If there are times when libmts.a
125         needs to come second, then it would appear there's a circular
126         dependency and someone (Shantonu?) did an mts merge incorrectly.
127
128 Fri Sep 8 01:36:23 2000 Shantonu Sen <ssen@mit.edu>
129
130         * Took out bad time textual time zones like BST and JST.
131         I found them online somewhere, but am not sure if they're
132         correct.        
133         
134 Fri Sep 8 00:36:48 2000 Shantonu Sen <ssen@mit.edu>
135
136         * Moved zotnet/mts to mts/generic. This code reorganization
137         makes the entire zotnet tree deprecated -- bboards is unneeded,
138         mf was was moved to sbr, tws was rewritten and moved to sbr, and
139         now finally mts.
140
141         * Created a new static library called libmts.a used during
142         compilation which includes the generic mts code and the
143         smtp/sendmail code. This supercedes the functionality of the
144         old libsmtp.a and the remains of libzot.a.
145
146         * Updated header includes to reference the new location of mts.h
147         in mts/generic/mts.h. Also, update the configure and top-level
148         Makefile not to descend into zotnet. Also, they don't descend
149         into mts/mmdf and mts/sendmail (the sendmail code has been
150         merged into the smtp code).
151
152         * Added #include <h/nmh.h> to h/md5.h, since my compile was
153         complaining about implicitly-declared memcpy and memset, which
154         appear to be in strings.h. In any event, nmh.h should take care
155         of it for us.
156
157         * When doing a "make nmhdist", notice that the generated
158         snapshot does not include zotnet of the mts directories as noted
159         above. Since they are no longer compiled, and I don't see any
160         obvious code path to get to them, end-users should probably
161         not need them. If you think otherwise, turn Makefile generation
162         back on in configure.in and turn on recursion into those dirs
163         in the appropriate Makefile.in
164
165 Wed Sep 6 22:40:03 2000 Shantonu Sen <ssen@mit.edu>
166
167         * Tracked down the problem in the new dtimep where time
168         zones were being radically misreported. It was because the
169         parser knew about military time zones (such as M or E) but in
170         some cases did not know about the textual representation of
171         some zones (like MET). When it encountered one of these, the
172         date parser misread MET as the military time zone T (well, first
173         zone M, then E, and finally T). I took military zones out, and
174         things seem much better. Also, the default behavior of parsing
175         time zones appears to default to GMT in the absence of better
176         info, which is less bogus than assuming the mail came from the
177         current time zone, which was the behavior in 1.04.
178
179 Thu Aug 10 13:22:13 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
180
181         * Decided that limiting the message number columns to 3 on my
182         scan.MMDDYY and scan.YYYYMMDD (to try to regain space taken by
183         extra date info) was ill-conceived.  It's not that tough to get
184         past 999 messages, though I imagine it's rather rare to exceed
185         9999.  Changed these to 4.  Also put the "replied / encrypted"
186         column back in YYYYMMDD -- I've never seen it show anything but a
187         space, but that space is useful if you use scan, grep, and awk
188         (with the default field separator) to grab message numbers (I know
189         -- pick should really be used for these purposes...).
190
191 Mon Aug  7 20:11:09 CEST 2000 Ruud de Rooij <ruud@ruud.org>
192
193         * Modify umask set by mhshow to enable user execute bit, so that
194         viewers that create temporary directories (e.g., lynx) will be
195         able to access them.
196
197 Thu Aug 03 17:14:08 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
198
199         * TODO: Allow multiple simultaneous differing contexts, probably
200         each tied to a parent (terminal) process.
201
202 Tue Aug  1 10:48:05 EDT 2000 Kimmo Suominen <kim@tac.nyc.ny.us>
203
204         * Makefile install rules should not look for generated files in
205         the source tree -- this will happen to work when configuring and
206         building inside the source tree but will fail when using an
207         external build tree.  Fixed etc/Makefile.in.
208
209 Mon Jul 24 16:20:45 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
210
211         * When Shantonu wrote the new, more portable dtimep.lex, he left
212         out the #ifdef DSTXXX stuff for some reason.  Not a good idea, as
213         that code is required for proper printing of numeric-offset
214         timezones that have daylight saving time.  Without that code,
215         -0700 during DST gets printed as MST instead of PDT.
216
217         * Renamed DSTXXX as ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST and
218         added an explanatory comment by its #definition.
219
220         * Updated README.developers with the fact that zotnet/tws is going away.
221
222 Thu Jul 20 20:30:52 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
223
224         * Moved Kimmo's new "--with-hash-backup" to be output with the
225         rest of the --with options in the configure --help output.  Also,
226         people did not preserve my alphabetization of the --with options
227         when they added new ones.  Re-alphabetized.
228
229         * One more pass at README.developers now that it's clear that my
230         previously-suggested one-line autoconf-file commit can cause
231         unnecessary local makes and an out-of-sync stamp-h.in file, but
232         would not cause problems for other people using the CVS files.
233
234         * Ken Hornstein's SASL patch was not integrated properly with
235         Ruud's new merged mts/sendmail code.  Kimmo has since fixed nmh so
236         it compiles, but according to Ken, the SASL stuff still does not
237         work.  Integrating a patch from him for this.
238
239         * Last pass at README.developers -- Kimmo's 5-step commit was
240         overkill.  You only need 3 steps, since configure.in is the only
241         autoconf file with the RCS $Id keyword.
242
243         * Applied Kurt J. Lidl <lidl@eng.us.uu.net>'s $MAILHOST patch:
244
245             I have a small patch that would be nice to be included --
246             basically, it allows the usage of the "MAILHOST" environment
247             variable, without having to have HESIOD turned on.  I need
248             this functionality for my environment, where we have identical
249             /usr/local on all my machines (so I cannot just hardcode into
250             the mts.conf file), and I have multiple POP mail servers for
251             my users.
252
253         Modified inc.man to reflect that along with "pophost:" and -host, 
254         $MAILHOST can now activate POP mail inclusion as well.
255
256         * Fixed warnings from diff on first-time install of nmh.  Also
257         added 'echo's clarifying the etc file installation activities.
258
259 Tue Jul 18 19:36:59 EDT 2000 Kimmo Suominen <kim@tac.nyc.ny.us>
260
261         * Added the answer to Dan's question in README.developers.
262
263 Mon Jul 17 19:10:36 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
264
265         * Clarified and made some corrections to Kimmo's README.developers
266         changes (BTW, if anyone can explain why the RCS Ids are able to cause
267         problems with the dependencies, please fill in the explanation --
268         I never encountered a problem with the old single-commit method).
269
270 Sat Jul 15 23:13:49 EDT 2000 Kimmo Suominen <kim@tac.nyc.ny.us>
271
272         * Add configure option --with-hash-backup so the backup prefix can
273         be easily changed from "," to "#".
274
275         * Simplified sbr/Makefile.in so that it works with any make.
276
277         * Use mkstemp in sbr/lock_file.c.
278
279         * Commits of autoconf-related files apparently can't all be done
280         in one shot due to RCS Ids changing when committing -- updated
281         README.developers.
282
283 Tue Jul 11 14:18:01 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
284
285         * Clarified post.man and send.man for those not completely up on
286         SASL terminology.  "SASL encryption layers are not supported for
287         SMTP" means that encryption is supported for the authentication
288         but not for the subsequent data stream.
289
290 Sat Jul  8 01:36:19 EDT 2000 Kimmo Suominen <kim@tac.nyc.ny.us>
291
292         * Applied Ken Hornstein <kenh@cmf.nrl.navy.mil>'s patches
293         implementing SASL support for POP3 and SMTP.  If nmh is compiled
294         with SASL support, using the -sasl switch on the inc, msgchk,
295         post, and send commands will enable authentication encryption for
296         SMTP, and both authentication and data stream encryption for POP3.
297
298 Sat Jun 10 18:37:59 CEST 2000 Ruud de Rooij <ruud@ruud.org>
299
300         * Merged mts/sendmail functionality into mts/smtp; switching between
301         smtp and sendmail delivery method is now controlled by mts.conf.
302
303         * If tsort cannot deal with loops, in addition to defining tsort as
304         cat, also define lorder as echo.
305         
306         * Removed uip/popi.c from list of sources.
307
308 Thu Jun 08 19:36:57 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
309
310         * New dtimep.lex didn't parse day names properly.  Fixed.  Also
311         clarified ambiguous comments preceding day_map[] array (from old
312         dtimep.lex) that probably led to the erroneous cp++ being added.
313
314 Wed Jun  7 20:52:33 CEST 2000 Ruud de Rooij <ruud@ruud.org>
315
316         * Added one more mkstemp invocation to uip/spost.c (which was in a
317         #if 0 block).
318
319         * Applied patch from Peter Maydell to clean up permissions handling
320         and error handling in uip/inc.c.
321
322 Mon Jun  5 22:10:07 CEST 2000 Ruud de Rooij <ruud@ruud.org>
323
324         * Use cat instead of tsort if tsort cannot deal with loops in its
325         input (which is the case for tsort from GNU textutils).
326
327 Mon Jun  5 21:14:36 CEST 2000 Ruud de Rooij <ruud@ruud.org>
328
329         * If lockfile is present, and its dotlockfile program is setgid,
330         inc does not need to be setgid.
331
332 Sun Jun  4 21:35:40 CEST 2000 Ruud de Rooij <ruud@ruud.org>
333
334         * Added autoconf test for Miquel van Smoorenburg's liblockfile
335         library, as found on Debian systems.
336
337         * Added liblockfile support to sbr/lock_file.c.
338         
339 Wed May 31 7:19:30 2000 Shantonu Sen <ssen@mit.edu>
340         
341         * Fixed up dtimep.lex a bit. Added back memory options for AIX to
342         increase available memory.  Took out %option noyywrap, which
343         wasn't understood by AT&T lex, as well as the -i
344         case-insensitivity flag.
345
346 Wed May 31 07:40:45 2000 Doug Morris <doug@mhost.com>
347
348         * Added a lint target to the Makefiles and a check in autoconf
349         to determine whether lint or lclint exists on the system. 
350
351 Fri May 30 19:21:48 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
352
353         * etc/Makefile.in was incorrectly installing mts.conf.in and
354         sendfiles.in -- fixed.  Generated sendfiles script was not a
355         dependency of the `all' target, and was incorrectly included in
356         the distribution.  Changed the suffix for the backed-up previous
357         versions of the etc files from the ambiguous .old to .prev.  Added
358         call to diff -- only keep the .prev files around if different from
359         the newly-installed versions (intentionally didn't redirect output
360         to /dev/null so you'll notice when your changed versions are
361         getting moved aside).
362
363         * INSTALL never documented the etc/*.old thing.  Documented the
364         new etc/*.prev thing (including a note to watch for diff output).
365
366         * Applied Alec Wolman <wolman@cs.washington.edu>'s dropsbr.c patch:
367
368             In the map_write routine, a call is made to map_open and this
369             call is supposed to set the "clear" variable to 0 or 1,
370             depending on whether the map file is empty or not.  In
371             mh6.8.3, this worked because map_open would set "clear" by
372             calling the mbx_Xopen routine.  In nmh, the code for mbx_Xopen
373             was merged into mbx_open, but the interface for mbx_open
374             doesn't support the clear variable, so that functionality was
375             lost.  The map_open interface still contains "int *clear" in
376             the prototype, but never sets it.
377
378             My patch eliminates "clear" from the map_open interface (I
379             checked to make sure that map_write is the only client of
380             map_open).  Furthermore, my patch also sets the "clear"
381             variable properly at the beginning of map_write by calling
382             fstat().  This eliminates the bug in that the value of "clear"
383             being used later in the routine was just stack garbage.
384
385             Having a bad value of clear causes this next bug to be
386             triggered: The fp file pointer was being opened with fdopen,
387             but in two of the three switch cases it wasn't being closed.
388             In certain cases, this was causing packf to run out of file
389             descriptors if you attempted to pack a large folder.
390
391 Mon May 29 7:48:15 2000 Shantonu Sen <ssen@mit.edu>
392
393         * Moved the date parsing routines from zotnet/tws to sbr/ (and
394         tws.h to h/). Updated all source files to reflect to new location
395         of tws.h.
396
397         * Rewrote dparsetime (in dtimep.lex -> dtimep.c) to replace the
398         old zotnet/tws/dtimep.c, dtimep.lex, lexstring.c, lexedit.c, and
399         dtimep.c-lexed. It should now work with flex (although untested
400         with lex), and requires no sed-ing. For now, I have the lexed
401         version in the distribution, so that end-users don't need to worry
402         about running it through flex/lex. I have not added back support
403         for guessing the time zone when it's not specified.
404         
405 Sun May 28 17:44:15 CEST 2000 Ruud de Rooij <ruud@ruud.org>
406
407         * Added autoconf check for getutent().
408
409         * Changed uip/rcvtty.c and uip/slocal.c to use getutent() and
410         friends.  Since I can only check on Linux, please check if
411         this works on other systems.
412
413 Sun May 28 14:58:49 CEST 2000 Ruud de Rooij <ruud@ruud.org>
414
415         * Applied patch from Peter Maydell to uip/scansbr.c for more
416         checks for write failures.
417
418         * Unlink temporary file properly in uip/rcvtty.c.
419
420         * Moved viamail from bindir to libdir.
421
422         * Changed sendfiles into sendfiles.in, so that path to viamail
423         is patched in.
424
425         * Added gzip support to sendfiles.
426
427         * Added References header to replcomps and replgroupcomps.
428
429 Sun May 28 14:39:31 CEST 2000 Ruud de Rooij <ruud@ruud.org>
430
431         * Fixed m_getfld bug which caused segmentation faults when
432         incorporating messages which ended in multiple linefeeds crossing
433         a buffer boundary.
434
435 Fri May 26 13:21:59 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
436
437         * msh has been unable to show MIME messages ever since 1.0.  Alec
438         Wolman <wolman@cs.washington.edu> tracked down the problem to the
439         -show flag being passed to mhshow.  mhshow is equivalent to the
440         old mhn -show, so we don't need the -show anymore.  Removed it.
441
442 Fri May 12 02:51:21 2000 Shantonu Sen <ssen@mit.edu>
443
444         * zotnet/bboards is not longer built by default. Goal is to move
445         the assorted functions in zotnet into sbr or some more logical
446         place.
447
448         * Moved zotnet/mf to sbr, and changed mf.h references accordingly,
449         as well as Makefiles.
450         
451 Thu May 11 02:21:34 2000 Shantonu Sen <ssen@mit.edu>
452
453         * Simplified sbr/Makefile.in so that both SRCS and OBJS aren't
454         seperately and redundantly defined, but so that OBJS is a
455         pattern-substituted version of SRCS with suffix .c -> .o. This
456         should make maintainability easier.
457
458         * Added section to MACHINES indicating what platforms nmh is known
459         to compile and work on, just to give users peace of mind, or
460         something. This is by no means complete or exhaustive, so add
461         whatever you know works.
462         
463 Tue May 09 20:38:04 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
464
465         * Alphabetized Shantonu's $pop_kinds output on configure's "pop is
466         enabled" line.  If POP3 is the only kind of POP enabled, say so,
467         rather than just saying "yes" (which is ambiguous).
468
469         * Fixed four warnings in Shantonu's new getpass.c.  Needed to
470         #include <stdlib.h> for calloc(), <unistd.h> for ttyname(), and
471         "h/mh.h" for adios().  Also changed ch from char to int to get rid
472         of "comparison is always 1 due to limited range of data type" on EOF.
473
474         * Added steps to README.developers saying to change the version
475         number to X.Y.Z+dev.  Did a little rearranging and changed the FTP
476         dir from /home/ftp to /var/ftp to reflect Doug's new machine.
477
478         * Changed configure.in to use gcc -Wall even without
479         --enable-debug, to prevent developers compiling optimized from
480         introducing warnings, and to give end-users a warm, fuzzy feeling
481         as they (hopefully) see no warnings come out (except perhaps on
482         the lex output file) even with -Wall.
483
484         * Renamed getpass() to nmh_getpass() since the prototype for
485         getpass() varies from OS to OS, and we want to _always_ use our
486         version of the function.  Fixed all the callers to use
487         nmh_getpass() and added it to prototypes.h.  Semi-arbitrarily
488         upped MAX_PASSWORD_LEN from 128 to 256.  buf was being calloc()'d
489         and the memory leaked -- should have just been declared as static
490         char array.  Prepended "Portions of this code are" to the
491         copyright message, as this version has been changed significantly
492         from the BSD version.
493
494         * Added "nmh-local functions to use in preference to OS versions"
495         section to README.developers (currently just says to use
496         nmh_getpass() instead of system getpass()).
497
498         * Prepended "Portions of this code are" to the copyright message
499         in ruserpass.c also.
500
501         * Added mts.conf.5 page per Neil W Rickert <rickert+nmh@cs.niu.edu>'s
502         report:
503         
504             This happens on solaris:
505
506                      % man mts.conf
507                      windex entry incorrect:  mts.conf(5) not found.
508                      No manual entry for mts.conf.
509
510             It is fixed by
511
512                      % echo ".so man5/mh-tailor.5" > mts.conf.5
513
514             done in the man5 directory.  We need to add 'mts.conf.5' as a
515             reference sourcing mh-tailor.5.
516         
517 Mon May 08 23:51:55 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
518
519         * Doug informed me that the way I had restored the "lost" version
520         histories was wrong, because `cvs checkout's of old versions of
521         nmh wouldn't work properly.  It occurs to me that this could be
522         fixed by simply deleting those tags in the new-location *,v files,
523         but oh well.  I'm putting everything back to the way Doug
524         originally had it.  To get the old version history for a file that
525         used to be in the top directory, you'll need to "blindly" do a
526         `cvs log' there (even though you won't have a local copy of the
527         file in that directory).  `cvs diff' will no longer be able to
528         diff pre-move versions vs. post-move versions -- you'll have to do
529         a lot of manual gyrations with `cvs checkout' and then use `diff'.
530
531         * I had alphabetized the --configure options in the --help output
532         awhile back, but Shantonu added --enable-apop just under
533         --enable-pop.  Put it in alphabetical order and clarified what
534         --enable-apop does vs. --enable-pop and --with-krb4.  Also changed
535         --with-mts help line from "mail transport agent" to "mail
536         transport agent/service" so the 's' in "mts" doesn't seem to come
537         out of nowhere.
538
539         * Added two steps to "releasing nmh" in README.developers.  After
540         making the tarball, it's a good idea to diff the tree vs. the CVS
541         tree to make sure no files got left out, and then to chown the
542         files so that they're owned by root, preventing a Trojaning attack
543         by a malicious remote user with a UID matching yours.
544
545         * Changed DIFFERENCES to say that RPOP is not currently supported
546         rather than implying it by saying that APOP, KPOP, and POP[3] are.
547
548 Sun May 07 18:16:43 2000 Shantonu Sen <ssen@mit.edu>
549
550         * Imported NetBSD version of getpass() and made extensive
551         revisions for compatibility with programs that pipe the password
552         to stdin, such as exmh.
553
554         * Removed tests for system ruserpass() which sometimes gave
555         phantom positive results. Also, bext to use internal functions if
556         we ever want to change .netrc format to something else, or access
557         other files.
558
559 Sat May 06 08:28:09 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
560
561         * Restored lost version histories for those moved files by doing a
562         manual `mv' in the CVSROOT on mhost.  CVS badly needs a `cvs mv'
563         command so that you can move files (without having physical access
564         to the CVSROOT) without losing versioning.  Put MACHINES back at
565         the top level as it needs to be read before building.  Fixed DIST
566         variable in {.,docs}/Makefile.in to reflect that and to add
567         missing entry for "INSTALL" file.
568
569 Sat May 06 13:13:07 2000 Doug Morris <doug@mhost.com>
570
571         * Re-cleaned up nmh documentation (by moving things to docs
572         subdir) and modified Makefile & configure.in to handle the change.
573
574 Mon Apr 17 21:28:40 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
575
576         * Scott Blachowicz pointed out that the configure --help output
577         for --enable-masquerade was misleading.  Clarified.
578         
579 Mon Apr 17 19:01:00 2000 Shantonu Sen <ssen@mit.edu>
580
581         * APOP support can be compiled in to inc and msgchk using
582         --enable-apop.
583
584         * To access an APOP host, specify -apop on the command line
585         along with any -host or -user option.
586
587 Fri Apr 14 23:10:44 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
588
589         * Upped the version number to 1.0.4+dev until the next nmh release.
590
591         * Added a "releasing nmh" section to README.developers, while the
592         process was fresh in my mind.
593         
594 Fri Apr 14 18:21:34 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
595
596         * Added new files README.developers, ChangeLog_MH-3_to_MH-6.6, and
597         ChangeLog_MH-6.7.0_to_MH-6.8.4.html to DIST target in Makefile.in.
598         
599         * Released nmh-1.0.4.
600
601 Tue Apr 11 21:37:03 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
602
603         * Applied Brian Campbell <bacam@tardis.ed.ac.uk>'s mhn.defaults.sh
604         patch:
605
606             It appears that there shouldn't be quotes around the %s in the
607             iso-8859-1 charset entry; xterm passes the remaining arguments
608             to the program, quoting them means that xterm thinks they're
609             part of the program's name.
610
611         This %s isn't the same as the "Insert content subtype" one from
612         mhshow-show-* -- it doesn't come from MIME headers and is safe not
613         to quote.
614
615 Sun Apr 09 13:03:59 2000 Doug Morris <doug@mhost.com>
616
617         * added check in fmt_compile() to handle a single-character
618         format string. fmt_compile() depends on having an array of
619         format characters with an empty item at the end. A
620         single-character format would cause programs using this
621         function to segfault because the algorithm used to decide on
622         the length of the array mistakenly created a single-item array
623         when the format string was one character. This eventually
624         caused problems when the program attempted to test item+1
625         in the array.
626
627 Thu Apr 06 21:53:50 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
628
629         * Richard Coleman threw out a lot of old MH-specific files in nmh.
630         Much of the stuff, indeed, is not worth saving, but there are
631         nuggets that are very worthwhile, and should probably be added
632         back in.  Most important, IMHO, are the MH change logs, as they
633         can help answer questions like "Why is this code like this?" or
634         "How long has this been broken?" or "What was this ever used for?"
635
636         I've added a new file to the nmh tree called
637         ChangeLog_MH-3_to_MH-6.6.  It's cobbled together from the
638         mh-6.8.4/papers/mh*/MHCHANGES files.  I've re-ordered the entries
639         to go from newest at the top to oldest at the bottom to match the
640         ChangeLog convention.  Unfortunately there are no change logs for
641         versions of MH prior to 3 in the MH tar files available at
642         <ftp://ftp.ics.uci.edu/pub/mh>.  Also, it appears to me that there
643         are MH-6.6 changes that aren't documented in the logs.
644
645         I've also added ChangeLog_MH-6.7.0_to_MH-6.8.4.html.  This is
646         based on mh-6.8.4/papers/changes/mh-changes.ms.  The nroff format
647         and its "catman"-type output are a pain to deal with, but I was
648         loath to throw away the formatting, so I converted the file to
649         HTML.  The only actual markup in the body are the "<B>" and "<U>"
650         tags, and "&lt;" and "&gt;" instead of '<' and '>', so it's quite
651         doable to view the file in plain ASCII mode as well.  Note that
652         some of the changes this file documents as having been made in
653         MH-6.8.4 may not be present in nmh -- Richard started with 6.8.3
654         and later put in certain 6.8.4 stuff.
655         
656 Wed Apr 05 21:09:28 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
657
658         * Applied Eric Schnoebelen <eric@cirr.com>'s mhshowsbr.c patch
659         fixing apparent bugs in Dan Winship's new security quoting code:
660         
661             Since upgrading, I've been getting the following errors
662             while attempting to process some MIME messages:
663
664                 (1) Syntax error: Unterminated quoted string
665                     exit 2
666         
667             and:
668
669                 (2) line 1/10 (END)Segmentation fault (core dumped)
670
671             (2) appears to be due to the testing of an unset pointer in
672             mhshowsbr.c:show_multi_aux().  (1) appears to be caused by
673             mis-quoting a filename being handed to the shell in
674             mhshowsbr.c:show_content_aux().
675
676             Resolving the pointer reference issue in
677             mhshowsbr.c:show_multi_aux() turned up a similar mis-quoting
678             problem in the routine.
679
680 Tue Mar 28 16:17:39 2000 Doug Morris <doug@mhost.com>
681
682         * Applied Todd.Miller@courtesan.com's patch to dropsbr.c to
683         prevent core dumping on packf. Here's the note from his message:
684
685             Since sizeof(buffer) == sizeof(tmpbuffer) packf will dump
686             core on a file w/o a From line with a line >= BUFSIZ.
687             I noticed this because I had a junk file in my mail
688             spool somehow.
689
690 Fri Mar 17 11:59:33 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
691
692         * wesley.craig@umich.edu did not document his previous KPOP patch,
693         so I did so, and asked him to check what I wrote.  Unfortunately
694         he didn't notice my misunderstanding of his patch.  I wrote that
695         if you #define POPSERVICE "kpop", inc and msgchk will use KPOP
696         exclusively, but if you leave it as "pop3", you can use Wesley's
697         new -kpop switch on a given invocation.  Instead, however, -kpop
698         turned out to be necessary on every invocation, and a KPOP user
699         complained.  Applied Wesley's new patch, which makes things work
700         like I thought his original patch did.  After that, did one more
701         clarifying pass to the documentation in inc.man and msgchk.man.
702
703 Wed Mar 15 18:45:45 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
704
705         * When I fixed the long-standing makedir() bugs in January, I had
706         the code call strtoul(..., 0), which I believed to be safe as all
707         modes specified as ASCII constants in the nmh code started with a
708         leading zero (signifying octal), which I did as it would work if
709         internal constants were ever changed to hex.  Unfortunately I was
710         unaware of the "Folder-Protect:" .mh_profile entry, which
711         mh-profile.man documents as an octal-only constant, with no
712         leading zero required.  I've changed the strtoul() call to an
713         atooi() call and removed the misleading leading zeroes on the
714         ASCII octal constants in the code and man pages.  Also changed the
715         "Folder-Protect:" example in the man page to something more
716         interesting than a duplication of the default.
717
718         * When I added my --enable-masquerade option, you'll note that I
719         didn't make it --enable-nmh-masquerade.  I find the --enable-nmh-*
720         options too wordy and I'm not sure why Richard went that route.
721         I've renamed them to just --enable-*, but the old versions will
722         still work as well (they just aren't advertised).
723
724         * Added a line to the "nmh configuration" output saying whether
725         POP is enabled.
726
727         * Added a new README.developers file.  From the file:
728
729             This file is intended to provide a few tips for anyone doing
730             development on nmh.  Developers who learn things "the hard
731             way" about the nmh codebase (as opposed to local info best
732             encoded in a comment) are encouraged to share their wisdom
733             here.
734
735         Currently the topics are "autoconf files" and "directory structure".
736
737 Tue Mar 14 12:41:48 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
738
739         * Applied, after some finessing,
740         Simon Burge <simonb@thistledown.com.au>'s --with-smtpservers patch:
741
742             Here's a patch that allows you to add
743
744                     --with-smtpservers=<some.host.name>
745
746             to the ./configure command line to set the "servers: " line in
747             etc/mts.conf.  Around here, we use "mailhost" so that all
748             machines in the current domain just talk to a central machine
749             and nothing else runs an MTA.  Now, I can use
750
751                     --with-smtpservers=mailhost
752
753             instead of having to remember to fix this by hand (and often
754             forgetting to do so!).
755
756         * Inspired by Simon's patch, added an --enable-masquerade option
757         to configure.  It will set the "masquerade:" line of mts.conf.
758         You may specify a subset of the three types of masquerading, like
759         --enable-masquerade="draft_from mmailid", or leave off explicit
760         arguments to enable all three types.
761
762         * Alphabetized the --enable and --with options in configure.in and
763         INSTALL and added documentation of the two new options to the latter.
764
765         * Added new dependency for mts.conf: Makefile.  If this isn't
766         done, then when you reconfigure nmh with new values for
767         --enable-masquerade or --with-smtpservers, you'll fail to get an
768         updated copy of mts.conf.
769
770         * Applied Simon Burge <simonb@thistledown.com.au>'s dtimep.lex patch:
771
772             It seems that some MUA's didn't handle y2k very well - ELM
773             seems to be one of them, and Ultrix's DXmail (based on MH!).
774             I've got a few emails this month that look like:
775
776                     575   Jan 00  Xxxxxx Xxxx       3603  ...
777             and
778                      22+  Jan 00  Xxx Xxxxx         1771  ...
779
780             The first has "15 Jan 100" as the date and the second has 
781             "19 Jan 00" as the date.  The following works around this so 
782             that scan, show, sortm, etc work ok.
783
784         I put Simon's patch under the control of a new #define called
785         FIX_NON_Y2K_COMPLIANT_MUA_DATES.  There's some commentary in
786         acconfig.h about when you might not want to #define it.
787
788         * Created new dtimep.c-lexed with Simon's change using dtimep.lex
789         lexed on Solaris 2.6.  Added missing dependency in
790         zotnet/tws/Makefile.in for dtimep.c: dtimep.c-lexed.
791
792         * Added scan.MMDDYY and scan.YYYYMMDD format files.
793
794 Mon Mar 13 21:32:00 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
795
796         * Applied Sullivan N. Beck <sbeck@cise.ufl.edu>'s mhshow-suffix patch:
797
798             With the patch below, you can add lines like:
799
800                 mhshow-suffix-application/msword: .doc
801                 mhshow-suffix-application/PostScript: .ps
802
803             to the mhn.defaults file to append the given suffix to a
804             scratch file.  This allows applications which require a
805             certain suffix to run properly.
806
807         * Removed -force_html from lynx entry in mhn.defaults.sh (I
808         believe older versions of lynx lack that option) and added
809         "mhshow-suffix-text/html: .html".
810                 
811         * Modified username_extension masquerading to only use the
812         extended address on generated [Resent-]From: lines and SMTP
813         envelope From:.  With Neil's original implementation, nmh's global
814         idea of the username was changed, which would result in inc lying
815         and saying you had no new mail because it was looking for a
816         mailbox called, for instance, "dan-nmh" (where username was "dan"
817         and $USERNAME_EXTENSION was "-nmh").
818                 
819         * Applied Simon Burge <simonb@thistledown.com.au>'s dtime.c patch:
820         
821             There's a wrap-around problem that affects the implementation
822             of Zeller's congruence in dtime.c.  This causes the day-of-week
823             calculations to fail for dates after Feb 29, 2000 (probably up
824             until some year far in the future).
825
826 Mon Mar 06 12:20:20 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
827
828         * Applied Neil W Rickert <rickert+nmh@cs.niu.edu>'s msh.c patch:
829
830             I finally tracked down the problem in msh that was causing
831             errors whenever I tried to examine a 'mmdf' style mailbox.
832
833             It turns out that not enough memory was being allocated with
834             calloc(), causing memory pointers to be overwritten and
835             corrupted.
836                 
837 Fri Mar 03 16:07:33 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
838
839         * Changed the new "plussed_user" option to mts.conf's
840         "masquerade:" to "username_extension" after getting feedback from
841         qmail users, who use '-' as a separator rather than '+'.  Removed
842         checking of $USERPLUS variable.  Now check $USERNAME_EXTENSION,
843         which needs to include the appropriate separator for your MTA
844         ('-', '+', or whatever) as its first character.
845                 
846 Thu Mar 02 23:04:30 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
847
848         * Added a new "boolean" type to mh.h and TRUE and FALSE constants.
849                 
850         * Added a note to DIFFERENCES stating that it's out-of-date
851         (Richard was the last one to update it) and that we should
852         consider only documenting incompatibilities with MH there.
853
854         * Implemented (and documented) a third kind of username
855         masquerading: "plussed user" masquerading.  This one was suggested
856         by Neil Rickert <rickert+nmh@cs.niu.edu>.  It's based on sendmail's
857         "plussed user" feature, where mail sent to <user>+<string> will be
858         delivered to <user>.  When it's enabled, it's controlled by the
859         $USERPLUS environment variable.  How is it enabled?  Well, that
860         leads me to:
861
862         * Renamed the "mmailid:" setting in mts.conf to "masquerade:", and
863         changed it so that rather than being a boolean, it can be set to
864         any combination of the three values "draft_from", "mmailid", and
865         "plussed_user".  Thus it is now possible to enable the three types
866         of masquerading individually.
867
868         * Fixed a bug with "mmailid" masquerading (dating back to MH?)
869         where if it was turned on, ','s would no longer be considered
870         GECOS field delimiters.
871         
872 Wed Mar 01 23:30:50 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
873
874         * Changed the GECOS-field '&' translation behavior to be
875         controlled by the BSD42 #define rather than GCOS_HACK, since it's
876         apparently always appropriate on OSes where BSD42 is #defined, and
877         never appropriate on any other OSes.  Thanks to Kimmo Suominen for
878         responding to my "What is this code here for?" comment in mts.c
879         and explaining the feature.
880         
881 Mon Feb 28 21:50:29 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
882
883         * Upped the version number to 1.0.3+dev (ideally this should be
884         done by whoever makes a release tar file, immediately after doing
885         so).
886         
887         * Applied Paul Fox <pgf-spam@foxharp.boston.ma.us>'s scansbr.c
888         patch, posted to comp.mail.mh, which he says prevents loss of mail
889         when inc'ing into a full filesystem.
890
891         * Changed "echo > stamp-h.in" in Makefile.in to "date > stamp-h.in"
892         so that stamp-h.in will be different each time configure.in and
893         related files are changed, making it easier to check it in (which
894         is necessary to prevent unnecessary autoconf calls).
895
896         * My declaration of initgroups() in slocal.c to eliminate the "no
897         prototype" warning wasn't portable (FreeBSD 3.[23] choked).  Now
898         use AC_EGREP_HEADER to see where initgroups() is declared, if
899         anywhere.
900
901 Sun Feb 20 12:17:15 2000 Ruud de Rooij <ruud@ruud.org>
902
903         * Fix security hole in mhshowsbr.c which allowed untrusted shell
904           code to be executed.
905         
906         * Released nmh 1.0.3.
907
908 Thu Feb 10 10:54:36 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
909
910         * Oops.  %-escapes on mhstore lines in mhn.defaults.sh should not
911         be surrounded by single quotes, as a shell is not spawned when
912         just saving files, and the filenames will end up with literal
913         quotes embedded in them.
914
915 Fri Feb 04 12:29:12 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
916
917         * Whoever originally added the -help switch to all the commands
918         got too cute and had the option itself print out as "-(help)" in
919         the -help output.  One theory is that they were making reference
920         to the fact that clearly you know about the -help option since
921         you're currently looking at its output.  I think it's a bad idea
922         to overload the meaning of the parentheses, however -- they're
923         supposed to indicate what abbreviated prefix of the switch you're
924         allowed to specify.
925
926         The other theory is that because you can say something like
927         "mhstore -" and get "mhstore: - ambiguous.  It matches" followed
928         by the same list of switches you get with -help, they were saying
929         you can "sorta" abbreviate "-help" as "-".  You don't get the
930         "Usage:" string, though, so it's not really the same thing.
931
932 Thu Feb 03 17:52:01 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
933
934         * Applied wesley.craig@umich.edu's KPOP patches.  According to him:
935
936               The following patch fixes a problem with requesting a
937               service key for a machine that has multiple 'A' records.  It
938               also makes "-kpop" a command line option, for users who
939               would like to use both "kpop" and "pop".
940
941         Did no testing of the new features, as I don't have access to a
942         KPOP server.
943
944         * Modified inc.man and msgchk.man to document Wesley's new -kpop.
945
946         * Modified INSTALL and config.h.in to reflect the new -kpop feature.
947
948 Fri Jan 28 17:39:24 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
949
950         * All %-escapes in mhn.defaults that actually expand to something
951         should be surrounded by single quotes.  Added quotes to the ones
952         in mhn.defaults.sh that were missing them.
953
954         * Added check for lynx to write mhshow-show-text/html line in
955         mhn.defaults.sh.
956
957 Thu Jan 27 12:22:25 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
958
959         * makedir() had multiple bugs dating back to MH.  An octal
960         constant was apparently being interpreted as decimal, resulting in
961         directories with no user read or execute permissions, making
962         nested directory creation fail.  And there wasn't even an
963         _attempt_ to set desired permissions (e.g. from "Folder-Protect:"
964         in .mh_profile) on the outer directories of a nested directory.
965
966         * A second `make install' would always fail because the check for
967         whether mh_profile.5 existed was written incorrectly.
968         
969 Wed Jan 26 02:22:00 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
970
971         * Added documentation on both types of masquerading to post's man
972         page.
973
974 Tue Jan 25 22:58:12 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
975
976         * Doug's portability fix of my setgid inc autodetection had a
977         caching bug -- if you re-ran configure, uip/Makefile would be
978         corrupted, and installation would bomb out on OSes where inc needs
979         to be setgid.
980
981         * Implemented a new kind of email address masquerading.  Usually,
982         when a user writes a custom "From:" header in a draft, nmh uses it
983         rather than generating one.  However, the user's true address is
984         used in the SMTP envelope "From:" and is revealed in the "Sender:"
985         header.  Now, when mmailid is set to non-zero, the envelope
986         "From:" uses the address specified in the draft "From:" header,
987         and there is no "Sender:" header.  This is useful when sending on
988         behalf of a remote POP3 account or when remote mail robots
989         incorrectly use the envelope "From:" in preference to the body
990         "From:".  This processing has only been implemented for post, not
991         for the undocumented spost (which was already missing some "From:"
992         processing that post has).
993
994 Mon Jan 24 22:26:06 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
995
996         * Got rid of the rest of the gcc -Wall warnings that I didn't have
997         time for on 1999-07-15 (and, it would seem, some new ones people
998         introduced since then).  The primary ones were the warnings that
999         default prototypes were being used for [v]snprintf() and
1000         str[n]casecmp().  As of right now, there are _no_ compilation
1001         warnings except on dtimep.c-lexed (at least under AIX 4.1.5 and
1002         Solaris 2.6).
1003
1004 Sun Jan 2 23:42:18 2000 Ruud de Rooij <ruud@ruud.org>
1005
1006         * Move mhtest from bindir to libdir.
1007
1008         * Move sendfiles from libdir to bindir.
1009
1010         * Updated sendfiles manpage to reflect this change.
1011
1012         * Added documentation for -build and -file switches to repl and 
1013           forw manpages (patch from Peter Maydell).
1014
1015         * Fixed interaction between specifying -cc in profile and -group on 
1016           command-line.
1017
1018 Tue Nov 1 13:48:10 1999 Dan Harkless <dan-nmh@dilvish.speed.net>
1019
1020         * Changed the version number from 1.0.3 to 1.0.2+dev.  There was
1021         not unanimous support for my proposed even/odd release/developer
1022         version number dichotomy.  1.0.2+dev implies release 1.0.2 plus
1023         some development.
1024
1025 Fri Oct 29 13:42:51 1999 Dan Harkless <dan-nmh@dilvish.speed.net>
1026
1027         * Upped the version number to 1.0.3.  If we don't do this, then
1028         when people report bugs against 1.0.2, we won't know "which" 1.0.2
1029         they're talking about (since the development source is publically
1030         available via CVS).  I think the Linux kernel version numbers are
1031         a good model, so the next time we roll a tarball, it should be
1032         version 1.0.4 (or higher -- anyhow, an even-numbered version).
1033
1034 Fri Oct 29 06:41:08 1999 Doug Morris <doug@mhost.com>
1035
1036         * Released nmh-1.0.2.
1037
1038 Tue Oct 26 22:57:00 1999 Doug Morris <doug@mhost.com>
1039         
1040         * Added check for whether "libtool" is in fact gnu libtool. If
1041         it is, it is not used. This is the wrong behavior. If vendor
1042         XYZ later on decides to create yet another libtool, we'll be
1043         caught again. This works for now.
1044
1045         * Minor updates to MACHINES refering to Mac OS X.
1046
1047 Thu Oct 21 20:45:37 1999 Doug Morris <doug@mhost.com>
1048
1049         * Added check for "libtool" (a ranlib type tool for Mac OS X)
1050         and modified Makefiles so that nmh will build under Mac OS X.
1051
1052 Sun Oct 17 08:28:56 1999 Ruud de Rooij <ruud@ruud.org>
1053
1054         * Changed repl defaults to partly revert to MH behaviour,
1055           "-cc all" is now only implied with -group.
1056
1057         * The replcomps template includes cc: header again (as in MH).
1058
1059         * Updated repl man page to reflect these changes.
1060
1061 Sat Oct 16 02:57:47 1999 Doug Morris <doug@mhost.com>
1062
1063         * Tweaked configure to handle Solaris and SunOS after the BIND
1064         changes. Both need more cleanup.
1065
1066 Sat Oct 16 00:17:36 1999 Doug Morris <doug@mhost.com>
1067
1068         * Removed BIND define and replaced it with a check for
1069         gethostbyname (to determine if the host is DNS aware) and a
1070         check for sethostent. This appears to be the right thing to
1071         do, but there is no explanation of the reasoning behind the
1072         BIND define in the code and it appears to have been used for
1073         multiple purposes. 
1074
1075 Wed Oct 13 15:53:53 1999 Doug Morris <doug@mhost.com>
1076
1077         * Updated manpages Makefile to link mh-profile.5 to
1078         mh_profile.5 after installation. Suggestion from Richard Cohen
1079         <richard@jubjub.demon.co.uk>.
1080
1081         * Modified configure.in to check for _IO_write_ptr and libio.h
1082         to determine whether to define LINUX_STDIO instead of using 
1083         config.guess.
1084
1085 Mon Oct 4 15:22:46 1999 Dan Harkless <dan-nmh@dilvish.speed.net>
1086
1087         * Added '-L' to the calls of 'ls' in configure.in -- I have seen
1088         multiple machines in the past where the mail spool was a symlink
1089         to a directory on another device with more free space.
1090
1091 Fri Oct 1 22:36:56 1999 Dan Harkless <dan-nmh@dilvish.speed.net>
1092
1093         * Fixed a portability problem in Doug's fix of a portability
1094         problem in my MAILGROUP autoconf support ('ls -l' vs. 'ls -lg'). 
1095
1096 Sat Sep 25 18:40:43 1999 Ruud de Rooij <ruud@ruud.org>
1097
1098         * Added config.sub and config.guess to the list of files to be
1099         distributed.
1100
1101         * Fixed bug in sbr/fmt_scan.c where an extra newline would be
1102         added if a list of addresses was split over several header lines.
1103
1104         * In mts/smtp/smtp.c, undefine strlen and strcpy if they are
1105         macros, regardless of platform.
1106
1107         * Allow q to quit mhshow, and n to skip to next part.  Patch from
1108         Kimmo Suominen <kim@tac.nyc.ny.us>.
1109
1110         * Modified mhstore to recognize attachments created by sendfiles
1111         with x-conversions=gzip.
1112
1113 Mon Sep 13 21:20:10 1999 Doug Morris <doug@mhost.com>
1114
1115         * added explicit cast to long from time_t for tclock in
1116         post.c.
1117
1118         * Commented out #ifdefs for <sys/ioctl.h> in termsbr.c since
1119         it's needed for ioctl() anyway. This prevents a warning about
1120         implicit definition of ioctl().
1121
1122         * Moved guesses performed by AC_CANONICAL_SYSTEM back into the
1123         "User Configuration" section of config.h (moved @TOP@ in
1124         acconfig.h) so they're easier to find, should someone actually
1125         want to mess with them.
1126
1127 Sun Sep 12 15:50:34 1999 Doug Morris <doug@mhost.com>
1128
1129         * updated Makefile.in so it recognized COMPLETION-TCSH and
1130         COMPLETION-ZSH (only used in make nmhdist). 
1131
1132         * added prototype for ruserpas to <h/prototypes.h>. Fixes
1133         warnings in mhparse.c and mhbuildsbr.c.
1134
1135         * added include checks for <time.h> and <sys/time.h> to
1136         prevent warnings in fmt_compile.c, fmt_scan.c, lock_file.c,
1137         sendsbr.c, mhbuildsbr.c, mhcachesbr.c, picksbr.c, and post.c.
1138
1139         * added include for <zotnet/mts/mts.h> to ali.c, scan.c, ap.c,
1140         rcvdist.c, rcvstore.c, rcvtty.c, and spost.c to remove
1141         warnings about implicit definition of mts_init().
1142
1143         * added <grps.h> to slocal.c to prevent warnings about
1144         function initgroups.
1145
1146         * added <h/signals.h> to prevent warning about missing SIGNAL
1147         function.
1148
1149         * added function prototypes to smtp.c, whatnowproc.c,
1150         mhbuildsbr.c, mhparse.c, mshcmds.c, show.c, whatnow.c, mhl.c
1151         to fix warnings.
1152
1153         * explicitly declared mbx_style in mshcmds.c and lused in
1154         fmtdump.c as type static int instead of just static to
1155         prevent warnings.
1156         
1157         * various code cleanups to prevent ambiguous statements
1158         (brackets for if/thens and parens for complicated if
1159         statements).
1160
1161
1162 Sun Sep 12 09:19:27 1999 Doug Morris <doug@mhost.com>
1163
1164         * commented out _cleanup() in mf.c because it's the only
1165         location in all of the source code where it exists. It was
1166         preventing compilation on at least linux.
1167
1168         * Added check for <db1/ndbm.h> which is the new location where
1169         linux systems appear to be stuffing this header file.
1170
1171 Thu Sep 09 23:15:49 1999 Doug Morris <doug@mhost.com>
1172
1173         * fixed varous mkstmep bugs introduced in 1.0.1 by me. Whups!
1174
1175         * added mh_profile SEGV patch from Richard Cohen
1176         <richard@jubjub.demon.co.uk> that prevents crashing when
1177         mh_profile doesn't end in a newline. A similar patch was
1178         previously sent in by Andrew Bettison <andrewb@zip.com.au>.
1179
1180         * fixed bug in associated with MAILGROUP #define (group "mail"
1181         is not universal) -- hard to believe, but true.
1182
1183 Tue Sep 7 16:47:03 1999 Dan Harkless <dan-nmh@dilvish.speed.net>
1184
1185         * Renamed ZSH.COMPLETION to COMPLETION-ZSH and added COMPLETION-TCSH.
1186
1187 Tue Aug 17 16:06:29 1999 Dan Harkless <dan-nmh@dilvish.speed.net>
1188
1189         * Automated #define of MAILGROUP and installation of inc as setgid mail
1190         when the mail spool directory isn't world-writable.
1191
1192 Thu Jul 15 18:37:07 1999 Dan Harkless <dan-nmh@dilvish.speed.net>
1193
1194         * slocal -debug used to leave a file in /tmp for each message
1195         processed.  Very bad for folks with slocal -debug in their .forward!
1196
1197         * Got rid of a ton of compilation warnings.  Most were "junk"
1198         warnings due to the use of gcc -Wall (without -Wno-parentheses),
1199         but a few represented real bugs.  There remain many warnings to be
1200         tackled that are due to missing function prototypes (e.g. snprintf()).
1201
1202         * Default rcvdistcomps no longer puts a copy of all outgoing
1203         messages in outbox.  Added an rcvdistcomps.outbox that does.
1204
1205 Sat Jun 09 12:22:47 1999 Doug Morris <doug@mhost.com>
1206
1207         * Updated configure to check for mkstemp (available on OpenBSD) and 
1208         substitute it for mktemp if available. 
1209
1210 Thu May 13 16:40:19 1999  Doug Morris <doug@mhost.com>
1211
1212         * Added config.sub and config.guess and updated acconfig.h and
1213         configure.in to automatically detect system type and set the
1214         proper #defines.
1215
1216 Wed May 12 23:41:33 1999  Dan Winship  <danw@mit.edu>
1217
1218         * Released nmh-1.0.1.
1219
1220 Fri May  7 17:18:28 1999  Dan Winship  <danw@mit.edu>
1221
1222         * Fixed flist to properly deal with relative folder names.
1223         Problem noted by Jerry Peek <jpeek@jpeek.com>.
1224
1225         * Fixed --with-krb4 to work with original Kerberos 4 libraries as
1226         well as the Kerberos 5 compat libraries. Based on a patch from
1227         Assar Westerlund <assar@sics.se>.
1228
1229         * Added a check in configure.in to test if modf is in libc and
1230         link with libm if not. This is needed by at least Digital UNIX. 
1231         Problem pointed out by Kevin Oberman <oberman@es.net>.
1232
1233         * Fix a bug from the "mhn -show" to "mhshow" renaming that
1234         made the "list" command in whatnow not work for some users.
1235         From Ruud de Rooij <r.c.m.derooij@twi.tudelft.nl>.
1236
1237         * Replaced "extern int errno" with "#include <errno.h>" in a
1238         number of files. Suggested by Stephen Wilson Bailey
1239         <swb@nconnect.net>.
1240
1241         * Fixed a problem in how "packf -mbox" translated "Return-Path:"
1242         lines. From Kimmo Suominen <kim@tac.nyc.ny.us>.
1243
1244         * Fixed a segmentation fault in inc. Patch originally from Ruud de
1245         Rooij <r.c.m.derooij@twi.tudelft.nl>.
1246
1247         * Allow display of 8bit encoded messages. From Kimmo Suominen
1248         <kim@tac.nyc.ny.us>.
1249
1250         * Fixed repl to not add line breaks in the middle of long
1251         addresses when building a reply. From Ruud de Rooij
1252         <r.c.m.derooij@twi.tudelft.nl>.
1253
1254         * Added -library switch to spost so it can parse user aliases like
1255         post does. From Ruud de Rooij <r.c.m.derooij@twi.tudelft.nl>.
1256
1257         * Changed configure.in's check for sigsetjmp to properly deal
1258         with systems like Linux where it is a macro. From
1259         <elleron@servtech.com>.
1260
1261         * Fixed a bug in whatnow that could cause it to sometimes exit
1262         without prompting the user. Based on a patch by Richard Geiger
1263         <rmg@netapp.com>.
1264
1265         * Added code to deal with SIGPIPE in mhl so it doesn't print
1266         "Broken pipe" if you quit out of the moreproc.
1267
1268         * Documentation: Added a note to MACHINES about Irix make. Added a
1269         pointer to the online copy of the MH book in INSTALL. Added
1270         some additional information to the whatnow and packf man pages,
1271         suggested by Jerry Peek <jpeek@jpeek.com>.
1272
1273         * Updated INSTALL, FAQ, etc to not refer to Richard as the
1274         maintainer or math.gatech.edu as the home any more.
1275
1276 1999-02-06  Richard Coleman  <coleman@math.gatech.edu>
1277
1278         * Released nmh-1.0.
1279
1280         * Merged mbx_open and mbx_Xopen in dropsbr.c.  Fixed
1281           mbx_open so that the mode of zero length maildrops
1282           would not be changed.
1283
1284         * Replaced the substitute version of snprintf() with the
1285           one from the Apache web server.
1286
1287         * Changed to default mode for creating new messages to 0600
1288           (this should have been done a long time ago).
1289
1290         * Changed "flist" to handle searching for multiple sequences
1291           for each folder.  Also flist will now correctly split
1292           Unseen-Sequence if it consists of multiple sequences.
1293
1294         * Added new switches `-unlink' and `-nounlink' to "refile".
1295
1296         * Added new switches `-unlink' and `-nounlink' to "rmm".
1297
1298         * More cleanups of slocal output.  Changed adorn() to
1299           send to stdout, instead of stderr (to match rest of
1300           verbose printing).
1301
1302         * Merged mbx_create() into mbx_open, so that creating and
1303           opening a nonexistent maildrop is done atomically.  This
1304           removes a bad race condition.
1305
1306         * Fixed bug that caused slocal to be unable to save to MMDF
1307           style drop file.
1308
1309         * Added new wrapper function usr_folder() to slocal.c to
1310           handle adding message to folder (currently, it still uses
1311           usr_pipe() to call rcvstore).
1312
1313         * seq_list() checks for empty folder before scanning for
1314           sequence information.
1315
1316         * num_digits() in flist.c and folder.c now returns correct
1317           value for 0.  Also added sanity check.
1318
1319         * folder_delmsgs() now correctly decrements internal message
1320           count.
1321
1322         * Don't attempt to read sequence information if folder
1323           is empty.
1324
1325         * Split seq_read into seq_public and seq_private.
1326
1327         * Small change to sigmsg.awk, since newer versions of gawk
1328           interpret 034 as octal.
1329
1330         * In flist, don't scan for sequence information in empty folder.
1331
1332         * Updated mhn.defaults.sh to output profile entries for mhshow,
1333           mhstore, and mhbuild.
1334
1335         * Changed configuration parameter "mhn-access-ftp" to
1336           "nmh-access-ftp".  Updated man pages
1337
1338         * Moved the code in InitMultipart to reverse the order of the
1339           parts in a multipart, into its own function "reverse_parts()".
1340
1341         * Changed code in mhbuildsbr.c to store unencoded content
1342           in the c_cefile structure when building.
1343
1344         * Changed code in mhoutsbr.c to look for unencoded content
1345           in the c_cefile structure when outputing message.
1346
1347         * Changed configuration parameter "mhn-cache" and
1348           "mhn-private-cache", to "nmh-cache" and "nmh-private-cache",
1349           since it is used in mhstore, mhlist, and mhshow.  Updated man pages
1350
1351         * Change configuration parameter "mhn-storage" to
1352           "nmh-storage", since it is now used in mhstore, mhlist,
1353           and mhshow.  Updated man pages
1354
1355         * Add autoconf support for KPOP (kerberized pop).
1356
1357         * Add autoconf support for Hesiod.
1358
1359         * Split routines to output a message given a Content structure
1360           (output_message, output_content, write7Bit, etc..) to a new
1361           file "mhoutsbr.c".
1362
1363         * Split output_content(), into output_content() and build_headers().
1364
1365         * Changed copy_some_headers() in mhstoresbr.c, to use the linked
1366           list of header fields, rather than reopening the message.
1367
1368         * Added free_header() to mhfree.c to free structures containing
1369           header field information.
1370
1371         * Changed get_content() to use the linked list of header fields
1372           when parsing the various MIME headers (Content-XXX).
1373
1374         * Changed get_content() to store linked list of header field
1375           values when parsing a content.
1376
1377         * Changed mhbuild, mhn, mhlist, mhshow, mhstore, to use the
1378           routines in mhcachesbr.c to handle the content cache.
1379
1380         * Split various funtions (find_cache, find_cache_aux, find_cache_aux2,
1381           cache_content) into new file mhcachesbr.c.
1382
1383         * More calls to sprintf/strcpy (primarily in mhparse.c
1384           and mhbuildsbr.c) converted to snprintf/strncpy.
1385
1386         * When a message is displayed with `mhshow', it is now
1387           removed from the "unseen" sequence.
1388
1389         * Change the default "showmimeproc" to "mhshow".
1390
1391         * Split "mhn -show" off into separate command "mhshow".
1392
1393         * Split "mhn -store" off into separate command "mhstore".
1394
1395         * Split "mhn -list" off into separate command "mhlist".
1396
1397         * Add sanity checks to context_find(), context_replace(),
1398           and context_del(), to abort if context file hasn't been
1399           read.
1400
1401         * Add calls to context_read(), to the beginning of all nmh
1402           commands (instead of being called indirectly by context_find).
1403
1404         * Changes the "substitute" version of vsnprintf/snprintf for
1405           operating systems without native versions, to just call the
1406           native vsprintf(), and ignore the buffer length.   This is
1407           faster, but less secure than the previous version that used
1408           temporary files.  This should only be a problem for systems
1409           which do not have a native snprintf(), and require `inc' to
1410           be setuid/setgid.
1411
1412         * Lots more calls to sprintf/strcpy converted to snprintf/strncpy.
1413
1414         * Changes client() routine to take additional parameter, which is
1415           the buffer length of the parameter "response".  Then added
1416           buffer length checks for this parameter.
1417
1418         * Changed getws() to get_fields(), since that is apparently the
1419           name of a wide character version of gets() on some archetitures.
1420
1421         * Lots of sprintf/strcpy calls converted to snprintf/strncpy.
1422
1423         * Change the code in most of the commands that take multiple
1424           message names/sequences/ranges on the command, such that
1425           the msgs array is expanded dynamically.  This removes most
1426           of the limits on the length of command lines.
1427
1428         * Add additional parameter to copyip(), to specify the
1429           maximum number of strings that can be copied (security
1430           fix).
1431
1432         * Create new function getarguments(), to massage the argument
1433           vector before parsing it (add any arguments from your
1434           profile to the beginning of the argument vector).  This
1435           also removed the general limit on the number of command line
1436           arguments.
1437
1438 1998-07-04  Richard Coleman  <coleman@math.gatech.edu>
1439
1440         * Released nmh-0.27.
1441
1442         * Added a new command "delete", that is available during
1443           a "whatnow" session.  It is equivalent to "quit -delete".
1444
1445         * Added another parameter to editfile (in whatnowsbr.c),
1446           that controls whether editfile should remember the last
1447           program that was exec'ed.  This way the whatnow command
1448           "mime", will not be re-executed if "edit" is later given
1449           with no arguments.
1450
1451         * Changed whatnowsbr.c, so that whatnow doesn't abort if
1452           mhbuild returns an error.
1453
1454         * Added parameter to sendsbr(), so you may specify whether to
1455           rename the draft file.
1456
1457         * Pass delay time to splitmsg() as a parameter, rather than
1458           use a global variable.
1459
1460         * Moved code to rename draft file after sending message from
1461           splitmsg and sendaux, to sendsbr.
1462
1463         * Removed all the code in viamail to split messages and then
1464           mail them.  Replaced this with the standard sendsbr.c routines.
1465
1466         * Changed sendsbr(), so that when splitting messages into
1467           messages of type "message/partial", the header fields that
1468           are copied are more compliant with RFC-2046.
1469
1470         * Fixed mhbuild to track temporary files better.  They are
1471           now correctly removed when mhbuild aborts.
1472
1473         * Created a new man page for "sendfiles".  The information
1474           about "mhn -viamail" in the "mhn" man page was moved to
1475           this new page.
1476
1477         * Changed the name of the "viamail" shell script to
1478           "sendfiles".  Modified "sendfiles" to use the new
1479           viamail program.
1480
1481         * Moved the functionality for "mhn -viamail" out of mhn,
1482           and into a separate executable called "viamail".
1483
1484         * When storing MIME contents to a folder using mhn -store,
1485           they are now accumulated in a temporary file, and then added
1486           to the folder using folder_addmsg().
1487
1488         * Moved code to save content to a folder from store_content
1489           to new function output_content_folder.
1490
1491         * Moved code to save content to file from store_content to
1492           new function output_content_file.
1493
1494         * Moved code to parse storage format string from store_content
1495           to new function parse_format_string.
1496
1497         * Fix copy_some_headers() in mhstoresbr.c, so that the
1498           correct header fields in the first enclosing message/partial
1499           will be copied (according to RFC2046), when using mhn -store
1500           to reassemble messages of type message/partial.
1501
1502         * Fixed bug to openFTP() in mhparse.c, that caused the
1503           tmp file to not be removed, when transferring a
1504           message/external file from ftp.
1505
1506         * Moved the code in mhparse.c to process -auto switch (scan
1507           contents for the attribute "name"), to a new function
1508           "get_storeproc" in mhstoresbr.c.
1509
1510         * Moved routines to free data structures related to MIME
1511           content from mhparse.c and mhbuildsbr.c, to new file
1512           mhfree.c.
1513
1514         * Moved code to show/display MIME content into new
1515           file mhshowsbr.c.
1516
1517         * Moved code to store MIME content from into
1518           new file mhstoresbr.c
1519
1520         * Moved code to parse MIME content into new
1521           file mhparse.c.
1522
1523         * Moved code to list information about MIME content
1524           into new file mhlistsbr.c.
1525
1526         * Move part_ok(), type_ok(), content_error(), flush_errors(),
1527           and set_endian() to new file mhmisc.c.
1528
1529         * Start to isolate the code to show, list, and store MIME
1530           messages.  One side effect is that only one flag (-show,
1531           -list, or -store) can be used at a time now.
1532
1533         * mhn -store -auto wasn't storing file in correct directory.
1534
1535         * Removed a few dead variables from sbr/ruserpass.c
1536
1537         * move code for creating tmp files, and renaming the
1538           the composition draft in mhbuild, from build_mime()
1539           to main().
1540
1541         * remove left-over code in mhbuild.c, mhbuildsbr.c, for
1542           the -[no]auto switch (which isn't used in mhbuild).
1543
1544         * split mhn.c into mhn.c and mhnsbr.c (name later changed
1545           to mhparse.c).
1546
1547         * split mhbuild.c into mhbuild.c and mhbuildsbr.c.
1548
1549 1998-05-25  Richard Coleman  <coleman@math.gatech.edu>
1550
1551         * Released nmh-0.26.
1552
1553         * Added (unlisted) options [no]dashstuffing to send, post,
1554           and whatnow to determine whether to do RFC934 quoting
1555           (dashstuffing) for encapsulated BCC messages.  The default
1556           is still the same (dashstuffing).
1557
1558         * Changed the undocumented feature "nodashmunging" in forw
1559           and mhl, into the documented feature "nodashstuffing".  The
1560           default for forw, is still "dashstuffing" for backward
1561           compatibility, although I don't believe that bursting
1562           RFC934 digests is very common anymore.
1563
1564         * Added an option to define REALLYDUMB in the default config.h.
1565           But it is not on by default.
1566
1567         * moved creation of config file mts.conf from zotnet/mts
1568           to etc.  This simplified the Makefile in zotnet/mts.
1569
1570         * simplified directory support/general to etc.
1571
1572         * removed unneeded directory support/bboards.
1573
1574         * split getusername() into getusername() and getuserinfo().
1575
1576         * Changed getusr() routine to getusername().
1577
1578         * Slight cleanup in folder_pack.c on code that records the new
1579           number of the "cur" message when packing.
1580
1581 1998-05-08  Richard Coleman  <coleman@math.gatech.edu>
1582
1583         * Released nmh-0.25.
1584
1585         * Change install process, so that hard linking the correct mts
1586           library to libmts.a, is not necessary.  The final link process
1587           uses the original name of the library.
1588
1589         * Fixed bug in flist.c and folder.c, so that symbolic links which
1590           point to directories, will not decrement the number of directory
1591           links remaining.
1592
1593         * Split the function list_content (in mhn.c and mhbuild.c) into
1594           list_content and list_debug.
1595
1596         * Don't pack (folder -pack) an empty folder.
1597
1598         * Exit gracefully in flist.c, if no sequence is specified,
1599           and no "Unseen-Sequence" is given in nmh profile.
1600
1601 1998-02-27  Richard Coleman  <coleman@math.gatech.edu>
1602
1603         * Released nmh-0.24.
1604
1605         * Small clarification to the man page for `ali'.
1606
1607         * Fix bug in inc.c so that if both flags `-file' and `-truncate'
1608           are given, that order doesn't matter.
1609
1610         * Fix bug in seq_list.c when realloc'ing for
1611           large sequence line.
1612
1613 1998-02-23  Richard Coleman  <coleman@math.gatech.edu>
1614
1615         * Released nmh-0.23.
1616
1617         * Add new section on "Transfer Encodings" to man page for mhbuild.
1618
1619         * In mhbuild.c, split compose_content into compose_content
1620           (parse and execute composition string), and scan_content (scan
1621           content, decided transfer encoding, check for clash with boundary
1622           string).  I did a good amount of rearranging of this code.
1623
1624         * Moved definitions for data structures for parsing MIME
1625           messages from mhn.c and mhbuild.c to a new include
1626           file h/mhnsbr.h.
1627
1628         * Small amount of rearranging in sendsbr.c
1629
1630         * Small changes to MAIL.FILTERING file.
1631
1632         * Add the file MAIL.FILTERING to nmh distribution.
1633
1634         * Add line to packf so that if message begins with
1635           "X-Envelope-From:" field, it is converted to "From ".
1636
1637         * Fix packf to add "From " line to beginning of message,
1638           even if Return-Path doesn't exist.
1639
1640         * Add note to MACHINES file that on Linux, configure
1641           doesn't find the functions sigsetjmp/siglongjmp.
1642
1643         * Fix configuration for machines that don't have (or find)
1644           sigsetjmp/siglongjmp.
1645
1646 1998-02-11  Richard Coleman  <coleman@math.gatech.edu>
1647
1648         * Released nmh-0.22.
1649
1650         * Add a configure check for sigsetjmp.  Add some conditional
1651           #define's in h/signals.h in case it's not found.
1652
1653         * Added additional notes about -auto switch in mhn man page.
1654
1655         * Added note about MM_CHARSET environment variable to
1656           mh-profile(5) man page.
1657
1658         * Fix signal problem in mhn.c (change setjmp/longjmp to
1659           sigsetjmp/siglongjmp).
1660
1661 1998-02-09  Richard Coleman  <coleman@math.gatech.edu>
1662
1663         * Released nmh-0.22-pre1.
1664
1665         * Changed the first line in mhl.format from
1666           " -- using template mhl.format -- " to a blank line.
1667
1668         * Added note about automimeproc to mh-profile man page.
1669
1670         * Reorganize the main entry point for parsing a MIME message
1671           or file in mhn.  Add new function parse_file() as new main
1672           entry point for parsing MIME files.
1673
1674         * Add note to mhn man page, that "mhn -file -" will accept the
1675           source message on the standard input.
1676
1677         * Changed a sanity check in folder_realloc that was too strict.
1678
1679         * -norfc934mode is now the default for mhbuild,
1680           rather than -rfc934mode.
1681
1682         * Fix mhbuild, so that Content-Description and RFC-822 comments
1683           from #forw directive will be correctly included if there is
1684           only one message.
1685
1686         * Change mhn to correctly default parts of multipart/digest to
1687           message/rfc822 (leftover code from rfc934mode was removed).
1688
1689         * Restore HP specific code to zotnet/tws/lexstring.c.  Apparently
1690           it is still needed.
1691
1692 1998-02-06  Richard Coleman  <coleman@math.gatech.edu>
1693
1694         * Released nmh-0.21.
1695
1696         * If the file given to mhbuild is "-", then accept the draft on
1697           standard input, and output the MIME message to standard output.
1698
1699         * Cleaned up code in mhbuild.c that decides what transfer
1700           encoding to use.
1701
1702         * Cleaned up code in mhbuild.c that decides what character set
1703           to use for text contents.
1704
1705         * Removed old hpux specific code from zotnet/tws/lexstring.c
1706
1707 1998-02-02  Richard Coleman  <coleman@math.gatech.edu>
1708
1709         * Released nmh-0.21-pre2.
1710
1711         * Added the "decode" variable to mhl.format and mhl.header.
1712
1713         * Added new variable "decode" to mhlsbr.c to decode text in
1714           header fields as per RFC-2047.
1715
1716         * Make sure that when decoding RFC-2047 header fields, that any
1717           spaces at the ends of the encoded text are not ignored, but the
1718           spaces between encoded word are.
1719
1720         * Removed #ifdef's for MIME.  MIME support is always compiled in.
1721
1722         * scan/inc will now decode both Subject and From lines as
1723           RFC-2047 encoded header fields.
1724
1725         * Added new function write_charset_8bit() to sbr.  It returns
1726           the character set to use for 8bit text in composition draft.
1727           Changed mhbuild to use this function.
1728
1729         * Split mhn man page into man pages for mhn and mhbuild.
1730
1731         * mhn -show will only now only use default method for content
1732           of type plain, if it is NOT a part of a multipart/alternative.
1733
1734         * Split mhn -build into mhbuild.  Did some code cleanup.
1735
1736         * Added support for %(decode) to fmtdump.c.
1737
1738         * check_charset() now accepts US-ASCII as a subset of any
1739           ISO-8859-X character set.
1740
1741         * Changed the default "showproc" to mhl, instead of the
1742           pager more.
1743
1744         * When reading file into mhn composition file, only need read
1745           permissions, not write permissions.
1746
1747         * Added own version of strcasecmp to distribution, since
1748           nmh calls it frequently with NULL pointers (ughh).
1749
1750         * Replaced uleq.c with strcasecmp.  Removed uleq.c from
1751           distribution.
1752
1753 1998-01-22  Richard Coleman  <coleman@math.gatech.edu>
1754
1755         * Released nmh-0.21-pre1.
1756
1757         * If a message is missing charset parameter to text/plain, show
1758           will assume US-ASCII, rather than just calling showmimeproc.
1759
1760         * Change show.c and mshcmds.c to use check_charset to see if text
1761           message contains valid character set.
1762
1763         * Added new scan format file "scan.nomime" to support/general
1764           that doesn't do any RFC-2047 decoding.
1765
1766         * Modified all the scan format files in support/general to do
1767           RFC-2047 decoding of Subject field.
1768
1769         * Did more work on sbr/fmt_rfc2047.c, so that it will correctly
1770           ignore whitespace between two valid encoded words, but not
1771           between an encoded word and normal text.
1772
1773         * Created new file sbr/check_charset.c.  Moved code from
1774           fmt_rfc2047.c to check for valid character set to this file.
1775
1776         * Added format escape %(decode) to decode contents of "str" register
1777           as a RFC-2047 header field.
1778
1779         * The command install-mh now recognizes the switches -version
1780           and -help.
1781
1782         * Added a new argument to print_help.c to decide whether to
1783           print profile entries (needed for install-mh to prevent weird
1784           loops).
1785
1786         * Changed folder_read.c and folder_realloc.c so that mp->lowoff
1787           is initialize to max (mp->lowmsg, 1) rather than always 1.
1788
1789         * Changed macros for sequence/attribute manipulation so that
1790           message status array doesn't need to always start at 1.
1791
1792         * Small cleanups in folder_realloc().
1793
1794 1998-01-09  Richard Coleman  <coleman@math.gatech.edu>
1795
1796         * Released nmh-0.20.
1797
1798         * Added configure option --with-pager=PAGER.
1799
1800         * Added configure option --with-editor=EDITOR.
1801
1802         * Changed the default format file for mhl (mhl.format) to
1803           also ignore (not display) the header fields Content-Type,
1804           Content-Transfer-Encoding, and Content-ID
1805
1806         * Fixed core dump in addrsbr.c when using %(proper) format function
1807           and the To: line was missing.
1808
1809         * Added the file ZSH.COMPLETION to the distribution.
1810
1811 1998-01-04  Richard Coleman  <coleman@math.gatech.edu>
1812
1813         * Released nmh-0.20-pre2.
1814
1815         * Added new switch -snoop to both `msgchk' and `inc', so you can
1816           watch the POP transaction.
1817
1818         * Changed "replgroupcomps" to check for Mail-Followup-To header
1819           first, and use it if available.
1820
1821         * Changed "replcomps" to check for Mail-Reply-To header
1822           first, and use it if available.
1823
1824 1998-01-03  Richard Coleman  <coleman@math.gatech.edu>
1825
1826         * Released nmh-0.20-pre1.
1827
1828         * Changed seq_list.c to dynamically enlarge the buffer for
1829           collecting the message ranges in a long sequence line.
1830           This should remove the last hard limit on the size of a
1831           sequence line.
1832
1833         * Changed seq_read.c so that can read long sequence lines.
1834           It will use multiple calls to m_getfld() when m_getfld()
1835           returns the state FLDPLUS.
1836
1837         * Changed brkstring.c to dynamically add more space for pointers
1838           if necessary.  This is needed when splitting up large sequence
1839           lines.
1840
1841         * Did some small cleanups in seq_save.c.
1842
1843         * Added new switches `-[no]unseen' to rcvstore, to control
1844           whether new messages are added to Unseen-Sequence.
1845
1846         * Moved locking routines (zotnet/mts/lock.c) to sbr/lock_file.c
1847
1848         * Changed the internal UNSEEN flag to SELECT_UNSEEN which is
1849           more appropriate.  Changed the MHPATH flag to ALLOW_NEW.
1850
1851         * Changed "replcomps" to not include CC and TO lines so that
1852           that reply message is only directed at the author of the
1853           message to which you are replying.
1854
1855         * Added new switch `-group' to command repl, which causes repl
1856           to use new forms file "replgroupcomps".  This is intended for
1857           making group replies.
1858
1859         * Removed #ifdef for ATHENA.
1860
1861 1997-12-28  Richard Coleman  <coleman@math.gatech.edu>
1862
1863         * Released nmh-0.19.
1864
1865         * Fix repl,forw so that switch `-form file' will not abort
1866           as ambiguious (silly mistake on my part).
1867
1868         * Cleaned up the mhn man page.  Added info about a few escapes
1869           for the formatting/display strings that were not documented
1870           (%%, %t).  Moved the BNF grammar for the mime composition file,
1871           to the end of the man page.
1872
1873         * Added the options -[no]format to the command repl.  The
1874           switch `-format' will filter the message to which you are
1875           replying with the standard message filter "mhl.reply", which
1876           is now included in the distribution.  The `-noformat' option
1877           will negate the use of -format or -filter and not include
1878           the message to which you are replying in the draft.
1879
1880         * Did some cleaning and reorganization on many of the man
1881           pages.
1882
1883         * Added debugging switch `-debug' to mhparam, which displays
1884           the values of all `procs' (and some other misc configuration
1885           info) that nmh keeps in global variables.
1886
1887         * When using `refile -preserve', if a conflict occurs, then use
1888           the next available number above the message number you wish
1889           to preserve.
1890
1891         * In forw.c, split the code for creating MIME style forwarding
1892           out of copy_draft, and into copy_mime_draft.
1893
1894         * Move routines in mark.c to print sequences, into new
1895           file sbr/seq_print.c
1896
1897         * flist will now update the current folder.
1898
1899         * Added the switches -[no]fast to flist, to replace
1900           -[no]total.  The previous switches are still accepted
1901           but now undocumented.
1902
1903         * More reorganization in flist of the code for
1904           traversing folders.
1905
1906         * The command "flist +foo -all" will now scan the folder
1907           "foo" and all its 1st level children.
1908
1909         * Add missing include file <h/mh.h> to sbr/snprintf.c
1910
1911         * Fix alarm bug in rcvtty, so that when it calls external
1912           process, the alarm is never longer than 30 minutes.
1913
1914 1997-12-17  Richard Coleman  <coleman@math.gatech.edu>
1915
1916         * Released nmh-0.18.
1917
1918         * Fixed bug in mark, so that "mark -list -seq foo" will
1919           correctly indicate if "foo" is a private sequence.  I found
1920           this bug mentioned in Jerry Peek's book.
1921
1922         * Simplified the code in seq_setcur(), since seq_addmsg() now
1923           retains the public/private status of sequences.
1924
1925         * Changed sequence handling so that if the switches -public
1926           or -nopublic, are not specified for the commands mark, pick,
1927           or rcvstore, then existing sequences will retain their
1928           previous public/private status.
1929
1930         * mhparam now handles the mh-sequences profile entry
1931           correctly.
1932
1933         * flist -all will now also check readonly folders (for
1934           private sequences).
1935
1936         * Improve the leaf optimization for folder command.
1937           It will now track the number of directories in a folder,
1938           and stop stat'ing files once it has hit all the subfolders.
1939
1940         * Renamed m_getfolder to getfolder.  Changed getfolder to
1941           take option to determine whether it should get current
1942           folder, or just default folder (Inbox).  Changed rcvstore,
1943           inc, and rmf to use the new getfolder.
1944
1945         * flist now indicates if a sequence is private.
1946
1947         * Change WUNTRACED to 0, in pidwait.c, so that commands will
1948           wait for stopped processes.
1949
1950         * conflict will dynamically allocate space for group names,
1951           so it can now handle system with more than 100 groups.
1952
1953 1997-12-09  Richard Coleman  <coleman@math.gatech.edu>
1954
1955         * Released nmh-0.18-pre4.
1956
1957         * Check if we have enough message status space, before we
1958           call folder_realloc() in burst, mhpath, and m_draft().
1959
1960         * mhn will now correctly identify a formatting string of "-"
1961           for the option -store, and send content to stdout.
1962
1963         * Change the way that memory for message status is
1964           allocated.  It is dynamcially allocated separately from
1965           the folder/message structure.  This required changing
1966           folder_read.c, folder_realloc.c, folder_free.c.
1967
1968         * Removed all the MTR code (experimental code for message
1969           status allocation).
1970
1971         * Renamed m_readfolder.c to folder_read.c and simplified
1972           the code.
1973
1974         * Renamed m_freefolder.c to folder_free.c.
1975
1976         * Add function trim() to slocal.c to pretty print
1977           the debugging output.
1978
1979         * Changed the name of m_packfolder() to folder_pack().
1980           Changed the name of m_remsg() to folder_realloc().
1981
1982 Wed Dec  3 23:33:38 1997  Richard Coleman  <coleman@math.gatech.edu>
1983
1984         * Released nmh-0.18-pre3.
1985
1986         * Changed installation to add `flists' which is hard linked
1987           to `flist'.  This is a equivalent to `flist -all'.
1988
1989         * For flist, -showzero is on by default.
1990
1991         * Major changes to flist.  Default is now for flist to search
1992           current folder.  The switch `-all' is now used to specify
1993           searching all top level folders.  The new switch `-showzero'
1994           is used to print out folders that don't contain any messages
1995           in the given sequence.
1996
1997         * Split BuildFolderList in flist.c into 2 functions
1998           (BuildFolderList, BuildFolderListR).  Changed these functions
1999           so that flist now does better leaf optimization, and will stop
2000           stat'ing directory entries when it knows it has hit all the
2001           subdirectories of a given directory.
2002
2003         * Reorganized code in folder.c, so that all relevant folders
2004           are scanned first and information recorded.  Then all the
2005           folder summaries at printed out at one time.
2006
2007         * Made the options of folder(s) more orthogonal.  Now
2008           "folder -all -noheader -nototal" will do the right thing.
2009
2010         * Added `-noall' switch to folder, for completeness.
2011
2012         * Changed the default mode for creation of new folders
2013           to 0700 (was 0711).
2014
2015         * Slightly changed the format for flist.  It now indicates
2016           if a folder is current.  Also the width of the various
2017           fields are now calculated at runtime.
2018
2019         * Changed the format for folder(s).  Folder names
2020           are now left justified.  The width of the various fields
2021           are calculated at runtime.
2022
2023 Sun Nov 30 19:14:53 1997  Richard Coleman  <coleman@math.gatech.edu>
2024
2025         * Released nmh-0.18-pre2.
2026
2027         * Add paragraph to man page for install-mh and to INSTALL file
2028           about checking for global mh.profile.
2029
2030         * Renamed m_find() to context_find().
2031           Renamed m_replace() to context_replace().
2032           Renamed m_delete() to context_del().
2033           Renamed m_update() to context_save().
2034           Renamed m_getdefs() to context_read().
2035           Renamed m_foil() to context_foil().
2036
2037         * Change rcvstore to use routine folder_addmsg(), instead of
2038           adding message to folder itself.
2039
2040         * Changed refile, so that if the switch -preserve is used,
2041           and a conflict occurs for a particular folder, then folder_addmsg()
2042           will just use next highest available number for that folder,
2043           instead of exiting.
2044
2045         * Make folder_addmsg() more robust.  It will make repeated
2046           attempts to link file into folder if link returns with
2047           the error EEXIST.
2048
2049         * Fix bug, so that that if forking sendmail, HELO will be sent
2050           unless clientname: option is defined but empty (so now it
2051           is the same as the direct smtp code).
2052
2053         * Changed sprintb to snprintb (now we pass the buffer length
2054           to new routine).  Changed code to use new function.
2055
2056         * Added snprintf to sbr. Added configure check to build it
2057           if you don't have a native version (but haven't changed much
2058           code to use it yet).
2059
2060 Thu Nov 13 18:42:18 1997  Richard Coleman  <coleman@math.gatech.edu>
2061
2062         * Released nmh-0.18-pre1.
2063
2064         * Fixed alarm bug in slocal, so that alarm is never
2065           called with a value larger than 30 mintues.
2066
2067         * Fixed race condition in rmm and refile, so that
2068           context is updated before external rmmproc is called.
2069
2070         * Removed all the OVERHEAD code.
2071
2072         * Move code to add message to folder from refile.c
2073           to folder_addmsg.c
2074
2075 Fri Jul 25 19:39:29 1997  Richard Coleman  <coleman@math.gatech.edu>
2076
2077         * Did some rearranging of the internals of inc.c.
2078
2079         * Make -inplace the default for anno, forw, dist, and repl.
2080
2081         * Changed --enable-smtp to --with-mts={smtp,sendmail}
2082
2083         * Created new directory mts/sendmail for direct sendmail
2084           interface (although it currently still uses SMTP).
2085
2086         * Removed all the TMA (trusted mail agent) code
2087
2088         * Removed all the TTYD (terminal access daemon) code
2089
2090         * Removed all the MF (uucp filtering) code.
2091
2092         * Removed all the code for BERK.
2093
2094         * Removed all the code for stand-alone delivery (MHMTS).
2095
2096         * Split the file mts/sendmail/smail.c into sendmail.c and
2097           smtp.c.  Changed the name of the directory to mts/smtp.
2098
2099         * Changed autoconf to use @sysconfdir@ for location of
2100           configuration files.
2101
2102         * Changed #define in mhn.c from FTP to BUILTIN_FTP.
2103
2104 Mon Jul 21 03:22:34 1997  Richard Coleman  <coleman@math.gatech.edu>
2105
2106         * Released nmh-0.17.
2107
2108         * MAKEDEFS weren't passed down to recursive makes correctly.
2109
2110         * slocal.c now checks for UTMP_FILE and _PATH_UTMP instead
2111           of hard-coding "/etc/utmp".
2112
2113         * rcvtty.c check for _PATH_UTMP if UTMP_FILE is not
2114           defined.
2115
2116         * Remove configure checks for ulong and ushort.  Changed
2117           code to just use unsigned {short, long}.
2118
2119         * Change addmsg function in refile.c to return new
2120           number of refiled message.
2121
2122         * Added check in get_returnpath for empty unixbuf.
2123
2124         * Cleanup of sbr/pidstatus to use more POSIX macros
2125           for return value of wait().
2126
2127         * Change configure to also check /bin for "more".
2128
2129 Sat Jul 12 00:02:23 1997  Richard Coleman  <coleman@math.gatech.edu>
2130
2131         * Released nmh-0.16.
2132
2133 Mon Jun 23 20:13:24 1997  Richard Coleman  <coleman@math.gatech.edu>
2134
2135         * Added automimeproc, which should replace automhnproc.
2136
2137         * multipart messages will no longer abort for messages
2138           of type 8bit or binary (although we still can't really
2139           deal with binary messages, yet).
2140
2141         * Fix double free of c_storage.  From John MacMillan.
2142
2143         * mhn now treats unknown subtypes of "text" as text/plain.
2144
2145         * mhn changed so that specifying mhn-show-multipart, or
2146           mhn-show-multipart/{mixed, alternate, etc...) will override
2147           the use of the internal method for displaying these types.
2148           Previously mhn would always use the internal method for subtypes
2149           mixed, alternate, digest, and parallel (even if an alternate
2150           method was specified in mhn.defaults).
2151
2152         * mhn show treats unknown subtypes of multipart, as type
2153           multipart/mixed (as specified RFC2046).
2154
2155         * mhn checks for the parameter "name" rather than "x-name".
2156           From MH-6.8.4 patch.
2157
2158         * Fix double free of ctinfo in user_content when using
2159           #forw with single message.  From John MacMillan (and
2160           MH-6.8.4 patch).
2161
2162         * Changed -mhnproc switch for show, to -showmimeproc.
2163
2164         * Changed profile entry "mhnproc" to "showmimeproc".
2165
2166         * Added "mime" option to "whatnow", which calls the program
2167           "buildmimeproc" (default is mhn -build) to process MIME
2168            composition files.
2169
2170         * Added -build switch to mhn, to process MIME composition
2171           files.
2172
2173         * Did some reorganizing of mhn.c.
2174
2175         * Changed casting in mts/sendmail/smail.c from (char) to
2176           (signed char) so SMTP reply codes work correctly for machines
2177           which used unsigned chars by default.
2178
2179 Sat Jun 21 01:21:47 1997  Richard Coleman  <coleman@math.gatech.edu>
2180
2181         * Released nmh-0.15.
2182
2183         * Added new form "scan.unseen" to distribution.  It marks messages
2184           which are in any sequence in Unseen-Sequence.
2185
2186         * Do some rearranging of date/time code in zotnet/tws/dtime.c
2187
2188         * Fix sign extension bugs in fmt_scan.c.
2189
2190         * Fix m_atoi.c so that strings ending in non-digit characters
2191           return 0.
2192
2193         * Split code in burst.c so that finding delimiters of digested
2194           messages and bursting a message into multiple messages are
2195           two separate functions (find_delim and burst).
2196
2197         * Add workaround fo AC_PATH_PROG in configure.in, so
2198           that BSD4.4 machines can find sendmail, vi, more.
2199
2200         * Added "-width" option to rcvtty.
2201
2202         * Change a few variable names in zotnet/mts/client.c since
2203           they conflict with defines on AIX.
2204
2205         * Makefile in zotnet/tws assumes lexing of dtimep.lex was
2206           unsuccessful if resulting file is less than 500 lines long
2207           (rather than 10, which was previous value), since AIX
2208           sed gives mangled file of about 200 lines.
2209
2210         * Extract code in rcvstore.c to link message into folder,
2211           and put in own subroutine.
2212
2213         * Extract code in refile.c to link message into folder,
2214           and put in own subroutine.
2215
2216         * Moved code to remove messages from folder into own
2217           routine "folder_delmsgs" in sbr.  Changed rmm.c and
2218           refile.c to use new routine.
2219
2220 Fri May 16 06:09:31 1997  Richard Coleman  <coleman@math.gatech.edu>
2221
2222         * Renamed m_seqok to seq_nameok.
2223
2224         * Changed m_setunseen, msh, mshcmds, flist, and scan to use
2225           seq_getnum.
2226
2227         * Changed m_seqflag to return the number of a sequence rather
2228           than its bit flag.  Changed its name to seq_getnum and renamed
2229           file to sbr/seq_getnum.c.
2230
2231         * Removed function m_seqnew and file sbr/m_seqnew.c since it is
2232           no longer used.
2233
2234         * Added zero switch to m_seqadd function to zero out bits before
2235           adding message to sequence.
2236
2237         * Renamed function m_setvis to m_setunseen, and renamed
2238           corresponding file in sbr.
2239
2240         * Renamed function m_setseq to m_setprev, and renamed corresponding
2241           file in sbr.
2242
2243         * Changed mark.c and pick.c to use m_seqaddsel and m_seqdelsel.
2244
2245         * Added new function m_seqdelsel to m_seqdel.c, which deletes
2246           all selected messages from a sequence.
2247
2248         * Added new function m_seqaddsel to m_seqadd.c, which adds all
2249           selected messages to a sequence.
2250
2251         * Split sbr/m_seqnew.c into m_seqadd.c, m_seqdel.c, m_seqnew.c,
2252           and m_seqok.c.
2253
2254 Thu May 15 00:53:17 1997  Richard Coleman  <coleman@math.gatech.edu>
2255
2256         * Renamed function pack_folder to m_packfolder, and moved it
2257           from uip/folder.c into its own file sbr/m_packfolder.c
2258
2259 Wed May 14 23:38:00 1997  Richard Coleman  <coleman@math.gatech.edu>
2260
2261         * Changed function m_gmsg to m_readfolder.  Renamed file
2262           sbr/m_gmsg.c to sbr/m_readfolder.c.
2263
2264 Mon May  5 19:57:11 1997  Richard Coleman  <coleman@math.gatech.edu>
2265
2266         * Expanded rcvtty man page, and added small patch from
2267           MH-6.8.4 distribution.
2268
2269 Fri May  2 15:24:34 1997  Richard Coleman  <coleman@math.gatech.edu>
2270
2271         * Released nmh-0.14.
2272
2273         * Comment out configure test and code for tgetent to allocate its
2274           own termcap buffer when passed a NULL argument.
2275
2276 Sat Apr 26 03:46:38 1997  Richard Coleman  <coleman@math.gatech.edu>
2277
2278         * Added new options `-checkmime', `-nocheckmime', and `-mhnproc'
2279           to show.  Restructured code to handle options to various
2280           `procs' better.  Deprecated `-noshowproc' option and NOMHNPROC
2281           environment variable.
2282
2283         * Added new man page `mh-draft' which documents the
2284           draft folder facility in nmh.
2285
2286         * Renamed fmtsbr.h to fmt_scan.h.  Renamed fmtcompile.h
2287           to fmt_compile.h.
2288
2289         * split fmtsbr.c into fmt_scan.c and fmt_new.c.  Renamed
2290           fmtcompile.c to fmt_compile.c, and formataddr.c to
2291           fmt_addr.c.
2292
2293         * `send -help' wasn't showing the -(no)mime and -split
2294           options.
2295
2296 Fri Apr 25 02:50:36 1997  Richard Coleman  <coleman@math.gatech.edu>
2297
2298         * Released nmh-0.13.
2299
2300         * Changed mhpath so it doesn't abort if a message sequence
2301           such as "mhpath all" expands to more than 1000 messages.
2302           Also mhpath now dynamically reallocated space for message
2303           names (The number of command line arguments is still limited
2304           to MAXARGS).
2305
2306         * Did some general restructuring of the code in folder.c
2307           that checks for folder information, and prints it.
2308
2309 Thu Apr 24 01:04:37 1997  Richard Coleman  <coleman@math.gatech.edu>
2310
2311         * Changed `folder' to reallocate space for folder names if
2312           necessary.  So `folders' can now handle more than 300 folders.
2313
2314 Tue Apr 22 14:01:26 1997  Richard Coleman  <coleman@math.gatech.edu>
2315
2316         * Change configure to use a compile check to see if the tm struct
2317           has tm_gmtoff, rather than using egrep.
2318
2319 Mon Apr 21 02:19:17 1997  Richard Coleman  <coleman@math.gatech.edu>
2320
2321         * Released nmh-0.12.
2322
2323         * Had set_exists and unset_exists macros backwards.
2324
2325         * Released nmh-0.11.
2326
2327 Thu Apr 10 02:39:53 1997  Richard Coleman  <coleman@math.gatech.edu>
2328
2329         * Added documentation to mh-profile.man about the various
2330           `procs' (mhlproc, showproc, lproc, etc...).
2331
2332         * Replace the bit twiddling for SELECTED, UNSEEN, and
2333           mp->attrstats with macros.
2334
2335         * If system doesn't have SIGEMT (like Linux), then use SIGTERM
2336           in msh.c instead.
2337
2338         * Change fstat to stat in m_gmsg.c since Linux wants
2339           to hide dd->dd_fd.
2340
2341         * Merge Linux patch sent in by Michel Oosterhof (original
2342           patch from bsa@kf8nh.wariat.org).
2343
2344         * Document an undocumented MH feature.  mhn -form mhl.null
2345           will suppress the display of the message header.
2346
2347         * mhparam will now return "mhparam etcdir".
2348
2349         * Add catproc to /config/config.c and use that in show.c
2350           and mshcmds.c, rather than hard coding in /bin/cat.
2351
2352         * Add mhnproc to the list of `procs' in mh-profile.man.
2353
2354         * Add configure test for lorder and tsort commands.
2355
2356         * Commented out the padding in the `msgs` struct in h/mh.h
2357
2358         * Change m_gmsg.c to allocate elements to the `info' array by
2359           500 elements at a time (rather than MAXFOLDERS / 5).
2360
2361         * Add note to man page for mhmail that zero length messages are
2362           not sent.  Need to use -body "" to send empty messages.
2363
2364         * zotnet/mts/mts.c : compare character with '\0', not NULL.
2365
2366         * sbr/getcpy.c : assign '\0' to character, not NULL.
2367
2368         * add m_fmsg to most programs in uip so that they explicitly free
2369           folder/message structure when done with folder.
2370
2371         * uip/slocal.c : cleanup processing of sender.  Make sure it is
2372           defined even if message is missing "From " line.
2373
2374 Mon Mar 31 03:37:35 1997  Richard Coleman  <coleman@math.gatech.edu>
2375
2376         * Released nmh-0.10.
2377
2378 Sun Mar 30 21:46:17 1997  Richard Coleman  <coleman@math.gatech.edu>
2379
2380         * Add configure check for <locale.h>.  Turn on LOCALE support
2381           by default.
2382
2383 Thu Mar 20 03:21:24 1997  Richard Coleman  <coleman@math.gatech.edu>
2384
2385         * Reversed previous decision to retain "From " lines in slocal.
2386           The "From " line is now removed from all messages.
2387
2388         * inc now saves the date from the "From " envelope in the
2389           Delivery-Date header for all messages.
2390
2391         * sbr/m_getfld.c: Clean up processing of Return-Path and
2392           Delivery-Date from the "From " envelope.
2393
2394 Mon Mar 17 19:03:36 1997  Richard Coleman  <coleman@math.gatech.edu>
2395
2396         * client.c: cast iaddr to int before comparing return value
2397           of inet_addr with NOTOK.
2398
2399 Tue Mar 11 04:38:10 1997  Richard Coleman  <coleman@math.gatech.edu>
2400
2401         * Grep test for signal names was failing on some OS'es because
2402           of missing tabs in regex.
2403
2404 Sat Mar  8 01:58:22 1997  Richard Coleman  <coleman@math.gatech.edu>
2405
2406         * Released nmh-0.09.
2407
2408         * Move config files and format files to *.old before installing.
2409
2410         * Add configure check for killpg.
2411
2412         * msh.c: include <termios.h> instead of <termio.h> and
2413           <sys/ioctl.h>.
2414
2415         * prompter.c: don't include <sys/ioctl.h> anymore.
2416
2417 Thu Mar  6 04:03:24 1997  Richard Coleman  <coleman@math.gatech.edu>
2418
2419         * Added `-mime' and `-nomime' options to `repl'.
2420           From MH-6.8.4 diff.
2421
2422 Tue Mar  4 03:10:37 1997  Richard Coleman  <coleman@math.gatech.edu>
2423
2424         * ruserpass.c : removed conflicting prototypes.
2425
2426         * rcvtty.c : Fixed rcvtty to obey terminal permissions granted
2427           by `mesg' command.  Previously only worked on BSD machines.
2428
2429 Mon Mar  3 00:18:59 1997  Richard Coleman  <coleman@math.gatech.edu>
2430
2431         * rcvtty.c : Changed to use #define UTMP_FILE (if exists) rather
2432           than hard coded "/etc/utmp".
2433
2434         * Released nmh-0.08.
2435
2436         * Changed slocal to lock .maildelivery (or file given by -maildelivery)
2437           when accessing ndbm/db file for duplicate suppression, instead of
2438           locking database itself.
2439
2440 Thu Feb 27 05:28:09 1997  Richard Coleman  <coleman@math.gatech.edu>
2441
2442         * Added slocal action `mmdf' to deliver to a file in mmdf format.
2443
2444         * Changed the slocal actions `file' and `>' to always deliver in
2445           mbox (uucp) format rather than be determined by RPATHS config
2446           option.
2447
2448         * Changed the slocal action `mbox' to deliver in mbox (uucp) format
2449           rather than mmdf format.
2450
2451         * slocal now adds Delivery-Date field to all messages (previously it
2452           only added it to messages when delivering them to a file). The
2453           "From " line is now retained on all messages if compiling with
2454           RPATHS, rather than being discarded.
2455
2456         * rcvpack no longer adds the Delivery-Date field to messages.
2457
2458 Sun Feb 23 22:03:54 1997  Richard Coleman  <coleman@math.gatech.edu>
2459
2460         * Removed the script packmbox, since it's functionality has been
2461           added to packf.
2462
2463         * Changed packf so that it uses mbox (uucp) format by default
2464           rather than mmdf format.  Added options -mbox and -mmdf to
2465           packf so you can choose the preferred format.
2466
2467         * Changed rcvpack so that it uses mbox (uucp) format by default
2468           rather than mmdf format.  Added options -mbox and -mmdf to
2469           rcvpack so you can choose the preferred format.
2470
2471 Tue Feb 18 00:01:05 1997  Richard Coleman  <coleman@math.gatech.edu>
2472
2473         * Changed nmh to use dot locking by default (although you
2474           can still easily change this in config.h).
2475
2476         * Simplified locking code.  Removed code allowing setting of
2477           locking type in mts.conf.  Now the locking type and locking
2478           directory (if any) can only be set at compile time.
2479
2480 Fri Feb 14 02:49:18 1997  Richard Coleman  <coleman@math.gatech.edu>
2481
2482         * Prefer getting timezone information from tm->gmtoff rather
2483           than tzset and external timezone variable.
2484
2485 Thu Feb 13 00:35:45 1997  Richard Coleman  <coleman@math.gatech.edu>
2486
2487         * Fixed typo in ruserpass.c in the variable toktabs.
2488
2489         * When ruserpass was added to LIBOBJS, it was missing
2490           the suffix.
2491
2492         * Released nmh-0.07.
2493
2494 Tue Feb 11 01:29:47 1997  Richard Coleman  <coleman@math.gatech.edu>
2495
2496         * Add check to configure, so that if ruserpass, or _ruserpass
2497           is not found, build version of ruserpass in sbr.
2498
2499         * Added define's to discard.c, m_getfld.c, and scansbr.c so
2500           the code that manipulates internals of stdio, will build
2501           on SCO 5.x.
2502
2503         * Added #define to control whether to compile the simple
2504           built-in FTP client in mhn.
2505
2506         * Added configure check for ushort and ulong.  Change code
2507           to use ushort/ulong rather than u_short/u_long.
2508
2509         * A couple of small cleanups in locking code.
2510
2511         * Added configure check for gmtoff element in struct tm.
2512
2513         * Added configure check for tzset.
2514
2515 Fri Feb  7 03:01:57 1997  Richard Coleman  <coleman@math.gatech.edu>
2516
2517         * Released nmh-0.06.
2518
2519         * Removed code for machines that don't have socket
2520           interface (how could they get mail anyway?).
2521
2522         * Removed code for BSD41 machines.  I don't think there are
2523           many such machines around anymore.
2524
2525         * Add configure check for function uname, and prefer it
2526           over gethostname.  General cleanup of zotnet/mts/mts.c.
2527
2528         * Change all `lseek' calls to use POSIX symbolic constants
2529           SEEK_SET, SEEK_CUR, SEEK_END.
2530
2531 Thu Feb  6 01:16:30 1997  Richard Coleman  <coleman@math.gatech.edu>
2532
2533         * Check lex generated file in zotnet/tws and use
2534           pre-generated version if necessary.
2535
2536         * Released nmh-0.05.
2537
2538         * Change to use reliable signals on all platforms that have
2539           sigaction.  Change so that interrupted system calls are
2540           restarted for all signals except SIGALRM.  This fixes alarm
2541           handling code in smail.c for BSD based systems.
2542
2543         * Added lorder and tsort commands so that created libs can
2544           be linked in one pass.
2545
2546 Tue Feb  4 01:33:00 1997  Richard Coleman  <coleman@math.gatech.edu>
2547
2548         * Changed pidwait so that while it is waiting for a child,
2549           it should block signals rather than ignore them.
2550
2551 Mon Feb  3 21:05:30 1997  Richard Coleman  <coleman@math.gatech.edu>
2552
2553         * Add checks to configure for dbm_open and -lndbm.
2554
2555 Thu Jan 30 05:15:42 1997  Richard Coleman  <coleman@math.gatech.edu>
2556
2557         * folder -pop and folder -push were freeing some memory too
2558           quickly, which caused the entry popped from the stack to not
2559           become the current folder.
2560
2561 Wed Jan 29 01:28:02 1997  Richard Coleman  <coleman@math.gatech.edu>
2562
2563         * Released nmh-0.04.
2564
2565         * Define ospeed and PC in termsbr.c is OS doesn't have
2566           it.
2567
2568 Sun Jan 26 20:25:10 1997  Richard Coleman  <coleman@math.gatech.edu>
2569
2570         * editfile will create a symbolic link to the altmsg if it
2571           can't make a link, on any machine supporting lstat.  Formerly
2572           this would happen only on BSD42 based machines.
2573
2574 Sat Jan 25 22:54:26 1997  Richard Coleman  <coleman@math.gatech.edu>
2575
2576         * traverse (in popsbr.c) wasn't calling va_start before using
2577           variable argument list.  Fixes core dump in inc when using POP.
2578
2579 Fri Jan 24 03:27:59 1997  Richard Coleman  <coleman@math.gatech.edu>
2580
2581         * The variable pass in remotemail needed to be set to
2582           NULL.  (From MH-6.8.4 diff).  Fixes core dump of msgchk when
2583           using POP.
2584
2585         * inc and msgchk were using -rpop by default when configured
2586           with POP support.  Default is now -norpop.
2587
2588 Thu Jan 23 02:01:17 1997  Richard Coleman  <coleman@math.gatech.edu>
2589
2590         * By default, post will now give the SMTP HELO command with
2591           the local hostname.  If you specify a hostname with the
2592           clientname: option in mts.conf file, post will give the
2593           HELO command with that name instead.  If the argument to the
2594           clientname: option is empty, no HELO command is given.
2595           (From the MH-6.8.4 diff)
2596
2597 Wed Jan 22 01:55:45 1997  Richard Coleman  <coleman@math.gatech.edu>
2598
2599         * When using `-help' for a command, it will also print its
2600           profile compents from .mh_profile. (From MH-6.8.4 diff)
2601
2602         * "slocal -file" will now correctly takes its input from
2603           a file (currently need to specify full path).
2604
2605 Sun Jan 19 20:37:21 1997  Richard Coleman  <coleman@math.gatech.edu>
2606
2607         * "slocal -debug" will now issue a warning if a non-blank
2608           line in the .maildelivery file has less than 5 fields.
2609
2610 Sat Jan 18 02:26:41 1997  Richard Coleman  <coleman@math.gatech.edu>
2611
2612         * Changed slocal so that code for duplicate suppression
2613           (MH config was MSGID) is always built. Added the options
2614           -[no]suppressdup to slocal to turn this on/off.
2615
2616 Thu Jan 16 00:26:34 1997  Richard Coleman  <coleman@math.gatech.edu>
2617
2618         * Released nmh-0.03.
2619
2620         * Fixed problem where mark would core dump if no
2621           .mh_sequence file existed.
2622
2623         * Fixed problem where slocal would core dump if -debug
2624           option was given, and certain headers were missing.
2625
2626         * Added patch to slocal to add `folder' (+) action, which
2627           is shorthand for piping message to rcvstore.  Updated
2628           man page.
2629
2630 Wed Jan 15 21:30:17 1997  Richard Coleman  <coleman@math.gatech.edu>
2631
2632         * Changed flist option -unseen to -[no]all.  Cleaned up
2633           flist man page.
2634
2635 Fri Jan 10 20:36:33 1997  Richard Coleman  <coleman@math.gatech.edu>
2636
2637         * Fixed flist.  Changed the profile component `Folder-Order'
2638           to `Flist-Order.  Added option `-sequence' to flist, so
2639           you can specify the name of the sequence to search for.
2640
2641 Thu Jan  9 00:20:48 1997  Richard Coleman  <coleman@math.gatech.edu>
2642
2643         * A few minor portability cleanups.  Changed to use PATH_MAX
2644           rather than MAXPATHLEN.  Don't assume ospeed variable exists
2645           in termsbr.c.  Removed some conflicting prototypes.
2646
2647 Wed Jan  8 11:05:02 1997  Richard Coleman  <coleman@math.gatech.edu>
2648
2649         * Add configure test to check if tgetent will accept NULL
2650           and allocate its own buffer.  Borrowed from zsh.
2651
2652         * Changed libpath to etcpath.
2653
2654 Mon Jan  6 04:15:35 1997  Richard Coleman  <coleman@math.gatech.edu>
2655
2656         * Cleaned up source code and Makefiles, so that if your `make'
2657           supports the VPATH option, you can build nmh in a different
2658           directory from where the source code is located.
2659
2660 Fri Jan  3 05:05:18 1997  Richard Coleman  <coleman@math.gatech.edu>
2661
2662         * Released nmh-0.02.
2663
2664 Wed Jan  1 17:41:52 1997  Richard Coleman  <coleman@math.gatech.edu>
2665
2666         * Split mhook man page into man pages for rcvdist, rcvpack,
2667           and rcvtty.
2668
2669 Tue Dec 31 03:07:48 1996  Richard Coleman  <coleman@math.gatech.edu>
2670
2671         * Changed code to use strerror, rather than using sys_errlist
2672           and sys_nerr directly.
2673
2674 Mon Dec 30 02:15:25 1996  Richard Coleman  <coleman@math.gatech.edu>
2675
2676         * -compat switch from install-mh removed.
2677
2678         * Changed the default POP port from "pop" to "pop3".
2679
2680 Sat Dec 28 13:25:05 1996  Richard Coleman  <coleman@math.gatech.edu>
2681
2682         * Changed mhn_defaults to mhn.defaults.  Changed create_mhn_defaults
2683           (again) to mhn.defaults.sh.  Changed find_program (again) to
2684           mhn.find.sh.  mhn.defaults.sh now takes the search path
2685           as an argument.  Default search path is now specified in Makefile
2686           rather than in script.
2687
2688 Fri Dec 27 16:34:01 1996  Richard Coleman  <coleman@math.gatech.edu>
2689
2690         * Changed mtstailor file to mts.conf.  Updated man pages.
2691
2692         * Changed si_value to si_val in mhn.c, since it conflicts with
2693           macro defined on Solaris.
2694
2695 Thu Dec 26 02:50:15 1996  Richard Coleman  <coleman@math.gatech.edu>
2696
2697         * Added --enable-nmh-mhe (and --disable-nmh-mhe) to enable/disable
2698           support for Emacs front-end mhe.  It is on by default.
2699
2700         * Added the following configure options: --enable-nmh-pop to
2701           enable client side pop support, --enable-nmh-smtp to enable
2702           SMTP support.  Client-side pop support now compiles.  Man
2703           pages for inc, msgchk, mh-chart now correctly added pop
2704           options if enabled.
2705
2706 Tue Dec 24 14:33:20 1996  Richard Coleman  <coleman@math.gatech.edu>
2707
2708         * Added configure test for bug in C libraries where linker
2709           can't find ruserpass, but can find _ruserpass.
2710
2711         * Fixed configure test so that termcap variable ospeed is
2712           correctly found.
2713
2714 Mon Dec 23 19:40:17 1996  Richard Coleman  <coleman@math.gatech.edu>
2715
2716         * Source files converted to ANSI C.
2717         
2718         * md5 now compiled separately rather than being included
2719           in mhn.c.  Changed md5 to use memset and memcpy.
2720
2721 Fri Dec 20 02:29:37 1996  Richard Coleman  <coleman@math.gatech.edu>
2722
2723         * Collected the error routines adios, advise, admonish, and advertise
2724           into one file (error.c), and did some rearranging of the code.
2725
2726 Thu Dec 19 19:05:29 1996  Richard Coleman  <coleman@math.gatech.edu>
2727
2728         * Added awk script sigmsg.awk (originally written by
2729           Geoff Wing <mason@werple.apana.org.au> for zsh) to
2730           automatically generate signal messages for pidstatus.c.
2731           Added files sbr/signals.c, h/signals.h.  Code now uses
2732           sigprocmask to block signals (if available).  Code now uses
2733           signal blocking on non-BSD machines.
2734
2735 Wed Dec 18 01:55:17 1996  Richard Coleman  <coleman@math.gatech.edu>
2736
2737         * Add configure check for ATTVIBUG.  From Soren's mh autoconf work.
2738
2739         * Released nmh-0.01.
2740
2741         * Added configure code to check for type of signals functions
2742           you have (POSIX or BSD style signals).  Added function
2743           SIGPROCMASK to simulate sigprocmask on machines that don't
2744           have POSIX signals.
2745
2746 Fri Dec 13 19:40:48 1996  Richard Coleman  <coleman@math.gatech.edu>
2747
2748         * Added -version switch to all commands.  Also added to
2749           their man pages.
2750
2751 Mon Dec  9 16:36:54 1996  Richard Coleman  <coleman@math.gatech.edu>
2752
2753         * Renamed uip/trmsbr.c to termsbr.c and changed it to use
2754           POSIX termios.h style functions if present.
2755
2756 Tue Dec  3 16:18:39 1996  Richard Coleman  <coleman@math.gatech.edu>
2757
2758         * Changed support/general/bootmhn.sh to output new mhn_defaults
2759           file to standard output by default (makes it easier for testing).
2760           Changed name of script to create_mhn_defaults.  Changed bootmhn.findit
2761           script to find_program.
2762
2763 Sun Dec  1 10:00:00 1996  Richard Coleman  <coleman@math.gatech.edu>
2764
2765         * Added patch to uip/folder.c from exmh distribution to
2766           speed up -recurse option.
2767
2768         * Added flist command from exmh distribution.  It doesn't work
2769           yet, but it compiles :-)
2770
2771         * Changed default location for install to
2772           /usr/local/nmh/{bin,etc,lib,man}.  Split files so that format
2773           and configuration files go in nmh/etc, and support binaries go
2774           in nmh/lib.  Of course, all this can now be changed in the top
2775           level Makefile. 
2776
2777         * Started with mh-6.8.3 as based and converted to autoconf.
2778           Rewrote all the Makefiles.  Currently only works with sendmail/smtp.
2779           Pop support and plenty of other things, are now broken.