home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / iso9660 / mail / mh / doc / changes.doc < prev    next >
Encoding:
Text File  |  1992-12-14  |  44.3 KB  |  1,321 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                                    Changes to
  11.                       The RAND MH Message Handling System:
  12.                                UCI version MH 6.8
  13.  
  14.  
  15.                                  John L. Romine
  16.  
  17.                             Computing Support Group
  18.                  Department of Information and Computer Science
  19.                         University of California, Irvine
  20.                              Irvine, CA  92717-3425
  21.  
  22.  
  23.                                     _A_B_S_T_R_A_C_T
  24.  
  25.  
  26.                     This document describes the changes to the
  27.                UCI version of the RAND MH system from MH 6.6 to
  28.                this release of MH 6.8.  This document is meant to
  29.                supplement, not supersede, the standard MH User's
  30.                manual and MH Administrator's manual.
  31.  
  32.                     Comments concerning this documentation should
  33.                be addressed to the mailbox Bug-MH@ICS.UCI.EDU, or
  34.                ucbvax!ucivax!bug-mh.
  35.  
  36.  
  37.  
  38.           _A_C_K_N_O_W_L_E_D_G_E_M_E_N_T_S
  39.  
  40.           The _M_H system described herein is based on the original RAND
  41.           _M_H system.  It has been extensively developed (perhaps too
  42.           much so) by Marshall T. Rose and John L. Romine at the
  43.           University of California, Irvine.  Einar A. Stefferud, Jerry
  44.           N. Sweet, and Terry P. Domae provided numerous suggestions
  45.           to improve the UCI version of _M_H.
  46.  
  47.                Of course, a large number of people have helped _M_H
  48.           along.  The list of "_M_H immortals" is too long to list here.
  49.           For this release, numerous _M_H-_W_o_r_k_e_r_s sent in fixes and
  50.           other changes.  A handful of courageous _M_H-_W_o_r_k_e_r_s volun-
  51.           teered to beta-test these changes; their help is particu-
  52.           larly appreciated.
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.                               December 14, 1992
  65.  
  66.  
  67.  
  68.  
  69.  
  70.           Changes to MH 6.8                                          2
  71.  
  72.  
  73.  
  74.           _D_I_S_C_L_A_I_M_E_R
  75.  
  76.           The Regents of the University of California wish to make  it
  77.           known that:
  78.  
  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
  87.                connection herewith.
  88.  
  89.           _C_O_N_V_E_N_T_I_O_N_S
  90.  
  91.           In this document, certain formatting conventions are adhered
  92.           to:
  93.  
  94.                The names of UNIX commands, such as _c_o_m_p are  presented
  95.                in _i_t_a_l_i_c_s.
  96.  
  97.                Arguments to programs, such as `msgs' and `-nobell' are
  98.                delimited by single-quotes.
  99.  
  100.                Text that should be typed exactly as-is, such  as  com-
  101.                mand  lines  (e.g.,  "folder  -pack"), are delimited by
  102.                double-quotes.
  103.  
  104.                UNIX pathnames and envariables, such  as  /usr/uci  and
  105.                $SIGNATURE, are presented in bold font.
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.                               December 14, 1992
  131.  
  132.  
  133.  
  134.  
  135.  
  136.           Changes for MH 6.8                                         3
  137.  
  138.  
  139.           _C_H_A_N_G_E_S _F_O_R _M_H _6._8
  140.  
  141.           This is the current released version of _M_H as of December
  142.           14, 1992.  This release includes a number of bug fixes and
  143.           internal changes to make the code more portable.  Two new
  144.           authentication methods are provided for the POP, and support
  145.           for SVR4 shared libraries is complete.
  146.  
  147.                The major user-visible change in this release is the
  148.           incorporation of support for multi-media mail as specified
  149.           by the Multi-purpose Internet Mail Extensions (MIME)
  150.           RFC 1341.  This allows you to include things like audio,
  151.           graphics, and the like, in your mail messages.  A new com-
  152.           mand, _m_h_n, has been provided to support MIME and a detailed
  153.           man page is provided in _m_h_n(1).
  154.  
  155.           _D_o_c_u_m_e_n_t_a_t_i_o_n
  156.  
  157.           The documentation has some general improvements, and the
  158.           READ-ME document has been re-organized to help _M_H adminis-
  159.           trators find the appropriate configuration options for their
  160.           system.  The Makefiles in the papers/ hierarchy have been
  161.           changed to invoke _T_e_X as "tex" (instead of "tex82").
  162.  
  163.           The following new man pages are also available:
  164.  
  165.           _m_h_n(1)      _m_h_n helps the user process multi-media mail.
  166.  
  167.           _m_h_p_a_r_a_m(1)  _m_h_p_a_r_a_m lets the user extract information from
  168.                       the _M_H profile.
  169.  
  170.           _p_o_p_a_u_t_h(8)  the APOP database administration program (see
  171.                       below).
  172.  
  173.           _p_o_p_i(1)     the POP initiator (see below).
  174.  
  175.           _s_l_o_c_a_l(1)   fully documents _s_l_o_c_a_l.  The _m_h_o_o_k(1) man page
  176.                       now documents only the _M_H receive-mail hooks.
  177.  
  178.           _I_n_t_e_r_n_a_l _C_h_a_n_g_e_s
  179.  
  180.           The _M_H source code is in the process of being cleaned up to
  181.           make pedantic ANSI C compilers happy.  Occurrences of "NULL"
  182.           have been replaced by "0" where appropriate.  Extra tokens
  183.           after "#else" and "#endif" have been put inside comments
  184.           (this is still in progress).  The code should now compile
  185.           cleanly on many more systems, specifically, more variants of
  186.           SVR4.
  187.  
  188.                The version of tws/dtimep.c which was included in MH
  189.           6.7.2 was incompatible with the _l_e_x library on some systems,
  190.           and has been removed.
  191.  
  192.                A bug in the handling of blind lists inside alias files
  193.  
  194.  
  195.  
  196.                               December 14, 1992
  197.  
  198.  
  199.  
  200.  
  201.  
  202.           Changes for MH 6.8                                         4
  203.  
  204.  
  205.           has been fixed.
  206.  
  207.           _P_o_s_t _O_f_f_i_c_e _P_r_o_t_o_c_o_l
  208.  
  209.           There were three new options added to the POP.
  210.  
  211.           APOP  This option indicates that the POP daemon will support
  212.                 the   non-standard   APOP  command  which  provides  a
  213.                 challenge-based authentication system  using  the  MD5
  214.                 message digest algorithm.
  215.  
  216.                 This option also causes the _p_o_p_a_u_t_h program to be  in-
  217.                 stalled,  which allows the administrator to manipulate
  218.                 the APOP authorization database.
  219.  
  220.           KPOP  Support for KERBEROS with POP.  This code builds _p_o_p_d,
  221.                 _i_n_c and _m_s_g_c_h_k to support only the "kpop" protocol.
  222.                 This code is still expiremental, but is available for
  223.                 those sites wishing to test it.
  224.  
  225.           MPOP  This option indicates that the POP daemon will support
  226.                 the non-standard XTND SCAN command which provides per-
  227.                 formance enhancements when using the POP over low-
  228.                 speed connections.
  229.  
  230.                 This option also causes an interactive POP client pro-
  231.                 gram, _p_o_p_i, to be compiled and installed.  A man page
  232.                 for the _p_o_p_i program is also provided.  This option
  233.                 requires the configuration to have "bboards: pop".
  234.  
  235.           The APOP and MPOP non-standard POP facilities are documented
  236.           in _T_h_e _I_n_t_e_r_n_e_t _M_e_s_s_a_g_e (ISBN 0-13-092941-7), a book by
  237.           Marshall T. Rose.  For more details, see support/pop/pop-
  238.           more.txt and the _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e.  The APOP option
  239.           peacefully co-exists with the standard POP, KPOP completely
  240.           replaces the standard POP, and MPOP requires "bboards: pop".
  241.  
  242.           _F_i_l_e _L_o_c_k_i_n_g
  243.  
  244.           The file locking code has been cleaned up to support three
  245.           kinds of kernel-level file locking.  As appropriate for your
  246.           system, include the LOCKF, FCNTL or FLOCK option.  For more
  247.           details, see _m_h-_t_a_i_l_o_r(5).
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.                               December 14, 1992
  263.  
  264.  
  265.  
  266.  
  267.  
  268.           Changes for MH 6.8                                         5
  269.  
  270.  
  271.           Configuration Directives
  272.  
  273.           A number of new configuration directives have been added  or
  274.           changed.  The full details are given in the READ-ME.
  275.  
  276.           cp:        The command used to  install  new  files  if  not
  277.                      "cp".
  278.  
  279.           ln:        The command used to link files  together  in  the
  280.                      source tree if not "ln".
  281.  
  282.           mts:       Full support for ZMAILER has been added.
  283.  
  284.           popdir:    The directory where _p_o_p_d will be installed if not
  285.                      /usr/etc.
  286.  
  287.           regtest:   Set to "on" to prevent the hostname  and  compile
  288.                      date from being included in _M_H binaries.
  289.  
  290.           sharedlib: You may now specify "sun4" or "sys5"  (for  SVR4)
  291.                      shared libraries.
  292.  
  293.           signal:    Specifies the base type of the function  returned
  294.                      by  _s_i_g_n_a_l().   This  was previously defined with
  295.                      "options TYPESIG".
  296.  
  297.           Several `-D' options to _c_c have been added or changed:
  298.  
  299.           APOP       Authenticated POP (see above).
  300.  
  301.           AUX        Support for A/UX systems.
  302.  
  303.           DBMPWD     The DBM option has been renamed DBMPWD.
  304.  
  305.           HESIOD     Support for the HESIOD name server.
  306.  
  307.           KPOP       KERBEROS POP (see above).
  308.  
  309.           LOCALE     Support for local characters sets; uses the _s_e_t_-
  310.                      _l_o_c_a_l() function.
  311.  
  312.           MAILGROUP  Makes _i_n_c set-group-id.  You may need this option
  313.                      if your /usr/spool/mail is not world-writeable.
  314.  
  315.           MIME       Multi-media mail.
  316.  
  317.           MPOP       Mobile POP (see above).
  318.  
  319.           MSGID      Enables _s_l_o_c_a_l to detect and surpress duplicate
  320.                      messages.
  321.  
  322.           OSF1       Support for DEC OSF1 systems.  May be incomplete.
  323.  
  324.           RENAME     Include this option if your system has a _r_e_n_a_m_e()
  325.  
  326.  
  327.  
  328.                               December 14, 1992
  329.  
  330.  
  331.  
  332.  
  333.  
  334.           Changes for MH 6.8                                         6
  335.  
  336.  
  337.                      system call.
  338.  
  339.           SVR4       Support for System 5 Release 4 or newer systems.
  340.  
  341.           TYPESIG    This option has been dropped.  See `signal'
  342.                      above.
  343.  
  344.           UNISTD     Include this option if your system has the
  345.                      include file <unistd.h>.
  346.  
  347.           VSPRINTF   Include this option if your system has the
  348.                      _v_s_p_r_i_n_t_f() library routine; otherwise, __d_o_p_r_n_t()
  349.                      will be used.
  350.  
  351.           YEARMOD    Forces the _m_h-_f_o_r_m_a_t `year' function to return
  352.                      2-digit values.  Use this option during a brief
  353.                      transition period if you have local _m_h-_f_o_r_m_a_t
  354.                      files which need to be converted to support 4-
  355.                      digit years.
  356.  
  357.           _F_U_N_C_T_I_O_N_A_L _C_H_A_N_G_E_S
  358.  
  359.           In addition to the configuration changes mentioned above, a
  360.           number of functional changes have been made to the system.
  361.           Many programs have new features added and a few new programs
  362.           have are provided. Each command's manual page gives complete
  363.           information about the its operation.  Here is a short sum-
  364.           mary of the changes.
  365.  
  366.           _M_H _S_e_q_u_e_n_c_e_s
  367.  
  368.           A larger number of user-defined sequences are available.
  369.           Previously, this number had been 10.  On 32-bit systems, 26
  370.           user-defined sequences are available.
  371.  
  372.           _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
  373.  
  374.           _M_H programs will now complain if the .mh_profile does not
  375.           end in a newline.  Also, one enhancement and one new profile
  376.           component are provided:
  377.  
  378.           Aliasfile:  Multiple filenames may now be given.
  379.  
  380.           Inbox:      New; the default folder (for _i_n_c, etc.) if not
  381.                       "inbox".
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.                               December 14, 1992
  395.  
  396.  
  397.  
  398.  
  399.  
  400.           Changes for MH 6.8                                         7
  401.  
  402.  
  403.  
  404.           _F_o_r_m_a_t _S_t_r_i_n_g_s
  405.  
  406.           A few minor bugs were fixed in format string handling, and a
  407.           few  new features were added.  See _m_h-_f_o_r_m_a_t(5) for complete
  408.           details.
  409.  
  410.           Addresses      An  attempt  is  made   to   decipher   X.400
  411.                          RFC 987-style addresses.
  412.  
  413.           Comments       Comments may be added to _m_h-_f_o_r_m_a_t  files;  a
  414.                          comment  begins with the 2-character sequence
  415.                          "%;", and ends with an un-escaped newline.
  416.  
  417.           %(modulo n)    The `modulo' function escape has been added.
  418.  
  419.           %(year{date})  The date parser has been enhanced  to  under-
  420.                          stand  more  illegal date formats; `year' now
  421.                          returns a 4-digit number.
  422.  
  423.           _U_s_e_r _I_n_t_e_r_f_a_c_e _P_r_o_g_r_a_m_s
  424.  
  425.           A number of _M_H commands have minor changes:
  426.  
  427.           ali       The output with `-user -list' was changed to match
  428.                     the output with `-nouser -list'.
  429.  
  430.           burst     Will no longer drop the last message of a digest.
  431.  
  432.           inc       Accepts the `-apop' switch for authenticated POP
  433.                     (see above); will attempt to detect write errors
  434.                     (e.g., no space left on device) when incorporating
  435.                     mail; no longer replaces newline characters with
  436.                     NULLs.
  437.  
  438.           folder    The `-noprint' option was broken and has been
  439.                     dropped.
  440.  
  441.           forw      Supports `-mime' to use MIME-style multi-part mes-
  442.                     sages.
  443.  
  444.           mhl       Will no longer put an extra space at the end of
  445.                     the `%{text}' in a formatfield.
  446.  
  447.           mhn       New; manipulates multi-media (MIME) messages; a
  448.                     detailed man page is provided.
  449.  
  450.           mhparam   New; reads the _M_H profile (and context) and writes
  451.                     the values of the specified components on the
  452.                     standard output; useful in programmatic con-
  453.                     structs.
  454.  
  455.           msgchk    Supports `-apop' (see above).
  456.  
  457.  
  458.  
  459.  
  460.                               December 14, 1992
  461.  
  462.  
  463.  
  464.  
  465.  
  466.           Changes for MH 6.8                                         8
  467.  
  468.  
  469.           packmbox  New; packs an _M_H folder into a UUCP-style mailbox.
  470.  
  471.           popi      New; a client-side POP initiator; available only
  472.                     if you built _M_H with the MPOP option (see above).
  473.  
  474.           refile    A bug where the `rmmproc' did not remove all
  475.                     specified message files has been fixed.
  476.  
  477.           scan      The `-file' option is fully supported and will no
  478.                     longer complain about empty folders.
  479.  
  480.           send      Supports `-mime' and `-split' to split large mes-
  481.                     sages into multiple partial messages using MIME.
  482.  
  483.           _S_u_p_p_o_r_t _P_r_o_g_r_a_m_s
  484.  
  485.           fmtdump   Can now read a format file, or a format string
  486.                     given on the command line.
  487.  
  488.           popauth   New; manages the APOP authorization database (see
  489.                     above).
  490.  
  491.           sendmail  The _s_e_n_d_m_a_i_l replacement will be installed only if
  492.                     your `mts' setting uses the `/smtp' option.
  493.  
  494.           slocal    A new man page for _s_l_o_c_a_l is available; the new
  495.                     `mbox' action is available to write a file in
  496.                     _p_a_c_k_f format; a bug where extra `>' characters
  497.                     were written to MMDF-style maildrops has been
  498.                     fixed; if compiled with the MSGID option, can
  499.                     detect and suppress reception of duplicate mes-
  500.                     sages.
  501.  
  502.           viamail   New; bundles a directory (like _s_h_a_r) and sends it
  503.                     through multi-media mail.
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.                               December 14, 1992
  527.  
  528.  
  529.  
  530.  
  531.  
  532.           Changes for MH 6.7.2                                       9
  533.  
  534.  
  535.           _C_H_A_N_G_E_S _F_O_R _M_H _6._7._2
  536.  
  537.           The MH.6.7.2 patch release is a maintenance release.  This
  538.           is the current released version of _M_H as of February 1,
  539.           1992.
  540.  
  541.                This release now supports the NCR Tower running SYS5R4.
  542.           The WP changes installed in MH.6.7.0 have been removed.
  543.  
  544.           _S_h_a_r_e_d _L_i_b_r_a_r_i_e_s
  545.  
  546.           Support for SYS 5 shared libraries is in progress.
  547.  
  548.                Support for Sun OS 4.0 shared libraries had been
  549.           improved.  The _M_H library has been modified to move initial-
  550.           ized data into a data definition file.  The shared library
  551.           will now consist of a libmh.so and libmh.sa file.  The
  552.           shared library version number will no longer track the _M_H
  553.           patch release number, and its numbering begins with version
  554.           `1.1' with this release.
  555.  
  556.           _R_e_p_l_a_c_e_m_e_n_t _S_e_n_d_M_a_i_l
  557.  
  558.           Since many standard system programs expect to post mail by
  559.           invoking /usr/lib/sendmail, a minimal replacement _S_e_n_d_M_a_i_l
  560.           is provided in this release.  This replacement is meant to
  561.           be installed on (e.g., diskless) client workstations which
  562.           post mail using SMTP, and do not run a message transport
  563.           system.  It will call _p_o_s_t to post mail; be sure you have
  564.           configured _M_H with the `/smtp' mts option.  This sendmail
  565.           replacement is installed in your _M_H etc directory, and you
  566.           should link /usr/lib/sendmail to it.
  567.  
  568.           _F_o_r_m_a_t _S_t_r_i_n_g_s
  569.  
  570.           A manual page for the _f_m_t_d_u_m_p format string disassembler  is
  571.           supplied, and some new format functions were added:
  572.  
  573.           folder   In _s_c_a_n, this component escape contains the name of
  574.                    the current folder.  It is not defined for other _M_H
  575.                    commands.
  576.  
  577.           getenv   This function escape returns the value  of  an  en-
  578.                    vironment variable.
  579.  
  580.                There will be some additional changes in these routines
  581.           in the next patch release.
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.                                   Feb 1, 1992
  593.  
  594.  
  595.  
  596.  
  597.  
  598.           Changes for MH 6.7.2                                      10
  599.  
  600.  
  601.  
  602.           _O_t_h_e_r _B_u_g _F_i_x_e_s _a_n_d _E_n_h_a_n_c_e_m_e_n_t_s
  603.  
  604.           In addition to some other minor enhancements, some bugs were
  605.           fixed which in general were not user-visible:
  606.  
  607.           Blind lists   Users may now specify RFC822 address groups in
  608.                         their  alias  files.   These groups are imple-
  609.                         mented by _M_H as blind lists.
  610.  
  611.           date parsing  A number of sites have brain-damaged  versions
  612.                         of lex.  _M_H will now come with the date parser
  613.                         already run through lex.
  614.  
  615.           mark          A bug dealing with _m_a_r_k and the sequence named
  616.                         `cur' is fixed.  This was previously a problem
  617.                         for mh-e users.
  618.  
  619.           MH.doc        The _M_H nroff version of the manual  no  longer
  620.                         contains teletype escape sequences.
  621.  
  622.           scan          Can now handle headers as long as 512 bytes.
  623.  
  624.           Signals       _M_H programs will no longer catch the  HUP  and
  625.                         TERM  signals while waiting for a sub-process.
  626.                         This was causing hung processes when your ter-
  627.                         minal line was was dropped unexpectedly.
  628.  
  629.           Signature     If your signature is not defined, _M_H will  use
  630.                         the   value   of   the  gecos  field  of  your
  631.                         /etc/passwd entry as your signature.
  632.  
  633.           version.sh    A bug in the awk script  in  config/version.sh
  634.                         was fixed.
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.                                   Feb 1, 1992
  659.  
  660.  
  661.  
  662.  
  663.  
  664.           Changes for MH 6.7.1a                                     11
  665.  
  666.  
  667.           _C_H_A_N_G_E_S _F_O_R _M_H _6._7._1_a
  668.  
  669.           The MH.6.7.1a patch was made available on January 25, 1991
  670.           for limited distribution only.  (This release had some known
  671.           bugs, and so was not widely distributed.) This release
  672.           incorporates several new features of particular note to
  673.           users of sequences and format strings, as well as some gen-
  674.           eral documentation improvements.  There are a few minor
  675.           enhancements and internal bug fixes also.  Complete documen-
  676.           tation of these changes is given in the individual manual
  677.           pages, and the READ-ME file.
  678.  
  679.           _M_e_s_s_a_g_e _S_e_q_u_e_n_c_e_s
  680.  
  681.           A new manual page, _m_h-_s_e_q_u_e_n_c_e (5), has been added.  This
  682.           manual page attempts to completely document the syntax and
  683.           semantics of _M_H message sequence specifications.
  684.  
  685.                A powerful new feature is the ability to specify mes-
  686.           sage ranges with user-defined sequences.  The  specification
  687.           "name:n" may be used, and it designates up to the first `n'
  688.           messages (or  last  `n' messages  for  `-n') which  are
  689.           elements  of the user-defined sequence `name'.
  690.  
  691.                The message specifications "name:next" and "name:prev"
  692.           may also be used, and they designate the next or previous
  693.           message (relative to the current message) which is an ele-
  694.           ment of the user-defined sequence `name'.  The specifica-
  695.           tions "name:first" and "name:last" are equivalent to
  696.           "name:1" and "name:-1", respectively.  The specification
  697.           "name:cur" is not allowed (use just "cur" instead).
  698.  
  699.                These specifications allow the user to step through a
  700.           sequence with a command like "show name:next".
  701.  
  702.           _F_o_r_m_a_t _S_t_r_i_n_g_s
  703.  
  704.           _M_H format strings now support an if-then-elseif-else clause
  705.           (the `elseif' is new).  This will make format strings with
  706.           multi-case conditions somewhat less complex.
  707.  
  708.                A new format function `addr' had been added.  This
  709.           function takes an address header name as its argument, and
  710.           returns a rendering of the address contained in that header
  711.           as "user@host" or "host!user".
  712.  
  713.                Format widths now may be specified as a negative
  714.           number.  This causes the output to be right-justified within
  715.           the format width.
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.                                 January 25, 1991
  725.  
  726.  
  727.  
  728.  
  729.  
  730.           Changes for MH 6.7.1a                                     12
  731.  
  732.  
  733.  
  734.           _O_t_h_e_r _C_h_a_n_g_e_s
  735.  
  736.           Along with a few minor enhancements, some  bugs  were  fixed
  737.           which in general were not user-visible:
  738.  
  739.           fmtdump  This  new  program  produces   an   pseudo-language
  740.                    representation of an _M_H format file, vaguely remin-
  741.                    iscent of assembly  language.   While  this  output
  742.                    format  is  not explicitly documented, it can still
  743.                    be useful when debugging _M_H format files.
  744.  
  745.           refile   Now takes a `-[no]rmmproc' switch.  This  makes  it
  746.                    easier to avoid loops when your "rmmproc" calls _r_e-
  747.                    _f_i_l_e.
  748.  
  749.           slocal   A  problem  with  the  UUCP-style  mailboxes,   the
  750.                    `RPATHS'  configuration  option,  and  the "Return-
  751.                    Path:" header was fixed.
  752.  
  753.           sortm    Will ensure that no messages are lost if it is  in-
  754.                    terrupted.
  755.  
  756.           whatnow  Will now tell you where it is  leaving  the  draft,
  757.                    when  interrupted  in the initial edit.  Previously
  758.                    the draft was simply unlinked.
  759.  
  760.           _C_o_m_p_i_l_a_t_i_o_n _O_p_t_i_o_n_s
  761.  
  762.           LOCKF    This option causes _M_H to  use  the  lockf()  system
  763.                    call   for   locking  (if  available),  instead  of
  764.                    flock().
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.                                 January 25, 1991
  791.  
  792.  
  793.  
  794.  
  795.  
  796.           Changes for MH 6.7.1                                      13
  797.  
  798.  
  799.           _C_H_A_N_G_E_S _F_O_R _M_H _6._7._1
  800.  
  801.           The MH.6.7.1 patch release is a maintenance release, and as
  802.           such, provides few changes from the previous release.  This
  803.           is the current released version of _M_H as of December 14,
  804.           1990.
  805.  
  806.           _U_s_e_r-_V_i_s_i_b_l_e _C_h_a_n_g_e_s
  807.  
  808.           The major change in this release is to the POP daemon
  809.           (popd).  In _M_H 6.7, it was changed to be able to read both
  810.           UUCP and MMDF-style mailboxes.  This did not work as
  811.           reported.  The code has now been changed to parse MMDF-style
  812.           mailboxes if you are configuring MH to run with MMDF as your
  813.           message transport system.  Otherwise, UUCP-style mailboxes
  814.           are expected.
  815.  
  816.                Since there are number of client programs available for
  817.           only the POP2 protocol instead of POP3, popd has been
  818.           updated to support both protocols.  This is a major win.  If
  819.           you are compiling with POP turned on, add the `POP2' option
  820.           to your _M_H config file, and the POP daemon will respond to
  821.           POP2 or POP3 commands.  If you're using POP, there's no rea-
  822.           son not to include this option; it does not affect the
  823.           existing support for POP3.
  824.  
  825.           _I_n_t_e_r_n_a_l _C_h_a_n_g_e_s
  826.  
  827.           Some bugs were fixed which in general were not user-visible:
  828.  
  829.           context     Errors when writing out sequences  are  detected
  830.                       correctly.
  831.  
  832.           inc         No longer inserts extra blank  lines  into  mes-
  833.                       sages.
  834.  
  835.           mh-format   A nil pointer bug  in  the  address  parser  was
  836.                       fixed.
  837.  
  838.           repl, etc.  The malloc/free problem has been fixed.
  839.  
  840.           rmf         A spelling error in the `-nointeractive'  switch
  841.                       has been corrected.
  842.  
  843.           rcvtty      Will not print the message size if not available
  844.                       (i.e., zero).
  845.  
  846.           send/post   Illegal signatures  (those  containing  unquoted
  847.                       "."s) will be quoted.
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.                                December 14, 1990
  857.  
  858.  
  859.  
  860.  
  861.  
  862.           Changes for MH 6.7.0                                      14
  863.  
  864.  
  865.           _G_E_N_E_R_A_L _C_H_A_N_G_E_S _F_O_R _M_H _6._7._0
  866.  
  867.           The author is pleased to announce that there are very few
  868.           user-visible changes to _M_H 6.7 from the previous _M_H 6.6 dis-
  869.           tribution.  The majority of development was in the form of
  870.           bug fixes and slight enhancements.  In addition, this
  871.           release is slightly faster than the previous release.  With
  872.           a few minor exceptions, it is backward-compatible with the
  873.           previous release.  _M_H 6.7.0 is the current released version
  874.           of _M_H as of April 12, 1990.
  875.  
  876.                The changes were made mainly to generalize the source
  877.           code to be compatible with a larger range of systems and
  878.           compilers.  There were many small changes to add declara-
  879.           tions for ANSI C compliance.  The System 5 support has been
  880.           brought up to SYS5 R3, and there is support for Sun OS 4.0.
  881.  
  882.           _U_s_e_r-_V_i_s_i_b_l_e _C_h_a_n_g_e_s
  883.  
  884.           Here a quick summary of the changes that were made which are
  885.           not backward-compatible with the previous release of _M_H:
  886.  
  887.           repl   The `-format' and `-noformat' switches have not been
  888.                  functional since _M_H 5, and have been removed.  Any
  889.                  users who have these switches in their .mh_profile,
  890.                  will have to remove them.
  891.  
  892.           sortm  Previously, in most cases _s_o_r_t_m would fill-in any
  893.                  gaps in the numbering of a folder, by renumbering the
  894.                  messages starting with `1'.  This will no longer
  895.                  occur; for this behavior, use "folder -pack".
  896.  
  897.  
  898.           _U_s_i_n_g _A_l_i_a_s_e_s
  899.  
  900.           A new profile entry `Aliasfile:' has been added.  The _a_l_i,
  901.           _s_e_n_d, and _w_h_o_m programs will look for this profile entry and
  902.           treat it as they would an argument to `-alias'.  This should
  903.           make it easier for novice _M_H users to begin using aliases.
  904.  
  905.  
  906.           _R_e_a_d_i_n_g _N_e_t_w_o_r_k _N_e_w_s & _B_B_o_a_r_d_s
  907.  
  908.           The UCI BBoards facility can read local BBoards, and if com-
  909.           piled with the `bboards: pop' and `pop: on' options, can
  910.           also read remote BBoards using the Post Office Protocol (POP
  911.           ver. 3).  With this release, _M_H can instead be compiled to
  912.           read the Network News (i.e., USENET) using the Network News
  913.           Transfer Protocol (NNTP).
  914.  
  915.                This capability is enabled by compiling _M_H with the
  916.           `bboards: nntp' and `pop: on' options.  Unfortunately, read-
  917.           ing remote BBoards via the POP and reading the Network News
  918.           via the NNTP are mutually exclusive options.
  919.  
  920.  
  921.  
  922.                                  April 12, 1990
  923.  
  924.  
  925.  
  926.  
  927.  
  928.           Changes for MH 6.7.0                                      15
  929.  
  930.  
  931.                To support the NNTP, a new module, uip/pshsbr.c, is
  932.           compiled and loaded into _b_b_c and _m_s_h instead of
  933.           uip/popsbr.c.  The default BBoard is changed from "system"
  934.           to "general" for the NNTP.
  935.  
  936.                When reading BBoards, _b_b_c will first look for local
  937.           BBoards, and then contact the NNTP server to read the Net-
  938.           work News.  The location of the NNTP server should be speci-
  939.           fied with the `nntphost:' entry in the mtstailor file (see
  940.           the _M_H Administrator's Guide for details), or may be speci-
  941.           fied on the command line with the `-host' switch.
  942.  
  943.  
  944.           _F_o_r_m_a_t _S_t_r_i_n_g_s
  945.  
  946.           The manual page _m_h-_f_o_r_m_a_t (5) has been rewritten to give a
  947.           better explanation of how to write format strings, and how
  948.           they are interpreted by _M_H.  A line-by-line description of
  949.           the default _r_e_p_l form file (replcomps) is now included in
  950.           that manual page.
  951.  
  952.           Some new format functions were added, and others  were  aug-
  953.           mented:
  954.  
  955.           trim        Strips any leading and trailing white-space from
  956.                       the current string value.
  957.  
  958.           date2local  Will coerce the date to the local timezone.
  959.  
  960.           date2gmt    Will coerce the date to GMT.
  961.  
  962.           divide      Divides the current numeric value by  its  argu-
  963.                       ment.   This  could  be useful for building _s_c_a_n
  964.                       format strings which print large  message  sizes
  965.                       in "Kb" or "Mb".
  966.  
  967.           friendly    If the address  field  cannot  be  parsed,  this
  968.                       function  will  return  the  text of the address
  969.                       header, instead of a null string.
  970.  
  971.           szone       A flag indicating whether the timezone  was  ex-
  972.                       plicit in the date string.
  973.  
  974.           _P_R_O_G_R_A_M _C_H_A_N_G_E_S
  975.  
  976.           In addition to the general changes mentioned above, many
  977.           programs have specific new features added, either by new
  978.           switches or by expanded functionality.  Each command's
  979.           manual page gives complete information about its new
  980.           options.  Here is a short summary.
  981.  
  982.           _U_s_e_r _I_n_t_e_r_f_a_c_e _P_r_o_g_r_a_m_s
  983.  
  984.           anno      Accepts a `-nodate' switch which inhibits the date
  985.  
  986.  
  987.  
  988.                                  April 12, 1990
  989.  
  990.  
  991.  
  992.  
  993.  
  994.           Changes for MH 6.7.0                                      16
  995.  
  996.  
  997.                     annotation, leaving only the body annotation.
  998.  
  999.           folder    When invoked with the `-pack' switch and the new
  1000.                     `-verbose' switch, _f_o_l_d_e_r will give information
  1001.                     about the actions taken to renumber the folder.
  1002.  
  1003.                     On most systems, _f_o_l_d_e_r can now create any
  1004.                     non-existing parent folders of a new sub-folder.
  1005.  
  1006.           forw      When making digests, _f_o_r_w will put the issue and
  1007.                     volume numbers in addition to the digest list
  1008.                     name, in the digest trailer.
  1009.  
  1010.           inc       Detects NFS write failures, and will not zero your
  1011.                     maildrop in that event.
  1012.  
  1013.           msh       Supports a variant of the new _s_o_r_t_m.
  1014.  
  1015.           prompter  Considers a period on a line by itself to signify
  1016.                     end-of-file when the `-doteof' switch is speci-
  1017.                     fied.
  1018.  
  1019.           repl      The `-[no]format' switches have not been used
  1020.                     since _M_H 5 and have been deleted. _r_e_p_l will now
  1021.                     find filter files in the _M_H library area.
  1022.  
  1023.           scan      With the `-file msgbox' switch, _s_c_a_n can list a
  1024.                     _p_a_c_k_f'd-format file directly (without using _m_s_h).
  1025.  
  1026.                     Lists messages in reverse order with the
  1027.                     `-reverse' switch.  This should be considered a
  1028.                     bug.
  1029.  
  1030.           sortm     Now has the options: `-textfield field', `-notext-
  1031.                     field', `-limit days', and `-nolimit'.
  1032.  
  1033.                     With these options, _s_o_r_t_m can be instructed to
  1034.                     sort a folder based on the contents of an arbi-
  1035.                     trary header such as "subject".
  1036.  
  1037.                     _s_o_r_t_m minimizes renaming messages, and will no
  1038.                     longer arbitrarily pack folders; for this
  1039.                     behavior, use "folder -pack".
  1040.  
  1041.           whatnow   Deletes the draft by renaming it with leading
  1042.                     comma, instead of unlinking it.
  1043.  
  1044.           _M_H _S_u_p_p_o_r_t _P_r_o_g_r_a_m_s
  1045.  
  1046.           The following support programs also have changes or enhance-
  1047.           ments:
  1048.  
  1049.           mhl     Will now accept a format string  on  any  component,
  1050.                   not just on addresses and dates.
  1051.  
  1052.  
  1053.  
  1054.                                  April 12, 1990
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.           Changes for MH 6.7.0                                      17
  1061.  
  1062.  
  1063.           popd    Will use _s_h_a_d_o_w passwords if compiled with the SHA-
  1064.                   DOW option.  It can now also read UUCP-style mail-
  1065.                   drops directly.
  1066.  
  1067.           rcvtty  If given no arguments, _r_c_v_t_t_y will produce a scan
  1068.                   listing as specified by a format string or file; a
  1069.                   default format string is used if one is not speci-
  1070.                   fied.
  1071.  
  1072.                   Before the listing is written to the users terminal,
  1073.                   the terminal's bell is rung and a newline is output.
  1074.                   The `-nobell' and the `-nonewline' options inhibit
  1075.                   these functions.
  1076.  
  1077.                   _r_c_v_t_t_y will obey terminal write notification set by
  1078.                   _m_e_s_g.  With the `-biff' switch, _r_c_v_t_t_y will also
  1079.                   obey the mail notification status set by _b_i_f_f.
  1080.  
  1081.                   On BSD43 systems, as with _w_r_i_t_e, _r_c_v_t_t_y will be
  1082.                   installed set-group-id to the group "tty".
  1083.  
  1084.           slocal  Understands UUCP-style "From " lines and will write
  1085.                   output files using this format if appropriate.
  1086.                   Before invoking a delivery program, _s_l_o_c_a_l will
  1087.                   strip such lines unless compiled with the RPATHS
  1088.                   option, in which case it will will convert such
  1089.                   lines into "Return-Path:" headers.
  1090.  
  1091.                   _s_l_o_c_a_l has a new result code "N", for use in .mail-
  1092.                   delivery files.  With this result code, _s_l_o_c_a_l will
  1093.                   perform the action only if the message has not been
  1094.                   delivered and the previous action succeeded.  This
  1095.                   allows for performing an action only if multiple
  1096.                   conditions are true.
  1097.  
  1098.           _D_O_C_U_M_E_N_T_A_T_I_O_N
  1099.  
  1100.           Several of the older _M_H papers have been difficult to format
  1101.           because they depended on an older version of PhDTeX which
  1102.           was not supplied.  These papers have been updated, and some
  1103.           TeX library files are supplied in papers/doclib/, so that
  1104.           these papers may be generated on any system with TeX.
  1105.  
  1106.                Many of the manual pages have been revised to include
  1107.           documentation of new command options, and some have been
  1108.           expanded to give more detail.  All are now slightly refor-
  1109.           matted at installation time to make them more compatible
  1110.           with programs like _m_a_k_e_w_h_a_t_i_s.
  1111.  
  1112.  
  1113.           _M_H _A_D_M_I_N_I_S_T_R_A_T_I_O_N
  1114.  
  1115.           This section describes changes in configuring, compiling and
  1116.           installing _M_H 6.7 and should not be of interest to casual _M_H
  1117.  
  1118.  
  1119.  
  1120.                                  April 12, 1990
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.           Changes for MH 6.7.0                                      18
  1127.  
  1128.  
  1129.           users.  The READ-ME file has been considerably revised and
  1130.           expanded to give more detail about the configuration and
  1131.           compilation options which have been included in this
  1132.           release.  Some compilation options have been removed, and
  1133.           many new options have been added.
  1134.  
  1135.                All _M_H Makefiles have been updated to work around some
  1136.           incompatibilities introduced in newer versions of _m_a_k_e.  _M_H
  1137.           programs will no longer be installed with the sticky-bit
  1138.           turned on.
  1139.  
  1140.                Reading this section not a substitute for carefully
  1141.           reading the READ-ME file before attempting to compile _M_H
  1142.  
  1143.  
  1144.           _B_u_g _F_i_x_e_s
  1145.  
  1146.           Some bugs were fixed which in general were not user-visible:
  1147.  
  1148.           address parser  Fixed to allow use of the "AT"  domain,  and
  1149.                           some minor bugs were fixed pertaining to ad-
  1150.                           dress groups.
  1151.  
  1152.           date parser     Improved to accept  more  forms  of  illegal
  1153.                           dates.  Military timezones were removed.
  1154.  
  1155.           dynamic memory  Many problems with corruption of the dynamic
  1156.                           memory pool have been fixed.
  1157.  
  1158.           locking         Will open files for write, if  necessary  to
  1159.                           enable locking.
  1160.  
  1161.           nil pointers    All reported nil pointer problems have  been
  1162.                           fixed.
  1163.  
  1164.           replcomps       The "In-Reply-To:" header had  quotes  added
  1165.                           around the date field to comply with RFC822.
  1166.  
  1167.           _W_h_i_t_e _P_a_g_e_s
  1168.  
  1169.           If _M_H is compiled with the WP option, _s_e_n_d recognizes an
  1170.           address between "<<" and ">>" characters such as:
  1171.  
  1172.                   To: << rose -org psi >>
  1173.  
  1174.           to be a name meaningful to a whitepages service.  In order
  1175.           to expand the name, _s_e_n_d must be invoked interactively
  1176.           (i.e., not from _p_u_s_h).  For each name, _s_e_n_d will invoke a
  1177.           command called _f_r_e_d in a special mode asking to expand the
  1178.           name.
  1179.  
  1180.                To get a copy of the white pages service, contact
  1181.           wpp-manager@psi.com.
  1182.  
  1183.  
  1184.  
  1185.  
  1186.                                  April 12, 1990
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.           Changes for MH 6.7.0                                      19
  1193.  
  1194.  
  1195.           _C_o_n_f_i_g_u_r_a_t_i_o_n _O_p_t_i_o_n_s
  1196.  
  1197.           Some configuration options have been added or changed:
  1198.  
  1199.           cc          To specify an alternate C compiler.
  1200.  
  1201.           ccoptions   Defaults to `-O'.
  1202.  
  1203.           bboards     May now be defined as "on", "off", "pop", or
  1204.                       "nntp".
  1205.  
  1206.           bbdelivery  Determines whether the bboard delivery agent and
  1207.                       library files should be installed.
  1208.  
  1209.           lex         To specify an alternate version of _l_e_x.
  1210.  
  1211.           mailgroup   If defined, _i_n_c will be made set-group-id to
  1212.                       this group.
  1213.  
  1214.           sharedlib   For SUN40 systems; if "on", makes libmh.a into a
  1215.                       shared library.
  1216.  
  1217.           slibdir     The directory where the above shared library
  1218.                       should be installed.
  1219.  
  1220.           sprintf     Set this to "int" if that's what your
  1221.                       _s_p_r_i_n_t_f (3) library routine returns.
  1222.  
  1223.           _C_o_m_p_i_l_a_t_i_o_n _O_p_t_i_o_n_s
  1224.  
  1225.           For different configurations, several `-D' options to _c_c
  1226.           have been added or changed:
  1227.  
  1228.           BERK        This disables the address and date parsing rou-
  1229.                       tines.  If you want to do much with
  1230.                       _m_h-_f_o_r_m_a_t (5), don't enable this.
  1231.  
  1232.           BSD43       Will make _r_c_v_t_t_y set-group-id to the group
  1233.                       "tty".
  1234.  
  1235.           DBM         For sites with a dbm-style password file (such
  1236.                       as with Yellow Pages), _M_H will not read the
  1237.                       entire passwd file into a cache.  At one site
  1238.                       that runs YP on a large passwd file, using this
  1239.                       showed a 6:1 performance improvement.
  1240.  
  1241.           NETWORK     This option has been deleted.  See SOCKETS.
  1242.  
  1243.           NOIOCTLH    Tells _M_H not to include the file sys/ioctl.h.
  1244.                       Use this if this file is not present on your
  1245.                       system.
  1246.  
  1247.           NTOHLSWAP   On systems with TCP/IP networking, _m_s_h will try
  1248.                       to use the ntohl() macro from the file
  1249.  
  1250.  
  1251.  
  1252.                                  April 12, 1990
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.           Changes for MH 6.7.0                                      20
  1259.  
  1260.  
  1261.                       netinet/in.h to byte-swap the binary map files
  1262.                       it writes.
  1263.  
  1264.           SENDMAILBUG Some versions of _s_e_n_d_m_a_i_l return a 451 (failure)
  1265.                       reply code when they don't mean to indicate
  1266.                       failure.  This option considers that code to be
  1267.                       equivalent to 250 (OK).
  1268.  
  1269.           SHADOW      Causes _p_o_p_d to read the file /etc/shadow for
  1270.                       encrypted passwords instead of /etc/passwd.  Use
  1271.                       this if you have a shadow password file (such as
  1272.                       on newer versions of SYSTEM 5).
  1273.  
  1274.           SOCKETS     Enable this if you are on a non-BSD system with
  1275.                       a socket interface for TCP/IP networking compa-
  1276.                       tible with 4.2BSD UNIX.
  1277.  
  1278.           SUN40       Use on Suns running Sun OS 4.0 and later.
  1279.  
  1280.           SYS5        This option has been updated to refer to SYS5 R3
  1281.                       and later systems.
  1282.  
  1283.           SYS5DIR     Use this if your system uses "struct dirent"
  1284.                       instead of "struct direct".  This should be true
  1285.                       for systems based on SYS5 R3 and later.
  1286.  
  1287.           TYPESIG     Defines the base type for the _s_i_g_n_a_l system
  1288.                       call.  This defaults to "int", but should be
  1289.                       defined as "void" if appropriate for your sys-
  1290.                       tem.
  1291.  
  1292.           WP          Enables support for the White Pages service.
  1293.  
  1294.           _I_n_s_t_a_l_l_a_t_i_o_n
  1295.  
  1296.           _M_H will now explicitly set the protection mode on every file
  1297.           it installs.
  1298.  
  1299.                Previously any existing file installed by _M_H would be
  1300.           backed up into the source tree, and then overwritten.  Now,
  1301.           a few system-dependent files will not be overwritten, and
  1302.           your changes will have to be merged in by hand.  See the
  1303.           READ-ME file for more details.
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.                                  April 12, 1990
  1319.  
  1320.  
  1321.