Annotation of 43BSDReno/contrib/mh/papers/mh6.5/mh6.tex, revision 1.1

1.1     ! root        1: % run this through LaTeX
        !             2: 
        !             3: \input lcustom
        !             4: 
        !             5: \documentstyle[12pt,sfwmac]{article}
        !             6: 
        !             7: \begin{document}
        !             8: 
        !             9: \title{Changes to\\ The Rand MH Message Handling System:\\
        !            10:        MH \#6.5 for 4.3BSD UNIX}
        !            11: \author{Marshall T.~Rose\\
        !            12:        Northrop Research and Technology Center\\
        !            13:        One~Research Park\\
        !            14:        Palos Verdes Peninsula, CA  90274}
        !            15: \date{\ifdraft \versiondate/\\ Version \versiontag/\else \today\fi}
        !            16: \maketitle
        !            17: \footnotetext[0]{\hskip -\parindent
        !            18: This document (version \versiontag/)
        !            19: was \LaTeX set \today\ with \fmtname\ v\fmtversion.}
        !            20: 
        !            21: \begin{abstract}
        !            22: This document describes the user-visible change to the
        !            23: UCI version of the Rand \MH/ system that were made from \mh5 to \MH/ \#6.5.
        !            24: It is based on the \mh6 changes document,
        !            25: but has been updated to accurately reflect the \MH/ distributed with
        !            26: 4.3\bsd/~\unix/.
        !            27: This document does not describe bug-fixes, per se,
        !            28: or internal changes,
        !            29: unless these activities resulted in a visible change for the \MH/ user.
        !            30: 
        !            31: This document is meant to supplement,
        !            32: not supersede, the standard \MH/ User's manual\cite{MH.USR}.
        !            33: 
        !            34: Comments concerning this documentation should be addressed to the Internet
        !            35: mailbox {\sf [email protected]}.
        !            36: \end{abstract}
        !            37: 
        !            38: \newpage
        !            39: \section*     {Acknowledgements}
        !            40: The \MH/ system described herein is based on the original Rand \MH/ system.
        !            41: It has been extensively developed (perhaps too much so) by Marshall T.~Rose
        !            42: and John L.~Romine at the University of California, Irvine.
        !            43: Einar A.~Stefferud, Jerry N.~Sweet,
        !            44: and Terry P.~Domae provided numerous suggestions
        !            45: to improve the UCI version of \MH/.
        !            46: Of course,
        !            47: a large number of people have helped \MH/ along.
        !            48: The list of ``\MH/~immortals'' is too long to list here.
        !            49: However, Van Jacobson deserves a special acknowledgement for his tireless
        !            50: work in improving the performance of \MH/.
        !            51: Some programs have been speeded-up by a factor of 10 or 20.
        !            52: All of users of \MH/, everywhere, owe a special thanks to Van.
        !            53: 
        !            54: \section*     {Disclaimer}
        !            55: The Regents of the University of California wish to make it known that:
        !            56: \begin{quote}
        !            57: Although each program has been tested by its contributor,
        !            58: no warranty, express or implied,
        !            59: is made by the contributor or the University of California,
        !            60: as to the accuracy and functioning of the program
        !            61: and related program material,
        !            62: nor shall the fact of distribution constitute any such warranty,
        !            63: and no responsibility is assumed by the contributor
        !            64: or the University of California in connection herewith.
        !            65: \end{quote}
        !            66: 
        !            67: \newpage
        !            68: \section*     {Conventions}
        !            69: In this document,
        !            70: certain \LaTeX -formatting conventions are adhered to:
        !            71: \begin{enumerate}
        !            72: \item  The names of \unix/ commands, such as \pgm{comp},
        !            73: are presented in {\it text italics}.
        !            74: 
        !            75: \item  Arguments to programs, such as \arg"msgs",
        !            76: are presented in {\tt typewriter style} and delimited by single-quotes.
        !            77: 
        !            78: \item  \unix/ pathnames and envariables,
        !            79: such as $$\file{/usr/uci/}\hbox{\qquad and\qquad}\file{\$SIGNATURE},$$
        !            80: are presented in {\sl slanted roman}.
        !            81: 
        !            82: \item  Text presenting an example, such as
        !            83: \begin{verbatim}
        !            84:     comp -editor zz
        !            85: \end{verbatim}
        !            86: is presented in {\tt typewriter style}.
        !            87: \end{enumerate}
        !            88: 
        !            89: \newpage
        !            90: \section*     {General Changes}
        !            91: Unlike the changes between \mh4 and \mh5,
        !            92: a large number of user-visible changes have been made in \mh6.
        !            93: These changes have been in the form of bug fixes and several generalizations.
        !            94: The majority of these will not affect novice users.
        !            95: In addition, \mh6 is a great deal faster than \mh5:
        !            96: all programs have been speeded-up significantly,
        !            97: thanks to work done by Van Jacobson as part of the process of including \mh6
        !            98: in the 4.3\bsd/~\unix/ distribution.
        !            99: 
        !           100: This document describes all user-visible changes to \mh5 from it's initial
        !           101: release to the intermediate release of \MH/ \#6.5.
        !           102: 
        !           103: \subsection*   {System-5 Support}
        !           104: In addition to support for \bsd/~\unix/, V7~\unix/ and \xenix/ variants of
        !           105: \unix/,
        !           106: \MH/ finally has support for the AT\&T variant of \unix/, System~5.
        !           107: Hopefully this will greatly expand the number of system which can run \MH/.
        !           108: Ironically,
        !           109: it appears that five ports of earlier versions of \MH/ (including \mh5)
        !           110: were done,
        !           111: but news of the work was not widespread.%
        !           112: \footnote{In fact,
        !           113: three groups in one large organization ported \MH/ independently,
        !           114: each without knowledge of the others' work.}
        !           115: 
        !           116: \subsection*   {Documentation}
        !           117: Several new documents have been included in the \mh6 distribution:
        !           118: The paper {\em MH.5: How to process 200 messages a day and still get some
        !           119: real work done}
        !           120: was presented at the 1985 Summer Usenix Conference and Exhibition in
        !           121: Portland, Orgeon.
        !           122: Another paper, {\em MH: A Multifarious User Agent},
        !           123: has been accepted for publication by Computer Networks.
        !           124: Both describe \MH/,
        !           125: the former from a more technical and somewhat humorous perspective,
        !           126: the latter from a more serious and research-oriented perspective.
        !           127: In addition,
        !           128: a third paper has been included,
        !           129: {\em Design of the TTI Prototype Trusted Mail Agent},
        !           130: which describes a so-called ``trusted'' mail agent built on top of \MH/.
        !           131: This paper was presented at the Second International Symposium on
        !           132: Computer Message Systems in Washington, D.C.
        !           133: A fourth paper,
        !           134: {\em MZnet: Mail Service for Personal Micro-Computer Systems},
        !           135: is also included.
        !           136: This paper,
        !           137: which was presented at the First International Symposium on Computer Message
        !           138: Systems in Nottingham, U.K.,
        !           139: describes a \cpm/-based version of \MH/.
        !           140: 
        !           141: In addition,
        !           142: the \MH/ tutorial, {\em The Rand MH Message Handling System: Tutorial},
        !           143: and,
        !           144: {\em The Rand MH Message Handling System: The UCI BBoards Facility},
        !           145: have both been updated by Jerry N.~Sweet.
        !           146: 
        !           147: For \MH/ administrators (PostMasters and the like),
        !           148: there's an entirely new document,
        !           149: {\em The Rand MH Message Handling System: Administrator's Guide}.
        !           150: It explains most of the ``ins and outs'' of maintaining an \MH/ system.
        !           151: 
        !           152: Finally, all of the manual entries and the \MH/ manual have had a thorough
        !           153: working over.
        !           154: The documentation is expanded, more accurate, and more detailed.
        !           155: 
        !           156: \subsection*   {Help Listings}
        !           157: When any \MH/ command is invoked with the \switch"help" switch,
        !           158: in addition to listing the syntax of the command and version information,
        !           159: the \MH/ configuration options will be listed.
        !           160: \MH/ has so many configuration options,
        !           161: that when debugging problems, this information is invaluable.
        !           162: 
        !           163: \subsection*   {The \MH/ Profile}
        !           164: There are two new profile entries worth noting:
        !           165: \verb"MH-Sequences" tells \MH/ the name of the file to record public
        !           166: sequences in.
        !           167: Users of \pgm{vm}, a proprietary, visual front-end to \MH/,
        !           168: make use of this to disable the public sequences feature of \MH/.
        !           169: 
        !           170: The profile entry \verb"Unseen-Sequence" names those sequences which should be
        !           171: defined as those messages recently incorporated by \pgm{inc}.
        !           172: The \pgm{show} program knows to remove messages from this sequence once it
        !           173: thinks they have been seen.
        !           174: If this profile entry is not present, or is empty, then no sequences are
        !           175: defined.
        !           176: Otherwise, for each name given, the sequence is first zero'd and then each
        !           177: message incorporated is added to the sequence.
        !           178: As such, this profile entry is rather analogous to the
        !           179: \verb"Previous-Sequence" entry in the user's \MH/ profile.
        !           180: 
        !           181: In addition, the \verb"Alternate-Mailboxes" entry in the profile has been
        !           182: expanded to support simple wild-carding.
        !           183: Also, the default for this profile entry is now the user's mail-id at any host.
        !           184: This change was made since \MH/ can no longer reliably figure out what
        !           185: the user's real outgoing address looks like.
        !           186: 
        !           187: Finally,
        !           188: when the \pgm{install-mh} program is automatically invoked by \MH/,
        !           189: it won't prompt the user for information.
        !           190: Instead, it notes that it's setting up the default environment.
        !           191: In addition,
        !           192: the \MH/ administrator may set-up a file called \file{mh.profile} in the \MH/
        !           193: library area which is consulted by \pgm{install-mh} when initializing the
        !           194: user's \profile/.
        !           195: 
        !           196: \subsection*   {The \MH/ Context}
        !           197: The \pgm{folder}, \pgm{scan}, and \pgm{show} programs have been modified to
        !           198: update the user's \MH/ context prior to writing to the user's terminal.
        !           199: This allows the \MH/ user interrupt output to the terminal and still have the
        !           200: expected context.
        !           201: This is especially useful to interrupt long \pgm{scan} listings.
        !           202: This change also introduces a subtle bug between \pgm{show} and messages
        !           203: denoted by the \verb"Unseen-Sequence".
        !           204: See \man show(1) for the details.
        !           205: 
        !           206: \subsection*   {Addresses and 822 support}
        !           207: \MH/ now fully supports the RFC-822 routing syntax for addresses
        !           208: (it used to recognize the syntax, but ignore the information present).
        !           209: In addition,
        !           210: there are three major modes for support of non-822 addressing in \MH/:
        !           211: \begin{itemize}
        !           212: \item  BERK\\
        !           213: This is useful on sites running \SendMail/.
        !           214: It doesn't support full 822--style addressing,
        !           215: in favor of recognizing such formats as ACSnet, and so on.
        !           216: For sites that can't run in an 822--compliant environment,
        !           217: this is the option to use
        !           218: (at the price of sacrificing some of the power of 822--style addressing).
        !           219: This also drastically reduces the address formatting facilities described
        !           220: below.
        !           221: 
        !           222: \item  DUMB\\
        !           223: Although not as liberal as BERK,
        !           224: the DUMB option is useful on sites in which the message transport system
        !           225: conforms to the 822 standard,
        !           226: but wants to do all the defaulting itself.
        !           227: 
        !           228: \item  BANG\\
        !           229: From out in left field,
        !           230: the BANG option favors \UUCP/-style addressing over 822--style addressing.
        !           231: Hopefully when all the \UUCP/ sites around get around to adopting domain-style
        !           232: addresses, this option won't be needed.
        !           233: \end{itemize}
        !           234: 
        !           235: The \pgm{ap} program (mentioned momentarily) and the \pgm{ali} program
        !           236: both support a \switch"normalize" switch indicate if addresses should be
        !           237: resolved to their ``official'' hostnames.
        !           238: 
        !           239: \subsection*   {New Programs}
        !           240: There are five new programs available:
        !           241: The \pgm{ap} program is the \MH/ stand-alone address parser.
        !           242: It's useful for printing address in various formats
        !           243: (and for debugging address strings).
        !           244: The \pgm{dp} program is similar, but works on dates instead of addresses.
        !           245: 
        !           246: The \pgm{msgchk} program checks for new mail,
        !           247: possibly using the Post Office Protocol, POP, described below.
        !           248: 
        !           249: A new receive mail hook,
        !           250: the \pgm{rcvstore} program,
        !           251: which was written by Julian L.~Onions is available.
        !           252: 
        !           253: Finally, a visual front-end to \pgm{msh} called \pgm{vmh} has been included.
        !           254: (This program is discussed in greater detail later on.)
        !           255: 
        !           256: \subsection*   {Message Numbering}
        !           257: \MH/ now no longer restricts the number of messages which may reside in a
        !           258: folder
        !           259: (beyond that of system memory constraints).
        !           260: This means that message numbers larger than 2000 are permissible.
        !           261: Hopefully this will make life easier for people reading the network news
        !           262: using \MH/.
        !           263: 
        !           264: \section*     {The WhatNow Shell}
        !           265: In \mh6,
        !           266: there is now the concept of a unified \whatnow/ processor that
        !           267: the four composition programs, \pgm{comp}, \pgm{dist}, \pgm{forw},
        !           268: and \pgm{repl} all invoke.
        !           269: This permits a greater flexibility in building mail applications with \MH/.
        !           270: As a result, there's a new program, \pgm{whatnow}, which acts as the default
        !           271: \whatnow/ program.
        !           272: Consult the \man whatnow(1) manual entry for all the details.
        !           273: The only important user-visible change is the \verb"headers" option went away,
        !           274: which wasn't used that much anyway.
        !           275: 
        !           276: 
        !           277: The only other thing worth noting is that unless \MH/ has been compiled with
        !           278: the UCI option,
        !           279: the user's \file{\$HOME/.signature} file is not consulted for the user's
        !           280: personal name.
        !           281: 
        !           282: \section*     {Format Strings}
        !           283: A general format string facility has been added to allow \MH/ users to tailor
        !           284: the output of certain commands.
        !           285: 
        !           286: The \pgm{inc}, \pgm{scan}, \pgm{ap}, and \pgm{dp} programs all consult a
        !           287: file containing format strings.
        !           288: Format strings,
        !           289: which look a lot like \man printf(3) strings,
        !           290: give these \MH/ commands precise instructions on how to format their output.
        !           291: 
        !           292: As a result,
        !           293: the \pgm{inc} and \pgm{scan} programs no longer have the
        !           294: \switch"size", \switch"nosize",
        !           295: \switch"time", \switch"notime",
        !           296: \switch"numdate", and \switch"nonumdate"
        !           297: switches.
        !           298: These switches have been replaced with the
        !           299: \switch"form formatfile" switch and the \switch"format string" switch.
        !           300: The former directs the program to consult the named file for the format
        !           301: strings.
        !           302: The latter directs the program to use the named string as the format.
        !           303: To get the behavior of the old \switch"time" option,
        !           304: use the \switch"form scan.time" option.
        !           305: Similarly,
        !           306: to get the effect of \switch"size",
        !           307: use \switch"form scan.size".
        !           308: 
        !           309: A fun form to use is \switch"form scan.timely" with \pgm{scan}.
        !           310: Try it sometime.
        !           311: 
        !           312: 
        !           313: The \pgm{repl} command uses a file containing format files to
        !           314: indicate how the reply draft should be constructed.
        !           315: Note that reply templates prior to \mh6 are incompatible with \mh5.%
        !           316: \footnote{In fact, reply templates between \mh6 and \MH/ \#6.5 are
        !           317: imcompatible.}
        !           318: Don't worry though,
        !           319: it's quite easy to convert the templates by hand.
        !           320: (Those clever enough to have written a reply template to begin with won't
        !           321: have {\em any\/} problem.)
        !           322: 
        !           323: Similarly, when the \pgm{forw} program is constructing a digest,
        !           324: it uses a file containing format strings to indicate how to build the
        !           325: encapsulating draft.
        !           326: 
        !           327: Finally, you can use these facilities in \pgm{mhl} as well.
        !           328: 
        !           329: \section*     {News}
        !           330: The depreciated \MH/ news system (from \mh1) is now de-supported.
        !           331: Use the ``hoopy'' BBoards facility instead.
        !           332: 
        !           333: \section*     {BBoards}
        !           334: \MH/ maintainers take note:
        !           335: the default home directory for the bboards login has changed from
        !           336: \file{/usr/bboards/} to \file{/usr/spool/bboards/}.
        !           337: Use the \verb"bbhome" directive in your \MH/ configuration file to set
        !           338: it back to the old value if you wish.
        !           339: 
        !           340: In addition, the aliases field for a BBoard in the BBoards file is now
        !           341: deemed useful only for addressing, not for user input to \pgm{bbc}.
        !           342: This means when giving the name of a BBoard to \pgm{bbc},
        !           343: only the official name should be used.
        !           344: 
        !           345: A final note for mailsystem maintainers:
        !           346: the \MMDFII/ BBoards channel and the \SendMail/ BBoards mailer have been
        !           347: modified to use the standard message encapsulation format when returning
        !           348: failed messages to the list maintainer.
        !           349: This means that the failure notices that the maintainer receives can
        !           350: simply be \pgm{burst}.
        !           351: 
        !           352: \subsection*   {New Switches in bbc}
        !           353: The \pgm{bbc} program permits you to specify the \verb"mshproc" to use on the
        !           354: command line by using the \switch"mshproc program" option.
        !           355: There's also a \switch"rcfile file" option which does ``the obvious thing''.
        !           356: In addition, options which aren't understood by \pgm{bbc} are passed along to
        !           357: the \verb"mshproc".
        !           358: 
        !           359: In addition, the following commands
        !           360: pass any unrecognized switches on to the program that they invoke:
        !           361: \pgm{bbc}, \pgm{next}, \pgm{show}, \pgm{prev}, and \pgm{vmh}.
        !           362: 
        !           363: \subsection*   {Distributed BBoards}
        !           364: If both BBoards and POP (see the next section) are enabled,
        !           365: then distributed BBoards can be supported on top of the POP service.
        !           366: This allows the \MH/ user to read BBoards on a server machine
        !           367: instead of the local host
        !           368: (which saves a lot of wasted disk space when the same BBoards are replicated
        !           369: several times at a site with several hosts).
        !           370: See the {\em Administrator's Guide\/} for information on how this can be made
        !           371: completely transparent to the \MH/ user.
        !           372: 
        !           373: If you have several machines at your site running 4.2\bsd/~\unix/
        !           374: and connected by an \ethernet/ (or other high-speed LAN),
        !           375: you {\em want\/} this software.
        !           376: 
        !           377: \subsection*   {Visual Front-End to msh}
        !           378: A simple window management protocol has been implemented for \MH/ programs
        !           379: that might wish to act as a back-end to a sophisticated visual front-end.
        !           380: 
        !           381: The first implementation of a server side (front-end) program is \pgm{vmh},
        !           382: which uses \man curses(3) to maintain a split-screen interface.
        !           383: Perhaps look for a \pgm{mhtool} program for the SUN next!
        !           384: 
        !           385: The \pgm{msh} program has been modified to speak the client side (back-end)
        !           386: of this protocol, if so directed.
        !           387: At present, \pgm{msh} is the only program in the \MH/ distribution which
        !           388: implements the client side of the window management protocol.
        !           389: 
        !           390: \subsection*   {Updates in msh}
        !           391: Prior to quitting,
        !           392: the \pgm{msh} command now asks if the \pgm{packf\/}'d file you've been
        !           393: perusing should be updated if you've modified it and the file is writable by
        !           394: you.
        !           395: The file can be modified by using \pgm{burst}, \pgm{rmm}, \pgm{rmm},
        !           396: or \pgm{sortm} commands.
        !           397: The file can also be modified by using the \pgm{refile} command without the
        !           398: \switch"link" option.
        !           399: (Or course,
        !           400: the \switch"link" option doesn't actually link anything to the file.)
        !           401: 
        !           402: \section*     {Distributed Mail}
        !           403: \MH/ now contains a powerful facility for doing distributed mail
        !           404: (having \MH/ reside on a host different than the message transport agent).
        !           405: For general information,
        !           406: consult either the 
        !           407: {\em MH.5: How to process 200 messages a day and still get some real work
        !           408: done} paper,
        !           409: or the {\em MH: A Multifarious User Agent} paper.
        !           410: For specific information,
        !           411: consult the {\em Administrator's Guide}.
        !           412: Here's a brief synopsis:
        !           413: 
        !           414: This POP facility in \MH/ is based on a modification of the ARPA Post
        !           415: Office Protocol (POP).
        !           416: A POP {\em subscriber\/} is a remote user,
        !           417: on a POP {\em client host},
        !           418: that wishes to pick-up mail on a POP {\em service host}.
        !           419: 
        !           420: There are two ways to administer POP:
        !           421: \begin{itemize}
        !           422: \item  Naive Mode\\
        !           423: Each user-id in the \man passwd(5) file is considered a POP subscriber.
        !           424: No changes are required for the mailsystem on the POP service host.
        !           425: However,
        !           426: this method requires that each POP subscriber have an entry in the password
        !           427: file.
        !           428: The POP server will fetch the user's mail from wherever maildrops are kept on
        !           429: the POP service host.
        !           430: This means that if maildrops are kept in the user's home directory,
        !           431: then each POP subscriber must have a home directory.
        !           432: 
        !           433: \item  Smart Mode\\
        !           434: This is based on the notion that the list of POP subscribers and the list of
        !           435: login users are completely separate name spaces.
        !           436: A separate database (similar to the \man BBoards(5) file)
        !           437: is used to record information about each POP subscriber.
        !           438: Unfortunately,
        !           439: the local mailsystem must be changed to reflect this.
        !           440: This requires two changes (both of which are simple):
        !           441: \begin{enumerate}
        !           442: \item  Aliasing\\
        !           443:        The aliasing mechanism is augmented so that POP subscriber addresses
        !           444:        are diverted to a special delivery mechanism.
        !           445:        \MH/ comes with a program, \man popaka(8), which generates the
        !           446:        additional information to be put in the mailsystem's alias file.
        !           447: \item  Delivery\\
        !           448:        A special POP delivery channel (for \MMDFII/)
        !           449:        or POP mailer (for \SendMail/) performs the actual delivery (\mh6
        !           450:        supplies both).
        !           451:        All it really does is just place the mail in the POP spool area.
        !           452: \end{enumerate}
        !           453: Clever mailsystem people will note that
        !           454: the POP mechanism is really a special case of the more general
        !           455: BBoards mechanism.
        !           456: \end{itemize}
        !           457: These two different philosophies are not compatible on the same POP service
        !           458: host: one or the other, but not both, may be run.
        !           459: 
        !           460: In addition, there is one user-visible difference,
        !           461: which the administrator controls the availability of.
        !           462: The difference is whether the POP subscriber must supply a password to the POP
        !           463: server:
        !           464: \begin{itemize}
        !           465: \item  ARPA standard method\\
        !           466: This uses the standard ARPA technique of sending a username and a password.
        !           467: The appropriate programs (\pgm{inc}, \pgm{msgchk}, and possibly \pgm{bbc\/})
        !           468: will prompt the user for this information.
        !           469: 
        !           470: \item  \unix/ remote method\\
        !           471: This uses the Berkeley \unix/ reserved port method for authentication.
        !           472: This requires that the two or three mentioned above programs be {\em setuid\/}
        !           473: to root.
        !           474: (There are no known holes in any of these programs.)
        !           475: \end{itemize}
        !           476: These two different philosophies are compatible on the same POP service host:
        !           477: to selectively disable RPOP for hosts which aren't trusted,
        !           478: either modify the \file{.rhosts} file in the case of POP subscribers being
        !           479: \unix/ logins,
        !           480: or zero the contents of network address field of the \man pop(5) file for the
        !           481: desired POP subscribers.
        !           482: 
        !           483: The \pgm{inc} command also has two other switches when \MH/ is enabled for
        !           484: POP:
        !           485: \switch"pack file" and \switch"nopack".
        !           486: Normally,
        !           487: \pgm{inc} will use the POP to incorporate mail from a POP service host into
        !           488: an \MH/ folder (\verb"+inbox").
        !           489: However,
        !           490: there are some misguided individuals who prefer to \pgm{msh} to read their
        !           491: maildrop.
        !           492: By using the \switch"pack file" option,
        !           493: these individuals can direct \pgm{inc} to fetch their maildrop from the POP
        !           494: service host and store it locally in the named file.
        !           495: As expected, \pgm{inc} will treat the local file as a maildrop,
        !           496: performing the appropriate locking protocols.
        !           497: And,
        !           498: if the file doesn't exist,
        !           499: the user is now asked for confirmation.
        !           500: 
        !           501: \section*     {Rcvmail hooks}
        !           502: In order to offer users of \MH/ increased rcvmail hook functionality,
        !           503: the \pgm{slocal} program has been upgraded to support the semantics of
        !           504: the \MMDFII/ mail-delivery mechanism.
        !           505: This means that users of \mh6 can maintain identical \file{.maildelivery}
        !           506: files regardless of the underlying transport system.
        !           507: See \man mhook(1) for all the details.
        !           508: 
        !           509: \subsection*   {Change in rcvdist}
        !           510: The \pgm{rcvdist} rcvmail hook now uses the \MH/ formatting facility when
        !           511: redistributing a message.
        !           512: 
        !           513: \subsection*   {Field change in rcvpack}
        !           514: The \pgm{rcvpack} rcvmail hook now adds the field name \verb"Delivery-Date:"
        !           515: instead of \verb"Cron-Date:" to messages it \pgm{pack\/}s.
        !           516: 
        !           517: \section*     {GNU Emacs Support}
        !           518: James Larus' \pgm{mh-e} macro package for GNU Emacs (version~17) is included
        !           519: in the distribution.
        !           520: When loaded in Emacs, this provides a handy front-end.
        !           521: 
        !           522: \section*     {Other Changes}
        !           523: Here's the miscellany:
        !           524: 
        !           525: \subsection*   {Continuation Lines}
        !           526: Alias files used by \MH/,
        !           527: display templates used by \pgm{mhl},
        !           528: and format files used by \pgm{forw}, \pgm{repl}, and \pgm{scan} all support
        !           529: a standard continuation line syntax.
        !           530: To continue a line in one of these files,
        !           531: simply end the line with the backslash character (`$\backslash$').
        !           532: All the other files used by \MH/ are in 822--format,
        !           533: so the 822--continuation mechanism is used.%
        !           534: \footnote{Looking back,
        !           535: it would have been best had all files in \MH/ used the 822--format.}
        !           536: 
        !           537: \subsection*   {Default Date Format}
        !           538: \MH/ now uses numeric timezones instead of locally-meaningful alpha timezones
        !           539: when generating mail.
        !           540: This change was made to encourage the use of unambiguous, globally-meaningful
        !           541: timezone strings.
        !           542: A local configuration option can disable this correct behavior.
        !           543: All of the \pgm{mhl} templates have been modified to use locally-meaningful
        !           544: alpha timezones when displaying messages.
        !           545: 
        !           546: \subsection*   {New switch in ali}
        !           547: The \pgm{ali} command now has a \switch"noalias" switch to prevent
        !           548: system-wide aliases from being interpreted.
        !           549: 
        !           550: \subsection*   {Modifications to show}
        !           551: The \switch"format", \switch"noformat", \switch"pr", and \switch"nopr"
        !           552: options to \pgm{show} have gone away in favor of a more general mechanism.
        !           553: The \switch"showproc program" option tells \pgm{show}
        !           554: (or \pgm{next} or \pgm{prev\/}) to use the named program as the \verb"showproc".
        !           555: The \switch"noshowproc" option tells \pgm{show}, et. al.,
        !           556: to use the \man cat(1) program instead of a \verb"showproc".
        !           557: As a result, the profile entry \verb"prproc" is no longer used.
        !           558: 
        !           559: \subsection*   {Switch change in inc}
        !           560: The \switch"ms ms-file" switch in \pgm{inc} has been changed to
        !           561: \switch"file name" to be more consistent.
        !           562: 
        !           563: \subsection*   {Front-End to mhl}
        !           564: When outputting to a terminal,
        !           565: the \pgm{mhl} program now runs the program denoted by the profile entry
        !           566: \verb"moreproc".
        !           567: If this entry is not present,
        !           568: the default is the UCB \pgm{more} program.
        !           569: If the entry is non-empty,
        !           570: then that program is spliced between \pgm{mhl} and the user's terminal.
        !           571: The author uses the \pgm{less} program as his \verb"moreproc".
        !           572: 
        !           573: Of course,
        !           574: if \pgm{mhl} isn't outputting to a terminal,
        !           575: then \verb"moreproc" is not invoked.
        !           576: 
        !           577: Finally,
        !           578: to aid in the construction of replies,
        !           579: a prefix string may be specified for the \verb"body" component of the message
        !           580: being replied-to.
        !           581: Simply use the \verb"component=" construct in \pgm{mhl} for \verb"body:".
        !           582: 
        !           583: \subsection*   {Confirmation in packf}
        !           584: If the file specified by the \switch"file name" switch doesn't exist,
        !           585: the user is now asked for confirmation.
        !           586: 
        !           587: \subsection*   {Complex Expressions in pick}
        !           588: The \pgm{pick} command now handles complex boolean expressions.
        !           589: 
        !           590: \subsection*   {Defaults change in prompter and burst}
        !           591: The \switch"prepend" option is now the default in \pgm{prompter}.
        !           592: The \switch"noinplace" option is now the default in \pgm{burst}.
        !           593: 
        !           594: \subsection*   {Fcc:s and post}
        !           595: If multiple Fcc:s for a message are specified during posting,
        !           596: \pgm{post} will try much harder to preserve links.
        !           597: 
        !           598: \subsection*   {Interactive option in rmf}
        !           599: The \pgm{rmf} program has been changed to support an \switch"interactive"
        !           600: switch.
        !           601: If given,
        !           602: then the user is prompted regarding whether the folder should be deleted.
        !           603: If the folder to be removed is not given by the user,
        !           604: this switch is defaulted to on.
        !           605: 
        !           606: \subsection*   {Trusted Mail Interface}
        !           607: \MH/ now has an interface for so-called ``trusted mail'' applications.
        !           608: Although the modifications to \MH/ to support this are in the public domain,
        !           609: the actual library that \MH/ uses is not.
        !           610: Contact Professor David J.~Farber ({\sf Farber@UDel\/}) for more information.
        !           611: 
        !           612: \bibliography{bcustom,sfwdoc}
        !           613: \bibliographystyle{alpha}
        !           614: 
        !           615: \showsummary
        !           616: 
        !           617: \end{document}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.