[READ-ME] [MH-6.8-JP-Patch.2 ¥Ë€€¥ï¥¯ø§¥à¡¦¥Æ ¡¦¥Á] [¥Õâ¦ë]

READ THIS
DISCLAIMER
GETTING HELP
HOW TO GET MH
SYNOPSIS
DESCRIPTION
CONFIGURATION
INSTALLATION
TAILORING
DOCUMENTATION
OTHER THINGS
FILES
SEE ALSO
BUGS


NAME
     mh-gen - generating the MH system

READ THIS
     This documentation describes how to configure, generate, and
     install the UCI version of the RAND MH system.  Be certain
     to read this document completely before you begin.  You
     probably will also want to familiarize yourself with the MH
     Administrator's Guide before you install MH.  A copy can be
     found in the file doc/ADMIN.doc is the MH sources.

DISCLAIMER
     Although the MH system was originally developed by the RAND
     Corporation, and is now in the public domain, the RAND Cor-
     poration assumes no responsibility for MH or this particular
     modification of MH.

     In addition, the Regents of the University of California
     issue the following disclaimer in regard to the UCI version
     of MH:
          "Although each program has been tested by its contribu-
          tor, no warranty, express or implied, is made by the
          contributor or the University of California, as to the
          accuracy and functioning of the program and related
          program material, nor shall the fact of distribution
          constitute any such warranty, and no responsibility is
          assumed by the contributor or the University of Cali-
          fornia in connection herewith."

     This version of MH is in the public domain, and as such,
     there are no real restrictions on its use.  The MH source
     code and documentation have no licensing restrictions what-
     soever.  As a courtesy, the authors ask only that you pro-
     vide appropriate credit to the RAND Corporation and the
     University of California for having developed the software.

GETTING HELP
     MH is a software package that is neither supported by the
     RAND Corporation nor the University of California.  However,
     since we do use the software ourselves and plan to continue
     using (and improving) MH, bug reports and their associated
     fixes should be reported back to us so that we may include
     them in future releases.  The current computer mailbox for
     MH is Bug-MH@ICS.UCI.EDU (in the ARPA Internet), and
     ...!ucbvax!ucivax!bug-mh (UUCP).

     Presently, there are two Internet discussion groups,
     MH-Users@ICS.UCI.EDU and
MH-Workers@ICS.UCI.EDU.  MH-Workers
     is for people discussing code changes to MH.  MH-Users is
     for general discussion about how to use MH.  MH-Users is
     bi-directionally gatewayed into USENET as comp.mail.mh.




[mh.6]                 Last change: MH.6.8                      1






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



HOW TO GET MH
     Since you probably already have MH, you may not need to read
     this unless you suspect you have an old version.  There are
     two ways to get the latest release:

     1.  If you can FTP to the ARPA Internet, use anonymous FTP
     to ftp.ics.uci.edu [128.195.1.1] and retrieve the file
     pub/mh/mh-6.8.tar.Z.  This is a tar image after being run
     through the compress program (approximately 1.8MB).  There
     should also be a README file in that directory which tells
     what the current release of MH is, and how to get updates.

     This tar file is also available on louie.udel.edu
     [128.175.1.3] in portal/mh-6.8.tar.Z.  You may also find MH
     on various other hosts; to make sure you get the latest ver-
     sion and don't waste your time re-fixing bugs, it's best to
     get it from either ftp.ics.uci.edu or louie.udel.edu.

     2.  You can send $75 US to the address below.  This covers
     the cost of a 6250 BPI 9-track magtape, handling, and ship-
     ping.  In addition, you'll get a laser-printed hard-copy of
     the entire MH documentation set.  Be sure to include your
     USPS address with your check.  Checks must be drawn on U.S.
     funds and should be made payable to:

               Regents of the University of California

     The distribution address is:

               Univeristy of California at Irvine
               Office of Academic Computing
               360 Computer Science
               Irvine, CA  92717  USA

               +1 714 856 5153

     Sadly, if you just want the hard-copies of the documenta-
     tion, you still have to pay the $75.  The tar image has the
     documentation source (the manual is in roff format, but the
     rest are in TeX format).  Postscript formatted versions of
     the TeX papers are available, as are crude tty-conversions
     of those papers.

SYNOPSIS
     MAKE

DESCRIPTION
     This is a description of how one can bring up an MH system.
     It is assumed that you have super-user privileges in order
     to (re-)install MH.  Super-user privileges are not required
     to configure or generate MH.




[mh.6]                 Last change: MH.6.8                      2






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



     Become the super-user and cd to /usr/src/local/ (or whatever
     you keep your local sources).  The distribution tape con-
     tains the hierarchy for the mh.6-8/ directory.  Bring the
     sources on-line:

     # cd /usr/src/local
     % tar xv
     % cd mh-6.8

CONFIGURATION
     First, go to the conf/ directory.

     % cd conf/

     This directory contains files that will produce source files
     tailored for your choice of MH configuration.  You should
     edit only the file MH.  This file contains configuration
     directives.  These configuration directives are read by the
     mhconfig program to produce customized files.

     For examples of various configurations, look in the direc-
     tory conf/examples/.  The file MH provided in conf/ is a
     reasonable default.  Lines beginning with `#' are comments,
     and are not otherwise interpreted.

     Here are the MH configuration directives available.  Be sure
     to read through this list completely before attempting to
     decide what directives are appropriate for your system.

     More information on some of these options is available in
     the the Administrator's Guide.  If you do not have a printed
     copy, you should configure your system with the default con-
     figuration file, MH, then generate and print a copy of the
     guide (as described below).

  Installation paths
     bin: /usr/local
          The directory where user-invoked programs go (see
          manual section 1).

     etc: /usr/local/lib/mh
          The directory where pgm-invoked programs go (see manual
          section 8).

     mail: /usr/spool/mail
          The directory where the maildrops are stored.  If this
          pathname is absolute (i.e., begins with a / ), then the
          user's maildrop is a file called $USER in this direc-
          tory.  If the pathname is not absolute, then the user's
          maildrop is in the user's home directory under the
          given name.




[mh.6]                 Last change: MH.6.8                      3






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



     mandir: /usr/man
          The parent directory of the manual entries.

     manuals: standard
          Where manual entries should be installed, relative to
          the directory given with "mandir".  Either "local" to
          install manual entries under manl/, or "new" to install
          manual entries under mann/, or "old" to install manual
          entries under mano/, or "standard" to install manual
          entries under man?/, or "gen" to generate but not
          install them, or "none" to neither generate nor install
          them.  For example, to install manual entries under
          /usr/man/u_man/man?, use "standard" and /usr/man/u_man
          for "mandir".

     chown: /etc/chown
          The location of the chown(8) on your system.  If chown
          is in your search path, just use the value of "chown".
          On SYS5 systems, this should probably be "/bin/chown".

     cp: cp
          The command to copy files when installing, if not "cp".
          (Some sites use "cp -p".)

     ln: ln
          The command to link files together in the source tree,
          if not "ln".  If you're using something like lndir to
          keep your compile tree separate from your source tree,
          set this to "ln -s" or "cp".

     remove: mv -f
          How MH should make backup copies of existing files when
          installing new files.  To simply remove the old files,
          use "rm -f".

  Compiler/loader
     cc: cc
          The name of your C compiler, if not "cc".

     ccoptions: -O
          Options given directly to cc(1).  The most common is
          "-M" if you're running MH on an ALTOS.  This defaults
          to "-O".  If you define this and want to keep "-O", be
          sure to include it explicitly.  If you're using the GNU
          C compiler, it should include `-traditional'.  See
          "options:" for `-D' options.

     curses: -lcurses -ltermlib
          This should be the loader option required to load the
          termcap(3) and curses(3) libraries on your system.  On
          SYS5 systems, it probably should be just "-lcurses".
          Some sites have reported that both "-lcurses" and



[mh.6]                 Last change: MH.6.8                      4






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



          "-ltermlib" are necessary.

     ldoptions: -s
          Options given directly to ld(1) (via cc) at the begin-
          ning of the command line.  Useful for machines which
          require arguments to tell ld to increase the stack
          space (e.g. the Gould, which uses "-m 8").  Usually,
          "-s" is a good choice in any event.

     ldoptlibs:
          Options given directly to ld(1) (via cc) at the end of
          the command line.  The two most common are: "-ldbm" if
          you're running MMDF with the dbm package; and, "-lndir"
          if you are generating MH on a system which does not
          load the new directory access mechanism by default
          (e.g., 4.1BSD, SYS5).  If you don't have libndir on
          your system, the sources are in miscellany/libndir/.

     lex: lex -nt
          Alternative version of lex.  Used in zotnet/tws/.

     oldload: off
          This controls how MH will try to process library object
          files to eliminate local symbols.  Support for the
          ALTOS loader if "on".  Support for loaders not handling
          `-x -r' correctly if "none".

     ranlib: on
          Support for systems with ranlib(1).  For SYSTEM 5 sys-
          tems, this should be "off" which tells MH to use lorder
          and tsort instead.  Some SYSTEM 5 sites reported that
          running this isn't always sufficient.  If this is the
          case, then you should edit conf/makefiles/uip to
          include ../sbr/libmh.a and ../zotnet/libzot.a twice in
          the LIBES variable.

  Message Transport System
     mts: sendmail
          Which message transport system to use.  Either "mmdf"
          to use MHMDF as the transport system, "mmdf2" to use
          MHMDF-II as the transport system, "sendmail" to have
          SendMHail as the transport system, "zmailer" to have
          ZMHAILER as the transport system, or, "mh" to have MH as
          the transport system.

          On UNIX systems supporting TCP/IP networking via sock-
          ets you can add the suffix "/smtp" to the mts setting.
          This often yields a superior interface as MH will post
          mail with the local SMHTP server instead of interacting
          directly with MHMDF or SendMHail.  Hence, for TCP/IP UNIX
          systems, the "/smtp" suffix to either "sendmail" or
          "mmdf2" is the preferred MTS configuration.  The



[mh.6]                 Last change: MH.6.8                      5






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



          "/smtp" suffix is described in detail in the
          Administrator's Guide; be sure to set "servers:" as
          described in mh-tailor(8) if you use this option.

     mf: off
          Support for mail filtering on those systems in which
          the message transport system isn't integrated with UUCP
          This option is strictly for an MH system using either
          MHMDF-I as its transport system or one using
          "stand-alone delivery".

  UCI BBoards Facility
     bboards: off
          If "on", include support for the UCI BBoards facility.
          BBoards may be enabled with any mts setting.  If "off",
          the BBoard reading program bbc will not be installed.
          If "nntp", include support for the UCI BBoards facility
          to read the Network News via the NNTP.  If "pop" (form-
          erly "popbboards: on"), include support for the UCI
          BBoards facility via the POP3 service; this setting
          requires "pop: on".

     bbdelivery: off
          If "off", the BBoards delivery agent and library files
          will not be installed.  If "on", and you set "bboards:"
          to something besides "off", then the BBoards delivery
          agent and library files will be installed in the bbhome
          directory (see below).  To read remote BBoards, the
          usual configuration would have bbc talk to a POP3 or
          NNTP server.  However, it may be useful to set this to
          "off" if you NFS mount the bbhome directory from
          another host and want to use bbc to read those files
          directly.

     bbhome: /usr/spool/bboards
          The home directory for the BBoards user.

  Post Office Protocol
     pop: off
          Support for POP service.  This allows local delivery
          for non-local users (a major win).  See
          support/pop/pop.rfc for more information on the POP.
          This option currently works only on UNIX systems with
          TCP/IP sockets.  (It doesn't hurt to enable this option
          regardless of whether or not you intend to use POP.)
          See also "bboards: pop" to enable reading bboards with
          the POP.

     popdir: /usr/etc
          The directory where the POP daemon (popd) will be
          installed.




[mh.6]                 Last change: MH.6.8                      6






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



     options:
          `-D' options to cc(1).

       APOP='"/etc/pop.auth"'
            This option indicates that the POP daemon will sup-
            port the non-standard APOP command, and specifies the
            name of APOP authorization database.  The APOP com-
            mand provides a challenge-based authentication system
            using the MD5 message digest algorithm.  This facil-
            ity is documented in The Internet MHessage (ISBN
            0-13-092941-7), a book by Marshall T. Rose.

            This option also causes the popauth program to be
            installed, which allows the administrator to manipu-
            late the APOP authorization database.  For more
            details, see support/pop/pop-more.txt and the
            Administrator's Guide.

       DPOP
            This option indicates that POP subscribers do not
            have entries in the passwd(5) file, and instead have
            their own separate database (a win).

       KPOP
            Support for KERBEROS with POP.  This code builds
            popd, inc and msgchk to support only the "kpop" pro-
            tocol.  This code is still experimental, but is
            available for those sites wishing to test it.

       MPOP
            This option indicates that the POP daemon will sup-
            port the non-standard XTND SCAN command which pro-
            vides performance enhancements when using the POP
            over low-speed connections.  This option also causes
            an interactive POP client program, popi, to be com-
            piled and installed.  A man page for the popi program
            is also provided.

            These extensions are described in The Internet MHes-
            sage, a book by Marshall T. Rose.  For more details,
            see support/pop/pop-more.txt.  Note: this option
            requires "bboards: pop".

       POP2
            Have the POP daemon understand the older POP2 proto-
            col as well as the MH POP3 protocol - a major win.
            The POP daemon auto-magically determines which POP
            protocol your client is using.  If you're enabling
            POP service, there's no reason not to enable this
            option as well.  See also POPSERVICE.

       POPSERVICE



[mh.6]                 Last change: MH.6.8                      7






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



            The port name the MH POP will use.  For historical
            reasons, this defaults to "pop".

            In 1987, the MH POP protocol (POP version 3) was pub-
            lished as RFC1081 and was assigned its own port
            number (110), which differs from the original POP
            (version 1 and 2) port number (109).

            To have MH POP use the new assigned port number, set
            POPSERVICE='"pop3"', and be sure that this service
            name is listed in your /etc/services file on both POP
            client and server hosts as "110/tcp".  If you enable
            POP2, you can safely leave POPSERVICE undefined
            unless you are using POP3 clients besides MH.

       RPOP
            This option indicates that support for the UNIX vari-
            ant of POP, RPOP, which uses privileged sockets for
            authentication be enabled.  This peacefully co-exists
            with the standard POP.

       SHADOW
            Indicates that the popd POP server can find encrypted
            passwords in the /etc/shadow file (and not in the
            /etc/passwd file).  It should be used only for some
            (newer) SYSTEM 5 systems.

         The "APOP" and "MPOP" non-standard POP facilities are
         documented in The Internet MHessage (ISBN 0-13-092941-7),
         a book by Marshall T. Rose.  For more details, see
         support/pop/pop-more.txt.  The "APOP" option peacefully
         co-exists with the standard POP.  The "MPOP" option
         requires "bboards: pop".

 Shared libraries
    sharedlib: off
         If "sun4", makes libmh.a into a SunOS 4.0 (and later)
         shared library.  If you enable this, be sure to also use
         "options SUN40".  If "sys5", makes libmh.a into a SYS5
         R4 (and later) shared library.  If you enable this, be
         sure to also use "options SVR4".

    slflags: -pic
         The compiler flags to produce position independent code.

    slibdir: /usr/local/lib
         The directory where the MH shared library should go.

      Under SunOS (sun4)
         Since some MH programs are setuid, they'll only look for
         the library in "trusted" locations.  Putting the library
         somewhere besides /usr/lib or /usr/local/lib is not



[mh.6]                 Last change: MH.6.8                      8






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



         advisable.

         If you must do this, be sure that you add the path given
         by slibdir to the compiler's library search list (e.g.,
         "ldoptions: -L/usr/mh/lib") and make sure the path
         starts with a leading `/'.

         You may need to run ldconfig(8) manually whenever a new
         shared object is installed on the system.  See ld(1) for
         more information about using shared libraries.

      Under Solaris 2.0 (and newer)
         The above instructions for SunOS apply, except you
         should set the run-time library search path using `-R'
         instead of `-L' (e.g., "ldoptions: -R/usr/mh/lib").

 General System Dependencies
    You should include the following directives which are
    appropriate for your version of UNIX.  If you don't know what
    an option does, it probably doesn't apply to you.

    mailgroup: off
         If set, inc is made set-group-id to this group name.
         Some SYS5 systems want this to be set to "mail".  Set
         this if your /usr/spool/mail is not world-writeable.

         Note that slocal doesn't know how to deal with this, and
         will not work under these systems; just making it set-
         group-id will open a security hole.  If you're using
         "mailgroup", you should remove slocal (and its man page)
         from your system.

    signal: int
         The base type (int or void) of the function
         parameter/return value of signal(2).  The default is
         int.  Set "signal void" on systems which use this type
         (e.g., SYSTEM 5 V3.0 and later or Sun OS 4.0 and later).

    sprintf: char *
         The return value of the sprintf library routine.  This
         defaults to "char *".  Set this to "int" if you have an
         older version of SYSTEM 5 which has this routine return
         an "int" type.

    options:
         `-D' options to cc(1).

      ALTOS
           Use on XENIX/v7 systems.  Also, be sure to use
           "options V7".

      ATTVIBUG



[mh.6]                 Last change: MH.6.8                      9






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



           This option causes MH to return to the "What now?"
           prompt if your initial editor is vi and it exits with
           non-zero status.  Use on Sun OS 4.1 and other systems
           where the /usr/ucb/vi editor was changed to exit with
           its status equal to the number of pseudo-"errors"
           encountered during the edit.  This causes a problem
           for programs that test the exit status of their editor
           and abort if the status is non-zero.  (This includes
           MH and programs like /usr/etc/vipw).

      AUX
           Use with AUX systems.

      BIND
           If you are running with the BIND code on UNIX systems
           with TCP/IP sockets (e.g. 4.{2,3}BSD), be sure to
           define this.

      BSD41A
           Use on 4.1a Berkeley UNIX systems.

      BSD42
           Use on Berkeley UNIX systems on or after 4.2BSD.

      BSD43
           Use on 4.3 Berkeley UNIX systems.  Also, be sure to
           use "options BSD42".  If openlog(3) (see "man 3 sys-
           log") takes three arguments instead of two, and your
           write(1) command is set-group-id to group "tty", use
           this option.  If only one of these conditions is true,
           you lose.

      BSD44
           Use on Berkeley UNIX systems on or after 4.4BSD.  This
           code is still under development.

      DBMPWD
           Use this option if your getpwent(3) routines read a
           dbm database (such as with Yellow Pages) instead of
           doing a sequential read of /etc/passwd.  Without
           DBMPWD the entire passwd file is read into memory one
           entry at a time for alias expansion.  This is a per-
           formance improvement when reading a standard
           /etc/passwd file, but is very slow on systems with a
           dbm database.  At one site that runs YP on a large
           passwd file, it showed a 6:1 performance improvement.

      FCNTL
           Directs MH to use the fcntl() system call for kernel-
           level locking.  If you're using a SYS5 system, you may
           want this option.  (See also `FLOCK' and `LOCKF').




[mh.6]                 Last change: MH.6.8                     10






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



      FLOCK
           Directs MH to use the flock() system call for kernel-
           level locking.  If you're on a BSD42 system, and
           you're not using NFS to read or write maildrops, you
           should enable this option.  (See also `FCNTL' and
           `LOCKF').

      HESIOD
           Support for HESIOD. This code was contributed, and
           included no documentation.

      LOCKF
           Directs MH to use the lockf() system call for kernel-
           level locking.  If you're using NFS to read or write
           maildrops, you should enable this option.  (See also
           `FLOCK' and `FCNTL').

      locname
           Hard-wires the local name for the host MH is running
           on.  For example, locname='"PICKLE"'.  It's probably
           better to either let UNIX tell MH this information, or
           to put the information in the host specific mtstailor
           file.

      MORE
           Defines  the location of the more(1) program.  On
           ALTOS and DUAL systems, set MORE='"/usr/bin/more"'.
           The default is "/usr/ucb/more".

      NDIR
           For non-Berkeley UNIX systems, this MH will try to
           find the new directory access mechanism by looking in
           <:ndir.h> if this option is given.  Otherwise, MH will
           try <dir.h>.  If you still can't get this to work on
           your system, edit h/local.h as appropriate.  (See also
           `SYS5DIR'.)

      NFS
           Tells MH to hack around a problem in the NFS C
           library.  If you get an undefined symbol "ruserpass"
           when compiling MH, you need this option.  If, however,
           you include this option and get an undefined symbol
           "__ruserpass" when compiling, then you should omit
           this option.

      NOIOCTLH
           Tells MH not to include the file <sys/ioctl.h>.  To be
           used on systems where this file is not present.

      NTOHLSWAP
           Tells MH to use the ntohl() macro when processing msh
           binary map files.  MH can use this macro on systems



[mh.6]                 Last change: MH.6.8                     11






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



           with the include file netinet/in.h, to byte-swap the
           binary information in these map files.  If you're
           using the same map files on machines of different
           architectures, enable this option.

      RENAME
           Include this option if your system has a rename()
           library call.  This is true on BSD42 and newer and
           some SYS5 systems.

      SENDMAILBUG
           Causes SMTP reply code 451 (failure) to be considered
           the same as code 250 (OK).  Since this might cause
           problems, only enable this if you are certain that
           your SendMail will return this code even when it
           doesn't mean to indicate a failure.

      SOCKETS
           Indicates the availability of a socket interface for
           TCP/IP networking that is compatible with 4.{2,3}BSD
           UNIX.  It is not necessary to define this when BSD42
           is already defined, but it might be useful for SYSTEM
           5 or HPUX systems with TCP/IP sockets.

      SUN40
           Use on Sun OS 4.0 (and later?) systems.  You also will
           need "options BSD42", "options BSD43", and "signal
           void".

           If you're using Sun's brain-damaged approach to offer-
           ing Domain Name Service through NIS, be sure to
           include "options BIND" and "ldoptions -lresolv" to
           work around some NIS/DNS bugs.

      SYS5
           Use on AT&T SYSTEM 5 R3 (and newer?) UNIX systems.
           See also mailgroup.

      SYS5DIR
           Define this if your system uses "struct dirent"
           instead of "struct direct".  This is true of System V
           Release 3.0 and later.  Uses include file <dirent.h>
           and the routines mkdir, rmdir and getcwd.

      SVR4
           Use on AT&T SYSTEM 5 R4 (and newer?) UNIX systems. You
           should also include "options SYS5" and "options
           SYS5DIR".  See also mailgroup.  You will also need to
           include "oldload none" if your ld doesn't handle
           `-x -r' correctly.

      TERMINFO



[mh.6]                 Last change: MH.6.8                     12






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



           Define TERMINFO if you have it.  You get it automati-
           cally if you're running SYS5, and you don't get it if
           you're not.  (If you're not SYS5, you probably have
           termcap.)

      TZNAME
           Use time zone names from the tzname variable, set via
           tzset.  Only applicable on SYSTEM 5 systems and only
           effective when you have asked for alpha-timezones (see
           the ATZ option).  See also ZONEINFO.

      UNISTD
           Include this option if your system has the file
           <unistd.h>.  If not specified, the LOCKF option will
           include <sys/fcntl.h>.

      V7
           Use on V7 UNIX systems.  Also, be sure to use "options
           void=int".

      VSPRINTF
           Include this option if your system has the vsprintf(3)
           library routine; otherwise, _doprnt(3) will be used.

      WAITINT
           BSD42 based systems call the wait(2) system routine
           with a pointer to type union wait.  Include this
           option if you included "options BSD42", but your sys-
           tem calls the wait(2) system routine with a pointer to
           type int (the non-BSD42 default).

      ZONEINFO
           Specify this if you have a BSD43 based system that
           keeps time zone information /etc/zoneinfo or
           /usr/lib/zoneinfo (SunOS), and where the struct tm
           returned by localtime(3) contains a tm_gmtoff element
           (see /usr/include/time.h).  With this fix the GMT
           offset specified in outgoing mail will be corrected
           when the TZ enviornment variable is set to a different
           time zone.  See also TZNAME.

Site Preferences
   These options change the default behavior of MH or enable
   optional features.  Add the options which are appropriate for
   your configuration or your site preferences.

   editor: prompter
        The default editor for MH.







[mh.6]                 Last change: MH.6.8                     13






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



   options:
        `-D' options to cc(1).

     ATZ
          Directs MH to use alpha-timezones whenever possible.
          You should not use this option if you are on the Inter-
          net, since it will make your host non-compliant with
          RFC-1123 (Requirements for Internet Hosts).

     ATHENA
          Makes repl `-nocc all' the default instead of
          `-cc all'.  You may want to enable this if you're using
          xmh.

     BANG
          Directs MH to favor `!' over `@' in addressing.

     BERK
          Optional for for 4.{2,3}BSD sites running SendMail.
          Disables nearly all of the RFC822 address and header-
          parsing routines in favor of recognizing such formats
          as ASCnet, and so on.  If you don't need to disable the
          parser for this reason, you probably want to use
          "options DUMB" instead.

     COMPAT
          If you previously ran a version of MH earlier than mh.4
          use this option.  After a short grace period, remove it
          and re-{configure,generate,install} everything.

     DUMB
          Directs MH not to try and rewrite addresses to their
          "official" form.

     FOLDPROT
          Defines the octal value for default folder-protection.
          For example, FOLDPROT='"0700"'.  The default is "0711".

     ISI
          When using "repl -ccme", only "cc:" the first address
          found which belongs to the user; any other Alternate-
          MHailboxes do not receive "cc:"s.

     LINK
          Defines the filename for alternate file name for dist
          and repl.  For example, LINK='"\\043"' to use the
          pound-sign character.  The default is "@".

     MHE
          Enables crude support for Brien Reid's MHE interface.
          Recommended for use with the GNU Emacs mh-e package.




[mh.6]                 Last change: MH.6.8                     14






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



     MHRC
          Enables MH to recognize the CShell's `~'-construct.
          This is useful for sites that run with a ~/.mhrc for
          their users.

     MIME
          Enables support for multi-media messages, as specified
          in RFC 1341 -- a major win.  This allows you to include
          things like audio, graphics, and the like, in your mail
          messages.  Several MH commands are extended to support
          these multi-media messages, and the mhn command is pro-
          vided to encode and decode MIME messages.  For more
          details, see miscellany/multi-media/READ-ME and mhn(1).

     MSGID
          Enables slocal to detect and surpress duplicate mes-
          sages received.  This code uses the <ndbm.h> library,
          and requires "options BSD42" since it uses the flock(2)
          system call for locking.  (Note that this means its
          database locking does not work over NFS.) It has only
          been tested under SUN40.

     MSGPROT
          Defines the octal value for default folder-protection.
          For example, MSGPROT='"0600"'.  The default is "0644".

     NOMHSEQ
          Directs MH to make private sequences the default.

     OVERHEAD
          Enable MH commands to read profile/context from open
          fd:s without doing an open(); see mh-profile(5) for the
          details.

     RPATHS
          Directs inc to note UNIX "From " lines as Return-Path:
          info.

     SBACKUP
          Defines the prefix string for backup file names.  For
          example, SBACKUP='"\\043"'.  The default is ",".

     TMA
          Support for the TTI trusted mail agent (TMA).  Although
          the TTI TMA is not in the public domain, the MH support
          for the TTI TMA is in the public domain.  You should
          enable this option only if you are licensed to run the
          TMA software (otherwise, you don't have the software in
          your MH source tree).

     TTYD
          Support for TTYD.  This is no longer in wide use, and



[mh.6]                 Last change: MH.6.8                     15






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



          is not recommended.

     UCI
          First, "_" and "#" are recognized as the prefixes for
          scratch files.  Second, support for the UCI
          group-leadership mechanism is enabled in conflict.
          Third, the first line of the file file $HOME/.signature
          is used as the Full Name part of your "From:" header.
          This may conflict with the interpretation of this file
          by News.  If you're not at UCI, you probably don't want
          this option.

     UK
          Directs the scan program to generate UK-style dates by
          default.

     WHATNOW
          Enable certain MH commands to act differently when
          $mhdraft set.

     YEARMOD
          This option makes the mh-format %(year) function always
          return a value less than 100.  Enable this option if
          you have local mh-format(5) files which cannot handle
          4-digit years.  You should convert these files to use a
          4-character field width, or use the %(modulo 100) func-
          tion to obtain a 2-digit year value.  After a short
          grace period, remove `YEARMOD' and re-
          {configure,generate,install} everything.

Testing/debugging
  debug: off
       Support for debug mode of MH.  Don't use this unless you
       know what you're doing, which isn't likely if you're read-
       ing this document!

  regtest: off
       Set this to "on" if you are doing regression testing among
       different compilations of MH, and you do not want the
       hostname and compile date included in MH binaries.



     Now edit conf/config/mtstailor, depending on your choice of
     the setting for mts in the MH configuration file.  for an
     mts setting of "mh", look at the file conf/tailor/mhmts; for
     an mts setting of "sendmail", "sendmail/smtp", "mmdf/smtp",
     or "mmdf2/smtp", look at the file conf/tailor/sendmts; and,
     for an mts setting of "mmdf", or  "mmdf2", look at the file
     conf/tailor/mmdf.





[mh.6]                 Last change: MH.6.8                     16






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



     Now install the configured files into the source areas.  (On
     SYS5 systems, or other systems where you get complaints
     about "_index" and "_rindex" being undefined, you should use
     "make sys5" to compile mhconfig.)

     % make
     % ./mhconfig MH

     Before proceeding, you should familiarize yourself with the
     Administrator's Guide.  To generate an nroff version, go to
     the doc/ directory and type:

     % (cd ../doc/; make ADMIN.doc)


     If you're already running MH at your site, you should also
     read the mh changes document CHANGES.  The source is in
     papers/changes/.

     After reading the Administrator's Guide, you may decide to
     change your MH configuration.  If so, cd back to the conf/
     directory, re-edit the file MH, and re-run mhconfig.

     You now proceed based on your choice of a transport system
     (the setting for mts above).  The best interface is achieved
     with "sendmail" followed by "mmdf" or ("mmdf2"), and then
     "mh" (stand-alone delivery, not recommended).

  SENDMAIL
     If you have not enabled BBoards or POP then no further
     MTS-specific action is required on your part!

     If you have enabled POP, but you want to let SendMHail
     deliver mail POP mail using its standard delivery program
     /bin/mail, then, again, no further MTS-specific action is
     required on your part!

     Otherwise, go to the mts/sendmail/ directory.

     % cd ../mts/sendmail/

     This directory contains files whose definitions correspond
     to the configuration of your SendMHail system.  If you have
     enabled BBoards or POP service, then you will need to
     re-configure SendMHail.  First, in the "local info" section
     of your site's SendMHail configuration file, choose a free
     macro/class (B is used in this distribution), and add these
     lines:

          # BBoards support
          DBbboards
          CBbboards



[mh.6]                 Last change: MH.6.8                     17






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



     Second, immediately after the inclusion of the zerobase
     file, in the "machine dependent part of ruleset zero" sec-
     tion, add these lines:

          # resolve names for the BBoards system
          R$+<@$=B>      $#bboards$@$2$:$1        topic@bboards

     Be sure to use tabs when separating these fields.  Third,
     add the line

          include(bboardsMH.m4)

     after the line

          include(localm.m4)

     in your site's SendMHail configuration file.  Finally, you
     should link the file mts/sendmail/bboardsMH.m4 into your
     SendMHail cf/ directory and re-configure SendMHail.

     If you have enabled POP service, a similar procedure must be
     used on the POP service host, to re-configure SendMHail.
     First, in the "local info" section of your site's SendMHail
     configuration file, choose a free macro/class (P is used in
     this distribution), and add these lines:

          # POP support
          DPpop
          CPpop

     Second, immediately after the inclusion of the zerobase
     file, in the "machine dependent part of ruleset zero" sec-
     tion, add these lines:

          # resolve names for the POP system
          R$+<@$=P>      $#pop$@$2$:$1            subscriber@pop

     Be sure to use tabs when separating these fields.  Third,
     add the line

          include(popMH.m4)

     after the line

          include(localm.m4)

     in your site's SendMHail configuration file.  Finally, you
     should link the file mts/sendmail/popMH.m4 into your Send-
     MHail cf/ directory and re-configure SendMHail.

  MMDF
     If you want MHMDF to be your transport service, and have NOT



[mh.6]                 Last change: MH.6.8                     18






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



     specified "mmdf/smtp" (or "mmdf2/smtp") as your mts setting,
     then go to the mmdf/ directory.  (If you're using
     "mmdf/smtp" or "mmdf2/smtp" as your mts setting, then skip
     to the next section.)

     % cd ../mts/mmdf/

     This directory contains files whose definitions correspond
     to the configuration of your MHMDF system.

     If you're running MHMDF-I, then copy the following files from
     wherever you keep the MHMDF sources to this directory:
     mmdf/h/ch.h, mmdf/h/conf.h, utildir/conf_util.h,
     utildir/ll_log.h, mmdf/h/mmdf.h, utildir/util.h,
     mmdf/mmdf_lib.a, and utildir/util_lib.a.

     If you're running MHMDF-II, then copy the following files
     from where you keep the MHMDF sources to this directory:
     h/ch.h, h/conf.h, h/dm.h, h/ll_log.h, h/mmdf.h, h/util.h,
     and lib/libmmdf.a

     If you have enabled bboards, then the directories
     support/bboards/mmdfI and support/bboards/mmdfII contain
     information you'll need to put a UCI BBoards channel in your
     MHMDF configuration.  Similarly, if you have enabled option
     "mf" and are running MHMDF-I, then the zotnet/mf/mmdfI/
     directory contains information you'll need to put a UUCP
     channel in your MHMDF-I configuration.  Finally, the direc-
     tory support/pop/mmdfII contains information you'll need to
     put a POP channel in your MHMDF-II configuration.

     Note that MHMDF-II is distributed with the BBoards channel,
     although the version in the MH distribution might be more
     current, the version in the MHMDF-II distribution has been
     tested with that revision of MHMDF.

  MMDF/SMTP
     If you are using "mmdf/smtp" as your mts setting, then no
     further MTS-specific action is required on your part!

  MMDF2/SMTP
     If you are using "mmdf2/smtp" as your mts setting, then no
     further MTS-specific action is required on your part!

  STAND-ALONE DELIVERY
     If, instead, you want MH to handle its own mail delivery,
     then no further MTS-specific action is required on your
     part!

GENERATION
     Go to the MH top-level directory and generate the system.




[mh.6]                 Last change: MH.6.8                     19






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



     % cd ../; make

     This will cause a complete generation of the MH system.  If
     all goes well, proceed with installation.  If not, complain,
     as there "should be no problems" at this step.

INSTALLATION
     If the directories you chose for the user-programs and
     support-programs ("bin" and "etc" in the conf/MH file) don't
     exist, you should create them at this point.

     Next, if you enabled support for the UCI BBoards facility,
     then create a login called "bboards" with the following
     characteristics: home directory is /usr/spool/bboards/ with
     mode 755 (actually, use the value for "bbhome" given in the
     MH configuration file), login shell is /bin/csh (or
     /bin/sh), and, encrypted password field is "*".  The
     "bboards" login should own the /usr/spool/bboards/ direc-
     tory.  In addition to creating /usr/spool/bboards/, also
     create /usr/spool/bboards/etc/ and
     /usr/spool/bboards/archive/.  These directories should also
     be owned by the "bboards" login.

     If you enabled support for POP, then on the POP service
     host, create a login called "pop" with the following charac-
     teristics: home directory is /usr/spool/pop/ with mode 755,
     login shell is /bin/csh, and, encrypted password field is
     "*".  If you don't have /bin/csh on your system (V7), then
     /bin/sh is just fine.  The "pop" login should own the
     /usr/spool/pop/ directory.  You'll also need to add a line
     to the /etc/services file and the /etc/rc.local file, see
     the Administrator's Guide  for more details.

     If this is not the first time you have installed MH, these
     files will need particular attention:

          Directory                 Files
          "etc/"                    MailAliases, BBoardAliases, mtstailor
          /usr/spool/bboards/       BBoards, .cshrc, .mh_profile
          /usr/spool/bboards/etc/   *

     The MailAliases, BBoardAliases, mtstailor and BBoards files
     will NOT be installed over existing copies; you will need to
     edit these by hand and merge in any changes from your previ-
     ous MH release.  The other files under /usr/spool/bboards/
     will be overwritten if they exist.  You may wish to preserve
     your old versions of these before installing MH.

     As the super-user, and from the mh.6/ directory, install the
     system.

     # make inst-all



[mh.6]                 Last change: MH.6.8                     20






MH-GEN(8)             MAINTENANCE COMMANDS              MH-GEN(8)



     This will cause the MH processes and files to be transferred
     to the appropriate areas with the appropriate attributes.

TAILORING
     See the Administrator's Guide for information on tailoring
     MH for the MTS, BBoards, and POP.

DOCUMENTATION
     In addition to this document, the Administrator's Guide, and
     the User's MHanual, there are several documents referenced by
     the user's manual which may be useful.  The sources for all
     of these can be found under the papers/ directory.

OTHER THINGS
     Consult the directory miscellany/ for the sources to a
     number of things which aren't part of the mainstream MH dis-
     tribution, but which are still quite useful.

FILES
     Too numerous to mention.  Really.

SEE ALSO
     make(1)

BUGS
     The mhconfig program should be smarter.

     There's no way to print the Administrator's Guide until
     after you have configured the system; it is difficult to
     configure the system without the Administrator's Guide.

     The Makefiles should know when mhconfig has been run and
     force "make clean" behavior.
[mh.6] Last change: MH.6.8 21