BSD 4_4_Lite2 development
[unix-history] / usr / src / contrib / mh-6.8.3a / CHANGES
Changes to
The RAND MH Message Handling System:
UCI version MH 6.8
John L. Romine
Computing Support Group
Department of Information and Computer Science
University of California, Irvine
Irvine, CA 92717-3425
Bug-MH@ICS.UCI.EDU
_\bA_\bB_\bS_\bT_\bR_\bA_\bC_\bT
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 Bug-MH@ICS.UCI.EDU, or
ucbvax!ucivax!bug-mh.
_\bA_\bC_\bK_\bN_\bO_\bW_\bL_\bE_\bD_\bG_\bE_\bM_\bE_\bN_\bT_\bS
The _\bM_\bH system described herein is based on the original RAND
_\bM_\bH 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 _\bM_\bH.
Of course, a large number of people have helped _\bM_\bH
along. The list of "_\bM_\bH immortals" is too long to list here.
For this release, numerous _\bM_\bH-_\bW_\bo_\br_\bk_\be_\br_\bs sent in fixes and
other changes. A handful of courageous _\bM_\bH-_\bW_\bo_\br_\bk_\be_\br_\bs volun-
teered to beta-test these changes; their help is particu-
larly appreciated.
December 1, 1993
Changes to MH 6.8 2
_\bD_\bI_\bS_\bC_\bL_\bA_\bI_\bM_\bE_\bR
The Regents of the University of California wish to make it
known that:
Although each program has been tested by its con-
tributor, no warranty, express or implied, is made
by the contributor or the University of Califor-
nia, as to the accuracy and functioning of the
program and related program material, nor shall
the fact of distribution constitute any such war-
ranty, and no responsibility is assumed by the
contributor or the University of California in
connection herewith.
_\bC_\bO_\bN_\bV_\bE_\bN_\bT_\bI_\bO_\bN_\bS
In this document, certain formatting conventions are adhered
to:
The names of UNIX commands, such as _\bc_\bo_\bm_\bp are presented
in _\bi_\bt_\ba_\bl_\bi_\bc_\bs.
Arguments to programs, such as `msgs' and `-nobell' are
delimited by single-quotes.
Text that should be typed exactly as-is, such as com-
mand lines (e.g., "folder -pack"), are delimited by
double-quotes.
UNIX pathnames and envariables, such as /usr/uci and
$SIGNATURE, are presented in bold font.
December 1, 1993
Changes for MH 6.8.3 3
_\bC_\bH_\bA_\bN_\bG_\bE_\bS _\bF_\bO_\bR _\bM_\bH _\b6._\b8._\b3
The MH 6.8.3 maintenance release contains few user-visible
changes. Most of the changes are internal to the multi-
media display program _\bm_\bh_\bn to support RFC 1521 (the new MIME
standard). This is the current version of MH as of December
1, 1993.
_\bR_\bu_\bn_\bt_\bi_\bm_\be _\bT_\ba_\bi_\bl_\bo_\br_\bi_\bn_\bg
When posting mail using the SMTP, _\bp_\bo_\bs_\bt did not normally send
the HELO command. This was because _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl would fail if
the host name given in the HELO command was the local host.
Later versions of _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl will now complain if you omit the
HELO command.
As of MH 6.8.3a, by default _\bp_\bo_\bs_\bt will give the SMTP
HELO command with the local hostname. If you specify a
hostname with the clientname: option in the _\bm_\bt_\bs_\bt_\ba_\bi_\bl_\bo_\br file,
_\bp_\bo_\bs_\bt will give the HELO command with that name instead. If
the argument to the clientname: option is empty, no HELO
command is given. See _\bm_\bh-_\bt_\ba_\bi_\bl_\bo_\br(5) for more details.
_\bU_\bs_\be_\br _\bI_\bn_\bt_\be_\br_\bf_\ba_\bc_\be _\bP_\br_\bo_\bg_\br_\ba_\bm_\bs
folder The _\bf_\bo_\bl_\bd_\be_\br command now has `-create' and `-nocreate'
options. See _\bf_\bo_\bl_\bd_\be_\br(1) for details.
inc A bug where `-host' would not override the pophost
as set in the _\bm_\bt_\bs_\bt_\ba_\bi_\bl_\bo_\br file has been fixed. This
bug was also fixed in _\bm_\bs_\bg_\bc_\bh_\bk.
mhn The _\bm_\bh_\bn 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 _\bm_\bh_\bn(1) for complete details.
_\bC_\bH_\bA_\bN_\bG_\bE_\bS _\bF_\bO_\bR _\bM_\bH _\b6._\b8._\b2
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 _\bM_\bH was released August 25, 1993, but was not widely
distributed.
_\bC_\bH_\bA_\bN_\bG_\bE_\bS _\bF_\bO_\bR _\bM_\bH _\b6._\b8._\b1
The MH.6.8.1 patch release is a maintenance release. This
is the current released version of _\bM_\bH 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
December 1, 1993
Changes for MH 6.8.3 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
Bug-MH@ics.uci.edu and it isn't in this release, it'll prob-
ably appear in the next release.
_\bF_\bi_\bx_\be_\bs _\ba_\bn_\bd _\bE_\bn_\bh_\ba_\bn_\bc_\be_\bm_\be_\bn_\bt_\bs
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 _\bm_\bh_\bn(1) for complete details.
post When posting mail with SendMail, _\bp_\bo_\bs_\bt will not use the
ONEX command when it is posting a message with BCCs.
scan _\bs_\bc_\ba_\bn will now work with big width values.
_\bF_\bo_\br_\bm_\ba_\bt _\bS_\bt_\br_\bi_\bn_\bg_\bs
One new function has been added:
%(profile arg) This function looks up a component in the
.mh_profile or context files and returns the
value of that component.
_\bC_\bo_\bn_\bf_\bi_\bg_\bu_\br_\ba_\bt_\bi_\bo_\bn
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 _\bm_\bh-_\bp_\br_\bo_\bf_\bi_\bl_\be(5) for details).
Enable this option if your _\bp_\ba_\bs_\bs_\bw_\bd(5) man page
notes that the `&' character in the "gcos"
field stands for the login name.
NORUSERPASS Tells _\bM_\bH that your system doesn't have the
_\br_\bu_\bs_\be_\br_\bp_\ba_\bs_\bs(3) routine; _\bM_\bH will include its own
copy of this routine in its library.
December 1, 1993
Changes for MH 6.8 5
_\bC_\bH_\bA_\bN_\bG_\bE_\bS _\bF_\bO_\bR _\bM_\bH _\b6._\b8
This is the current released version of _\bM_\bH 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 (MIME)
RFC 1341. This allows you to include things like audio,
graphics, and the like, in your mail messages. A new com-
mand, _\bm_\bh_\bn, has been provided to support MIME and a detailed
man page is provided in _\bm_\bh_\bn(1).
_\bD_\bo_\bc_\bu_\bm_\be_\bn_\bt_\ba_\bt_\bi_\bo_\bn
The documentation has some general improvements, and the
READ-ME document has been re-organized to help _\bM_\bH adminis-
trators find the appropriate configuration options for their
system. The Makefiles in the papers/ hierarchy have been
changed to invoke _\bT_\be_\bX as "tex" (instead of "tex82").
The following new man pages are also available:
_\bm_\bh_\bn(1) _\bm_\bh_\bn helps the user process multi-media mail.
_\bm_\bh_\bp_\ba_\br_\ba_\bm(1) _\bm_\bh_\bp_\ba_\br_\ba_\bm lets the user extract information from
the _\bM_\bH profile.
_\bp_\bo_\bp_\ba_\bu_\bt_\bh(8) the APOP database administration program (see
below).
_\bp_\bo_\bp_\bi(1) the POP initiator (see below).
_\bs_\bl_\bo_\bc_\ba_\bl(1) fully documents _\bs_\bl_\bo_\bc_\ba_\bl. The _\bm_\bh_\bo_\bo_\bk(1) man page
now documents only the _\bM_\bH receive-mail hooks.
_\bI_\bn_\bt_\be_\br_\bn_\ba_\bl _\bC_\bh_\ba_\bn_\bg_\be_\bs
The _\bM_\bH 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 tws/dtimep.c which was included in MH
6.7.2 was incompatible with the _\bl_\be_\bx library on some systems,
and has been removed.
A bug in the handling of blind lists inside alias files
December 14, 1992
Changes for MH 6.8 6
has been fixed.
_\bP_\bo_\bs_\bt _\bO_\bf_\bf_\bi_\bc_\be _\bP_\br_\bo_\bt_\bo_\bc_\bo_\bl
There were three new options added to the POP.
APOP This option indicates that the POP daemon will support
the non-standard APOP command which provides a
challenge-based authentication system using the MD5
message digest algorithm.
This option also causes the _\bp_\bo_\bp_\ba_\bu_\bt_\bh program to be in-
stalled, which allows the administrator to manipulate
the APOP authorization database.
KPOP Support for KERBEROS with POP. This code builds _\bp_\bo_\bp_\bd,
_\bi_\bn_\bc and _\bm_\bs_\bg_\bc_\bh_\bk 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 XTND SCAN command which provides per-
formance enhancements when using the POP over low-
speed connections.
This option also causes an interactive POP client pro-
gram, _\bp_\bo_\bp_\bi, to be compiled and installed. A man page
for the _\bp_\bo_\bp_\bi program is also provided. This option
requires the configuration to have "bboards: pop".
The APOP and MPOP non-standard POP facilities are documented
in _\bT_\bh_\be _\bI_\bn_\bt_\be_\br_\bn_\be_\bt _\bM_\be_\bs_\bs_\ba_\bg_\be (ISBN 0-13-092941-7), a book by
Marshall T. Rose. For more details, see support/pop/pop-
more.txt and the _\bA_\bd_\bm_\bi_\bn_\bi_\bs_\bt_\br_\ba_\bt_\bo_\br'_\bs _\bG_\bu_\bi_\bd_\be. The APOP option
peacefully co-exists with the standard POP, KPOP completely
replaces the standard POP, and MPOP requires "bboards: pop".
_\bF_\bi_\bl_\be _\bL_\bo_\bc_\bk_\bi_\bn_\bg
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 _\bm_\bh-_\bt_\ba_\bi_\bl_\bo_\br(5).
December 14, 1992
Changes for MH 6.8 7
Configuration Directives
A number of new configuration directives have been added or
changed. The full details are given in the READ-ME.
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 _\bp_\bo_\bp_\bd will be installed if not
/usr/etc.
regtest: Set to "on" to prevent the hostname and compile
date from being included in _\bM_\bH binaries.
sharedlib: You may now specify "sun4" or "sys5" (for SVR4)
shared libraries.
signal: Specifies the base type of the function returned
by _\bs_\bi_\bg_\bn_\ba_\bl(). This was previously defined with
"options TYPESIG".
Several `-D' options to _\bc_\bc 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 _\bs_\be_\bt_\b-
_\bl_\bo_\bc_\ba_\bl() function.
MAILGROUP Makes _\bi_\bn_\bc set-group-id. You may need this option
if your /usr/spool/mail is not world-writeable.
MIME Multi-media mail.
MPOP Mobile POP (see above).
MSGID Enables _\bs_\bl_\bo_\bc_\ba_\bl to detect and surpress duplicate
messages.
OSF1 Support for DEC OSF1 systems. May be incomplete.
RENAME Include this option if your system has a _\br_\be_\bn_\ba_\bm_\be()
December 14, 1992
Changes for MH 6.8 8
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 <unistd.h>.
VSPRINTF Include this option if your system has the
_\bv_\bs_\bp_\br_\bi_\bn_\bt_\bf() library routine; otherwise, __\bd_\bo_\bp_\br_\bn_\bt()
will be used.
YEARMOD Forces the _\bm_\bh-_\bf_\bo_\br_\bm_\ba_\bt `year' function to return
2-digit values. Use this option during a brief
transition period if you have local _\bm_\bh-_\bf_\bo_\br_\bm_\ba_\bt
files which need to be converted to support 4-
digit years.
_\bF_\bU_\bN_\bC_\bT_\bI_\bO_\bN_\bA_\bL _\bC_\bH_\bA_\bN_\bG_\bE_\bS
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.
_\bM_\bH _\bS_\be_\bq_\bu_\be_\bn_\bc_\be_\bs
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.
_\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
_\bM_\bH programs will now complain if the .mh_profile 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 _\bi_\bn_\bc, etc.) if not
"inbox".
December 14, 1992
Changes for MH 6.8 9
_\bF_\bo_\br_\bm_\ba_\bt _\bS_\bt_\br_\bi_\bn_\bg_\bs
A few minor bugs were fixed in format string handling, and a
few new features were added. See _\bm_\bh-_\bf_\bo_\br_\bm_\ba_\bt(5) for complete
details.
Addresses An attempt is made to decipher X.400
RFC 987-style addresses.
Comments Comments may be added to _\bm_\bh-_\bf_\bo_\br_\bm_\ba_\bt 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 under-
stand more illegal date formats; `year' now
returns a 4-digit number.
_\bU_\bs_\be_\br _\bI_\bn_\bt_\be_\br_\bf_\ba_\bc_\be _\bP_\br_\bo_\bg_\br_\ba_\bm_\bs
A number of _\bM_\bH 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 _\bM_\bH 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).
December 14, 1992
Changes for MH 6.8 10
packmbox New; packs an _\bM_\bH folder into a UUCP-style mailbox.
popi New; a client-side POP initiator; available only
if you built _\bM_\bH 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.
_\bS_\bu_\bp_\bp_\bo_\br_\bt _\bP_\br_\bo_\bg_\br_\ba_\bm_\bs
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 _\bs_\be_\bn_\bd_\bm_\ba_\bi_\bl replacement will be installed only if
your `mts' setting uses the `/smtp' option.
slocal A new man page for _\bs_\bl_\bo_\bc_\ba_\bl is available; the new
`mbox' action is available to write a file in
_\bp_\ba_\bc_\bk_\bf 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 _\bs_\bh_\ba_\br) and sends it
through multi-media mail.
December 14, 1992
Changes for MH 6.7.2 11
_\bC_\bH_\bA_\bN_\bG_\bE_\bS _\bF_\bO_\bR _\bM_\bH _\b6._\b7._\b2
The MH.6.7.2 patch release is a maintenance release. This
is the current released version of _\bM_\bH 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.
_\bS_\bh_\ba_\br_\be_\bd _\bL_\bi_\bb_\br_\ba_\br_\bi_\be_\bs
Support for SYS 5 shared libraries is in progress.
Support for Sun OS 4.0 shared libraries had been
improved. The _\bM_\bH library has been modified to move initial-
ized data into a data definition file. The shared library
will now consist of a libmh.so and libmh.sa file. The
shared library version number will no longer track the _\bM_\bH
patch release number, and its numbering begins with version
`1.1' with this release.
_\bR_\be_\bp_\bl_\ba_\bc_\be_\bm_\be_\bn_\bt _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl
Since many standard system programs expect to post mail by
invoking /usr/lib/sendmail, a minimal replacement _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl
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 _\bp_\bo_\bs_\bt to post mail; be sure you have
configured _\bM_\bH with the `/smtp' mts option. This sendmail
replacement is installed in your _\bM_\bH etc directory, and you
should link /usr/lib/sendmail to it.
_\bF_\bo_\br_\bm_\ba_\bt _\bS_\bt_\br_\bi_\bn_\bg_\bs
A manual page for the _\bf_\bm_\bt_\bd_\bu_\bm_\bp format string disassembler is
supplied, and some new format functions were added:
folder In _\bs_\bc_\ba_\bn, this component escape contains the name of
the current folder. It is not defined for other _\bM_\bH
commands.
getenv This function escape returns the value of an en-
vironment variable.
There will be some additional changes in these routines
in the next patch release.
Feb 1, 1992
Changes for MH 6.7.2 12
_\bO_\bt_\bh_\be_\br _\bB_\bu_\bg _\bF_\bi_\bx_\be_\bs _\ba_\bn_\bd _\bE_\bn_\bh_\ba_\bn_\bc_\be_\bm_\be_\bn_\bt_\bs
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 imple-
mented by _\bM_\bH as blind lists.
date parsing A number of sites have brain-damaged versions
of lex. _\bM_\bH will now come with the date parser
already run through lex.
mark A bug dealing with _\bm_\ba_\br_\bk and the sequence named
`cur' is fixed. This was previously a problem
for mh-e users.
MH.doc The _\bM_\bH nroff version of the manual no longer
contains teletype escape sequences.
scan Can now handle headers as long as 512 bytes.
Signals _\bM_\bH programs will no longer catch the HUP and
TERM signals while waiting for a sub-process.
This was causing hung processes when your ter-
minal line was was dropped unexpectedly.
Signature If your signature is not defined, _\bM_\bH will use
the value of the gecos field of your
/etc/passwd entry as your signature.
version.sh A bug in the awk script in config/version.sh
was fixed.
Feb 1, 1992
Changes for MH 6.7.1a 13
_\bC_\bH_\bA_\bN_\bG_\bE_\bS _\bF_\bO_\bR _\bM_\bH _\b6._\b7._\b1_\ba
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 READ-ME file.
_\bM_\be_\bs_\bs_\ba_\bg_\be _\bS_\be_\bq_\bu_\be_\bn_\bc_\be_\bs
A new manual page, _\bm_\bh-_\bs_\be_\bq_\bu_\be_\bn_\bc_\be (5), has been added. This
manual page attempts to completely document the syntax and
semantics of _\bM_\bH 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".
_\bF_\bo_\br_\bm_\ba_\bt _\bS_\bt_\br_\bi_\bn_\bg_\bs
_\bM_\bH 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.
January 25, 1991
Changes for MH 6.7.1a 14
_\bO_\bt_\bh_\be_\br _\bC_\bh_\ba_\bn_\bg_\be_\bs
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 _\bM_\bH format file, vaguely remin-
iscent of assembly language. While this output
format is not explicitly documented, it can still
be useful when debugging _\bM_\bH format files.
refile Now takes a `-[no]rmmproc' switch. This makes it
easier to avoid loops when your "rmmproc" calls _\br_\be-
_\bf_\bi_\bl_\be.
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 in-
terrupted.
whatnow Will now tell you where it is leaving the draft,
when interrupted in the initial edit. Previously
the draft was simply unlinked.
_\bC_\bo_\bm_\bp_\bi_\bl_\ba_\bt_\bi_\bo_\bn _\bO_\bp_\bt_\bi_\bo_\bn_\bs
LOCKF This option causes _\bM_\bH to use the lockf() system
call for locking (if available), instead of
flock().
January 25, 1991
Changes for MH 6.7.1 15
_\bC_\bH_\bA_\bN_\bG_\bE_\bS _\bF_\bO_\bR _\bM_\bH _\b6._\b7._\b1
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 _\bM_\bH as of December 14,
1990.
_\bU_\bs_\be_\br-_\bV_\bi_\bs_\bi_\bb_\bl_\be _\bC_\bh_\ba_\bn_\bg_\be_\bs
The major change in this release is to the POP daemon
(popd). In _\bM_\bH 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 _\bM_\bH 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.
_\bI_\bn_\bt_\be_\br_\bn_\ba_\bl _\bC_\bh_\ba_\bn_\bg_\be_\bs
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 mes-
sages.
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.
December 14, 1990
Changes for MH 6.7.0 16
_\bG_\bE_\bN_\bE_\bR_\bA_\bL _\bC_\bH_\bA_\bN_\bG_\bE_\bS _\bF_\bO_\bR _\bM_\bH _\b6._\b7._\b0
The author is pleased to announce that there are very few
user-visible changes to _\bM_\bH 6.7 from the previous _\bM_\bH 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. _\bM_\bH 6.7.0 is the current released version
of _\bM_\bH 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.
_\bU_\bs_\be_\br-_\bV_\bi_\bs_\bi_\bb_\bl_\be _\bC_\bh_\ba_\bn_\bg_\be_\bs
Here a quick summary of the changes that were made which are
not backward-compatible with the previous release of _\bM_\bH:
repl The `-format' and `-noformat' switches have not been
functional since _\bM_\bH 5, and have been removed. Any
users who have these switches in their .mh_profile,
will have to remove them.
sortm Previously, in most cases _\bs_\bo_\br_\bt_\bm 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".
_\bU_\bs_\bi_\bn_\bg _\bA_\bl_\bi_\ba_\bs_\be_\bs
A new profile entry `Aliasfile:' has been added. The _\ba_\bl_\bi,
_\bs_\be_\bn_\bd, and _\bw_\bh_\bo_\bm programs will look for this profile entry and
treat it as they would an argument to `-alias'. This should
make it easier for novice _\bM_\bH users to begin using aliases.
_\bR_\be_\ba_\bd_\bi_\bn_\bg _\bN_\be_\bt_\bw_\bo_\br_\bk _\bN_\be_\bw_\bs & _\bB_\bB_\bo_\ba_\br_\bd_\bs
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, _\bM_\bH 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 _\bM_\bH 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.
April 12, 1990
Changes for MH 6.7.0 17
To support the NNTP, a new module, uip/pshsbr.c, is
compiled and loaded into _\bb_\bb_\bc and _\bm_\bs_\bh instead of
uip/popsbr.c. The default BBoard is changed from "system"
to "general" for the NNTP.
When reading BBoards, _\bb_\bb_\bc 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 mtstailor file (see
the _\bM_\bH Administrator's Guide for details), or may be speci-
fied on the command line with the `-host' switch.
_\bF_\bo_\br_\bm_\ba_\bt _\bS_\bt_\br_\bi_\bn_\bg_\bs
The manual page _\bm_\bh-_\bf_\bo_\br_\bm_\ba_\bt (5) has been rewritten to give a
better explanation of how to write format strings, and how
they are interpreted by _\bM_\bH. A line-by-line description of
the default _\br_\be_\bp_\bl form file (replcomps) is now included in
that manual page.
Some new format functions were added, and others were aug-
mented:
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 argu-
ment. This could be useful for building _\bs_\bc_\ba_\bn
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 ex-
plicit in the date string.
_\bP_\bR_\bO_\bG_\bR_\bA_\bM _\bC_\bH_\bA_\bN_\bG_\bE_\bS
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.
_\bU_\bs_\be_\br _\bI_\bn_\bt_\be_\br_\bf_\ba_\bc_\be _\bP_\br_\bo_\bg_\br_\ba_\bm_\bs
anno Accepts a `-nodate' switch which inhibits the date
April 12, 1990
Changes for MH 6.7.0 18
annotation, leaving only the body annotation.
folder When invoked with the `-pack' switch and the new
`-verbose' switch, _\bf_\bo_\bl_\bd_\be_\br will give information
about the actions taken to renumber the folder.
On most systems, _\bf_\bo_\bl_\bd_\be_\br can now create any
non-existing parent folders of a new sub-folder.
forw When making digests, _\bf_\bo_\br_\bw 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 _\bs_\bo_\br_\bt_\bm.
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 _\bM_\bH 5 and have been deleted. _\br_\be_\bp_\bl will now
find filter files in the _\bM_\bH library area.
scan With the `-file msgbox' switch, _\bs_\bc_\ba_\bn can list a
_\bp_\ba_\bc_\bk_\bf'd-format file directly (without using _\bm_\bs_\bh).
Lists messages in reverse order with the
`-reverse' switch. This should be considered a
bug.
sortm Now has the options: `-textfield field', `-notext-
field', `-limit days', and `-nolimit'.
With these options, _\bs_\bo_\br_\bt_\bm can be instructed to
sort a folder based on the contents of an arbi-
trary header such as "subject".
_\bs_\bo_\br_\bt_\bm 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.
_\bM_\bH _\bS_\bu_\bp_\bp_\bo_\br_\bt _\bP_\br_\bo_\bg_\br_\ba_\bm_\bs
The following support programs also have changes or enhance-
ments:
mhl Will now accept a format string on any component,
not just on addresses and dates.
April 12, 1990
Changes for MH 6.7.0 19
popd Will use _\bs_\bh_\ba_\bd_\bo_\bw passwords if compiled with the SHA-
DOW option. It can now also read UUCP-style mail-
drops directly.
rcvtty If given no arguments, _\br_\bc_\bv_\bt_\bt_\by will produce a scan
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.
_\br_\bc_\bv_\bt_\bt_\by will obey terminal write notification set by
_\bm_\be_\bs_\bg. With the `-biff' switch, _\br_\bc_\bv_\bt_\bt_\by will also
obey the mail notification status set by _\bb_\bi_\bf_\bf.
On BSD43 systems, as with _\bw_\br_\bi_\bt_\be, _\br_\bc_\bv_\bt_\bt_\by 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, _\bs_\bl_\bo_\bc_\ba_\bl will
strip such lines unless compiled with the RPATHS
option, in which case it will will convert such
lines into "Return-Path:" headers.
_\bs_\bl_\bo_\bc_\ba_\bl has a new result code "N", for use in .mail-
delivery files. With this result code, _\bs_\bl_\bo_\bc_\ba_\bl 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.
_\bD_\bO_\bC_\bU_\bM_\bE_\bN_\bT_\bA_\bT_\bI_\bO_\bN
Several of the older _\bM_\bH 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 papers/doclib/, 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 _\bm_\ba_\bk_\be_\bw_\bh_\ba_\bt_\bi_\bs.
_\bM_\bH _\bA_\bD_\bM_\bI_\bN_\bI_\bS_\bT_\bR_\bA_\bT_\bI_\bO_\bN
This section describes changes in configuring, compiling and
installing _\bM_\bH 6.7 and should not be of interest to casual _\bM_\bH
April 12, 1990
Changes for MH 6.7.0 20
users. The READ-ME 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 _\bM_\bH Makefiles have been updated to work around some
incompatibilities introduced in newer versions of _\bm_\ba_\bk_\be. _\bM_\bH
programs will no longer be installed with the sticky-bit
turned on.
Reading this section not a substitute for carefully
reading the READ-ME file before attempting to compile _\bM_\bH
_\bB_\bu_\bg _\bF_\bi_\bx_\be_\bs
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 ad-
dress 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.
_\bW_\bh_\bi_\bt_\be _\bP_\ba_\bg_\be_\bs
If _\bM_\bH is compiled with the WP option, _\bs_\be_\bn_\bd 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, _\bs_\be_\bn_\bd must be invoked interactively
(i.e., not from _\bp_\bu_\bs_\bh). For each name, _\bs_\be_\bn_\bd will invoke a
command called _\bf_\br_\be_\bd in a special mode asking to expand the
name.
To get a copy of the white pages service, contact
wpp-manager@psi.com.
April 12, 1990
Changes for MH 6.7.0 21
_\bC_\bo_\bn_\bf_\bi_\bg_\bu_\br_\ba_\bt_\bi_\bo_\bn _\bO_\bp_\bt_\bi_\bo_\bn_\bs
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 _\bl_\be_\bx.
mailgroup If defined, _\bi_\bn_\bc will be made set-group-id to
this group.
sharedlib For SUN40 systems; if "on", makes libmh.a 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
_\bs_\bp_\br_\bi_\bn_\bt_\bf (3) library routine returns.
_\bC_\bo_\bm_\bp_\bi_\bl_\ba_\bt_\bi_\bo_\bn _\bO_\bp_\bt_\bi_\bo_\bn_\bs
For different configurations, several `-D' options to _\bc_\bc
have been added or changed:
BERK This disables the address and date parsing rou-
tines. If you want to do much with
_\bm_\bh-_\bf_\bo_\br_\bm_\ba_\bt (5), don't enable this.
BSD43 Will make _\br_\bc_\bv_\bt_\bt_\by set-group-id to the group
"tty".
DBM For sites with a dbm-style password file (such
as with Yellow Pages), _\bM_\bH 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 SOCKETS.
NOIOCTLH Tells _\bM_\bH not to include the file sys/ioctl.h.
Use this if this file is not present on your
system.
NTOHLSWAP On systems with TCP/IP networking, _\bm_\bs_\bh will try
to use the ntohl() macro from the file
April 12, 1990
Changes for MH 6.7.0 22
netinet/in.h to byte-swap the binary map files
it writes.
SENDMAILBUG Some versions of _\bs_\be_\bn_\bd_\bm_\ba_\bi_\bl return a 451 (failure)
reply code when they don't mean to indicate
failure. This option considers that code to be
equivalent to 250 (OK).
SHADOW Causes _\bp_\bo_\bp_\bd to read the file /etc/shadow for
encrypted passwords instead of /etc/passwd. 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 _\bs_\bi_\bg_\bn_\ba_\bl 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.
_\bI_\bn_\bs_\bt_\ba_\bl_\bl_\ba_\bt_\bi_\bo_\bn
_\bM_\bH will now explicitly set the protection mode on every file
it installs.
Previously any existing file installed by _\bM_\bH 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
READ-ME file for more details.
April 12, 1990