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