11 The RAND MH Message Handling System:
17 Computing Support Group
18 Department of Information and Computer Science
19 University of California, Irvine
24 _
\bA_
\bB_
\bS_
\bT_
\bR_
\bA_
\bC_
\bT
27 This document describes the changes to the
28 UCI version of the RAND MH system from MH 6.6 to
29 this release of MH 6.8. This document is meant to
30 supplement, not supersede, the standard MH User's
31 manual and MH Administrator's manual.
33 Comments concerning this documentation should
34 be addressed to the mailbox Bug-MH@ICS.UCI.EDU, or
39 _
\bA_
\bC_
\bK_
\bN_
\bO_
\bW_
\bL_
\bE_
\bD_
\bG_
\bE_
\bM_
\bE_
\bN_
\bT_
\bS
41 The _
\bM_
\bH system described herein is based on the original RAND
42 _
\bM_
\bH system. It has been extensively developed (perhaps too
43 much so) by Marshall T. Rose and John L. Romine at the
44 University of California, Irvine. Einar A. Stefferud, Jerry
45 N. Sweet, and Terry P. Domae provided numerous suggestions
46 to improve the UCI version of _
\bM_
\bH.
48 Of course, a large number of people have helped _
\bM_
\bH
49 along. The list of "_
\bM_
\bH immortals" is too long to list here.
50 For this release, numerous _
\bM_
\bH-_
\bW_
\bo_
\br_
\bk_
\be_
\br_
\bs sent in fixes and
51 other changes. A handful of courageous _
\bM_
\bH-_
\bW_
\bo_
\br_
\bk_
\be_
\br_
\bs volun-
52 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.3 3
139 _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS _
\bF_
\bO_
\bR _
\bM_
\bH _
\b6._
\b8._
\b3
141 The MH 6.8.3 maintenance release contains few user-visible
142 changes. Most of the changes are internal to the multi-
143 media display program _
\bm_
\bh_
\bn to support RFC 1521 (the new MIME
144 standard). This is the current version of MH as of December
147 _
\bR_
\bu_
\bn_
\bt_
\bi_
\bm_
\be _
\bT_
\ba_
\bi_
\bl_
\bo_
\br_
\bi_
\bn_
\bg
149 When posting mail using the SMTP, _
\bp_
\bo_
\bs_
\bt does not normally
150 send the HELO command. This is because _
\bS_
\be_
\bn_
\bd_
\bM_
\ba_
\bi_
\bl would fail
151 if the host name given in the HELO command was the local
152 host. Later versions of _
\bS_
\be_
\bn_
\bd_
\bM_
\ba_
\bi_
\bl will now complain if you
153 omit the HELO command.
155 If you specify a hostname with the clientname: option
156 in the _
\bm_
\bt_
\bs_
\bt_
\ba_
\bi_
\bl_
\bo_
\br file, _
\bp_
\bo_
\bs_
\bt will give the HELO command with
157 that name, otherwise no HELO command is given. See _
\bm_
\bh-
158 _
\bt_
\ba_
\bi_
\bl_
\bo_
\br(5) for more details.
160 _
\bU_
\bs_
\be_
\br _
\bI_
\bn_
\bt_
\be_
\br_
\bf_
\ba_
\bc_
\be _
\bP_
\br_
\bo_
\bg_
\br_
\ba_
\bm_
\bs
162 folder The _
\bf_
\bo_
\bl_
\bd_
\be_
\br command now has `-create' and `-nocreate'
163 options. See _
\bf_
\bo_
\bl_
\bd_
\be_
\br(1) for details.
165 inc A bug where `-host' would not override the pophost
166 as set in the _
\bm_
\bt_
\bs_
\bt_
\ba_
\bi_
\bl_
\bo_
\br file has been fixed. This
167 bug was also fixed in _
\bm_
\bs_
\bg_
\bc_
\bh_
\bk.
169 mhn The _
\bm_
\bh_
\bn command has several changes: updates for
170 conformance with RFC 1521, addition of two caches:
171 public and private, addition of two caching poli-
172 cies: one for reading and one for writing, support
173 for storing multipart entities, and a few bug fixes.
174 See _
\bm_
\bh_
\bn(1) for complete details.
176 _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS _
\bF_
\bO_
\bR _
\bM_
\bH _
\b6._
\b8._
\b2
178 The MH.6.8.2 patch release contains only internal changes to
179 support the BSD 4.4 and 386BSD versions of UNIX. This ver-
180 sion of _
\bM_
\bH was released August 25, 1993, but was not widely
183 _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS _
\bF_
\bO_
\bR _
\bM_
\bH _
\b6._
\b8._
\b1
185 The MH.6.8.1 patch release is a maintenance release. This
186 is the current released version of _
\bM_
\bH as of August 20, 1993.
188 This release includes a small number of bug fixes, a
189 few minor enhancements, some changes for the new MIME stan-
190 dard, and support for ESMTP (RFC 1425). Support for BSD 4.4
191 and 386BSD is planned for the next release.
202 Changes for MH 6.8.3 4
205 Many other fixes which have already been received are
206 still being merged. If you've sent an update for MH 6.8 to
207 Bug-MH@ics.uci.edu and it isn't in this release, it'll prob-
208 ably appear in the next release.
210 _
\bF_
\bi_
\bx_
\be_
\bs _
\ba_
\bn_
\bd _
\bE_
\bn_
\bh_
\ba_
\bn_
\bc_
\be_
\bm_
\be_
\bn_
\bt_
\bs
212 Many minor documentation corrections were made. There are
213 also a few program changes:
215 mhn The `-cache policy', `-[no]check', and `-[no]pause'
216 switches have been added. Some other minor changes
217 have been made to comply with the new MIME standard.
218 See _
\bm_
\bh_
\bn(1) for complete details.
220 post When posting mail with SendMail, _
\bp_
\bo_
\bs_
\bt will not use the
221 ONEX command when it is posting a message with BCCs.
223 scan _
\bs_
\bc_
\ba_
\bn will now work with big width values.
225 _
\bF_
\bo_
\br_
\bm_
\ba_
\bt _
\bS_
\bt_
\br_
\bi_
\bn_
\bg_
\bs
227 One new function has been added:
229 %(profile arg) This function looks up a component in the
230 .mh_profile or context files and returns the
231 value of that component.
233 _
\bC_
\bo_
\bn_
\bf_
\bi_
\bg_
\bu_
\br_
\ba_
\bt_
\bi_
\bo_
\bn
235 Two new configuration options are present:
237 GCOS_HACK The so-called "gcos" field of the password file
238 is used as a last resort to find the user's
239 full name (see _
\bm_
\bh-_
\bp_
\br_
\bo_
\bf_
\bi_
\bl_
\be(5) for details).
240 Enable this option if your _
\bp_
\ba_
\bs_
\bs_
\bw_
\bd(5) man page
241 notes that the `&' character in the "gcos"
242 field stands for the login name.
244 NORUSERPASS Tells _
\bM_
\bH that your system doesn't have the
245 _
\br_
\bu_
\bs_
\be_
\br_
\bp_
\ba_
\bs_
\bs(3) routine; _
\bM_
\bH will include its own
246 copy of this routine in its library.
271 _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS _
\bF_
\bO_
\bR _
\bM_
\bH _
\b6._
\b8
273 This is the current released version of _
\bM_
\bH as of December
274 14, 1992. This release includes a number of bug fixes and
275 internal changes to make the code more portable. Two new
276 authentication methods are provided for the POP, and support
277 for SVR4 shared libraries is complete.
279 The major user-visible change in this release is the
280 incorporation of support for multi-media mail as specified
281 by the Multi-purpose Internet Mail Extensions (MIME)
282 RFC 1341. This allows you to include things like audio,
283 graphics, and the like, in your mail messages. A new com-
284 mand, _
\bm_
\bh_
\bn, has been provided to support MIME and a detailed
285 man page is provided in _
\bm_
\bh_
\bn(1).
287 _
\bD_
\bo_
\bc_
\bu_
\bm_
\be_
\bn_
\bt_
\ba_
\bt_
\bi_
\bo_
\bn
289 The documentation has some general improvements, and the
290 READ-ME document has been re-organized to help _
\bM_
\bH adminis-
291 trators find the appropriate configuration options for their
292 system. The Makefiles in the papers/ hierarchy have been
293 changed to invoke _
\bT_
\be_
\bX as "tex" (instead of "tex82").
295 The following new man pages are also available:
297 _
\bm_
\bh_
\bn(1) _
\bm_
\bh_
\bn helps the user process multi-media mail.
299 _
\bm_
\bh_
\bp_
\ba_
\br_
\ba_
\bm(1) _
\bm_
\bh_
\bp_
\ba_
\br_
\ba_
\bm lets the user extract information from
300 the _
\bM_
\bH profile.
302 _
\bp_
\bo_
\bp_
\ba_
\bu_
\bt_
\bh(8) the APOP database administration program (see
305 _
\bp_
\bo_
\bp_
\bi(1) the POP initiator (see below).
307 _
\bs_
\bl_
\bo_
\bc_
\ba_
\bl(1) fully documents _
\bs_
\bl_
\bo_
\bc_
\ba_
\bl. The _
\bm_
\bh_
\bo_
\bo_
\bk(1) man page
308 now documents only the _
\bM_
\bH receive-mail hooks.
310 _
\bI_
\bn_
\bt_
\be_
\br_
\bn_
\ba_
\bl _
\bC_
\bh_
\ba_
\bn_
\bg_
\be_
\bs
312 The _
\bM_
\bH source code is in the process of being cleaned up to
313 make pedantic ANSI C compilers happy. Occurrences of "NULL"
314 have been replaced by "0" where appropriate. Extra tokens
315 after "#else" and "#endif" have been put inside comments
316 (this is still in progress). The code should now compile
317 cleanly on many more systems, specifically, more variants of
320 The version of tws/dtimep.c which was included in MH
321 6.7.2 was incompatible with the _
\bl_
\be_
\bx library on some systems,
322 and has been removed.
324 A bug in the handling of blind lists inside alias files
339 _
\bP_
\bo_
\bs_
\bt _
\bO_
\bf_
\bf_
\bi_
\bc_
\be _
\bP_
\br_
\bo_
\bt_
\bo_
\bc_
\bo_
\bl
341 There were three new options added to the POP.
343 APOP This option indicates that the POP daemon will support
344 the non-standard APOP command which provides a
345 challenge-based authentication system using the MD5
346 message digest algorithm.
348 This option also causes the _
\bp_
\bo_
\bp_
\ba_
\bu_
\bt_
\bh program to be in-
349 stalled, which allows the administrator to manipulate
350 the APOP authorization database.
352 KPOP Support for KERBEROS with POP. This code builds _
\bp_
\bo_
\bp_
\bd,
353 _
\bi_
\bn_
\bc and _
\bm_
\bs_
\bg_
\bc_
\bh_
\bk to support only the "kpop" protocol.
354 This code is still expiremental, but is available for
355 those sites wishing to test it.
357 MPOP This option indicates that the POP daemon will support
358 the non-standard XTND SCAN command which provides per-
359 formance enhancements when using the POP over low-
362 This option also causes an interactive POP client pro-
363 gram, _
\bp_
\bo_
\bp_
\bi, to be compiled and installed. A man page
364 for the _
\bp_
\bo_
\bp_
\bi program is also provided. This option
365 requires the configuration to have "bboards: pop".
367 The APOP and MPOP non-standard POP facilities are documented
368 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
369 Marshall T. Rose. For more details, see support/pop/pop-
370 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
371 peacefully co-exists with the standard POP, KPOP completely
372 replaces the standard POP, and MPOP requires "bboards: pop".
374 _
\bF_
\bi_
\bl_
\be _
\bL_
\bo_
\bc_
\bk_
\bi_
\bn_
\bg
376 The file locking code has been cleaned up to support three
377 kinds of kernel-level file locking. As appropriate for your
378 system, include the LOCKF, FCNTL or FLOCK option. For more
379 details, see _
\bm_
\bh-_
\bt_
\ba_
\bi_
\bl_
\bo_
\br(5).
403 Configuration Directives
405 A number of new configuration directives have been added or
406 changed. The full details are given in the READ-ME.
408 cp: The command used to install new files if not
411 ln: The command used to link files together in the
412 source tree if not "ln".
414 mts: Full support for ZMAILER has been added.
416 popdir: The directory where _
\bp_
\bo_
\bp_
\bd will be installed if not
419 regtest: Set to "on" to prevent the hostname and compile
420 date from being included in _
\bM_
\bH binaries.
422 sharedlib: You may now specify "sun4" or "sys5" (for SVR4)
425 signal: Specifies the base type of the function returned
426 by _
\bs_
\bi_
\bg_
\bn_
\ba_
\bl(). This was previously defined with
429 Several `-D' options to _
\bc_
\bc have been added or changed:
431 APOP Authenticated POP (see above).
433 AUX Support for A/UX systems.
435 DBMPWD The DBM option has been renamed DBMPWD.
437 HESIOD Support for the HESIOD name server.
439 KPOP KERBEROS POP (see above).
441 LOCALE Support for local characters sets; uses the _
\bs_
\be_
\bt_
\b-
442 _
\bl_
\bo_
\bc_
\ba_
\bl() function.
444 MAILGROUP Makes _
\bi_
\bn_
\bc set-group-id. You may need this option
445 if your /usr/spool/mail is not world-writeable.
447 MIME Multi-media mail.
449 MPOP Mobile POP (see above).
451 MSGID Enables _
\bs_
\bl_
\bo_
\bc_
\ba_
\bl to detect and surpress duplicate
454 OSF1 Support for DEC OSF1 systems. May be incomplete.
456 RENAME Include this option if your system has a _
\br_
\be_
\bn_
\ba_
\bm_
\be()
471 SVR4 Support for System 5 Release 4 or newer systems.
473 TYPESIG This option has been dropped. See `signal'
476 UNISTD Include this option if your system has the
477 include file <unistd.h>.
479 VSPRINTF Include this option if your system has the
480 _
\bv_
\bs_
\bp_
\br_
\bi_
\bn_
\bt_
\bf() library routine; otherwise, __
\bd_
\bo_
\bp_
\br_
\bn_
\bt()
483 YEARMOD Forces the _
\bm_
\bh-_
\bf_
\bo_
\br_
\bm_
\ba_
\bt `year' function to return
484 2-digit values. Use this option during a brief
485 transition period if you have local _
\bm_
\bh-_
\bf_
\bo_
\br_
\bm_
\ba_
\bt
486 files which need to be converted to support 4-
489 _
\bF_
\bU_
\bN_
\bC_
\bT_
\bI_
\bO_
\bN_
\bA_
\bL _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS
491 In addition to the configuration changes mentioned above, a
492 number of functional changes have been made to the system.
493 Many programs have new features added and a few new programs
494 have are provided. Each command's manual page gives complete
495 information about the its operation. Here is a short sum-
498 _
\bM_
\bH _
\bS_
\be_
\bq_
\bu_
\be_
\bn_
\bc_
\be_
\bs
500 A larger number of user-defined sequences are available.
501 Previously, this number had been 10. On 32-bit systems, 26
502 user-defined sequences are available.
504 _
\bP_
\br_
\bo_
\bf_
\bi_
\bl_
\be _
\bC_
\bo_
\bm_
\bp_
\bo_
\bn_
\be_
\bn_
\bt_
\bs
506 _
\bM_
\bH programs will now complain if the .mh_profile does not
507 end in a newline. Also, one enhancement and one new profile
508 component are provided:
510 Aliasfile: Multiple filenames may now be given.
512 Inbox: New; the default folder (for _
\bi_
\bn_
\bc, etc.) if not
536 _
\bF_
\bo_
\br_
\bm_
\ba_
\bt _
\bS_
\bt_
\br_
\bi_
\bn_
\bg_
\bs
538 A few minor bugs were fixed in format string handling, and a
539 few new features were added. See _
\bm_
\bh-_
\bf_
\bo_
\br_
\bm_
\ba_
\bt(5) for complete
542 Addresses An attempt is made to decipher X.400
543 RFC 987-style addresses.
545 Comments Comments may be added to _
\bm_
\bh-_
\bf_
\bo_
\br_
\bm_
\ba_
\bt files; a
546 comment begins with the 2-character sequence
547 "%;", and ends with an un-escaped newline.
549 %(modulo n) The `modulo' function escape has been added.
551 %(year{date}) The date parser has been enhanced to under-
552 stand more illegal date formats; `year' now
553 returns a 4-digit number.
555 _
\bU_
\bs_
\be_
\br _
\bI_
\bn_
\bt_
\be_
\br_
\bf_
\ba_
\bc_
\be _
\bP_
\br_
\bo_
\bg_
\br_
\ba_
\bm_
\bs
557 A number of _
\bM_
\bH commands have minor changes:
559 ali The output with `-user -list' was changed to match
560 the output with `-nouser -list'.
562 burst Will no longer drop the last message of a digest.
564 inc Accepts the `-apop' switch for authenticated POP
565 (see above); will attempt to detect write errors
566 (e.g., no space left on device) when incorporating
567 mail; no longer replaces newline characters with
570 folder The `-noprint' option was broken and has been
573 forw Supports `-mime' to use MIME-style multi-part mes-
576 mhl Will no longer put an extra space at the end of
577 the `%{text}' in a formatfield.
579 mhn New; manipulates multi-media (MIME) messages; a
580 detailed man page is provided.
582 mhparam New; reads the _
\bM_
\bH profile (and context) and writes
583 the values of the specified components on the
584 standard output; useful in programmatic con-
587 msgchk Supports `-apop' (see above).
598 Changes for MH 6.8 10
601 packmbox New; packs an _
\bM_
\bH folder into a UUCP-style mailbox.
603 popi New; a client-side POP initiator; available only
604 if you built _
\bM_
\bH with the MPOP option (see above).
606 refile A bug where the `rmmproc' did not remove all
607 specified message files has been fixed.
609 scan The `-file' option is fully supported and will no
610 longer complain about empty folders.
612 send Supports `-mime' and `-split' to split large mes-
613 sages into multiple partial messages using MIME.
615 _
\bS_
\bu_
\bp_
\bp_
\bo_
\br_
\bt _
\bP_
\br_
\bo_
\bg_
\br_
\ba_
\bm_
\bs
617 fmtdump Can now read a format file, or a format string
618 given on the command line.
620 popauth New; manages the APOP authorization database (see
623 sendmail The _
\bs_
\be_
\bn_
\bd_
\bm_
\ba_
\bi_
\bl replacement will be installed only if
624 your `mts' setting uses the `/smtp' option.
626 slocal A new man page for _
\bs_
\bl_
\bo_
\bc_
\ba_
\bl is available; the new
627 `mbox' action is available to write a file in
628 _
\bp_
\ba_
\bc_
\bk_
\bf format; a bug where extra `>' characters
629 were written to MMDF-style maildrops has been
630 fixed; if compiled with the MSGID option, can
631 detect and suppress reception of duplicate mes-
634 viamail New; bundles a directory (like _
\bs_
\bh_
\ba_
\br) and sends it
635 through multi-media mail.
664 Changes for MH 6.7.2 11
667 _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS _
\bF_
\bO_
\bR _
\bM_
\bH _
\b6._
\b7._
\b2
669 The MH.6.7.2 patch release is a maintenance release. This
670 is the current released version of _
\bM_
\bH as of February 1,
673 This release now supports the NCR Tower running SYS5R4.
674 The WP changes installed in MH.6.7.0 have been removed.
676 _
\bS_
\bh_
\ba_
\br_
\be_
\bd _
\bL_
\bi_
\bb_
\br_
\ba_
\br_
\bi_
\be_
\bs
678 Support for SYS 5 shared libraries is in progress.
680 Support for Sun OS 4.0 shared libraries had been
681 improved. The _
\bM_
\bH library has been modified to move initial-
682 ized data into a data definition file. The shared library
683 will now consist of a libmh.so and libmh.sa file. The
684 shared library version number will no longer track the _
\bM_
\bH
685 patch release number, and its numbering begins with version
686 `1.1' with this release.
688 _
\bR_
\be_
\bp_
\bl_
\ba_
\bc_
\be_
\bm_
\be_
\bn_
\bt _
\bS_
\be_
\bn_
\bd_
\bM_
\ba_
\bi_
\bl
690 Since many standard system programs expect to post mail by
691 invoking /usr/lib/sendmail, a minimal replacement _
\bS_
\be_
\bn_
\bd_
\bM_
\ba_
\bi_
\bl
692 is provided in this release. This replacement is meant to
693 be installed on (e.g., diskless) client workstations which
694 post mail using SMTP, and do not run a message transport
695 system. It will call _
\bp_
\bo_
\bs_
\bt to post mail; be sure you have
696 configured _
\bM_
\bH with the `/smtp' mts option. This sendmail
697 replacement is installed in your _
\bM_
\bH etc directory, and you
698 should link /usr/lib/sendmail to it.
700 _
\bF_
\bo_
\br_
\bm_
\ba_
\bt _
\bS_
\bt_
\br_
\bi_
\bn_
\bg_
\bs
702 A manual page for the _
\bf_
\bm_
\bt_
\bd_
\bu_
\bm_
\bp format string disassembler is
703 supplied, and some new format functions were added:
705 folder In _
\bs_
\bc_
\ba_
\bn, this component escape contains the name of
706 the current folder. It is not defined for other _
\bM_
\bH
709 getenv This function escape returns the value of an en-
712 There will be some additional changes in these routines
713 in the next patch release.
730 Changes for MH 6.7.2 12
734 _
\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
736 In addition to some other minor enhancements, some bugs were
737 fixed which in general were not user-visible:
739 Blind lists Users may now specify RFC822 address groups in
740 their alias files. These groups are imple-
741 mented by _
\bM_
\bH as blind lists.
743 date parsing A number of sites have brain-damaged versions
744 of lex. _
\bM_
\bH will now come with the date parser
745 already run through lex.
747 mark A bug dealing with _
\bm_
\ba_
\br_
\bk and the sequence named
748 `cur' is fixed. This was previously a problem
751 MH.doc The _
\bM_
\bH nroff version of the manual no longer
752 contains teletype escape sequences.
754 scan Can now handle headers as long as 512 bytes.
756 Signals _
\bM_
\bH programs will no longer catch the HUP and
757 TERM signals while waiting for a sub-process.
758 This was causing hung processes when your ter-
759 minal line was was dropped unexpectedly.
761 Signature If your signature is not defined, _
\bM_
\bH will use
762 the value of the gecos field of your
763 /etc/passwd entry as your signature.
765 version.sh A bug in the awk script in config/version.sh
796 Changes for MH 6.7.1a 13
799 _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS _
\bF_
\bO_
\bR _
\bM_
\bH _
\b6._
\b7._
\b1_
\ba
801 The MH.6.7.1a patch was made available on January 25, 1991
802 for limited distribution only. (This release had some known
803 bugs, and so was not widely distributed.) This release
804 incorporates several new features of particular note to
805 users of sequences and format strings, as well as some gen-
806 eral documentation improvements. There are a few minor
807 enhancements and internal bug fixes also. Complete documen-
808 tation of these changes is given in the individual manual
809 pages, and the READ-ME file.
811 _
\bM_
\be_
\bs_
\bs_
\ba_
\bg_
\be _
\bS_
\be_
\bq_
\bu_
\be_
\bn_
\bc_
\be_
\bs
813 A new manual page, _
\bm_
\bh-_
\bs_
\be_
\bq_
\bu_
\be_
\bn_
\bc_
\be (5), has been added. This
814 manual page attempts to completely document the syntax and
815 semantics of _
\bM_
\bH message sequence specifications.
817 A powerful new feature is the ability to specify mes-
818 sage ranges with user-defined sequences. The specification
819 "name:n" may be used, and it designates up to the first `n'
820 messages (or last `n' messages for `-n') which are
821 elements of the user-defined sequence `name'.
823 The message specifications "name:next" and "name:prev"
824 may also be used, and they designate the next or previous
825 message (relative to the current message) which is an ele-
826 ment of the user-defined sequence `name'. The specifica-
827 tions "name:first" and "name:last" are equivalent to
828 "name:1" and "name:-1", respectively. The specification
829 "name:cur" is not allowed (use just "cur" instead).
831 These specifications allow the user to step through a
832 sequence with a command like "show name:next".
834 _
\bF_
\bo_
\br_
\bm_
\ba_
\bt _
\bS_
\bt_
\br_
\bi_
\bn_
\bg_
\bs
836 _
\bM_
\bH format strings now support an if-then-elseif-else clause
837 (the `elseif' is new). This will make format strings with
838 multi-case conditions somewhat less complex.
840 A new format function `addr' had been added. This
841 function takes an address header name as its argument, and
842 returns a rendering of the address contained in that header
843 as "user@host" or "host!user".
845 Format widths now may be specified as a negative
846 number. This causes the output to be right-justified within
862 Changes for MH 6.7.1a 14
866 _
\bO_
\bt_
\bh_
\be_
\br _
\bC_
\bh_
\ba_
\bn_
\bg_
\be_
\bs
868 Along with a few minor enhancements, some bugs were fixed
869 which in general were not user-visible:
871 fmtdump This new program produces an pseudo-language
872 representation of an _
\bM_
\bH format file, vaguely remin-
873 iscent of assembly language. While this output
874 format is not explicitly documented, it can still
875 be useful when debugging _
\bM_
\bH format files.
877 refile Now takes a `-[no]rmmproc' switch. This makes it
878 easier to avoid loops when your "rmmproc" calls _
\br_
\be-
881 slocal A problem with the UUCP-style mailboxes, the
882 `RPATHS' configuration option, and the "Return-
883 Path:" header was fixed.
885 sortm Will ensure that no messages are lost if it is in-
888 whatnow Will now tell you where it is leaving the draft,
889 when interrupted in the initial edit. Previously
890 the draft was simply unlinked.
892 _
\bC_
\bo_
\bm_
\bp_
\bi_
\bl_
\ba_
\bt_
\bi_
\bo_
\bn _
\bO_
\bp_
\bt_
\bi_
\bo_
\bn_
\bs
894 LOCKF This option causes _
\bM_
\bH to use the lockf() system
895 call for locking (if available), instead of
928 Changes for MH 6.7.1 15
931 _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS _
\bF_
\bO_
\bR _
\bM_
\bH _
\b6._
\b7._
\b1
933 The MH.6.7.1 patch release is a maintenance release, and as
934 such, provides few changes from the previous release. This
935 is the current released version of _
\bM_
\bH as of December 14,
938 _
\bU_
\bs_
\be_
\br-_
\bV_
\bi_
\bs_
\bi_
\bb_
\bl_
\be _
\bC_
\bh_
\ba_
\bn_
\bg_
\be_
\bs
940 The major change in this release is to the POP daemon
941 (popd). In _
\bM_
\bH 6.7, it was changed to be able to read both
942 UUCP and MMDF-style mailboxes. This did not work as
943 reported. The code has now been changed to parse MMDF-style
944 mailboxes if you are configuring MH to run with MMDF as your
945 message transport system. Otherwise, UUCP-style mailboxes
948 Since there are number of client programs available for
949 only the POP2 protocol instead of POP3, popd has been
950 updated to support both protocols. This is a major win. If
951 you are compiling with POP turned on, add the `POP2' option
952 to your _
\bM_
\bH config file, and the POP daemon will respond to
953 POP2 or POP3 commands. If you're using POP, there's no rea-
954 son not to include this option; it does not affect the
955 existing support for POP3.
957 _
\bI_
\bn_
\bt_
\be_
\br_
\bn_
\ba_
\bl _
\bC_
\bh_
\ba_
\bn_
\bg_
\be_
\bs
959 Some bugs were fixed which in general were not user-visible:
961 context Errors when writing out sequences are detected
964 inc No longer inserts extra blank lines into mes-
967 mh-format A nil pointer bug in the address parser was
970 repl, etc. The malloc/free problem has been fixed.
972 rmf A spelling error in the `-nointeractive' switch
975 rcvtty Will not print the message size if not available
978 send/post Illegal signatures (those containing unquoted
979 "."s) will be quoted.
994 Changes for MH 6.7.0 16
997 _
\bG_
\bE_
\bN_
\bE_
\bR_
\bA_
\bL _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS _
\bF_
\bO_
\bR _
\bM_
\bH _
\b6._
\b7._
\b0
999 The author is pleased to announce that there are very few
1000 user-visible changes to _
\bM_
\bH 6.7 from the previous _
\bM_
\bH 6.6 dis-
1001 tribution. The majority of development was in the form of
1002 bug fixes and slight enhancements. In addition, this
1003 release is slightly faster than the previous release. With
1004 a few minor exceptions, it is backward-compatible with the
1005 previous release. _
\bM_
\bH 6.7.0 is the current released version
1006 of _
\bM_
\bH as of April 12, 1990.
1008 The changes were made mainly to generalize the source
1009 code to be compatible with a larger range of systems and
1010 compilers. There were many small changes to add declara-
1011 tions for ANSI C compliance. The System 5 support has been
1012 brought up to SYS5 R3, and there is support for Sun OS 4.0.
1014 _
\bU_
\bs_
\be_
\br-_
\bV_
\bi_
\bs_
\bi_
\bb_
\bl_
\be _
\bC_
\bh_
\ba_
\bn_
\bg_
\be_
\bs
1016 Here a quick summary of the changes that were made which are
1017 not backward-compatible with the previous release of _
\bM_
\bH:
1019 repl The `-format' and `-noformat' switches have not been
1020 functional since _
\bM_
\bH 5, and have been removed. Any
1021 users who have these switches in their .mh_profile,
1022 will have to remove them.
1024 sortm Previously, in most cases _
\bs_
\bo_
\br_
\bt_
\bm would fill-in any
1025 gaps in the numbering of a folder, by renumbering the
1026 messages starting with `1'. This will no longer
1027 occur; for this behavior, use "folder -pack".
1030 _
\bU_
\bs_
\bi_
\bn_
\bg _
\bA_
\bl_
\bi_
\ba_
\bs_
\be_
\bs
1032 A new profile entry `Aliasfile:' has been added. The _
\ba_
\bl_
\bi,
1033 _
\bs_
\be_
\bn_
\bd, and _
\bw_
\bh_
\bo_
\bm programs will look for this profile entry and
1034 treat it as they would an argument to `-alias'. This should
1035 make it easier for novice _
\bM_
\bH users to begin using aliases.
1038 _
\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
1040 The UCI BBoards facility can read local BBoards, and if com-
1041 piled with the `bboards: pop' and `pop: on' options, can
1042 also read remote BBoards using the Post Office Protocol (POP
1043 ver. 3). With this release, _
\bM_
\bH can instead be compiled to
1044 read the Network News (i.e., USENET) using the Network News
1045 Transfer Protocol (NNTP).
1047 This capability is enabled by compiling _
\bM_
\bH with the
1048 `bboards: nntp' and `pop: on' options. Unfortunately, read-
1049 ing remote BBoards via the POP and reading the Network News
1050 via the NNTP are mutually exclusive options.
1060 Changes for MH 6.7.0 17
1063 To support the NNTP, a new module, uip/pshsbr.c, is
1064 compiled and loaded into _
\bb_
\bb_
\bc and _
\bm_
\bs_
\bh instead of
1065 uip/popsbr.c. The default BBoard is changed from "system"
1066 to "general" for the NNTP.
1068 When reading BBoards, _
\bb_
\bb_
\bc will first look for local
1069 BBoards, and then contact the NNTP server to read the Net-
1070 work News. The location of the NNTP server should be speci-
1071 fied with the `nntphost:' entry in the mtstailor file (see
1072 the _
\bM_
\bH Administrator's Guide for details), or may be speci-
1073 fied on the command line with the `-host' switch.
1076 _
\bF_
\bo_
\br_
\bm_
\ba_
\bt _
\bS_
\bt_
\br_
\bi_
\bn_
\bg_
\bs
1078 The manual page _
\bm_
\bh-_
\bf_
\bo_
\br_
\bm_
\ba_
\bt (5) has been rewritten to give a
1079 better explanation of how to write format strings, and how
1080 they are interpreted by _
\bM_
\bH. A line-by-line description of
1081 the default _
\br_
\be_
\bp_
\bl form file (replcomps) is now included in
1084 Some new format functions were added, and others were aug-
1087 trim Strips any leading and trailing white-space from
1088 the current string value.
1090 date2local Will coerce the date to the local timezone.
1092 date2gmt Will coerce the date to GMT.
1094 divide Divides the current numeric value by its argu-
1095 ment. This could be useful for building _
\bs_
\bc_
\ba_
\bn
1096 format strings which print large message sizes
1099 friendly If the address field cannot be parsed, this
1100 function will return the text of the address
1101 header, instead of a null string.
1103 szone A flag indicating whether the timezone was ex-
1104 plicit in the date string.
1106 _
\bP_
\bR_
\bO_
\bG_
\bR_
\bA_
\bM _
\bC_
\bH_
\bA_
\bN_
\bG_
\bE_
\bS
1108 In addition to the general changes mentioned above, many
1109 programs have specific new features added, either by new
1110 switches or by expanded functionality. Each command's
1111 manual page gives complete information about its new
1112 options. Here is a short summary.
1114 _
\bU_
\bs_
\be_
\br _
\bI_
\bn_
\bt_
\be_
\br_
\bf_
\ba_
\bc_
\be _
\bP_
\br_
\bo_
\bg_
\br_
\ba_
\bm_
\bs
1116 anno Accepts a `-nodate' switch which inhibits the date
1126 Changes for MH 6.7.0 18
1129 annotation, leaving only the body annotation.
1131 folder When invoked with the `-pack' switch and the new
1132 `-verbose' switch, _
\bf_
\bo_
\bl_
\bd_
\be_
\br will give information
1133 about the actions taken to renumber the folder.
1135 On most systems, _
\bf_
\bo_
\bl_
\bd_
\be_
\br can now create any
1136 non-existing parent folders of a new sub-folder.
1138 forw When making digests, _
\bf_
\bo_
\br_
\bw will put the issue and
1139 volume numbers in addition to the digest list
1140 name, in the digest trailer.
1142 inc Detects NFS write failures, and will not zero your
1143 maildrop in that event.
1145 msh Supports a variant of the new _
\bs_
\bo_
\br_
\bt_
\bm.
1147 prompter Considers a period on a line by itself to signify
1148 end-of-file when the `-doteof' switch is speci-
1151 repl The `-[no]format' switches have not been used
1152 since _
\bM_
\bH 5 and have been deleted. _
\br_
\be_
\bp_
\bl will now
1153 find filter files in the _
\bM_
\bH library area.
1155 scan With the `-file msgbox' switch, _
\bs_
\bc_
\ba_
\bn can list a
1156 _
\bp_
\ba_
\bc_
\bk_
\bf'd-format file directly (without using _
\bm_
\bs_
\bh).
1158 Lists messages in reverse order with the
1159 `-reverse' switch. This should be considered a
1162 sortm Now has the options: `-textfield field', `-notext-
1163 field', `-limit days', and `-nolimit'.
1165 With these options, _
\bs_
\bo_
\br_
\bt_
\bm can be instructed to
1166 sort a folder based on the contents of an arbi-
1167 trary header such as "subject".
1169 _
\bs_
\bo_
\br_
\bt_
\bm minimizes renaming messages, and will no
1170 longer arbitrarily pack folders; for this
1171 behavior, use "folder -pack".
1173 whatnow Deletes the draft by renaming it with leading
1174 comma, instead of unlinking it.
1176 _
\bM_
\bH _
\bS_
\bu_
\bp_
\bp_
\bo_
\br_
\bt _
\bP_
\br_
\bo_
\bg_
\br_
\ba_
\bm_
\bs
1178 The following support programs also have changes or enhance-
1181 mhl Will now accept a format string on any component,
1182 not just on addresses and dates.
1192 Changes for MH 6.7.0 19
1195 popd Will use _
\bs_
\bh_
\ba_
\bd_
\bo_
\bw passwords if compiled with the SHA-
1196 DOW option. It can now also read UUCP-style mail-
1199 rcvtty If given no arguments, _
\br_
\bc_
\bv_
\bt_
\bt_
\by will produce a scan
1200 listing as specified by a format string or file; a
1201 default format string is used if one is not speci-
1204 Before the listing is written to the users terminal,
1205 the terminal's bell is rung and a newline is output.
1206 The `-nobell' and the `-nonewline' options inhibit
1209 _
\br_
\bc_
\bv_
\bt_
\bt_
\by will obey terminal write notification set by
1210 _
\bm_
\be_
\bs_
\bg. With the `-biff' switch, _
\br_
\bc_
\bv_
\bt_
\bt_
\by will also
1211 obey the mail notification status set by _
\bb_
\bi_
\bf_
\bf.
1213 On BSD43 systems, as with _
\bw_
\br_
\bi_
\bt_
\be, _
\br_
\bc_
\bv_
\bt_
\bt_
\by will be
1214 installed set-group-id to the group "tty".
1216 slocal Understands UUCP-style "From " lines and will write
1217 output files using this format if appropriate.
1218 Before invoking a delivery program, _
\bs_
\bl_
\bo_
\bc_
\ba_
\bl will
1219 strip such lines unless compiled with the RPATHS
1220 option, in which case it will will convert such
1221 lines into "Return-Path:" headers.
1223 _
\bs_
\bl_
\bo_
\bc_
\ba_
\bl has a new result code "N", for use in .mail-
1224 delivery files. With this result code, _
\bs_
\bl_
\bo_
\bc_
\ba_
\bl will
1225 perform the action only if the message has not been
1226 delivered and the previous action succeeded. This
1227 allows for performing an action only if multiple
1228 conditions are true.
1230 _
\bD_
\bO_
\bC_
\bU_
\bM_
\bE_
\bN_
\bT_
\bA_
\bT_
\bI_
\bO_
\bN
1232 Several of the older _
\bM_
\bH papers have been difficult to format
1233 because they depended on an older version of PhDTeX which
1234 was not supplied. These papers have been updated, and some
1235 TeX library files are supplied in papers/doclib/, so that
1236 these papers may be generated on any system with TeX.
1238 Many of the manual pages have been revised to include
1239 documentation of new command options, and some have been
1240 expanded to give more detail. All are now slightly refor-
1241 matted at installation time to make them more compatible
1242 with programs like _
\bm_
\ba_
\bk_
\be_
\bw_
\bh_
\ba_
\bt_
\bi_
\bs.
1245 _
\bM_
\bH _
\bA_
\bD_
\bM_
\bI_
\bN_
\bI_
\bS_
\bT_
\bR_
\bA_
\bT_
\bI_
\bO_
\bN
1247 This section describes changes in configuring, compiling and
1248 installing _
\bM_
\bH 6.7 and should not be of interest to casual _
\bM_
\bH
1258 Changes for MH 6.7.0 20
1261 users. The READ-ME file has been considerably revised and
1262 expanded to give more detail about the configuration and
1263 compilation options which have been included in this
1264 release. Some compilation options have been removed, and
1265 many new options have been added.
1267 All _
\bM_
\bH Makefiles have been updated to work around some
1268 incompatibilities introduced in newer versions of _
\bm_
\ba_
\bk_
\be. _
\bM_
\bH
1269 programs will no longer be installed with the sticky-bit
1272 Reading this section not a substitute for carefully
1273 reading the READ-ME file before attempting to compile _
\bM_
\bH
1276 _
\bB_
\bu_
\bg _
\bF_
\bi_
\bx_
\be_
\bs
1278 Some bugs were fixed which in general were not user-visible:
1280 address parser Fixed to allow use of the "AT" domain, and
1281 some minor bugs were fixed pertaining to ad-
1284 date parser Improved to accept more forms of illegal
1285 dates. Military timezones were removed.
1287 dynamic memory Many problems with corruption of the dynamic
1288 memory pool have been fixed.
1290 locking Will open files for write, if necessary to
1293 nil pointers All reported nil pointer problems have been
1296 replcomps The "In-Reply-To:" header had quotes added
1297 around the date field to comply with RFC822.
1299 _
\bW_
\bh_
\bi_
\bt_
\be _
\bP_
\ba_
\bg_
\be_
\bs
1301 If _
\bM_
\bH is compiled with the WP option, _
\bs_
\be_
\bn_
\bd recognizes an
1302 address between "<<" and ">>" characters such as:
1304 To: << rose -org psi >>
1306 to be a name meaningful to a whitepages service. In order
1307 to expand the name, _
\bs_
\be_
\bn_
\bd must be invoked interactively
1308 (i.e., not from _
\bp_
\bu_
\bs_
\bh). For each name, _
\bs_
\be_
\bn_
\bd will invoke a
1309 command called _
\bf_
\br_
\be_
\bd in a special mode asking to expand the
1312 To get a copy of the white pages service, contact
1313 wpp-manager@psi.com.
1324 Changes for MH 6.7.0 21
1327 _
\bC_
\bo_
\bn_
\bf_
\bi_
\bg_
\bu_
\br_
\ba_
\bt_
\bi_
\bo_
\bn _
\bO_
\bp_
\bt_
\bi_
\bo_
\bn_
\bs
1329 Some configuration options have been added or changed:
1331 cc To specify an alternate C compiler.
1333 ccoptions Defaults to `-O'.
1335 bboards May now be defined as "on", "off", "pop", or
1338 bbdelivery Determines whether the bboard delivery agent and
1339 library files should be installed.
1341 lex To specify an alternate version of _
\bl_
\be_
\bx.
1343 mailgroup If defined, _
\bi_
\bn_
\bc will be made set-group-id to
1346 sharedlib For SUN40 systems; if "on", makes libmh.a into a
1349 slibdir The directory where the above shared library
1350 should be installed.
1352 sprintf Set this to "int" if that's what your
1353 _
\bs_
\bp_
\br_
\bi_
\bn_
\bt_
\bf (3) library routine returns.
1355 _
\bC_
\bo_
\bm_
\bp_
\bi_
\bl_
\ba_
\bt_
\bi_
\bo_
\bn _
\bO_
\bp_
\bt_
\bi_
\bo_
\bn_
\bs
1357 For different configurations, several `-D' options to _
\bc_
\bc
1358 have been added or changed:
1360 BERK This disables the address and date parsing rou-
1361 tines. If you want to do much with
1362 _
\bm_
\bh-_
\bf_
\bo_
\br_
\bm_
\ba_
\bt (5), don't enable this.
1364 BSD43 Will make _
\br_
\bc_
\bv_
\bt_
\bt_
\by set-group-id to the group
1367 DBM For sites with a dbm-style password file (such
1368 as with Yellow Pages), _
\bM_
\bH will not read the
1369 entire passwd file into a cache. At one site
1370 that runs YP on a large passwd file, using this
1371 showed a 6:1 performance improvement.
1373 NETWORK This option has been deleted. See SOCKETS.
1375 NOIOCTLH Tells _
\bM_
\bH not to include the file sys/ioctl.h.
1376 Use this if this file is not present on your
1379 NTOHLSWAP On systems with TCP/IP networking, _
\bm_
\bs_
\bh will try
1380 to use the ntohl() macro from the file
1390 Changes for MH 6.7.0 22
1393 netinet/in.h to byte-swap the binary map files
1396 SENDMAILBUG Some versions of _
\bs_
\be_
\bn_
\bd_
\bm_
\ba_
\bi_
\bl return a 451 (failure)
1397 reply code when they don't mean to indicate
1398 failure. This option considers that code to be
1399 equivalent to 250 (OK).
1401 SHADOW Causes _
\bp_
\bo_
\bp_
\bd to read the file /etc/shadow for
1402 encrypted passwords instead of /etc/passwd. Use
1403 this if you have a shadow password file (such as
1404 on newer versions of SYSTEM 5).
1406 SOCKETS Enable this if you are on a non-BSD system with
1407 a socket interface for TCP/IP networking compa-
1408 tible with 4.2BSD UNIX.
1410 SUN40 Use on Suns running Sun OS 4.0 and later.
1412 SYS5 This option has been updated to refer to SYS5 R3
1415 SYS5DIR Use this if your system uses "struct dirent"
1416 instead of "struct direct". This should be true
1417 for systems based on SYS5 R3 and later.
1419 TYPESIG Defines the base type for the _
\bs_
\bi_
\bg_
\bn_
\ba_
\bl system
1420 call. This defaults to "int", but should be
1421 defined as "void" if appropriate for your sys-
1424 WP Enables support for the White Pages service.
1426 _
\bI_
\bn_
\bs_
\bt_
\ba_
\bl_
\bl_
\ba_
\bt_
\bi_
\bo_
\bn
1428 _
\bM_
\bH will now explicitly set the protection mode on every file
1431 Previously any existing file installed by _
\bM_
\bH would be
1432 backed up into the source tree, and then overwritten. Now,
1433 a few system-dependent files will not be overwritten, and
1434 your changes will have to be merged in by hand. See the
1435 READ-ME file for more details.