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