bug #18630, #18631, #18632, #18634: various patches from Craig Leres
[mmh] / docs / ChangeLog_MH-6.7.0_to_MH-6.8.4.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
2 <HTML>
3 <HEAD><TITLE>MH Change Log</TITLE></HEAD>
4 <BODY>
5 <PRE>
6
7                                    <B>Changes to</B>
8                       <B>The RAND MH Message Handling System:</B>
9                                <B>UCI version MH 6.8</B>
10
11
12                                  John L. Romine
13
14                             Computing Support Group
15                         Information and Computer Science
16                         University of California, Irvine
17                              Irvine, CA  92717-3425
18                                Bug-MH@ICS.UCI.EDU
19                            <A HREF="http://www.ics.uci.edu/~mh/">http://www.ics.uci.edu/~mh/</A>
20
21
22                                    <U>ABSTRACT</U>
23
24
25                     This document describes the changes to the
26                UCI version of the RAND MH system from MH 6.6 to
27                this release of MH 6.8.  This document is meant to
28                supplement, not supersede, the standard MH User's
29                manual and MH Administrator's manual.
30
31                     Comments concerning this documentation should
32                be addressed to the mailbox <B>Bug-MH@ICS.UCI.EDU</B>.
33                Current information about MH can be obtained from
34                the <B>MH Home Page</B> on the World Wide Web at
35                <B><A HREF="http://www.ics.uci.edu/~mh/">http://www.ics.uci.edu/~mh/</A></B>.
36
37
38
39           <U>ACKNOWLEDGEMENTS</U>
40
41           The <U>MH</U> system described herein is based on the original RAND
42           <U>MH</U> system.  It has been extensively developed (perhaps too
43           much so) by Marshall T. Rose and John L. Romine at the
44           University of California, Irvine.  Einar A. Stefferud, Jerry
45           N. Sweet, and Terry P. Domae provided numerous suggestions
46           to improve the UCI version of <U>MH</U>.
47
48                Of course, a large number of people have helped <U>MH</U>
49           along.  The list of "<U>MH</U> immortals" is too long to list here.
50           For this release, numerous <U>MH-Workers</U> sent in fixes and
51           other changes.  A handful of courageous <U>MH-Workers</U> volun-
52           teered to beta-test these changes; their help is particu-
53           larly appreciated.
54
55           <U>DISCLAIMER</U>
56
57           The Regents of the University of California wish to make  it
58           known that:
59
60                Although each  program  has  been  tested  by  its
61                contributor,  no  warranty, express or implied, is
62                made by  the  contributor  or  the  University  of
63                California,  as to the accuracy and functioning of
64                the program  and  related  program  material,  nor
65                shall the fact of distribution constitute any such
66                warranty, and no responsibility is assumed by  the
67                contributor  or  the  University  of California in
68                connection herewith.
69
70           <U>CONVENTIONS</U>
71
72           In this document, certain formatting conventions are adhered
73           to:
74
75                The names of UNIX commands, such as <U>comp</U> are  presented
76                in <U>italics</U>.
77
78                Arguments to programs, such as `msgs' and `-nobell' are
79                delimited by single-quotes.
80
81                Text that  should  be  typed  exactly  as-is,  such  as
82                command  lines (e.g., "folder -pack"), are delimited by
83                double-quotes.
84
85                UNIX pathnames and envariables, such  as  <B>/usr/uci</B>  and
86                <B>$SIGNATURE</B>, are presented in <B>bold font</B>.
87
88
89           <U>CHANGES FOR MH 6.8.4</U>
90
91           The MH 6.8.4 release is a minor maintenance release, and
92           contains few user-visible changes.  The changes consist
93           mostly of documentation improvements, minor bug fixes, and
94           some portability enhancements for BSD 4.4 and Solaris 2.x
95           (contributed changes for HPUX and OSF1 have not yet been
96           integrated into this release).  This is the current version
97           of MH as of February 8, 1996.
98
99           <U>Runtime Tailoring</U>
100
101           By default <U>post</U> will now give the SMTP <B>HELO</B> command with the
102           local hostname.  If you specify a hostname with the
103           <B>clientname:</B> option in the <U>mtstailor</U> file, <U>post</U> will give the
104           <B>HELO</B> command with that name instead.  If the argument to the
105           <B>clientname:</B> option is empty, no <B>HELO</B> command is given.  See
106           <U>mh-tailor</U>(5) for more details.
107
108           <U>Multi-media Mail</U> & <U>Encryption</U>
109
110           A few new PGP support programs can be found in the
111           <B>support/general</B> directory.  <U>repl</U> supports the `-[no]mime'
112           option.  See <U>repl</U>(1) for more details.
113
114
115           <U>CHANGES FOR MH 6.8.3</U>
116
117           The MH 6.8.3 maintenance release contains few user-visible
118           changes.  Most of the changes are internal to the multi-
119           media display program <U>mhn</U> to support RFC 1521 (the new MIME
120           standard).  This is the current version of MH as of December
121           1, 1993.
122
123           <U>Runtime Tailoring</U>
124
125           When posting mail using the SMTP, <U>post</U> did not normally send
126           the <B>HELO</B> command. This was because <U>SendMail</U> would fail if
127           the host name given in the <B>HELO</B> command was the local host.
128           Later versions of <U>SendMail</U> will now complain if you omit the
129           <B>HELO</B> command.
130
131           <U>User Interface Programs</U>
132
133           folder  The <U>folder</U> command now has `-create' and `-nocreate'
134                   options.  See <U>folder</U>(1) for details.
135
136           inc     A bug where `-host' would not override the <B>pophost</B>
137                   as set in the <U>mtstailor</U> file has been fixed.  This
138                   bug was also fixed in <U>msgchk</U>.
139
140           mhn     The <U>mhn</U> command has several changes:  updates for
141                   conformance with RFC 1521, addition of two caches:
142                   public and private, addition of two caching poli-
143                   cies: one for reading and one for writing, support
144                   for storing multipart entities, and a few bug fixes.
145                   See <U>mhn</U>(1) for complete details.
146
147           <U>CHANGES FOR MH 6.8.2</U>
148
149           The MH.6.8.2 patch release contains only internal changes to
150           support the BSD 4.4 and 386BSD versions of UNIX.  This ver-
151           sion of <U>MH</U> was released August 25, 1993, but was not widely
152           distributed.
153
154           <U>CHANGES FOR MH 6.8.1</U>
155
156           The MH.6.8.1 patch release is a maintenance release.  This
157           is the current released version of <U>MH</U> as of August 20, 1993.
158
159                This release includes a small number of bug fixes, a
160           few minor enhancements, some changes for the new MIME stan-
161           dard, and support for ESMTP (RFC 1425).  Support for BSD 4.4
162           and 386BSD is planned for the next release.
163
164                Many other fixes which have already been received are
165           still being merged.  If you've sent an update for MH 6.8 to
166           <B>Bug-MH@ics.uci.edu</B> and it isn't in this release, it'll prob-
167           ably appear in the next release.
168
169           <U>Fixes and Enhancements</U>
170
171           Many minor documentation corrections were made.  There are
172           also a few program changes:
173
174           mhn   The `-cache policy', `-[no]check', and `-[no]pause'
175                 switches have been added.   Some other minor changes
176                 have been made to comply with the new MIME standard.
177                 See <U>mhn</U>(1) for complete details.
178
179           post  When posting mail with SendMail, <U>post</U> will not use the
180                 <B>ONEX</B> command when it is posting a message with BCCs.
181
182           scan  <U>scan</U> will now work with big width values.
183
184           <U>Format Strings</U>
185
186           One new function has been added:
187
188           %(profile arg)  This function looks up a component in the
189                           <B>.mh_profile</B> or <B>context</B> files and returns the
190                           value of that component.
191
192           <U>Configuration</U>
193
194           Two new configuration options are present:
195
196           GCOS_HACK    The so-called "gcos" field of the password file
197                        is used as a last resort to find the user's
198                        full name (see <U>mh-profile</U>(5) for details).
199                        Enable this option if your <U>passwd</U>(5) man page
200                        notes that the `&' character in the "gcos"
201                        field stands for the login name.
202
203           NORUSERPASS  Tells <U>MH</U> that your system doesn't have the
204                        <U>ruserpass</U>(3) routine; <U>MH</U> will include its own
205                        copy of this routine in its library.
206
207
208           <U>CHANGES FOR MH 6.8</U>
209
210           This is the current released version of <U>MH</U> as of December
211           14, 1992.  This release includes a number of bug fixes and
212           internal changes to make the code more portable.  Two new
213           authentication methods are provided for the POP, and support
214           for SVR4 shared libraries is complete.
215
216                The major user-visible change in this release is the
217           incorporation of support for multi-media mail as specified
218           by the Multi-purpose Internet Mail Extensions (<B>MIME</B>)
219           RFC 1341.  This allows you to include things like audio,
220           graphics, and the like, in your mail messages.  A new com-
221           mand, <U>mhn</U>, has been provided to support <B>MIME</B> and a detailed
222           man page is provided in <U>mhn</U>(1).
223
224           <U>Documentation</U>
225
226           The documentation has some general improvements, and the
227           <B>READ-ME</B> document has been re-organized to help <U>MH</U> adminis-
228           trators find the appropriate configuration options for their
229           system.  The <B>Makefile</B>s in the <B>papers/</B> hierarchy have been
230           changed to invoke <U>TeX</U> as "tex" (instead of "tex82").
231
232           The following new man pages are also available:
233
234           <U>mhn</U>(1)      <U>mhn</U> helps the user process multi-media mail.
235
236           <U>mhparam</U>(1)  <U>mhparam</U> lets the user extract information from
237                       the <U>MH</U> profile.
238
239           <U>popauth</U>(8)  the APOP database administration program (see
240                       below).
241
242           <U>popi</U>(1)     the POP initiator (see below).
243
244           <U>slocal</U>(1)   fully documents <U>slocal</U>.  The <U>mhook</U>(1) man page
245                       now documents only the <U>MH</U> receive-mail hooks.
246
247           <U>Internal Changes</U>
248
249           The <U>MH</U> source code is in the process of being cleaned up to
250           make pedantic ANSI C compilers happy.  Occurrences of "NULL"
251           have been replaced by "0" where appropriate.  Extra tokens
252           after "#else" and "#endif" have been put inside comments
253           (this is still in progress).  The code should now compile
254           cleanly on many more systems, specifically, more variants of
255           SVR4.
256
257                The version of <B>tws/dtimep.c</B> which was included in MH
258           6.7.2 was incompatible with the <U>lex</U> library on some systems,
259           and has been removed.
260
261                A bug in the handling of blind lists inside alias files
262           has been fixed.
263
264           <U>Post Office Protocol</U>
265
266           There were three new options added to the POP.
267
268           APOP  This option indicates that the POP daemon will support
269                 the   non-standard   <B>APOP</B>  command  which  provides  a
270                 challenge-based authentication system  using  the  <B>MD5</B>
271                 message digest algorithm.
272
273                 This option also causes  the  <U>popauth</U>  program  to  be
274                 installed,   which   allows   the   administrator   to
275                 manipulate the <B>APOP</B> authorization database.
276
277           KPOP  Support for KERBEROS with POP.  This code builds <U>popd</U>,
278                 <U>inc</U> and <U>msgchk</U> to support only the "kpop" protocol.
279                 This code is still expiremental, but is available for
280                 those sites wishing to test it.
281
282           MPOP  This option indicates that the POP daemon will support
283                 the non-standard <B>XTND SCAN</B> command which provides per-
284                 formance enhancements when using the POP over low-
285                 speed connections.
286
287                 This option also causes an interactive POP client pro-
288                 gram, <U>popi</U>, to be compiled and installed.  A man page
289                 for the <U>popi</U> program is also provided.  This option
290                 requires the configuration to have "bboards: pop".
291
292           The APOP and MPOP non-standard POP facilities are documented
293           in <U>The Internet Message</U> (ISBN 0-13-092941-7), a book by
294           Marshall T. Rose.  For more details, see <B>support/pop/pop-</B>
295           <B>more.txt</B> and the <U>Administrator's Guide</U>.  The APOP option
296           peacefully co-exists with the standard POP, KPOP completely
297           replaces the standard POP, and MPOP requires "bboards: pop".
298
299           <U>File Locking</U>
300
301           The file locking code has been cleaned up to support three
302           kinds of kernel-level file locking.  As appropriate for your
303           system, include the LOCKF, FCNTL or FLOCK option.  For more
304           details, see <U>mh-tailor</U>(5).
305
306           Configuration Directives
307
308           A number of new configuration directives have been added  or
309           changed.  The full details are given in the <B>READ-ME</B>.
310
311           cp:        The command used to  install  new  files  if  not
312                      "cp".
313
314           ln:        The command used to link files  together  in  the
315                      source tree if not "ln".
316
317           mts:       Full support for ZMAILER has been added.
318
319           popdir:    The directory where <U>popd</U> will be installed if not
320                      <B>/usr/etc</B>.
321
322           regtest:   Set to "on" to prevent the hostname  and  compile
323                      date from being included in <U>MH</U> binaries.
324
325           sharedlib: You may now specify "sun4" or "sys5"  (for  SVR4)
326                      shared libraries.
327
328           signal:    Specifies the base type of the function  returned
329                      by  <U>signal</U>().   This  was previously defined with
330                      "options TYPESIG".
331
332           Several `-D' options to <U>cc</U> have been added or changed:
333
334           APOP       Authenticated POP (see above).
335
336           AUX        Support for A/UX systems.
337
338           DBMPWD     The DBM option has been renamed DBMPWD.
339
340           HESIOD     Support for the HESIOD name server.
341
342           KPOP       KERBEROS POP (see above).
343
344           LOCALE     Support for local characters sets; uses the <U>set-</U>
345                      <U>local</U>() function.
346
347           MAILGROUP  Makes <U>inc</U> set-group-id.  You may need this option
348                      if your <B>/usr/spool/mail</B> is not world-writeable.
349
350           MIME       Multi-media mail.
351
352           MPOP       Mobile POP (see above).
353
354           MSGID      Enables <U>slocal</U> to detect and surpress duplicate
355                      messages.
356
357           OSF1       Support for DEC OSF1 systems.  May be incomplete.
358
359           RENAME     Include this option if your system has a <U>rename</U>()
360                      system call.
361
362           SVR4       Support for System 5 Release 4 or newer systems.
363
364           TYPESIG    This option has been dropped.  See `signal'
365                      above.
366
367           UNISTD     Include this option if your system has the
368                      include file <B>&lt;unistd.h&gt;</B>.
369
370           VSPRINTF   Include this option if your system has the
371                      <U>vsprintf</U>() library routine; otherwise, _<U>doprnt</U>()
372                      will be used.
373
374           YEARMOD    Forces the <U>mh-format</U> `year' function to return
375                      2-digit values.  Use this option during a brief
376                      transition period if you have local <U>mh-format</U>
377                      files which need to be converted to support 4-
378                      digit years.
379
380           <U>FUNCTIONAL CHANGES</U>
381
382           In addition to the configuration changes mentioned above, a
383           number of functional changes have been made to the system.
384           Many programs have new features added and a few new programs
385           have are provided. Each command's manual page gives complete
386           information about the its operation.  Here is a short sum-
387           mary of the changes.
388
389           <U>MH Sequences</U>
390
391           A larger number of user-defined sequences are available.
392           Previously, this number had been 10.  On 32-bit systems, 26
393           user-defined sequences are available.
394
395           <U>Profile Components</U>
396
397           <U>MH</U> programs will now complain if the <B>.mh_profile</B> does not
398           end in a newline.  Also, one enhancement and one new profile
399           component are provided:
400
401           Aliasfile:  Multiple filenames may now be given.
402
403           Inbox:      New; the default folder (for <U>inc</U>, etc.) if not
404                       "inbox".
405
406           <U>Format Strings</U>
407
408           A few minor bugs were fixed in format string handling, and a
409           few  new features were added.  See <U>mh-format</U>(5) for complete
410           details.
411
412           Addresses      An  attempt  is  made   to   decipher   X.400
413                          RFC 987-style addresses.
414
415           Comments       Comments may be added to <U>mh-format</U>  files;  a
416                          comment  begins with the 2-character sequence
417                          "%;", and ends with an un-escaped newline.
418
419           %(modulo n)    The `modulo' function escape has been added.
420
421           %(year{date})  The  date  parser  has   been   enhanced   to
422                          understand  more illegal date formats; `year'
423                          now returns a 4-digit number.
424
425           <U>User Interface Programs</U>
426
427           A number of <U>MH</U> commands have minor changes:
428
429           ali       The output with `-user -list' was changed to match
430                     the output with `-nouser -list'.
431
432           burst     Will no longer drop the last message of a digest.
433
434           inc       Accepts the `-apop' switch for authenticated POP
435                     (see above); will attempt to detect write errors
436                     (e.g., no space left on device) when incorporating
437                     mail; no longer replaces newline characters with
438                     NULLs.
439
440           folder    The `-noprint' option was broken and has been
441                     dropped.
442
443           forw      Supports `-mime' to use MIME-style multi-part mes-
444                     sages.
445
446           mhl       Will no longer put an extra space at the end of
447                     the `%{text}' in a formatfield.
448
449           mhn       New; manipulates multi-media (MIME) messages; a
450                     detailed man page is provided.
451
452           mhparam   New; reads the <U>MH</U> profile (and context) and writes
453                     the values of the specified components on the
454                     standard output; useful in programmatic con-
455                     structs.
456
457           msgchk    Supports `-apop' (see above).
458
459           packmbox  New; packs an <U>MH</U> folder into a UUCP-style mailbox.
460
461           popi      New; a client-side POP initiator; available only
462                     if you built <U>MH</U> with the MPOP option (see above).
463
464           refile    A bug where the `rmmproc' did not remove all
465                     specified message files has been fixed.
466
467           scan      The `-file' option is fully supported and will no
468                     longer complain about empty folders.
469
470           send      Supports `-mime' and `-split' to split large mes-
471                     sages into multiple partial messages using MIME.
472
473           <U>Support Programs</U>
474
475           fmtdump   Can now read a format file, or a format string
476                     given on the command line.
477
478           popauth   New; manages the APOP authorization database (see
479                     above).
480
481           sendmail  The <U>sendmail</U> replacement will be installed only if
482                     your `mts' setting uses the `/smtp' option.
483
484           slocal    A new man page for <U>slocal</U> is available; the new
485                     `mbox' action is available to write a file in
486                     <U>packf</U> format; a bug where extra `&gt;' characters
487                     were written to MMDF-style maildrops has been
488                     fixed; if compiled with the MSGID option, can
489                     detect and suppress reception of duplicate mes-
490                     sages.
491
492           viamail   New; bundles a directory (like <U>shar</U>) and sends it
493                     through multi-media mail.
494
495
496           <U>CHANGES FOR MH 6.7.2</U>
497
498           The MH.6.7.2 patch release is a maintenance release.  This
499           is the current released version of <U>MH</U> as of February 1,
500           1992.
501
502                This release now supports the NCR Tower running SYS5R4.
503           The WP changes installed in MH.6.7.0 have been removed.
504
505           <U>Shared Libraries</U>
506
507           Support for SYS 5 shared libraries is in progress.
508
509                Support for Sun OS 4.0 shared libraries had been
510           improved.  The <U>MH</U> library has been modified to move initial-
511           ized data into a data definition file.  The shared library
512           will now consist of a <B>libmh.so</B> and <B>libmh.sa</B> file.  The
513           shared library version number will no longer track the <U>MH</U>
514           patch release number, and its numbering begins with version
515           `1.1' with this release.
516
517           <U>Replacement SendMail</U>
518
519           Since many standard system programs expect to post mail by
520           invoking <B>/usr/lib/sendmail</B>, a minimal replacement <U>SendMail</U>
521           is provided in this release.  This replacement is meant to
522           be installed on (e.g., diskless) client workstations which
523           post mail using SMTP, and do not run a message transport
524           system.  It will call <U>post</U> to post mail; be sure you have
525           configured <U>MH</U> with the `/smtp' mts option.  This sendmail
526           replacement is installed in your <U>MH</U> etc directory, and you
527           should link <B>/usr/lib/sendmail</B> to it.
528
529           <U>Format Strings</U>
530
531           A manual page for the <U>fmtdump</U> format string disassembler  is
532           supplied, and some new format functions were added:
533
534           folder   In <U>scan</U>, this component escape contains the name of
535                    the current folder.  It is not defined for other <U>MH</U>
536                    commands.
537
538           getenv   This  function  escape  returns  the  value  of  an
539                    environment variable.
540
541                There will be some additional changes in these routines
542           in the next patch release.
543
544           <U>Other Bug Fixes and Enhancements</U>
545
546           In addition to some other minor enhancements, some bugs were
547           fixed which in general were not user-visible:
548
549           Blind lists   Users may now specify RFC822 address groups in
550                         their   alias   files.    These   groups   are
551                         implemented by <U>MH</U> as blind lists.
552
553           date parsing  A number of sites have brain-damaged  versions
554                         of <B>lex</B>.  <U>MH</U> will now come with the date parser
555                         already run through lex.
556
557           mark          A bug dealing with <U>mark</U> and the sequence named
558                         `cur' is fixed.  This was previously a problem
559                         for mh-e users.
560
561           MH.doc        The <U>MH</U> nroff version of the manual  no  longer
562                         contains teletype escape sequences.
563
564           scan          Can now handle headers as long as 512 bytes.
565
566           Signals       <U>MH</U> programs will no longer catch the  <B>HUP</B>  and
567                         <B>TERM</B>  signals while waiting for a sub-process.
568                         This was  causing  hung  processes  when  your
569                         terminal line was was dropped unexpectedly.
570
571           Signature     If your signature is not defined, <U>MH</U> will  use
572                         the   value   of   the  gecos  field  of  your
573                         <B>/etc/passwd</B> entry as your signature.
574
575           version.sh    A bug in the <B>awk</B> script  in  <B>config/version.sh</B>
576                         was fixed.
577
578
579           <U>CHANGES FOR MH 6.7.1a</U>
580
581           The MH.6.7.1a patch was made available on January 25, 1991
582           for limited distribution only.  (This release had some known
583           bugs, and so was not widely distributed.)  This release
584           incorporates several new features of particular note to
585           users of sequences and format strings, as well as some gen-
586           eral documentation improvements.  There are a few minor
587           enhancements and internal bug fixes also.  Complete documen-
588           tation of these changes is given in the individual manual
589           pages, and the <B>READ-ME</B> file.
590
591           <U>Message Sequences</U>
592
593           A new manual page, <U>mh-sequence</U> (5), has been added.  This
594           manual page attempts to completely document the syntax and
595           semantics of <U>MH</U> message sequence specifications.
596
597                A powerful new feature is the ability to specify mes-
598           sage ranges with user-defined sequences.  The  specification
599           "name:n" may be used, and it designates up to the first `n'
600           messages (or  last  `n' messages  for  `-n') which  are
601           elements  of the user-defined sequence `name'.
602
603                The message specifications "name:next" and "name:prev"
604           may also be used, and they designate the next or previous
605           message (relative to the current message) which is an ele-
606           ment of the user-defined sequence `name'.  The specifica-
607           tions "name:first" and "name:last" are equivalent to
608           "name:1" and "name:-1", respectively.  The specification
609           "name:cur" is not allowed (use just "cur" instead).
610
611                These specifications allow the user to step through a
612           sequence with a command like "show name:next".
613
614           <U>Format Strings</U>
615
616           <U>MH</U> format strings now support an if-then-elseif-else clause
617           (the `elseif' is new).  This will make format strings with
618           multi-case conditions somewhat less complex.
619
620                A new format function `addr' had been added.  This
621           function takes an address header name as its argument, and
622           returns a rendering of the address contained in that header
623           as "user@host" or "host!user".
624
625                Format widths now may be specified as a negative
626           number.  This causes the output to be right-justified within
627           the format width.
628
629           <U>Other Changes</U>
630
631           Along with a few minor enhancements, some  bugs  were  fixed
632           which in general were not user-visible:
633
634           fmtdump  This  new  program  produces   an   pseudo-language
635                    representation   of  an  <U>MH</U>  format  file,  vaguely
636                    reminiscent  of  assembly  language.   While   this
637                    output  format is not explicitly documented, it can
638                    still be useful when debugging <U>MH</U> format files.
639
640           refile   Now takes a `-[no]rmmproc' switch.  This  makes  it
641                    easier  to  avoid  loops  when your "rmmproc" calls
642                    <U>refile</U>.
643
644           slocal   A  problem  with  the  UUCP-style  mailboxes,   the
645                    `RPATHS'  configuration  option,  and  the "Return-
646                    Path:" header was fixed.
647
648           sortm    Will ensure that no messages  are  lost  if  it  is
649                    interrupted.
650
651           whatnow  Will now tell you where it is  leaving  the  draft,
652                    when  interrupted  in the initial edit.  Previously
653                    the draft was simply unlinked.
654
655           <U>Compilation Options</U>
656
657           LOCKF    This option causes <U>MH</U> to  use  the  <B>lockf()</B>  system
658                    call   for   locking  (if  available),  instead  of
659                    <B>flock()</B>.
660
661
662           <U>CHANGES FOR MH 6.7.1</U>
663
664           The MH.6.7.1 patch release is a maintenance release, and as
665           such, provides few changes from the previous release.  This
666           is the current released version of <U>MH</U> as of December 14,
667           1990.
668
669           <U>User-Visible Changes</U>
670
671           The major change in this release is to the POP daemon
672           (popd).  In <U>MH</U> 6.7, it was changed to be able to read both
673           UUCP and MMDF-style mailboxes.  This did not work as
674           reported.  The code has now been changed to parse MMDF-style
675           mailboxes if you are configuring MH to run with MMDF as your
676           message transport system.  Otherwise, UUCP-style mailboxes
677           are expected.
678
679                Since there are number of client programs available for
680           only the POP2 protocol instead of POP3, popd has been
681           updated to support both protocols.  This is a major win.  If
682           you are compiling with POP turned on, add the `POP2' option
683           to your <U>MH</U> config file, and the POP daemon will respond to
684           POP2 or POP3 commands.  If you're using POP, there's no rea-
685           son not to include this option; it does not affect the
686           existing support for POP3.
687
688           <U>Internal Changes</U>
689
690           Some bugs were fixed which in general were not user-visible:
691
692           context     Errors when writing out sequences  are  detected
693                       correctly.
694
695           inc         No  longer  inserts  extra  blank   lines   into
696                       messages.
697
698           mh-format   A nil pointer bug  in  the  address  parser  was
699                       fixed.
700
701           repl, etc.  The malloc/free problem has been fixed.
702
703           rmf         A spelling error in the `-nointeractive'  switch
704                       has been corrected.
705
706           rcvtty      Will not print the message size if not available
707                       (i.e., zero).
708
709           send/post   Illegal signatures  (those  containing  unquoted
710                       "."s) will be quoted.
711
712
713           <U>GENERAL CHANGES FOR MH 6.7.0</U>
714
715           The author is pleased to announce that there are very few
716           user-visible changes to <U>MH</U> 6.7 from the previous <U>MH</U> 6.6 dis-
717           tribution.  The majority of development was in the form of
718           bug fixes and slight enhancements.  In addition, this
719           release is slightly faster than the previous release.  With
720           a few minor exceptions, it is backward-compatible with the
721           previous release.  <U>MH</U> 6.7.0 is the current released version
722           of <U>MH</U> as of April 12, 1990.
723
724                The changes were made mainly to generalize the source
725           code to be compatible with a larger range of systems and
726           compilers.  There were many small changes to add declara-
727           tions for ANSI C compliance.  The System 5 support has been
728           brought up to SYS5 R3, and there is support for Sun OS 4.0.
729
730           <U>User-Visible Changes</U>
731
732           Here a quick summary of the changes that were made which are
733           not backward-compatible with the previous release of <U>MH</U>:
734
735           repl   The `-format' and `-noformat' switches have not been
736                  functional since <U>MH</U> 5, and have been removed.  Any
737                  users who have these switches in their <B>.mh_profile</B>,
738                  will have to remove them.
739
740           sortm  Previously, in most cases <U>sortm</U> would fill-in any
741                  gaps in the numbering of a folder, by renumbering the
742                  messages starting with `1'.  This will no longer
743                  occur; for this behavior, use "folder -pack".
744
745
746           <U>Using Aliases</U>
747
748           A new profile entry `Aliasfile:' has been added.  The <U>ali</U>,
749           <U>send</U>, and <U>whom</U> programs will look for this profile entry and
750           treat it as they would an argument to `-alias'.  This should
751           make it easier for novice <U>MH</U> users to begin using aliases.
752
753
754           <U>Reading Network News</U> & <U>BBoards</U>
755
756           The UCI BBoards facility can read local BBoards, and if com-
757           piled with the `bboards: pop' and `pop: on' options, can
758           also read remote BBoards using the Post Office Protocol (POP
759           ver. 3).  With this release, <U>MH</U> can instead be compiled to
760           read the Network News (i.e., USENET) using the Network News
761           Transfer Protocol (NNTP).
762
763                This capability is enabled by compiling <U>MH</U> with the
764           `bboards: nntp' and `pop: on' options.  Unfortunately, read-
765           ing remote BBoards via the POP and reading the Network News
766           via the NNTP are mutually exclusive options.
767
768                To support the NNTP, a new module, <B>uip/pshsbr.c</B>, is
769           compiled and loaded into <U>bbc</U> and <U>msh</U> instead of
770           <B>uip/popsbr.c</B>.  The default BBoard is changed from "system"
771           to "general" for the NNTP.
772
773                When reading BBoards, <U>bbc</U> will first look for local
774           BBoards, and then contact the NNTP server to read the Net-
775           work News.  The location of the NNTP server should be speci-
776           fied with the `nntphost:'  entry in the <B>mtstailor</B> file (see
777           the <U>MH</U> Administrator's Guide for details), or may be speci-
778           fied on the command line with the `-host' switch.
779
780
781           <U>Format Strings</U>
782
783           The manual page <U>mh-format</U> (5) has been rewritten to give a
784           better explanation of how to write format strings, and how
785           they are interpreted by <U>MH</U>.  A line-by-line description of
786           the default <U>repl</U> form file (<B>replcomps</B>) is now included in
787           that manual page.
788
789           Some new  format  functions  were  added,  and  others  were
790           augmented:
791
792           trim        Strips any leading and trailing white-space from
793                       the current string value.
794
795           date2local  Will coerce the date to the local timezone.
796
797           date2gmt    Will coerce the date to GMT.
798
799           divide      Divides  the  current  numeric  value   by   its
800                       argument.   This  could  be  useful for building
801                       <U>scan</U> format strings which  print  large  message
802                       sizes in "Kb" or "Mb".
803
804           friendly    If the address  field  cannot  be  parsed,  this
805                       function  will  return  the  text of the address
806                       header, instead of a null string.
807
808           szone       A  flag  indicating  whether  the  timezone  was
809                       explicit in the date string.
810
811           <U>PROGRAM CHANGES</U>
812
813           In addition to the general changes mentioned above, many
814           programs have specific new features added, either by new
815           switches or by expanded functionality.  Each command's
816           manual page gives complete information about its new
817           options.  Here is a short summary.
818
819           <U>User Interface Programs</U>
820
821           anno      Accepts a `-nodate' switch which inhibits the date
822                     annotation, leaving only the body annotation.
823
824           folder    When invoked with the `-pack' switch and the new
825                     `-verbose' switch, <U>folder</U> will give information
826                     about the actions taken to renumber the folder.
827
828                     On most systems, <U>folder</U> can now create any
829                     non-existing parent folders of a new sub-folder.
830
831           forw      When making digests, <U>forw</U> will put the issue and
832                     volume numbers in addition to the digest list
833                     name, in the digest trailer.
834
835           inc       Detects NFS write failures, and will not zero your
836                     maildrop in that event.
837
838           msh       Supports a variant of the new <U>sortm</U>.
839
840           prompter  Considers a period on a line by itself to signify
841                     end-of-file when the `-doteof' switch is speci-
842                     fied.
843
844           repl      The `-[no]format' switches have not been used
845                     since <U>MH</U> 5 and have been deleted. <U>repl</U> will now
846                     find filter files in the <U>MH</U> library area.
847
848           scan      With the `-file msgbox' switch, <U>scan</U> can list a
849                     <U>packf</U>'d-format file directly (without using <U>msh</U>).
850
851                     Lists messages in reverse order with the
852                     `-reverse' switch.  This should be considered a
853                     bug.
854
855           sortm     Now has the options:  `-textfield field',
856                     `-notextfield', `-limit days', and `-nolimit'.
857
858                     With these options, <U>sortm</U> can be instructed to
859                     sort a folder based on the contents of an arbi-
860                     trary header such as "subject".
861
862                     <U>sortm</U> minimizes renaming messages, and will no
863                     longer arbitrarily pack folders; for this
864                     behavior, use "folder -pack".
865
866           whatnow   Deletes the draft by renaming it with leading
867                     comma, instead of unlinking it.
868
869           <U>MH Support Programs</U>
870
871           The  following  support  programs  also  have   changes   or
872           enhancements:
873
874           mhl     Will now accept a format string  on  any  component,
875                   not just on addresses and dates.
876
877           popd    Will use <U>shadow</U> passwords if compiled with the <B>SHA-</B>
878                   <B>DOW</B> option.  It can now also read UUCP-style mail-
879                   drops directly.
880
881           rcvtty  If given no arguments, <U>rcvtty</U> will produce a <B>scan</B>
882                   listing as specified by a format string or file; a
883                   default format string is used if one is not speci-
884                   fied.
885
886                   Before the listing is written to the users terminal,
887                   the terminal's bell is rung and a newline is output.
888                   The `-nobell' and the `-nonewline' options inhibit
889                   these functions.
890
891                   <U>rcvtty</U> will obey terminal write notification set by
892                   <U>mesg</U>.  With the `-biff' switch, <U>rcvtty</U> will also
893                   obey the mail notification status set by <U>biff</U>.
894
895                   On <B>BSD43</B> systems, as with <U>write</U>, <U>rcvtty</U> will be
896                   installed set-group-id to the group "tty".
897
898           slocal  Understands UUCP-style "From " lines and will write
899                   output files using this format if appropriate.
900                   Before invoking a delivery program, <U>slocal</U> will
901                   strip such lines unless compiled with the <B>RPATHS</B>
902                   option, in which case it will will convert such
903                   lines into "Return-Path:" headers.
904
905                   <U>slocal</U> has a new result code "N", for use in <B>.mail-</B>
906                   <B>delivery</B> files.  With this result code, <U>slocal</U> will
907                   perform the action only if the message has not been
908                   delivered and the previous action succeeded.  This
909                   allows for performing an action only if multiple
910                   conditions are true.
911
912           <U>DOCUMENTATION</U>
913
914           Several of the older <U>MH</U> papers have been difficult to format
915           because they depended on an older version of PhDTeX which
916           was not supplied.  These papers have been updated, and some
917           TeX library files are supplied in <B>papers/doclib/</B>, so that
918           these papers may be generated on any system with TeX.
919
920                Many of the manual pages have been revised to include
921           documentation of new command options, and some have been
922           expanded to give more detail.  All are now slightly refor-
923           matted at installation time to make them more compatible
924           with programs like <U>makewhatis</U>.
925
926
927           <U>MH ADMINISTRATION</U>
928
929           This section describes changes in configuring, compiling and
930           installing <U>MH</U> 6.7 and should not be of interest to casual <U>MH</U>
931           users.  The <B>READ-ME</B> file has been considerably revised and
932           expanded to give more detail about the configuration and
933           compilation options which have been included in this
934           release.  Some compilation options have been removed, and
935           many new options have been added.
936
937                All <U>MH</U> <B>Makefile</B>s have been updated to work around some
938           incompatibilities introduced in newer versions of <U>make</U>.  <U>MH</U>
939           programs will no longer be installed with the sticky-bit
940           turned on.
941
942                Reading this section not a substitute for carefully
943           reading the <B>READ-ME</B> file before attempting to compile <U>MH</U>
944
945
946           <U>Bug Fixes</U>
947
948           Some bugs were fixed which in general were not user-visible:
949
950           address parser  Fixed to allow use of the "AT"  domain,  and
951                           some  minor  bugs  were  fixed pertaining to
952                           address groups.
953
954           date parser     Improved to accept  more  forms  of  illegal
955                           dates.  Military timezones were removed.
956
957           dynamic memory  Many problems with corruption of the dynamic
958                           memory pool have been fixed.
959
960           locking         Will open files for write, if  necessary  to
961                           enable locking.
962
963           nil pointers    All reported nil pointer problems have  been
964                           fixed.
965
966           replcomps       The "In-Reply-To:" header had  quotes  added
967                           around the date field to comply with RFC822.
968
969           <U>White Pages</U>
970
971           If <U>MH</U> is compiled with the <B>WP</B> option, <U>send</U> recognizes an
972           address between "&lt;&lt;" and "&gt;&gt;" characters such as:
973
974                   To: &lt;&lt; rose -org psi &gt;&gt;
975
976           to be a name meaningful to a whitepages service.  In order
977           to expand the name, <U>send</U> must be invoked interactively
978           (i.e., not from <U>push</U>).  For each name, <U>send</U> will invoke a
979           command called <U>fred</U> in a special mode asking to expand the
980           name.
981
982                To get a copy of the white pages service, contact
983           wpp-manager@psi.com.
984
985           <U>Configuration Options</U>
986
987           Some configuration options have been added or changed:
988
989           cc          To specify an alternate C compiler.
990
991           ccoptions   Defaults to `-O'.
992
993           bboards     May now be defined as "on", "off", "pop", or
994                       "nntp".
995
996           bbdelivery  Determines whether the bboard delivery agent and
997                       library files should be installed.
998
999           lex         To specify an alternate version of <U>lex</U>.
1000
1001           mailgroup   If defined, <U>inc</U> will be made set-group-id to
1002                       this group.
1003
1004           sharedlib   For <B>SUN40</B> systems; if "on", makes <B>libmh.a</B> into a
1005                       shared library.
1006
1007           slibdir     The directory where the above shared library
1008                       should be installed.
1009
1010           sprintf     Set this to "int" if that's what your
1011                       <U>sprintf</U> (3) library routine returns.
1012
1013           <U>Compilation Options</U>
1014
1015           For different configurations, several `-D' options to <U>cc</U>
1016           have been added or changed:
1017
1018           BERK        This disables the address and date parsing rou-
1019                       tines.  If you want to do much with
1020                       <U>mh-format</U> (5), don't enable this.
1021
1022           BSD43       Will make <U>rcvtty</U> set-group-id to the group
1023                       "tty".
1024
1025           DBM         For sites with a dbm-style password file (such
1026                       as with Yellow Pages), <U>MH</U> will not read the
1027                       entire passwd file into a cache.  At one site
1028                       that runs YP on a large passwd file, using this
1029                       showed a 6:1 performance improvement.
1030
1031           NETWORK     This option has been deleted.  See <B>SOCKETS</B>.
1032
1033           NOIOCTLH    Tells <U>MH</U> not to include the file <B>sys/ioctl.h</B>.
1034                       Use this if this file is not present on your
1035                       system.
1036
1037           NTOHLSWAP   On systems with TCP/IP networking, <U>msh</U> will try
1038                       to use the <B>ntohl()</B> macro from the file
1039                       <B>netinet/in.h</B> to byte-swap the binary map files
1040                       it writes.
1041
1042           SENDMAILBUG Some versions of <U>sendmail</U> return a <B>451</B> (failure)
1043                       reply code when they don't mean to indicate
1044                       failure.  This option considers that code to be
1045                       equivalent to <B>250</B> (OK).
1046
1047           SHADOW      Causes <U>popd</U> to read the file <B>/etc/shadow</B> for
1048                       encrypted passwords instead of <B>/etc/passwd</B>.  Use
1049                       this if you have a shadow password file (such as
1050                       on newer versions of SYSTEM 5).
1051
1052           SOCKETS     Enable this if you are on a non-BSD system with
1053                       a socket interface for TCP/IP networking compa-
1054                       tible with 4.2BSD UNIX.
1055
1056           SUN40       Use on Suns running Sun OS 4.0 and later.
1057
1058           SYS5        This option has been updated to refer to SYS5 R3
1059                       and later systems.
1060
1061           SYS5DIR     Use this if your system uses "struct dirent"
1062                       instead of "struct direct".  This should be true
1063                       for systems based on SYS5 R3 and later.
1064
1065           TYPESIG     Defines the base type for the <U>signal</U> system
1066                       call.  This defaults to "int", but should be
1067                       defined as "void" if appropriate for your sys-
1068                       tem.
1069
1070           WP          Enables support for the White Pages service.
1071
1072           <U>Installation</U>
1073
1074           <U>MH</U> will now explicitly set the protection mode on every file
1075           it installs.
1076
1077                Previously any existing file installed by <U>MH</U> would be
1078           backed up into the source tree, and then overwritten.  Now,
1079           a few system-dependent files will not be overwritten, and
1080           your changes will have to be merged in by hand.  See the
1081           <B>READ-ME</B> file for more details.
1082
1083 </PRE>
1084 </BODY>
1085 </HTML>