11 The RAND MH Message Handling System:
17 Computing Support Group
18 Information and Computer Science
19 University of California, Irvine
22 http://www.ics.uci.edu/~mh
25 _
\bA_
\bB_
\bS_
\bT_
\bR_
\bA_
\bC_
\bT
28 This document describes the changes to the
29 UCI version of the RAND MH system from MH 6.6 to
30 this release of MH 6.8. This document is meant to
31 supplement, not supersede, the standard MH User's
32 manual and MH Administrator's manual.
34 Comments concerning this documentation should
35 be addressed to the mailbox Bug-MH@ICS.UCI.EDU.
36 Current information about MH can be obtained from
37 the MH Home Page on the World Wide Web at
38 http://www.ics.uci.edu/~mh.
42 _
\bA_
\bC_
\bK_
\bN_
\bO_
\bW_
\bL_
\bE_
\bD_
\bG_
\bE_
\bM_
\bE_
\bN_
\bT_
\bS
44 The _
\bM_
\bH system described herein is based on the original RAND
45 _
\bM_
\bH system. It has been extensively developed (perhaps too
46 much so) by Marshall T. Rose and John L. Romine at the
47 University of California, Irvine. Einar A. Stefferud, Jerry
48 N. Sweet, and Terry P. Domae provided numerous suggestions
49 to improve the UCI version of _
\bM_
\bH.
51 Of course, a large number of people have helped _
\bM_
\bH
52 along. The list of "_
\bM_
\bH immortals" is too long to list here.
53 For this release, numerous _
\bM_
\bH-_
\bW_
\bo_
\br_
\bk_
\be_
\br_
\bs sent in fixes and
54 other changes. A handful of courageous _
\bM_
\bH-_
\bW_
\bo_
\br_
\bk_
\be_
\br_
\bs volun-
55 teered to beta-test these changes; their help is particu-
74 _
\bD_
\bI_
\bS_
\bC_
\bL_
\bA_
\bI_
\bM_
\bE_
\bR
76 The Regents of the University of California wish to make it
79 Although each program has been tested by its con-
80 tributor, no warranty, express or implied, is made
81 by the contributor or the University of Califor-
82 nia, as to the accuracy and functioning of the
83 program and related program material, nor shall
84 the fact of distribution constitute any such war-
85 ranty, and no responsibility is assumed by the
86 contributor or the University of California in
89 _
\bC_
\bO_
\bN_
\bV_
\bE_
\bN_
\bT_
\bI_
\bO_
\bN_
\bS
91 In this document, certain formatting conventions are adhered
94 The names of UNIX commands, such as _
\bc_
\bo_
\bm_
\bp are presented
95 in _
\bi_
\bt_
\ba_
\bl_
\bi_
\bc_
\bs.
97 Arguments to programs, such as `msgs' and `-nobell' are
98 delimited by single-quotes.
100 Text that should be typed exactly as-is, such as com-
101 mand lines (e.g., "folder -pack"), are delimited by
104 UNIX pathnames and envariables, such as /usr/uci and
105 $SIGNATURE, are presented in bold font.
136 Changes for MH 6.8.4 3
139 _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS _
\bF_
\bO_
\bR _
\bM_
\bH _
\b6._
\b8._
\b4
141 The MH 6.8.4 release is a minor maintenance release, and
142 contains few user-visible changes. The changes consist
143 mostly of documentation improvements, minor bug fixes, and
144 some portability enhancements for BSD 4.4 and Solaris 2.x
145 (contributed changes for HPUX and OSF1 have not yet been
146 integrated into this release). This is the current version
147 of MH as of February 8, 1996.
149 _
\bR_
\bu_
\bn_
\bt_
\bi_
\bm_
\be _
\bT_
\ba_
\bi_
\bl_
\bo_
\br_
\bi_
\bn_
\bg
151 By default _
\bp_
\bo_
\bs_
\bt will now give the SMTP HELO command with the
152 local hostname. If you specify a hostname with the
153 clientname: option in the _
\bm_
\bt_
\bs_
\bt_
\ba_
\bi_
\bl_
\bo_
\br file, _
\bp_
\bo_
\bs_
\bt will give the
154 HELO command with that name instead. If the argument to the
155 clientname: option is empty, no HELO command is given. See
156 _
\bm_
\bh-_
\bt_
\ba_
\bi_
\bl_
\bo_
\br(5) for more details.
158 _
\bM_
\bu_
\bl_
\bt_
\bi-_
\bm_
\be_
\bd_
\bi_
\ba _
\bM_
\ba_
\bi_
\bl & _
\bE_
\bn_
\bc_
\br_
\by_
\bp_
\bt_
\bi_
\bo_
\bn
160 A few new PGP support programs can be found in the
161 support/general directory. _
\br_
\be_
\bp_
\bl supports the `-[no]mime'
162 option. See _
\br_
\be_
\bp_
\bl(1) for more details.
202 Changes for MH 6.8.3 4
205 _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS _
\bF_
\bO_
\bR _
\bM_
\bH _
\b6._
\b8._
\b3
207 The MH 6.8.3 maintenance release contains few user-visible
208 changes. Most of the changes are internal to the multi-
209 media display program _
\bm_
\bh_
\bn to support RFC 1521 (the new MIME
210 standard). This is the current version of MH as of December
213 _
\bR_
\bu_
\bn_
\bt_
\bi_
\bm_
\be _
\bT_
\ba_
\bi_
\bl_
\bo_
\br_
\bi_
\bn_
\bg
215 When posting mail using the SMTP, _
\bp_
\bo_
\bs_
\bt did not normally send
216 the HELO command. This was because _
\bS_
\be_
\bn_
\bd_
\bM_
\ba_
\bi_
\bl would fail if
217 the host name given in the HELO command was the local host.
218 Later versions of _
\bS_
\be_
\bn_
\bd_
\bM_
\ba_
\bi_
\bl will now complain if you omit the
221 _
\bU_
\bs_
\be_
\br _
\bI_
\bn_
\bt_
\be_
\br_
\bf_
\ba_
\bc_
\be _
\bP_
\br_
\bo_
\bg_
\br_
\ba_
\bm_
\bs
223 folder The _
\bf_
\bo_
\bl_
\bd_
\be_
\br command now has `-create' and `-nocreate'
224 options. See _
\bf_
\bo_
\bl_
\bd_
\be_
\br(1) for details.
226 inc A bug where `-host' would not override the pophost
227 as set in the _
\bm_
\bt_
\bs_
\bt_
\ba_
\bi_
\bl_
\bo_
\br file has been fixed. This
228 bug was also fixed in _
\bm_
\bs_
\bg_
\bc_
\bh_
\bk.
230 mhn The _
\bm_
\bh_
\bn command has several changes: updates for
231 conformance with RFC 1521, addition of two caches:
232 public and private, addition of two caching poli-
233 cies: one for reading and one for writing, support
234 for storing multipart entities, and a few bug fixes.
235 See _
\bm_
\bh_
\bn(1) for complete details.
237 _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS _
\bF_
\bO_
\bR _
\bM_
\bH _
\b6._
\b8._
\b2
239 The MH.6.8.2 patch release contains only internal changes to
240 support the BSD 4.4 and 386BSD versions of UNIX. This ver-
241 sion of _
\bM_
\bH was released August 25, 1993, but was not widely
244 _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS _
\bF_
\bO_
\bR _
\bM_
\bH _
\b6._
\b8._
\b1
246 The MH.6.8.1 patch release is a maintenance release. This
247 is the current released version of _
\bM_
\bH as of August 20, 1993.
249 This release includes a small number of bug fixes, a
250 few minor enhancements, some changes for the new MIME stan-
251 dard, and support for ESMTP (RFC 1425). Support for BSD 4.4
252 and 386BSD is planned for the next release.
254 Many other fixes which have already been received are
255 still being merged. If you've sent an update for MH 6.8 to
256 Bug-MH@ics.uci.edu and it isn't in this release, it'll prob-
257 ably appear in the next release.
268 Changes for MH 6.8.3 5
271 _
\bF_
\bi_
\bx_
\be_
\bs _
\ba_
\bn_
\bd _
\bE_
\bn_
\bh_
\ba_
\bn_
\bc_
\be_
\bm_
\be_
\bn_
\bt_
\bs
273 Many minor documentation corrections were made. There are
274 also a few program changes:
276 mhn The `-cache policy', `-[no]check', and `-[no]pause'
277 switches have been added. Some other minor changes
278 have been made to comply with the new MIME standard.
279 See _
\bm_
\bh_
\bn(1) for complete details.
281 post When posting mail with SendMail, _
\bp_
\bo_
\bs_
\bt will not use the
282 ONEX command when it is posting a message with BCCs.
284 scan _
\bs_
\bc_
\ba_
\bn will now work with big width values.
286 _
\bF_
\bo_
\br_
\bm_
\ba_
\bt _
\bS_
\bt_
\br_
\bi_
\bn_
\bg_
\bs
288 One new function has been added:
290 %(profile arg) This function looks up a component in the
291 .mh_profile or context files and returns the
292 value of that component.
294 _
\bC_
\bo_
\bn_
\bf_
\bi_
\bg_
\bu_
\br_
\ba_
\bt_
\bi_
\bo_
\bn
296 Two new configuration options are present:
298 GCOS_HACK The so-called "gcos" field of the password file
299 is used as a last resort to find the user's
300 full name (see _
\bm_
\bh-_
\bp_
\br_
\bo_
\bf_
\bi_
\bl_
\be(5) for details).
301 Enable this option if your _
\bp_
\ba_
\bs_
\bs_
\bw_
\bd(5) man page
302 notes that the `&' character in the "gcos"
303 field stands for the login name.
305 NORUSERPASS Tells _
\bM_
\bH that your system doesn't have the
306 _
\br_
\bu_
\bs_
\be_
\br_
\bp_
\ba_
\bs_
\bs(3) routine; _
\bM_
\bH will include its own
307 copy of this routine in its library.
337 _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS _
\bF_
\bO_
\bR _
\bM_
\bH _
\b6._
\b8
339 This is the current released version of _
\bM_
\bH as of December
340 14, 1992. This release includes a number of bug fixes and
341 internal changes to make the code more portable. Two new
342 authentication methods are provided for the POP, and support
343 for SVR4 shared libraries is complete.
345 The major user-visible change in this release is the
346 incorporation of support for multi-media mail as specified
347 by the Multi-purpose Internet Mail Extensions (MIME)
348 RFC 1341. This allows you to include things like audio,
349 graphics, and the like, in your mail messages. A new com-
350 mand, _
\bm_
\bh_
\bn, has been provided to support MIME and a detailed
351 man page is provided in _
\bm_
\bh_
\bn(1).
353 _
\bD_
\bo_
\bc_
\bu_
\bm_
\be_
\bn_
\bt_
\ba_
\bt_
\bi_
\bo_
\bn
355 The documentation has some general improvements, and the
356 READ-ME document has been re-organized to help _
\bM_
\bH adminis-
357 trators find the appropriate configuration options for their
358 system. The Makefiles in the papers/ hierarchy have been
359 changed to invoke _
\bT_
\be_
\bX as "tex" (instead of "tex82").
361 The following new man pages are also available:
363 _
\bm_
\bh_
\bn(1) _
\bm_
\bh_
\bn helps the user process multi-media mail.
365 _
\bm_
\bh_
\bp_
\ba_
\br_
\ba_
\bm(1) _
\bm_
\bh_
\bp_
\ba_
\br_
\ba_
\bm lets the user extract information from
366 the _
\bM_
\bH profile.
368 _
\bp_
\bo_
\bp_
\ba_
\bu_
\bt_
\bh(8) the APOP database administration program (see
371 _
\bp_
\bo_
\bp_
\bi(1) the POP initiator (see below).
373 _
\bs_
\bl_
\bo_
\bc_
\ba_
\bl(1) fully documents _
\bs_
\bl_
\bo_
\bc_
\ba_
\bl. The _
\bm_
\bh_
\bo_
\bo_
\bk(1) man page
374 now documents only the _
\bM_
\bH receive-mail hooks.
376 _
\bI_
\bn_
\bt_
\be_
\br_
\bn_
\ba_
\bl _
\bC_
\bh_
\ba_
\bn_
\bg_
\be_
\bs
378 The _
\bM_
\bH source code is in the process of being cleaned up to
379 make pedantic ANSI C compilers happy. Occurrences of "NULL"
380 have been replaced by "0" where appropriate. Extra tokens
381 after "#else" and "#endif" have been put inside comments
382 (this is still in progress). The code should now compile
383 cleanly on many more systems, specifically, more variants of
386 The version of tws/dtimep.c which was included in MH
387 6.7.2 was incompatible with the _
\bl_
\be_
\bx library on some systems,
388 and has been removed.
390 A bug in the handling of blind lists inside alias files
405 _
\bP_
\bo_
\bs_
\bt _
\bO_
\bf_
\bf_
\bi_
\bc_
\be _
\bP_
\br_
\bo_
\bt_
\bo_
\bc_
\bo_
\bl
407 There were three new options added to the POP.
409 APOP This option indicates that the POP daemon will support
410 the non-standard APOP command which provides a
411 challenge-based authentication system using the MD5
412 message digest algorithm.
414 This option also causes the _
\bp_
\bo_
\bp_
\ba_
\bu_
\bt_
\bh program to be in-
415 stalled, which allows the administrator to manipulate
416 the APOP authorization database.
418 KPOP Support for KERBEROS with POP. This code builds _
\bp_
\bo_
\bp_
\bd,
419 _
\bi_
\bn_
\bc and _
\bm_
\bs_
\bg_
\bc_
\bh_
\bk to support only the "kpop" protocol.
420 This code is still expiremental, but is available for
421 those sites wishing to test it.
423 MPOP This option indicates that the POP daemon will support
424 the non-standard XTND SCAN command which provides per-
425 formance enhancements when using the POP over low-
428 This option also causes an interactive POP client pro-
429 gram, _
\bp_
\bo_
\bp_
\bi, to be compiled and installed. A man page
430 for the _
\bp_
\bo_
\bp_
\bi program is also provided. This option
431 requires the configuration to have "bboards: pop".
433 The APOP and MPOP non-standard POP facilities are documented
434 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
435 Marshall T. Rose. For more details, see support/pop/pop-
436 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
437 peacefully co-exists with the standard POP, KPOP completely
438 replaces the standard POP, and MPOP requires "bboards: pop".
440 _
\bF_
\bi_
\bl_
\be _
\bL_
\bo_
\bc_
\bk_
\bi_
\bn_
\bg
442 The file locking code has been cleaned up to support three
443 kinds of kernel-level file locking. As appropriate for your
444 system, include the LOCKF, FCNTL or FLOCK option. For more
445 details, see _
\bm_
\bh-_
\bt_
\ba_
\bi_
\bl_
\bo_
\br(5).
469 Configuration Directives
471 A number of new configuration directives have been added or
472 changed. The full details are given in the READ-ME.
474 cp: The command used to install new files if not
477 ln: The command used to link files together in the
478 source tree if not "ln".
480 mts: Full support for ZMAILER has been added.
482 popdir: The directory where _
\bp_
\bo_
\bp_
\bd will be installed if not
485 regtest: Set to "on" to prevent the hostname and compile
486 date from being included in _
\bM_
\bH binaries.
488 sharedlib: You may now specify "sun4" or "sys5" (for SVR4)
491 signal: Specifies the base type of the function returned
492 by _
\bs_
\bi_
\bg_
\bn_
\ba_
\bl(). This was previously defined with
495 Several `-D' options to _
\bc_
\bc have been added or changed:
497 APOP Authenticated POP (see above).
499 AUX Support for A/UX systems.
501 DBMPWD The DBM option has been renamed DBMPWD.
503 HESIOD Support for the HESIOD name server.
505 KPOP KERBEROS POP (see above).
507 LOCALE Support for local characters sets; uses the _
\bs_
\be_
\bt_
\b-
508 _
\bl_
\bo_
\bc_
\ba_
\bl() function.
510 MAILGROUP Makes _
\bi_
\bn_
\bc set-group-id. You may need this option
511 if your /usr/spool/mail is not world-writeable.
513 MIME Multi-media mail.
515 MPOP Mobile POP (see above).
517 MSGID Enables _
\bs_
\bl_
\bo_
\bc_
\ba_
\bl to detect and surpress duplicate
520 OSF1 Support for DEC OSF1 systems. May be incomplete.
522 RENAME Include this option if your system has a _
\br_
\be_
\bn_
\ba_
\bm_
\be()
537 SVR4 Support for System 5 Release 4 or newer systems.
539 TYPESIG This option has been dropped. See `signal'
542 UNISTD Include this option if your system has the
543 include file <unistd.h>.
545 VSPRINTF Include this option if your system has the
546 _
\bv_
\bs_
\bp_
\br_
\bi_
\bn_
\bt_
\bf() library routine; otherwise, __
\bd_
\bo_
\bp_
\br_
\bn_
\bt()
549 YEARMOD Forces the _
\bm_
\bh-_
\bf_
\bo_
\br_
\bm_
\ba_
\bt `year' function to return
550 2-digit values. Use this option during a brief
551 transition period if you have local _
\bm_
\bh-_
\bf_
\bo_
\br_
\bm_
\ba_
\bt
552 files which need to be converted to support 4-
555 _
\bF_
\bU_
\bN_
\bC_
\bT_
\bI_
\bO_
\bN_
\bA_
\bL _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS
557 In addition to the configuration changes mentioned above, a
558 number of functional changes have been made to the system.
559 Many programs have new features added and a few new programs
560 have are provided. Each command's manual page gives complete
561 information about the its operation. Here is a short sum-
564 _
\bM_
\bH _
\bS_
\be_
\bq_
\bu_
\be_
\bn_
\bc_
\be_
\bs
566 A larger number of user-defined sequences are available.
567 Previously, this number had been 10. On 32-bit systems, 26
568 user-defined sequences are available.
570 _
\bP_
\br_
\bo_
\bf_
\bi_
\bl_
\be _
\bC_
\bo_
\bm_
\bp_
\bo_
\bn_
\be_
\bn_
\bt_
\bs
572 _
\bM_
\bH programs will now complain if the .mh_profile does not
573 end in a newline. Also, one enhancement and one new profile
574 component are provided:
576 Aliasfile: Multiple filenames may now be given.
578 Inbox: New; the default folder (for _
\bi_
\bn_
\bc, etc.) if not
598 Changes for MH 6.8 10
602 _
\bF_
\bo_
\br_
\bm_
\ba_
\bt _
\bS_
\bt_
\br_
\bi_
\bn_
\bg_
\bs
604 A few minor bugs were fixed in format string handling, and a
605 few new features were added. See _
\bm_
\bh-_
\bf_
\bo_
\br_
\bm_
\ba_
\bt(5) for complete
608 Addresses An attempt is made to decipher X.400
609 RFC 987-style addresses.
611 Comments Comments may be added to _
\bm_
\bh-_
\bf_
\bo_
\br_
\bm_
\ba_
\bt files; a
612 comment begins with the 2-character sequence
613 "%;", and ends with an un-escaped newline.
615 %(modulo n) The `modulo' function escape has been added.
617 %(year{date}) The date parser has been enhanced to under-
618 stand more illegal date formats; `year' now
619 returns a 4-digit number.
621 _
\bU_
\bs_
\be_
\br _
\bI_
\bn_
\bt_
\be_
\br_
\bf_
\ba_
\bc_
\be _
\bP_
\br_
\bo_
\bg_
\br_
\ba_
\bm_
\bs
623 A number of _
\bM_
\bH commands have minor changes:
625 ali The output with `-user -list' was changed to match
626 the output with `-nouser -list'.
628 burst Will no longer drop the last message of a digest.
630 inc Accepts the `-apop' switch for authenticated POP
631 (see above); will attempt to detect write errors
632 (e.g., no space left on device) when incorporating
633 mail; no longer replaces newline characters with
636 folder The `-noprint' option was broken and has been
639 forw Supports `-mime' to use MIME-style multi-part mes-
642 mhl Will no longer put an extra space at the end of
643 the `%{text}' in a formatfield.
645 mhn New; manipulates multi-media (MIME) messages; a
646 detailed man page is provided.
648 mhparam New; reads the _
\bM_
\bH profile (and context) and writes
649 the values of the specified components on the
650 standard output; useful in programmatic con-
653 msgchk Supports `-apop' (see above).
664 Changes for MH 6.8 11
667 packmbox New; packs an _
\bM_
\bH folder into a UUCP-style mailbox.
669 popi New; a client-side POP initiator; available only
670 if you built _
\bM_
\bH with the MPOP option (see above).
672 refile A bug where the `rmmproc' did not remove all
673 specified message files has been fixed.
675 scan The `-file' option is fully supported and will no
676 longer complain about empty folders.
678 send Supports `-mime' and `-split' to split large mes-
679 sages into multiple partial messages using MIME.
681 _
\bS_
\bu_
\bp_
\bp_
\bo_
\br_
\bt _
\bP_
\br_
\bo_
\bg_
\br_
\ba_
\bm_
\bs
683 fmtdump Can now read a format file, or a format string
684 given on the command line.
686 popauth New; manages the APOP authorization database (see
689 sendmail The _
\bs_
\be_
\bn_
\bd_
\bm_
\ba_
\bi_
\bl replacement will be installed only if
690 your `mts' setting uses the `/smtp' option.
692 slocal A new man page for _
\bs_
\bl_
\bo_
\bc_
\ba_
\bl is available; the new
693 `mbox' action is available to write a file in
694 _
\bp_
\ba_
\bc_
\bk_
\bf format; a bug where extra `>' characters
695 were written to MMDF-style maildrops has been
696 fixed; if compiled with the MSGID option, can
697 detect and suppress reception of duplicate mes-
700 viamail New; bundles a directory (like _
\bs_
\bh_
\ba_
\br) and sends it
701 through multi-media mail.
730 Changes for MH 6.7.2 12
733 _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS _
\bF_
\bO_
\bR _
\bM_
\bH _
\b6._
\b7._
\b2
735 The MH.6.7.2 patch release is a maintenance release. This
736 is the current released version of _
\bM_
\bH as of February 1,
739 This release now supports the NCR Tower running SYS5R4.
740 The WP changes installed in MH.6.7.0 have been removed.
742 _
\bS_
\bh_
\ba_
\br_
\be_
\bd _
\bL_
\bi_
\bb_
\br_
\ba_
\br_
\bi_
\be_
\bs
744 Support for SYS 5 shared libraries is in progress.
746 Support for Sun OS 4.0 shared libraries had been
747 improved. The _
\bM_
\bH library has been modified to move initial-
748 ized data into a data definition file. The shared library
749 will now consist of a libmh.so and libmh.sa file. The
750 shared library version number will no longer track the _
\bM_
\bH
751 patch release number, and its numbering begins with version
752 `1.1' with this release.
754 _
\bR_
\be_
\bp_
\bl_
\ba_
\bc_
\be_
\bm_
\be_
\bn_
\bt _
\bS_
\be_
\bn_
\bd_
\bM_
\ba_
\bi_
\bl
756 Since many standard system programs expect to post mail by
757 invoking /usr/lib/sendmail, a minimal replacement _
\bS_
\be_
\bn_
\bd_
\bM_
\ba_
\bi_
\bl
758 is provided in this release. This replacement is meant to
759 be installed on (e.g., diskless) client workstations which
760 post mail using SMTP, and do not run a message transport
761 system. It will call _
\bp_
\bo_
\bs_
\bt to post mail; be sure you have
762 configured _
\bM_
\bH with the `/smtp' mts option. This sendmail
763 replacement is installed in your _
\bM_
\bH etc directory, and you
764 should link /usr/lib/sendmail to it.
766 _
\bF_
\bo_
\br_
\bm_
\ba_
\bt _
\bS_
\bt_
\br_
\bi_
\bn_
\bg_
\bs
768 A manual page for the _
\bf_
\bm_
\bt_
\bd_
\bu_
\bm_
\bp format string disassembler is
769 supplied, and some new format functions were added:
771 folder In _
\bs_
\bc_
\ba_
\bn, this component escape contains the name of
772 the current folder. It is not defined for other _
\bM_
\bH
775 getenv This function escape returns the value of an en-
778 There will be some additional changes in these routines
779 in the next patch release.
796 Changes for MH 6.7.2 13
800 _
\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
802 In addition to some other minor enhancements, some bugs were
803 fixed which in general were not user-visible:
805 Blind lists Users may now specify RFC822 address groups in
806 their alias files. These groups are imple-
807 mented by _
\bM_
\bH as blind lists.
809 date parsing A number of sites have brain-damaged versions
810 of lex. _
\bM_
\bH will now come with the date parser
811 already run through lex.
813 mark A bug dealing with _
\bm_
\ba_
\br_
\bk and the sequence named
814 `cur' is fixed. This was previously a problem
817 MH.doc The _
\bM_
\bH nroff version of the manual no longer
818 contains teletype escape sequences.
820 scan Can now handle headers as long as 512 bytes.
822 Signals _
\bM_
\bH programs will no longer catch the HUP and
823 TERM signals while waiting for a sub-process.
824 This was causing hung processes when your ter-
825 minal line was was dropped unexpectedly.
827 Signature If your signature is not defined, _
\bM_
\bH will use
828 the value of the gecos field of your
829 /etc/passwd entry as your signature.
831 version.sh A bug in the awk script in config/version.sh
862 Changes for MH 6.7.1a 14
865 _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS _
\bF_
\bO_
\bR _
\bM_
\bH _
\b6._
\b7._
\b1_
\ba
867 The MH.6.7.1a patch was made available on January 25, 1991
868 for limited distribution only. (This release had some known
869 bugs, and so was not widely distributed.) This release
870 incorporates several new features of particular note to
871 users of sequences and format strings, as well as some gen-
872 eral documentation improvements. There are a few minor
873 enhancements and internal bug fixes also. Complete documen-
874 tation of these changes is given in the individual manual
875 pages, and the READ-ME file.
877 _
\bM_
\be_
\bs_
\bs_
\ba_
\bg_
\be _
\bS_
\be_
\bq_
\bu_
\be_
\bn_
\bc_
\be_
\bs
879 A new manual page, _
\bm_
\bh-_
\bs_
\be_
\bq_
\bu_
\be_
\bn_
\bc_
\be (5), has been added. This
880 manual page attempts to completely document the syntax and
881 semantics of _
\bM_
\bH message sequence specifications.
883 A powerful new feature is the ability to specify mes-
884 sage ranges with user-defined sequences. The specification
885 "name:n" may be used, and it designates up to the first `n'
886 messages (or last `n' messages for `-n') which are
887 elements of the user-defined sequence `name'.
889 The message specifications "name:next" and "name:prev"
890 may also be used, and they designate the next or previous
891 message (relative to the current message) which is an ele-
892 ment of the user-defined sequence `name'. The specifica-
893 tions "name:first" and "name:last" are equivalent to
894 "name:1" and "name:-1", respectively. The specification
895 "name:cur" is not allowed (use just "cur" instead).
897 These specifications allow the user to step through a
898 sequence with a command like "show name:next".
900 _
\bF_
\bo_
\br_
\bm_
\ba_
\bt _
\bS_
\bt_
\br_
\bi_
\bn_
\bg_
\bs
902 _
\bM_
\bH format strings now support an if-then-elseif-else clause
903 (the `elseif' is new). This will make format strings with
904 multi-case conditions somewhat less complex.
906 A new format function `addr' had been added. This
907 function takes an address header name as its argument, and
908 returns a rendering of the address contained in that header
909 as "user@host" or "host!user".
911 Format widths now may be specified as a negative
912 number. This causes the output to be right-justified within
928 Changes for MH 6.7.1a 15
932 _
\bO_
\bt_
\bh_
\be_
\br _
\bC_
\bh_
\ba_
\bn_
\bg_
\be_
\bs
934 Along with a few minor enhancements, some bugs were fixed
935 which in general were not user-visible:
937 fmtdump This new program produces an pseudo-language
938 representation of an _
\bM_
\bH format file, vaguely remin-
939 iscent of assembly language. While this output
940 format is not explicitly documented, it can still
941 be useful when debugging _
\bM_
\bH format files.
943 refile Now takes a `-[no]rmmproc' switch. This makes it
944 easier to avoid loops when your "rmmproc" calls _
\br_
\be-
947 slocal A problem with the UUCP-style mailboxes, the
948 `RPATHS' configuration option, and the "Return-
949 Path:" header was fixed.
951 sortm Will ensure that no messages are lost if it is in-
954 whatnow Will now tell you where it is leaving the draft,
955 when interrupted in the initial edit. Previously
956 the draft was simply unlinked.
958 _
\bC_
\bo_
\bm_
\bp_
\bi_
\bl_
\ba_
\bt_
\bi_
\bo_
\bn _
\bO_
\bp_
\bt_
\bi_
\bo_
\bn_
\bs
960 LOCKF This option causes _
\bM_
\bH to use the lockf() system
961 call for locking (if available), instead of
994 Changes for MH 6.7.1 16
997 _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS _
\bF_
\bO_
\bR _
\bM_
\bH _
\b6._
\b7._
\b1
999 The MH.6.7.1 patch release is a maintenance release, and as
1000 such, provides few changes from the previous release. This
1001 is the current released version of _
\bM_
\bH as of December 14,
1004 _
\bU_
\bs_
\be_
\br-_
\bV_
\bi_
\bs_
\bi_
\bb_
\bl_
\be _
\bC_
\bh_
\ba_
\bn_
\bg_
\be_
\bs
1006 The major change in this release is to the POP daemon
1007 (popd). In _
\bM_
\bH 6.7, it was changed to be able to read both
1008 UUCP and MMDF-style mailboxes. This did not work as
1009 reported. The code has now been changed to parse MMDF-style
1010 mailboxes if you are configuring MH to run with MMDF as your
1011 message transport system. Otherwise, UUCP-style mailboxes
1014 Since there are number of client programs available for
1015 only the POP2 protocol instead of POP3, popd has been
1016 updated to support both protocols. This is a major win. If
1017 you are compiling with POP turned on, add the `POP2' option
1018 to your _
\bM_
\bH config file, and the POP daemon will respond to
1019 POP2 or POP3 commands. If you're using POP, there's no rea-
1020 son not to include this option; it does not affect the
1021 existing support for POP3.
1023 _
\bI_
\bn_
\bt_
\be_
\br_
\bn_
\ba_
\bl _
\bC_
\bh_
\ba_
\bn_
\bg_
\be_
\bs
1025 Some bugs were fixed which in general were not user-visible:
1027 context Errors when writing out sequences are detected
1030 inc No longer inserts extra blank lines into mes-
1033 mh-format A nil pointer bug in the address parser was
1036 repl, etc. The malloc/free problem has been fixed.
1038 rmf A spelling error in the `-nointeractive' switch
1041 rcvtty Will not print the message size if not available
1044 send/post Illegal signatures (those containing unquoted
1045 "."s) will be quoted.
1060 Changes for MH 6.7.0 17
1063 _
\bG_
\bE_
\bN_
\bE_
\bR_
\bA_
\bL _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS _
\bF_
\bO_
\bR _
\bM_
\bH _
\b6._
\b7._
\b0
1065 The author is pleased to announce that there are very few
1066 user-visible changes to _
\bM_
\bH 6.7 from the previous _
\bM_
\bH 6.6 dis-
1067 tribution. The majority of development was in the form of
1068 bug fixes and slight enhancements. In addition, this
1069 release is slightly faster than the previous release. With
1070 a few minor exceptions, it is backward-compatible with the
1071 previous release. _
\bM_
\bH 6.7.0 is the current released version
1072 of _
\bM_
\bH as of April 12, 1990.
1074 The changes were made mainly to generalize the source
1075 code to be compatible with a larger range of systems and
1076 compilers. There were many small changes to add declara-
1077 tions for ANSI C compliance. The System 5 support has been
1078 brought up to SYS5 R3, and there is support for Sun OS 4.0.
1080 _
\bU_
\bs_
\be_
\br-_
\bV_
\bi_
\bs_
\bi_
\bb_
\bl_
\be _
\bC_
\bh_
\ba_
\bn_
\bg_
\be_
\bs
1082 Here a quick summary of the changes that were made which are
1083 not backward-compatible with the previous release of _
\bM_
\bH:
1085 repl The `-format' and `-noformat' switches have not been
1086 functional since _
\bM_
\bH 5, and have been removed. Any
1087 users who have these switches in their .mh_profile,
1088 will have to remove them.
1090 sortm Previously, in most cases _
\bs_
\bo_
\br_
\bt_
\bm would fill-in any
1091 gaps in the numbering of a folder, by renumbering the
1092 messages starting with `1'. This will no longer
1093 occur; for this behavior, use "folder -pack".
1096 _
\bU_
\bs_
\bi_
\bn_
\bg _
\bA_
\bl_
\bi_
\ba_
\bs_
\be_
\bs
1098 A new profile entry `Aliasfile:' has been added. The _
\ba_
\bl_
\bi,
1099 _
\bs_
\be_
\bn_
\bd, and _
\bw_
\bh_
\bo_
\bm programs will look for this profile entry and
1100 treat it as they would an argument to `-alias'. This should
1101 make it easier for novice _
\bM_
\bH users to begin using aliases.
1104 _
\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
1106 The UCI BBoards facility can read local BBoards, and if com-
1107 piled with the `bboards: pop' and `pop: on' options, can
1108 also read remote BBoards using the Post Office Protocol (POP
1109 ver. 3). With this release, _
\bM_
\bH can instead be compiled to
1110 read the Network News (i.e., USENET) using the Network News
1111 Transfer Protocol (NNTP).
1113 This capability is enabled by compiling _
\bM_
\bH with the
1114 `bboards: nntp' and `pop: on' options. Unfortunately, read-
1115 ing remote BBoards via the POP and reading the Network News
1116 via the NNTP are mutually exclusive options.
1126 Changes for MH 6.7.0 18
1129 To support the NNTP, a new module, uip/pshsbr.c, is
1130 compiled and loaded into _
\bb_
\bb_
\bc and _
\bm_
\bs_
\bh instead of
1131 uip/popsbr.c. The default BBoard is changed from "system"
1132 to "general" for the NNTP.
1134 When reading BBoards, _
\bb_
\bb_
\bc will first look for local
1135 BBoards, and then contact the NNTP server to read the Net-
1136 work News. The location of the NNTP server should be speci-
1137 fied with the `nntphost:' entry in the mtstailor file (see
1138 the _
\bM_
\bH Administrator's Guide for details), or may be speci-
1139 fied on the command line with the `-host' switch.
1142 _
\bF_
\bo_
\br_
\bm_
\ba_
\bt _
\bS_
\bt_
\br_
\bi_
\bn_
\bg_
\bs
1144 The manual page _
\bm_
\bh-_
\bf_
\bo_
\br_
\bm_
\ba_
\bt (5) has been rewritten to give a
1145 better explanation of how to write format strings, and how
1146 they are interpreted by _
\bM_
\bH. A line-by-line description of
1147 the default _
\br_
\be_
\bp_
\bl form file (replcomps) is now included in
1150 Some new format functions were added, and others were aug-
1153 trim Strips any leading and trailing white-space from
1154 the current string value.
1156 date2local Will coerce the date to the local timezone.
1158 date2gmt Will coerce the date to GMT.
1160 divide Divides the current numeric value by its argu-
1161 ment. This could be useful for building _
\bs_
\bc_
\ba_
\bn
1162 format strings which print large message sizes
1165 friendly If the address field cannot be parsed, this
1166 function will return the text of the address
1167 header, instead of a null string.
1169 szone A flag indicating whether the timezone was ex-
1170 plicit in the date string.
1172 _
\bP_
\bR_
\bO_
\bG_
\bR_
\bA_
\bM _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS
1174 In addition to the general changes mentioned above, many
1175 programs have specific new features added, either by new
1176 switches or by expanded functionality. Each command's
1177 manual page gives complete information about its new
1178 options. Here is a short summary.
1180 _
\bU_
\bs_
\be_
\br _
\bI_
\bn_
\bt_
\be_
\br_
\bf_
\ba_
\bc_
\be _
\bP_
\br_
\bo_
\bg_
\br_
\ba_
\bm_
\bs
1182 anno Accepts a `-nodate' switch which inhibits the date
1192 Changes for MH 6.7.0 19
1195 annotation, leaving only the body annotation.
1197 folder When invoked with the `-pack' switch and the new
1198 `-verbose' switch, _
\bf_
\bo_
\bl_
\bd_
\be_
\br will give information
1199 about the actions taken to renumber the folder.
1201 On most systems, _
\bf_
\bo_
\bl_
\bd_
\be_
\br can now create any
1202 non-existing parent folders of a new sub-folder.
1204 forw When making digests, _
\bf_
\bo_
\br_
\bw will put the issue and
1205 volume numbers in addition to the digest list
1206 name, in the digest trailer.
1208 inc Detects NFS write failures, and will not zero your
1209 maildrop in that event.
1211 msh Supports a variant of the new _
\bs_
\bo_
\br_
\bt_
\bm.
1213 prompter Considers a period on a line by itself to signify
1214 end-of-file when the `-doteof' switch is speci-
1217 repl The `-[no]format' switches have not been used
1218 since _
\bM_
\bH 5 and have been deleted. _
\br_
\be_
\bp_
\bl will now
1219 find filter files in the _
\bM_
\bH library area.
1221 scan With the `-file msgbox' switch, _
\bs_
\bc_
\ba_
\bn can list a
1222 _
\bp_
\ba_
\bc_
\bk_
\bf'd-format file directly (without using _
\bm_
\bs_
\bh).
1224 Lists messages in reverse order with the
1225 `-reverse' switch. This should be considered a
1228 sortm Now has the options: `-textfield field', `-notext-
1229 field', `-limit days', and `-nolimit'.
1231 With these options, _
\bs_
\bo_
\br_
\bt_
\bm can be instructed to
1232 sort a folder based on the contents of an arbi-
1233 trary header such as "subject".
1235 _
\bs_
\bo_
\br_
\bt_
\bm minimizes renaming messages, and will no
1236 longer arbitrarily pack folders; for this
1237 behavior, use "folder -pack".
1239 whatnow Deletes the draft by renaming it with leading
1240 comma, instead of unlinking it.
1242 _
\bM_
\bH _
\bS_
\bu_
\bp_
\bp_
\bo_
\br_
\bt _
\bP_
\br_
\bo_
\bg_
\br_
\ba_
\bm_
\bs
1244 The following support programs also have changes or enhance-
1247 mhl Will now accept a format string on any component,
1248 not just on addresses and dates.
1258 Changes for MH 6.7.0 20
1261 popd Will use _
\bs_
\bh_
\ba_
\bd_
\bo_
\bw passwords if compiled with the SHA-
1262 DOW option. It can now also read UUCP-style mail-
1265 rcvtty If given no arguments, _
\br_
\bc_
\bv_
\bt_
\bt_
\by will produce a scan
1266 listing as specified by a format string or file; a
1267 default format string is used if one is not speci-
1270 Before the listing is written to the users terminal,
1271 the terminal's bell is rung and a newline is output.
1272 The `-nobell' and the `-nonewline' options inhibit
1275 _
\br_
\bc_
\bv_
\bt_
\bt_
\by will obey terminal write notification set by
1276 _
\bm_
\be_
\bs_
\bg. With the `-biff' switch, _
\br_
\bc_
\bv_
\bt_
\bt_
\by will also
1277 obey the mail notification status set by _
\bb_
\bi_
\bf_
\bf.
1279 On BSD43 systems, as with _
\bw_
\br_
\bi_
\bt_
\be, _
\br_
\bc_
\bv_
\bt_
\bt_
\by will be
1280 installed set-group-id to the group "tty".
1282 slocal Understands UUCP-style "From " lines and will write
1283 output files using this format if appropriate.
1284 Before invoking a delivery program, _
\bs_
\bl_
\bo_
\bc_
\ba_
\bl will
1285 strip such lines unless compiled with the RPATHS
1286 option, in which case it will will convert such
1287 lines into "Return-Path:" headers.
1289 _
\bs_
\bl_
\bo_
\bc_
\ba_
\bl has a new result code "N", for use in .mail-
1290 delivery files. With this result code, _
\bs_
\bl_
\bo_
\bc_
\ba_
\bl will
1291 perform the action only if the message has not been
1292 delivered and the previous action succeeded. This
1293 allows for performing an action only if multiple
1294 conditions are true.
1296 _
\bD_
\bO_
\bC_
\bU_
\bM_
\bE_
\bN_
\bT_
\bA_
\bT_
\bI_
\bO_
\bN
1298 Several of the older _
\bM_
\bH papers have been difficult to format
1299 because they depended on an older version of PhDTeX which
1300 was not supplied. These papers have been updated, and some
1301 TeX library files are supplied in papers/doclib/, so that
1302 these papers may be generated on any system with TeX.
1304 Many of the manual pages have been revised to include
1305 documentation of new command options, and some have been
1306 expanded to give more detail. All are now slightly refor-
1307 matted at installation time to make them more compatible
1308 with programs like _
\bm_
\ba_
\bk_
\be_
\bw_
\bh_
\ba_
\bt_
\bi_
\bs.
1311 _
\bM_
\bH _
\bA_
\bD_
\bM_
\bI_
\bN_
\bI_
\bS_
\bT_
\bR_
\bA_
\bT_
\bI_
\bO_
\bN
1313 This section describes changes in configuring, compiling and
1314 installing _
\bM_
\bH 6.7 and should not be of interest to casual _
\bM_
\bH
1324 Changes for MH 6.7.0 21
1327 users. The READ-ME file has been considerably revised and
1328 expanded to give more detail about the configuration and
1329 compilation options which have been included in this
1330 release. Some compilation options have been removed, and
1331 many new options have been added.
1333 All _
\bM_
\bH Makefiles have been updated to work around some
1334 incompatibilities introduced in newer versions of _
\bm_
\ba_
\bk_
\be. _
\bM_
\bH
1335 programs will no longer be installed with the sticky-bit
1338 Reading this section not a substitute for carefully
1339 reading the READ-ME file before attempting to compile _
\bM_
\bH
1342 _
\bB_
\bu_
\bg _
\bF_
\bi_
\bx_
\be_
\bs
1344 Some bugs were fixed which in general were not user-visible:
1346 address parser Fixed to allow use of the "AT" domain, and
1347 some minor bugs were fixed pertaining to ad-
1350 date parser Improved to accept more forms of illegal
1351 dates. Military timezones were removed.
1353 dynamic memory Many problems with corruption of the dynamic
1354 memory pool have been fixed.
1356 locking Will open files for write, if necessary to
1359 nil pointers All reported nil pointer problems have been
1362 replcomps The "In-Reply-To:" header had quotes added
1363 around the date field to comply with RFC822.
1365 _
\bW_
\bh_
\bi_
\bt_
\be _
\bP_
\ba_
\bg_
\be_
\bs
1367 If _
\bM_
\bH is compiled with the WP option, _
\bs_
\be_
\bn_
\bd recognizes an
1368 address between "<<" and ">>" characters such as:
1370 To: << rose -org psi >>
1372 to be a name meaningful to a whitepages service. In order
1373 to expand the name, _
\bs_
\be_
\bn_
\bd must be invoked interactively
1374 (i.e., not from _
\bp_
\bu_
\bs_
\bh). For each name, _
\bs_
\be_
\bn_
\bd will invoke a
1375 command called _
\bf_
\br_
\be_
\bd in a special mode asking to expand the
1378 To get a copy of the white pages service, contact
1379 wpp-manager@psi.com.
1390 Changes for MH 6.7.0 22
1393 _
\bC_
\bo_
\bn_
\bf_
\bi_
\bg_
\bu_
\br_
\ba_
\bt_
\bi_
\bo_
\bn _
\bO_
\bp_
\bt_
\bi_
\bo_
\bn_
\bs
1395 Some configuration options have been added or changed:
1397 cc To specify an alternate C compiler.
1399 ccoptions Defaults to `-O'.
1401 bboards May now be defined as "on", "off", "pop", or
1404 bbdelivery Determines whether the bboard delivery agent and
1405 library files should be installed.
1407 lex To specify an alternate version of _
\bl_
\be_
\bx.
1409 mailgroup If defined, _
\bi_
\bn_
\bc will be made set-group-id to
1412 sharedlib For SUN40 systems; if "on", makes libmh.a into a
1415 slibdir The directory where the above shared library
1416 should be installed.
1418 sprintf Set this to "int" if that's what your
1419 _
\bs_
\bp_
\br_
\bi_
\bn_
\bt_
\bf (3) library routine returns.
1421 _
\bC_
\bo_
\bm_
\bp_
\bi_
\bl_
\ba_
\bt_
\bi_
\bo_
\bn _
\bO_
\bp_
\bt_
\bi_
\bo_
\bn_
\bs
1423 For different configurations, several `-D' options to _
\bc_
\bc
1424 have been added or changed:
1426 BERK This disables the address and date parsing rou-
1427 tines. If you want to do much with
1428 _
\bm_
\bh-_
\bf_
\bo_
\br_
\bm_
\ba_
\bt (5), don't enable this.
1430 BSD43 Will make _
\br_
\bc_
\bv_
\bt_
\bt_
\by set-group-id to the group
1433 DBM For sites with a dbm-style password file (such
1434 as with Yellow Pages), _
\bM_
\bH will not read the
1435 entire passwd file into a cache. At one site
1436 that runs YP on a large passwd file, using this
1437 showed a 6:1 performance improvement.
1439 NETWORK This option has been deleted. See SOCKETS.
1441 NOIOCTLH Tells _
\bM_
\bH not to include the file sys/ioctl.h.
1442 Use this if this file is not present on your
1445 NTOHLSWAP On systems with TCP/IP networking, _
\bm_
\bs_
\bh will try
1446 to use the ntohl() macro from the file
1456 Changes for MH 6.7.0 23
1459 netinet/in.h to byte-swap the binary map files
1462 SENDMAILBUG Some versions of _
\bs_
\be_
\bn_
\bd_
\bm_
\ba_
\bi_
\bl return a 451 (failure)
1463 reply code when they don't mean to indicate
1464 failure. This option considers that code to be
1465 equivalent to 250 (OK).
1467 SHADOW Causes _
\bp_
\bo_
\bp_
\bd to read the file /etc/shadow for
1468 encrypted passwords instead of /etc/passwd. Use
1469 this if you have a shadow password file (such as
1470 on newer versions of SYSTEM 5).
1472 SOCKETS Enable this if you are on a non-BSD system with
1473 a socket interface for TCP/IP networking compa-
1474 tible with 4.2BSD UNIX.
1476 SUN40 Use on Suns running Sun OS 4.0 and later.
1478 SYS5 This option has been updated to refer to SYS5 R3
1481 SYS5DIR Use this if your system uses "struct dirent"
1482 instead of "struct direct". This should be true
1483 for systems based on SYS5 R3 and later.
1485 TYPESIG Defines the base type for the _
\bs_
\bi_
\bg_
\bn_
\ba_
\bl system
1486 call. This defaults to "int", but should be
1487 defined as "void" if appropriate for your sys-
1490 WP Enables support for the White Pages service.
1492 _
\bI_
\bn_
\bs_
\bt_
\ba_
\bl_
\bl_
\ba_
\bt_
\bi_
\bo_
\bn
1494 _
\bM_
\bH will now explicitly set the protection mode on every file
1497 Previously any existing file installed by _
\bM_
\bH would be
1498 backed up into the source tree, and then overwritten. Now,
1499 a few system-dependent files will not be overwritten, and
1500 your changes will have to be merged in by hand. See the
1501 READ-ME file for more details.