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