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