+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD><TITLE>MH Change Log</TITLE></HEAD>
+<BODY>
+<PRE>
+
+ <B>Changes to</B>
+ <B>The RAND MH Message Handling System:</B>
+ <B>UCI version MH 6.8</B>
+
+
+ John L. Romine
+
+ Computing Support Group
+ Information and Computer Science
+ University of California, Irvine
+ Irvine, CA 92717-3425
+ Bug-MH@ICS.UCI.EDU
+ <A HREF="http://www.ics.uci.edu/~mh/">http://www.ics.uci.edu/~mh/</A>
+
+
+ <U>ABSTRACT</U>
+
+
+ This document describes the changes to the
+ UCI version of the RAND MH system from MH 6.6 to
+ this release of MH 6.8. This document is meant to
+ supplement, not supersede, the standard MH User's
+ manual and MH Administrator's manual.
+
+ Comments concerning this documentation should
+ be addressed to the mailbox <B>Bug-MH@ICS.UCI.EDU</B>.
+ Current information about MH can be obtained from
+ the <B>MH Home Page</B> on the World Wide Web at
+ <B><A HREF="http://www.ics.uci.edu/~mh/">http://www.ics.uci.edu/~mh/</A></B>.
+
+
+
+ <U>ACKNOWLEDGEMENTS</U>
+
+ The <U>MH</U> system described herein is based on the original RAND
+ <U>MH</U> system. It has been extensively developed (perhaps too
+ much so) by Marshall T. Rose and John L. Romine at the
+ University of California, Irvine. Einar A. Stefferud, Jerry
+ N. Sweet, and Terry P. Domae provided numerous suggestions
+ to improve the UCI version of <U>MH</U>.
+
+ Of course, a large number of people have helped <U>MH</U>
+ along. The list of "<U>MH</U> immortals" is too long to list here.
+ For this release, numerous <U>MH-Workers</U> sent in fixes and
+ other changes. A handful of courageous <U>MH-Workers</U> volun-
+ teered to beta-test these changes; their help is particu-
+ larly appreciated.
+
+ <U>DISCLAIMER</U>
+
+ The Regents of the University of California wish to make it
+ known that:
+
+ Although each program has been tested by its
+ contributor, no warranty, express or implied, is
+ made by the contributor or the University of
+ California, as to the accuracy and functioning of
+ the program and related program material, nor
+ shall the fact of distribution constitute any such
+ warranty, and no responsibility is assumed by the
+ contributor or the University of California in
+ connection herewith.
+
+ <U>CONVENTIONS</U>
+
+ In this document, certain formatting conventions are adhered
+ to:
+
+ The names of UNIX commands, such as <U>comp</U> are presented
+ in <U>italics</U>.
+
+ Arguments to programs, such as `msgs' and `-nobell' are
+ delimited by single-quotes.
+
+ Text that should be typed exactly as-is, such as
+ command lines (e.g., "folder -pack"), are delimited by
+ double-quotes.
+
+ UNIX pathnames and envariables, such as <B>/usr/uci</B> and
+ <B>$SIGNATURE</B>, are presented in <B>bold font</B>.
+
+
+ <U>CHANGES FOR MH 6.8.4</U>
+
+ The MH 6.8.4 release is a minor maintenance release, and
+ contains few user-visible changes. The changes consist
+ mostly of documentation improvements, minor bug fixes, and
+ some portability enhancements for BSD 4.4 and Solaris 2.x
+ (contributed changes for HPUX and OSF1 have not yet been
+ integrated into this release). This is the current version
+ of MH as of February 8, 1996.
+
+ <U>Runtime Tailoring</U>
+
+ By default <U>post</U> will now give the SMTP <B>HELO</B> command with the
+ local hostname. If you specify a hostname with the
+ <B>clientname:</B> option in the <U>mtstailor</U> file, <U>post</U> will give the
+ <B>HELO</B> command with that name instead. If the argument to the
+ <B>clientname:</B> option is empty, no <B>HELO</B> command is given. See
+ <U>mh-tailor</U>(5) for more details.
+
+ <U>Multi-media Mail</U> & <U>Encryption</U>
+
+ A few new PGP support programs can be found in the
+ <B>support/general</B> directory. <U>repl</U> supports the `-[no]mime'
+ option. See <U>repl</U>(1) for more details.
+
+
+ <U>CHANGES FOR MH 6.8.3</U>
+
+ The MH 6.8.3 maintenance release contains few user-visible
+ changes. Most of the changes are internal to the multi-
+ media display program <U>mhn</U> to support RFC 1521 (the new MIME
+ standard). This is the current version of MH as of December
+ 1, 1993.
+
+ <U>Runtime Tailoring</U>
+
+ When posting mail using the SMTP, <U>post</U> did not normally send
+ the <B>HELO</B> command. This was because <U>SendMail</U> would fail if
+ the host name given in the <B>HELO</B> command was the local host.
+ Later versions of <U>SendMail</U> will now complain if you omit the
+ <B>HELO</B> command.
+
+ <U>User Interface Programs</U>
+
+ folder The <U>folder</U> command now has `-create' and `-nocreate'
+ options. See <U>folder</U>(1) for details.
+
+ inc A bug where `-host' would not override the <B>pophost</B>
+ as set in the <U>mtstailor</U> file has been fixed. This
+ bug was also fixed in <U>msgchk</U>.
+
+ mhn The <U>mhn</U> command has several changes: updates for
+ conformance with RFC 1521, addition of two caches:
+ public and private, addition of two caching poli-
+ cies: one for reading and one for writing, support
+ for storing multipart entities, and a few bug fixes.
+ See <U>mhn</U>(1) for complete details.
+
+ <U>CHANGES FOR MH 6.8.2</U>
+
+ The MH.6.8.2 patch release contains only internal changes to
+ support the BSD 4.4 and 386BSD versions of UNIX. This ver-
+ sion of <U>MH</U> was released August 25, 1993, but was not widely
+ distributed.
+
+ <U>CHANGES FOR MH 6.8.1</U>
+
+ The MH.6.8.1 patch release is a maintenance release. This
+ is the current released version of <U>MH</U> as of August 20, 1993.
+
+ This release includes a small number of bug fixes, a
+ few minor enhancements, some changes for the new MIME stan-
+ dard, and support for ESMTP (RFC 1425). Support for BSD 4.4
+ and 386BSD is planned for the next release.
+
+ Many other fixes which have already been received are
+ still being merged. If you've sent an update for MH 6.8 to
+ <B>Bug-MH@ics.uci.edu</B> and it isn't in this release, it'll prob-
+ ably appear in the next release.
+
+ <U>Fixes and Enhancements</U>
+
+ Many minor documentation corrections were made. There are
+ also a few program changes:
+
+ mhn The `-cache policy', `-[no]check', and `-[no]pause'
+ switches have been added. Some other minor changes
+ have been made to comply with the new MIME standard.
+ See <U>mhn</U>(1) for complete details.
+
+ post When posting mail with SendMail, <U>post</U> will not use the
+ <B>ONEX</B> command when it is posting a message with BCCs.
+
+ scan <U>scan</U> will now work with big width values.
+
+ <U>Format Strings</U>
+
+ One new function has been added:
+
+ %(profile arg) This function looks up a component in the
+ <B>.mh_profile</B> or <B>context</B> files and returns the
+ value of that component.
+
+ <U>Configuration</U>
+
+ Two new configuration options are present:
+
+ GCOS_HACK The so-called "gcos" field of the password file
+ is used as a last resort to find the user's
+ full name (see <U>mh-profile</U>(5) for details).
+ Enable this option if your <U>passwd</U>(5) man page
+ notes that the `&' character in the "gcos"
+ field stands for the login name.
+
+ NORUSERPASS Tells <U>MH</U> that your system doesn't have the
+ <U>ruserpass</U>(3) routine; <U>MH</U> will include its own
+ copy of this routine in its library.
+
+
+ <U>CHANGES FOR MH 6.8</U>
+
+ This is the current released version of <U>MH</U> as of December
+ 14, 1992. This release includes a number of bug fixes and
+ internal changes to make the code more portable. Two new
+ authentication methods are provided for the POP, and support
+ for SVR4 shared libraries is complete.
+
+ The major user-visible change in this release is the
+ incorporation of support for multi-media mail as specified
+ by the Multi-purpose Internet Mail Extensions (<B>MIME</B>)
+ RFC 1341. This allows you to include things like audio,
+ graphics, and the like, in your mail messages. A new com-
+ mand, <U>mhn</U>, has been provided to support <B>MIME</B> and a detailed
+ man page is provided in <U>mhn</U>(1).
+
+ <U>Documentation</U>
+
+ The documentation has some general improvements, and the
+ <B>READ-ME</B> document has been re-organized to help <U>MH</U> adminis-
+ trators find the appropriate configuration options for their
+ system. The <B>Makefile</B>s in the <B>papers/</B> hierarchy have been
+ changed to invoke <U>TeX</U> as "tex" (instead of "tex82").
+
+ The following new man pages are also available:
+
+ <U>mhn</U>(1) <U>mhn</U> helps the user process multi-media mail.
+
+ <U>mhparam</U>(1) <U>mhparam</U> lets the user extract information from
+ the <U>MH</U> profile.
+
+ <U>popauth</U>(8) the APOP database administration program (see
+ below).
+
+ <U>popi</U>(1) the POP initiator (see below).
+
+ <U>slocal</U>(1) fully documents <U>slocal</U>. The <U>mhook</U>(1) man page
+ now documents only the <U>MH</U> receive-mail hooks.
+
+ <U>Internal Changes</U>
+
+ The <U>MH</U> source code is in the process of being cleaned up to
+ make pedantic ANSI C compilers happy. Occurrences of "NULL"
+ have been replaced by "0" where appropriate. Extra tokens
+ after "#else" and "#endif" have been put inside comments
+ (this is still in progress). The code should now compile
+ cleanly on many more systems, specifically, more variants of
+ SVR4.
+
+ The version of <B>tws/dtimep.c</B> which was included in MH
+ 6.7.2 was incompatible with the <U>lex</U> library on some systems,
+ and has been removed.
+
+ A bug in the handling of blind lists inside alias files
+ has been fixed.
+
+ <U>Post Office Protocol</U>
+
+ There were three new options added to the POP.
+
+ APOP This option indicates that the POP daemon will support
+ the non-standard <B>APOP</B> command which provides a
+ challenge-based authentication system using the <B>MD5</B>
+ message digest algorithm.
+
+ This option also causes the <U>popauth</U> program to be
+ installed, which allows the administrator to
+ manipulate the <B>APOP</B> authorization database.
+
+ KPOP Support for KERBEROS with POP. This code builds <U>popd</U>,
+ <U>inc</U> and <U>msgchk</U> to support only the "kpop" protocol.
+ This code is still expiremental, but is available for
+ those sites wishing to test it.
+
+ MPOP This option indicates that the POP daemon will support
+ the non-standard <B>XTND SCAN</B> command which provides per-
+ formance enhancements when using the POP over low-
+ speed connections.
+
+ This option also causes an interactive POP client pro-
+ gram, <U>popi</U>, to be compiled and installed. A man page
+ for the <U>popi</U> program is also provided. This option
+ requires the configuration to have "bboards: pop".
+
+ The APOP and MPOP non-standard POP facilities are documented
+ in <U>The Internet Message</U> (ISBN 0-13-092941-7), a book by
+ Marshall T. Rose. For more details, see <B>support/pop/pop-</B>
+ <B>more.txt</B> and the <U>Administrator's Guide</U>. The APOP option
+ peacefully co-exists with the standard POP, KPOP completely
+ replaces the standard POP, and MPOP requires "bboards: pop".
+
+ <U>File Locking</U>
+
+ The file locking code has been cleaned up to support three
+ kinds of kernel-level file locking. As appropriate for your
+ system, include the LOCKF, FCNTL or FLOCK option. For more
+ details, see <U>mh-tailor</U>(5).
+
+ Configuration Directives
+
+ A number of new configuration directives have been added or
+ changed. The full details are given in the <B>READ-ME</B>.
+
+ cp: The command used to install new files if not
+ "cp".
+
+ ln: The command used to link files together in the
+ source tree if not "ln".
+
+ mts: Full support for ZMAILER has been added.
+
+ popdir: The directory where <U>popd</U> will be installed if not
+ <B>/usr/etc</B>.
+
+ regtest: Set to "on" to prevent the hostname and compile
+ date from being included in <U>MH</U> binaries.
+
+ sharedlib: You may now specify "sun4" or "sys5" (for SVR4)
+ shared libraries.
+
+ signal: Specifies the base type of the function returned
+ by <U>signal</U>(). This was previously defined with
+ "options TYPESIG".
+
+ Several `-D' options to <U>cc</U> have been added or changed:
+
+ APOP Authenticated POP (see above).
+
+ AUX Support for A/UX systems.
+
+ DBMPWD The DBM option has been renamed DBMPWD.
+
+ HESIOD Support for the HESIOD name server.
+
+ KPOP KERBEROS POP (see above).
+
+ LOCALE Support for local characters sets; uses the <U>set-</U>
+ <U>local</U>() function.
+
+ MAILGROUP Makes <U>inc</U> set-group-id. You may need this option
+ if your <B>/usr/spool/mail</B> is not world-writeable.
+
+ MIME Multi-media mail.
+
+ MPOP Mobile POP (see above).
+
+ MSGID Enables <U>slocal</U> to detect and surpress duplicate
+ messages.
+
+ OSF1 Support for DEC OSF1 systems. May be incomplete.
+
+ RENAME Include this option if your system has a <U>rename</U>()
+ system call.
+
+ SVR4 Support for System 5 Release 4 or newer systems.
+
+ TYPESIG This option has been dropped. See `signal'
+ above.
+
+ UNISTD Include this option if your system has the
+ include file <B><unistd.h></B>.
+
+ VSPRINTF Include this option if your system has the
+ <U>vsprintf</U>() library routine; otherwise, _<U>doprnt</U>()
+ will be used.
+
+ YEARMOD Forces the <U>mh-format</U> `year' function to return
+ 2-digit values. Use this option during a brief
+ transition period if you have local <U>mh-format</U>
+ files which need to be converted to support 4-
+ digit years.
+
+ <U>FUNCTIONAL CHANGES</U>
+
+ In addition to the configuration changes mentioned above, a
+ number of functional changes have been made to the system.
+ Many programs have new features added and a few new programs
+ have are provided. Each command's manual page gives complete
+ information about the its operation. Here is a short sum-
+ mary of the changes.
+
+ <U>MH Sequences</U>
+
+ A larger number of user-defined sequences are available.
+ Previously, this number had been 10. On 32-bit systems, 26
+ user-defined sequences are available.
+
+ <U>Profile Components</U>
+
+ <U>MH</U> programs will now complain if the <B>.mh_profile</B> does not
+ end in a newline. Also, one enhancement and one new profile
+ component are provided:
+
+ Aliasfile: Multiple filenames may now be given.
+
+ Inbox: New; the default folder (for <U>inc</U>, etc.) if not
+ "inbox".
+
+ <U>Format Strings</U>
+
+ A few minor bugs were fixed in format string handling, and a
+ few new features were added. See <U>mh-format</U>(5) for complete
+ details.
+
+ Addresses An attempt is made to decipher X.400
+ RFC 987-style addresses.
+
+ Comments Comments may be added to <U>mh-format</U> files; a
+ comment begins with the 2-character sequence
+ "%;", and ends with an un-escaped newline.
+
+ %(modulo n) The `modulo' function escape has been added.
+
+ %(year{date}) The date parser has been enhanced to
+ understand more illegal date formats; `year'
+ now returns a 4-digit number.
+
+ <U>User Interface Programs</U>
+
+ A number of <U>MH</U> commands have minor changes:
+
+ ali The output with `-user -list' was changed to match
+ the output with `-nouser -list'.
+
+ burst Will no longer drop the last message of a digest.
+
+ inc Accepts the `-apop' switch for authenticated POP
+ (see above); will attempt to detect write errors
+ (e.g., no space left on device) when incorporating
+ mail; no longer replaces newline characters with
+ NULLs.
+
+ folder The `-noprint' option was broken and has been
+ dropped.
+
+ forw Supports `-mime' to use MIME-style multi-part mes-
+ sages.
+
+ mhl Will no longer put an extra space at the end of
+ the `%{text}' in a formatfield.
+
+ mhn New; manipulates multi-media (MIME) messages; a
+ detailed man page is provided.
+
+ mhparam New; reads the <U>MH</U> profile (and context) and writes
+ the values of the specified components on the
+ standard output; useful in programmatic con-
+ structs.
+
+ msgchk Supports `-apop' (see above).
+
+ packmbox New; packs an <U>MH</U> folder into a UUCP-style mailbox.
+
+ popi New; a client-side POP initiator; available only
+ if you built <U>MH</U> with the MPOP option (see above).
+
+ refile A bug where the `rmmproc' did not remove all
+ specified message files has been fixed.
+
+ scan The `-file' option is fully supported and will no
+ longer complain about empty folders.
+
+ send Supports `-mime' and `-split' to split large mes-
+ sages into multiple partial messages using MIME.
+
+ <U>Support Programs</U>
+
+ fmtdump Can now read a format file, or a format string
+ given on the command line.
+
+ popauth New; manages the APOP authorization database (see
+ above).
+
+ sendmail The <U>sendmail</U> replacement will be installed only if
+ your `mts' setting uses the `/smtp' option.
+
+ slocal A new man page for <U>slocal</U> is available; the new
+ `mbox' action is available to write a file in
+ <U>packf</U> format; a bug where extra `>' characters
+ were written to MMDF-style maildrops has been
+ fixed; if compiled with the MSGID option, can
+ detect and suppress reception of duplicate mes-
+ sages.
+
+ viamail New; bundles a directory (like <U>shar</U>) and sends it
+ through multi-media mail.
+
+
+ <U>CHANGES FOR MH 6.7.2</U>
+
+ The MH.6.7.2 patch release is a maintenance release. This
+ is the current released version of <U>MH</U> as of February 1,
+ 1992.
+
+ This release now supports the NCR Tower running SYS5R4.
+ The WP changes installed in MH.6.7.0 have been removed.
+
+ <U>Shared Libraries</U>
+
+ Support for SYS 5 shared libraries is in progress.
+
+ Support for Sun OS 4.0 shared libraries had been
+ improved. The <U>MH</U> library has been modified to move initial-
+ ized data into a data definition file. The shared library
+ will now consist of a <B>libmh.so</B> and <B>libmh.sa</B> file. The
+ shared library version number will no longer track the <U>MH</U>
+ patch release number, and its numbering begins with version
+ `1.1' with this release.
+
+ <U>Replacement SendMail</U>
+
+ Since many standard system programs expect to post mail by
+ invoking <B>/usr/lib/sendmail</B>, a minimal replacement <U>SendMail</U>
+ is provided in this release. This replacement is meant to
+ be installed on (e.g., diskless) client workstations which
+ post mail using SMTP, and do not run a message transport
+ system. It will call <U>post</U> to post mail; be sure you have
+ configured <U>MH</U> with the `/smtp' mts option. This sendmail
+ replacement is installed in your <U>MH</U> etc directory, and you
+ should link <B>/usr/lib/sendmail</B> to it.
+
+ <U>Format Strings</U>
+
+ A manual page for the <U>fmtdump</U> format string disassembler is
+ supplied, and some new format functions were added:
+
+ folder In <U>scan</U>, this component escape contains the name of
+ the current folder. It is not defined for other <U>MH</U>
+ commands.
+
+ getenv This function escape returns the value of an
+ environment variable.
+
+ There will be some additional changes in these routines
+ in the next patch release.
+
+ <U>Other Bug Fixes and Enhancements</U>
+
+ In addition to some other minor enhancements, some bugs were
+ fixed which in general were not user-visible:
+
+ Blind lists Users may now specify RFC822 address groups in
+ their alias files. These groups are
+ implemented by <U>MH</U> as blind lists.
+
+ date parsing A number of sites have brain-damaged versions
+ of <B>lex</B>. <U>MH</U> will now come with the date parser
+ already run through lex.
+
+ mark A bug dealing with <U>mark</U> and the sequence named
+ `cur' is fixed. This was previously a problem
+ for mh-e users.
+
+ MH.doc The <U>MH</U> nroff version of the manual no longer
+ contains teletype escape sequences.
+
+ scan Can now handle headers as long as 512 bytes.
+
+ Signals <U>MH</U> programs will no longer catch the <B>HUP</B> and
+ <B>TERM</B> signals while waiting for a sub-process.
+ This was causing hung processes when your
+ terminal line was was dropped unexpectedly.
+
+ Signature If your signature is not defined, <U>MH</U> will use
+ the value of the gecos field of your
+ <B>/etc/passwd</B> entry as your signature.
+
+ version.sh A bug in the <B>awk</B> script in <B>config/version.sh</B>
+ was fixed.
+
+
+ <U>CHANGES FOR MH 6.7.1a</U>
+
+ The MH.6.7.1a patch was made available on January 25, 1991
+ for limited distribution only. (This release had some known
+ bugs, and so was not widely distributed.) This release
+ incorporates several new features of particular note to
+ users of sequences and format strings, as well as some gen-
+ eral documentation improvements. There are a few minor
+ enhancements and internal bug fixes also. Complete documen-
+ tation of these changes is given in the individual manual
+ pages, and the <B>READ-ME</B> file.
+
+ <U>Message Sequences</U>
+
+ A new manual page, <U>mh-sequence</U> (5), has been added. This
+ manual page attempts to completely document the syntax and
+ semantics of <U>MH</U> message sequence specifications.
+
+ A powerful new feature is the ability to specify mes-
+ sage ranges with user-defined sequences. The specification
+ "name:n" may be used, and it designates up to the first `n'
+ messages (or last `n' messages for `-n') which are
+ elements of the user-defined sequence `name'.
+
+ The message specifications "name:next" and "name:prev"
+ may also be used, and they designate the next or previous
+ message (relative to the current message) which is an ele-
+ ment of the user-defined sequence `name'. The specifica-
+ tions "name:first" and "name:last" are equivalent to
+ "name:1" and "name:-1", respectively. The specification
+ "name:cur" is not allowed (use just "cur" instead).
+
+ These specifications allow the user to step through a
+ sequence with a command like "show name:next".
+
+ <U>Format Strings</U>
+
+ <U>MH</U> format strings now support an if-then-elseif-else clause
+ (the `elseif' is new). This will make format strings with
+ multi-case conditions somewhat less complex.
+
+ A new format function `addr' had been added. This
+ function takes an address header name as its argument, and
+ returns a rendering of the address contained in that header
+ as "user@host" or "host!user".
+
+ Format widths now may be specified as a negative
+ number. This causes the output to be right-justified within
+ the format width.
+
+ <U>Other Changes</U>
+
+ Along with a few minor enhancements, some bugs were fixed
+ which in general were not user-visible:
+
+ fmtdump This new program produces an pseudo-language
+ representation of an <U>MH</U> format file, vaguely
+ reminiscent of assembly language. While this
+ output format is not explicitly documented, it can
+ still be useful when debugging <U>MH</U> format files.
+
+ refile Now takes a `-[no]rmmproc' switch. This makes it
+ easier to avoid loops when your "rmmproc" calls
+ <U>refile</U>.
+
+ slocal A problem with the UUCP-style mailboxes, the
+ `RPATHS' configuration option, and the "Return-
+ Path:" header was fixed.
+
+ sortm Will ensure that no messages are lost if it is
+ interrupted.
+
+ whatnow Will now tell you where it is leaving the draft,
+ when interrupted in the initial edit. Previously
+ the draft was simply unlinked.
+
+ <U>Compilation Options</U>
+
+ LOCKF This option causes <U>MH</U> to use the <B>lockf()</B> system
+ call for locking (if available), instead of
+ <B>flock()</B>.
+
+
+ <U>CHANGES FOR MH 6.7.1</U>
+
+ The MH.6.7.1 patch release is a maintenance release, and as
+ such, provides few changes from the previous release. This
+ is the current released version of <U>MH</U> as of December 14,
+ 1990.
+
+ <U>User-Visible Changes</U>
+
+ The major change in this release is to the POP daemon
+ (popd). In <U>MH</U> 6.7, it was changed to be able to read both
+ UUCP and MMDF-style mailboxes. This did not work as
+ reported. The code has now been changed to parse MMDF-style
+ mailboxes if you are configuring MH to run with MMDF as your
+ message transport system. Otherwise, UUCP-style mailboxes
+ are expected.
+
+ Since there are number of client programs available for
+ only the POP2 protocol instead of POP3, popd has been
+ updated to support both protocols. This is a major win. If
+ you are compiling with POP turned on, add the `POP2' option
+ to your <U>MH</U> config file, and the POP daemon will respond to
+ POP2 or POP3 commands. If you're using POP, there's no rea-
+ son not to include this option; it does not affect the
+ existing support for POP3.
+
+ <U>Internal Changes</U>
+
+ Some bugs were fixed which in general were not user-visible:
+
+ context Errors when writing out sequences are detected
+ correctly.
+
+ inc No longer inserts extra blank lines into
+ messages.
+
+ mh-format A nil pointer bug in the address parser was
+ fixed.
+
+ repl, etc. The malloc/free problem has been fixed.
+
+ rmf A spelling error in the `-nointeractive' switch
+ has been corrected.
+
+ rcvtty Will not print the message size if not available
+ (i.e., zero).
+
+ send/post Illegal signatures (those containing unquoted
+ "."s) will be quoted.
+
+
+ <U>GENERAL CHANGES FOR MH 6.7.0</U>
+
+ The author is pleased to announce that there are very few
+ user-visible changes to <U>MH</U> 6.7 from the previous <U>MH</U> 6.6 dis-
+ tribution. The majority of development was in the form of
+ bug fixes and slight enhancements. In addition, this
+ release is slightly faster than the previous release. With
+ a few minor exceptions, it is backward-compatible with the
+ previous release. <U>MH</U> 6.7.0 is the current released version
+ of <U>MH</U> as of April 12, 1990.
+
+ The changes were made mainly to generalize the source
+ code to be compatible with a larger range of systems and
+ compilers. There were many small changes to add declara-
+ tions for ANSI C compliance. The System 5 support has been
+ brought up to SYS5 R3, and there is support for Sun OS 4.0.
+
+ <U>User-Visible Changes</U>
+
+ Here a quick summary of the changes that were made which are
+ not backward-compatible with the previous release of <U>MH</U>:
+
+ repl The `-format' and `-noformat' switches have not been
+ functional since <U>MH</U> 5, and have been removed. Any
+ users who have these switches in their <B>.mh_profile</B>,
+ will have to remove them.
+
+ sortm Previously, in most cases <U>sortm</U> would fill-in any
+ gaps in the numbering of a folder, by renumbering the
+ messages starting with `1'. This will no longer
+ occur; for this behavior, use "folder -pack".
+
+
+ <U>Using Aliases</U>
+
+ A new profile entry `Aliasfile:' has been added. The <U>ali</U>,
+ <U>send</U>, and <U>whom</U> programs will look for this profile entry and
+ treat it as they would an argument to `-alias'. This should
+ make it easier for novice <U>MH</U> users to begin using aliases.
+
+
+ <U>Reading Network News</U> & <U>BBoards</U>
+
+ The UCI BBoards facility can read local BBoards, and if com-
+ piled with the `bboards: pop' and `pop: on' options, can
+ also read remote BBoards using the Post Office Protocol (POP
+ ver. 3). With this release, <U>MH</U> can instead be compiled to
+ read the Network News (i.e., USENET) using the Network News
+ Transfer Protocol (NNTP).
+
+ This capability is enabled by compiling <U>MH</U> with the
+ `bboards: nntp' and `pop: on' options. Unfortunately, read-
+ ing remote BBoards via the POP and reading the Network News
+ via the NNTP are mutually exclusive options.
+
+ To support the NNTP, a new module, <B>uip/pshsbr.c</B>, is
+ compiled and loaded into <U>bbc</U> and <U>msh</U> instead of
+ <B>uip/popsbr.c</B>. The default BBoard is changed from "system"
+ to "general" for the NNTP.
+
+ When reading BBoards, <U>bbc</U> will first look for local
+ BBoards, and then contact the NNTP server to read the Net-
+ work News. The location of the NNTP server should be speci-
+ fied with the `nntphost:' entry in the <B>mtstailor</B> file (see
+ the <U>MH</U> Administrator's Guide for details), or may be speci-
+ fied on the command line with the `-host' switch.
+
+
+ <U>Format Strings</U>
+
+ The manual page <U>mh-format</U> (5) has been rewritten to give a
+ better explanation of how to write format strings, and how
+ they are interpreted by <U>MH</U>. A line-by-line description of
+ the default <U>repl</U> form file (<B>replcomps</B>) is now included in
+ that manual page.
+
+ Some new format functions were added, and others were
+ augmented:
+
+ trim Strips any leading and trailing white-space from
+ the current string value.
+
+ date2local Will coerce the date to the local timezone.
+
+ date2gmt Will coerce the date to GMT.
+
+ divide Divides the current numeric value by its
+ argument. This could be useful for building
+ <U>scan</U> format strings which print large message
+ sizes in "Kb" or "Mb".
+
+ friendly If the address field cannot be parsed, this
+ function will return the text of the address
+ header, instead of a null string.
+
+ szone A flag indicating whether the timezone was
+ explicit in the date string.
+
+ <U>PROGRAM CHANGES</U>
+
+ In addition to the general changes mentioned above, many
+ programs have specific new features added, either by new
+ switches or by expanded functionality. Each command's
+ manual page gives complete information about its new
+ options. Here is a short summary.
+
+ <U>User Interface Programs</U>
+
+ anno Accepts a `-nodate' switch which inhibits the date
+ annotation, leaving only the body annotation.
+
+ folder When invoked with the `-pack' switch and the new
+ `-verbose' switch, <U>folder</U> will give information
+ about the actions taken to renumber the folder.
+
+ On most systems, <U>folder</U> can now create any
+ non-existing parent folders of a new sub-folder.
+
+ forw When making digests, <U>forw</U> will put the issue and
+ volume numbers in addition to the digest list
+ name, in the digest trailer.
+
+ inc Detects NFS write failures, and will not zero your
+ maildrop in that event.
+
+ msh Supports a variant of the new <U>sortm</U>.
+
+ prompter Considers a period on a line by itself to signify
+ end-of-file when the `-doteof' switch is speci-
+ fied.
+
+ repl The `-[no]format' switches have not been used
+ since <U>MH</U> 5 and have been deleted. <U>repl</U> will now
+ find filter files in the <U>MH</U> library area.
+
+ scan With the `-file msgbox' switch, <U>scan</U> can list a
+ <U>packf</U>'d-format file directly (without using <U>msh</U>).
+
+ Lists messages in reverse order with the
+ `-reverse' switch. This should be considered a
+ bug.
+
+ sortm Now has the options: `-textfield field',
+ `-notextfield', `-limit days', and `-nolimit'.
+
+ With these options, <U>sortm</U> can be instructed to
+ sort a folder based on the contents of an arbi-
+ trary header such as "subject".
+
+ <U>sortm</U> minimizes renaming messages, and will no
+ longer arbitrarily pack folders; for this
+ behavior, use "folder -pack".
+
+ whatnow Deletes the draft by renaming it with leading
+ comma, instead of unlinking it.
+
+ <U>MH Support Programs</U>
+
+ The following support programs also have changes or
+ enhancements:
+
+ mhl Will now accept a format string on any component,
+ not just on addresses and dates.
+
+ popd Will use <U>shadow</U> passwords if compiled with the <B>SHA-</B>
+ <B>DOW</B> option. It can now also read UUCP-style mail-
+ drops directly.
+
+ rcvtty If given no arguments, <U>rcvtty</U> will produce a <B>scan</B>
+ listing as specified by a format string or file; a
+ default format string is used if one is not speci-
+ fied.
+
+ Before the listing is written to the users terminal,
+ the terminal's bell is rung and a newline is output.
+ The `-nobell' and the `-nonewline' options inhibit
+ these functions.
+
+ <U>rcvtty</U> will obey terminal write notification set by
+ <U>mesg</U>. With the `-biff' switch, <U>rcvtty</U> will also
+ obey the mail notification status set by <U>biff</U>.
+
+ On <B>BSD43</B> systems, as with <U>write</U>, <U>rcvtty</U> will be
+ installed set-group-id to the group "tty".
+
+ slocal Understands UUCP-style "From " lines and will write
+ output files using this format if appropriate.
+ Before invoking a delivery program, <U>slocal</U> will
+ strip such lines unless compiled with the <B>RPATHS</B>
+ option, in which case it will will convert such
+ lines into "Return-Path:" headers.
+
+ <U>slocal</U> has a new result code "N", for use in <B>.mail-</B>
+ <B>delivery</B> files. With this result code, <U>slocal</U> will
+ perform the action only if the message has not been
+ delivered and the previous action succeeded. This
+ allows for performing an action only if multiple
+ conditions are true.
+
+ <U>DOCUMENTATION</U>
+
+ Several of the older <U>MH</U> papers have been difficult to format
+ because they depended on an older version of PhDTeX which
+ was not supplied. These papers have been updated, and some
+ TeX library files are supplied in <B>papers/doclib/</B>, so that
+ these papers may be generated on any system with TeX.
+
+ Many of the manual pages have been revised to include
+ documentation of new command options, and some have been
+ expanded to give more detail. All are now slightly refor-
+ matted at installation time to make them more compatible
+ with programs like <U>makewhatis</U>.
+
+
+ <U>MH ADMINISTRATION</U>
+
+ This section describes changes in configuring, compiling and
+ installing <U>MH</U> 6.7 and should not be of interest to casual <U>MH</U>
+ users. The <B>READ-ME</B> file has been considerably revised and
+ expanded to give more detail about the configuration and
+ compilation options which have been included in this
+ release. Some compilation options have been removed, and
+ many new options have been added.
+
+ All <U>MH</U> <B>Makefile</B>s have been updated to work around some
+ incompatibilities introduced in newer versions of <U>make</U>. <U>MH</U>
+ programs will no longer be installed with the sticky-bit
+ turned on.
+
+ Reading this section not a substitute for carefully
+ reading the <B>READ-ME</B> file before attempting to compile <U>MH</U>
+
+
+ <U>Bug Fixes</U>
+
+ Some bugs were fixed which in general were not user-visible:
+
+ address parser Fixed to allow use of the "AT" domain, and
+ some minor bugs were fixed pertaining to
+ address groups.
+
+ date parser Improved to accept more forms of illegal
+ dates. Military timezones were removed.
+
+ dynamic memory Many problems with corruption of the dynamic
+ memory pool have been fixed.
+
+ locking Will open files for write, if necessary to
+ enable locking.
+
+ nil pointers All reported nil pointer problems have been
+ fixed.
+
+ replcomps The "In-Reply-To:" header had quotes added
+ around the date field to comply with RFC822.
+
+ <U>White Pages</U>
+
+ If <U>MH</U> is compiled with the <B>WP</B> option, <U>send</U> recognizes an
+ address between "<<" and ">>" characters such as:
+
+ To: << rose -org psi >>
+
+ to be a name meaningful to a whitepages service. In order
+ to expand the name, <U>send</U> must be invoked interactively
+ (i.e., not from <U>push</U>). For each name, <U>send</U> will invoke a
+ command called <U>fred</U> in a special mode asking to expand the
+ name.
+
+ To get a copy of the white pages service, contact
+ wpp-manager@psi.com.
+
+ <U>Configuration Options</U>
+
+ Some configuration options have been added or changed:
+
+ cc To specify an alternate C compiler.
+
+ ccoptions Defaults to `-O'.
+
+ bboards May now be defined as "on", "off", "pop", or
+ "nntp".
+
+ bbdelivery Determines whether the bboard delivery agent and
+ library files should be installed.
+
+ lex To specify an alternate version of <U>lex</U>.
+
+ mailgroup If defined, <U>inc</U> will be made set-group-id to
+ this group.
+
+ sharedlib For <B>SUN40</B> systems; if "on", makes <B>libmh.a</B> into a
+ shared library.
+
+ slibdir The directory where the above shared library
+ should be installed.
+
+ sprintf Set this to "int" if that's what your
+ <U>sprintf</U> (3) library routine returns.
+
+ <U>Compilation Options</U>
+
+ For different configurations, several `-D' options to <U>cc</U>
+ have been added or changed:
+
+ BERK This disables the address and date parsing rou-
+ tines. If you want to do much with
+ <U>mh-format</U> (5), don't enable this.
+
+ BSD43 Will make <U>rcvtty</U> set-group-id to the group
+ "tty".
+
+ DBM For sites with a dbm-style password file (such
+ as with Yellow Pages), <U>MH</U> will not read the
+ entire passwd file into a cache. At one site
+ that runs YP on a large passwd file, using this
+ showed a 6:1 performance improvement.
+
+ NETWORK This option has been deleted. See <B>SOCKETS</B>.
+
+ NOIOCTLH Tells <U>MH</U> not to include the file <B>sys/ioctl.h</B>.
+ Use this if this file is not present on your
+ system.
+
+ NTOHLSWAP On systems with TCP/IP networking, <U>msh</U> will try
+ to use the <B>ntohl()</B> macro from the file
+ <B>netinet/in.h</B> to byte-swap the binary map files
+ it writes.
+
+ SENDMAILBUG Some versions of <U>sendmail</U> return a <B>451</B> (failure)
+ reply code when they don't mean to indicate
+ failure. This option considers that code to be
+ equivalent to <B>250</B> (OK).
+
+ SHADOW Causes <U>popd</U> to read the file <B>/etc/shadow</B> for
+ encrypted passwords instead of <B>/etc/passwd</B>. Use
+ this if you have a shadow password file (such as
+ on newer versions of SYSTEM 5).
+
+ SOCKETS Enable this if you are on a non-BSD system with
+ a socket interface for TCP/IP networking compa-
+ tible with 4.2BSD UNIX.
+
+ SUN40 Use on Suns running Sun OS 4.0 and later.
+
+ SYS5 This option has been updated to refer to SYS5 R3
+ and later systems.
+
+ SYS5DIR Use this if your system uses "struct dirent"
+ instead of "struct direct". This should be true
+ for systems based on SYS5 R3 and later.
+
+ TYPESIG Defines the base type for the <U>signal</U> system
+ call. This defaults to "int", but should be
+ defined as "void" if appropriate for your sys-
+ tem.
+
+ WP Enables support for the White Pages service.
+
+ <U>Installation</U>
+
+ <U>MH</U> will now explicitly set the protection mode on every file
+ it installs.
+
+ Previously any existing file installed by <U>MH</U> would be
+ backed up into the source tree, and then overwritten. Now,
+ a few system-dependent files will not be overwritten, and
+ your changes will have to be merged in by hand. See the
+ <B>READ-ME</B> file for more details.
+
+</PRE>
+</BODY>
+</HTML>