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