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