Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mmdftailor(F) — OpenDesktop 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

dbmbuild(ADM)

mmdf(ADM)

queue(F)

tables(F)


 mmdftailor(F)                 06 January 1993                  mmdftailor(F)


 Name

    mmdftailor - provide run-time tailoring for the MMDF mail router

 Description

    The MMDF mail router reads site-dependent information from the ASCII file
    /usr/mmdf/mmdftailor each time it starts up.

    Keywords in the tailor file are not case-sensitive; however, case is
    important for filenames and similar values.  Use quotation marks to de-
    limit strings to prevent them from being parsed into separate words
    accidentally.

    The following alphabetical list describes most of the information you can
    set in the mmdftailor file.  For information about additional channel-
    specific settings, refer to the documentation about the particular chan-
    nel.

    ALIAS         defines an alias table.  The following parameters can be
                  used:

                  table     specifies the name of the table to be associated
                            with this alias entry

                  trusted   allows the entries in the table to cause delivery
                            to files and pipes

                  nobypass  does not allow the ~address alias bypass mecha-
                            nism to work on this file

                  Here is an example:

                  ALIAS table=sysaliases, trusted, nobypass


    AUTHLOG       controls authorization information.  See MCHANLOG and MLOG-
                  DIR.

    AUTHREQUEST   is the address to which users should mail if they have
                  questions about why a message was not authorized for
                  delivery.  It is also used as the sender of authorization
                  warning messages.  It is not used if authorization is not
                  enabled on some channel.  See the auth parameter under
                  MCHN.

    MADDID        controls whether submit adds Message-ID:  header lines if
                  they are missing from messages.  It takes a number as an
                  argument.  If the number is 0, no action is taken.  If the
                  number is non-zero, then submit adds Message-ID: header
                  lines if they are missing from messages.

    MADDRQ        is the address files directory.  If it is not a full path-
                  name, it is taken relative to MQUEDIR.

    MCHANLOG      controls MMDF logging, except for authorization information
                  and information produced by deliver and submit.  See also
                  MMSGLOG, AUTHLOG, and MLOGDIR.

                  Logging files and levels can also be specified in the chan-
                  nel descriptions.  The logging file, if specified there,
                  overrides the MCHANLOG definition.  The logging level for
                  the channel is set to the maximum of the MCHANLOG level and
                  the channel description's level.  The MCHANLOG level can
                  therefore be used to increase logging on all channels at
                  once.

                  Here is an example:

                  MCHANLOG        /tmp/mmdfchan.log, level=FST, size=40,
                                  stat=SOME

                  An argument without an equal sign is taken as the name of
                  the log.  Logging levels are:

                  FAT     logs fatal errors only
                  TMP     logs temporary errors and fatal errors
                  GEN     saves the generally interesting diagnostics
                  BST     shows some basic statistics
                  FST     gives full statistics
                  PTR     shows a program trace listing of what is happening
                  BTR     shows more detailed tracing
                  FTR     saves every possible diagnostic

                  The size parameter is the number of 25-block units you will
                  allow your log file to grow to.  When a log file reaches
                  that size, that logging either stops or cycles around
                  overwriting old data (see cycle).

                  The stat parameter sets up various status flags for log-
                  ging:

                  close   closes the log after each entry; this allows other
                          processes to write to it as well.

                  wait    if the log is busy, waits a while for it to free.

                  cycle   if the log is at the maximum length specified with
                          the size parameter, then cycles to the beginning.

                  some    sets the values close and wait (the most common
                          setting).

                  timed   opens the log and, after the timeout period (for
                          example, 5 minutes), closes the log and reopens it;
                          this option overrides all other options (used to
                          reduce the overhead of re-opening the log for every
                          entry while still retaining the ability to move the
                          log file out from under a running process and have
                          the process begin logging in the new log file soon
                          thereafter).

                  Tailoring of the log files is generally performed at the
                  end of the tailor file to prevent logging the tailoring
                  action itself, thereby needlessly filling the log files
                  when higher tracing levels are enabled.  If you have bugs
                  in the tailoring, you can move the log-file tailoring
                  closer to the top of the tailor file.

    MCHN          defines a channel.  The following parameters can be used:

                  name    the name of the channel.

                  show    a descriptive name used by certain programs as a
                          display line to explain the function of the chan-
                          nel.

                  que     the queue subdirectory of /usr/spool/mmdf/lock/home
                          in which to queue messages for this channel; MMDF
                          prefixes the name with q. to form the subdirectory
                          name.

                  tbl     the abbreviated name (from MTBL) for the associated
                          table that lists the hosts that are accessible on
                          this channel.  If the specified table has not been
                          previously defined, it will be defined with the
                          same name, file, and show parameters as for this
                          channel (do not define two channels that process
                          the same queue, but use different tables because it
                          will cause queue structure problems).

                  pgm     the channel program (in /usr/mmdf/chans) to invoke
                          for this channel.  This program takes mail from
                          deliver(ADM) and carries it to its destination on
                          the local machine or across the network to a remote
                          machine.

                  mod     the delivery mode for the channel; if several
                          values are selected, they are cumulative:

                          reg     regular mode (the default).  This mode
                                  queues mail, but does not send it; you must
                                  run deliver (manually, with cron(C), or as
                                  a background program) to actually send mail
                                  through the regulated channel.

                          host    same as reg, but specifies that deliver
                                  sort by host after sorting by channel,
                                  which allows as many mail messages as pos-
                                  sible to get sent to a particular host
                                  before the connection is broken.

                          bak     channel can be invoked only by the back-
                                  ground deliver daemon.

                          psv     channel is passive; it is a pickup-type
                                  channel (for example, pobox).

                          imm     channel can be invoked immediately; no need
                                  to batch up mail.

                          pick    channel can pick up mail from the remote
                                  host.

                          send    channel can send mail to the remote host.

                  ap      the type of address parsing to use for reformatting
                          headers on messages going out on this channel; if
                          several values are selected, they are cumulative:

                          same    does not reformat headers

                          822     converts to RFC822-style source routes (for
                                  example, @A:B@C)

                          733     converts to RFC733-style source routes (for
                                  example, B%C@A).

                          nodots  selects output of leftmost part of domain
                                  names (for example, A in A.B.C) for sites
                                  that cannot handle domains (usually used in
                                  conjunction with the known= parameter to
                                  hide domain names behind a smart relay).

                  lname   a name overriding the default MLNAME value for this
                          channel (used when the channel should have non-
                          standard values for the local domain).

                  ldomain a name overriding the default MLDOMAIN value for
                          this channel.

                  host    the name of the host that is being contacted by
                          this channel, usually used in the phone and pobox
                          channels, or the name of the relay host when all
                          mail to hosts in this channel's table gets relayed
                          to one host (this is required on the badusers and
                          badhosts pseudo-channels; it must be set to the
                          local host for the list channel).

                  poll    the frequency of polling the remote machine (0 dis-
                          ables polling, -1 requests polling to be done every
                          time the channel is started up, any other value is
                          the number of 15-minute intervals to wait between
                          polls); if any mail is waiting to be sent, this
                          value is ignored because a connection is always
                          attempted.

                  insrc   a table of hosts controlling message flow.

                  outsrc  see insrc

                  indest  see insrc

                  outdest see insrc

                  known   a table of hosts that are known on this channel; be
                          sure that the table contains your own fully speci-
                          fied host name.

                  confstr a channel-specific configuration string.  See the
                          individual manual pages for the channel for more
                          information.

                  auth    specifies the authorization tests that are made on
                          this channel:

                          free    default, no checking takes place

                          inlog   log information for incoming messages

                          outlog  log information for outgoing messages

                          inwarn  warn sender of incoming message if authori-
                                  zation is inadequate (the message still
                                  goes through)

                          outwarn as inwarn, but for outgoing messages

                          inblock reject incoming messages that have inade-
                                  quate authorization

                          outblock
                                  as inblock, but for outgoing messages

                          hau     host and user authorizations are required

                          dho     (direct host only) when applying host con-
                                  trols, the message must be associated with
                                  a user local to that host (that is, no
                                  source routes)

                  ttl     (time-to-live) specifies the number of minutes for
                          which retries to a host are blocked when deliver
                          detects a connection failure to that host; this
                          value can be overridden on the deliver command line
                          (default is 2 hours)

                  log     the name of the channel log file to be used instead
                          of the default MCHANLOG

                  level   the logging level for this channel (see also MCHAN-
                          LOG)

                  Here is a simple example:

                  MCHN    name=local, que=local, tbl=local,
                          show="Local Delivery", pgm=local,
                          poll=0, mod=imm, ap=822, level=BST

                  If the first argument does not have an equal sign, the
                  values of the name, que, tbl, pgm, and show parameters take
                  on this value.

    MCHNDIR       is where the channel programs are to be found.

    MCMDDIR       is the default commands directory where the various MMDF
                  commands are located.  Any command that does not have a
                  full pathname is taken relative to this directory.

    MDBM          tells MMDF where to find the database file containing the
                  associative store.  DBM-style databases get their speed and
                  flexibility by performing dynamic hashing on an associative
                  store.  This can get quite large.  By default, the file is
                  located in the MTBLDIR directory, but it might need to be
                  relocated due to its size.

    MDFLCHAN      sets the default channel to something other than local.

    MDLV          is the name of the file used for tailoring the delivery for
                  each user.

    MDLVRDIR      is the directory in which to deliver mail.  If this is
                  null, then the user's home directory is used.  See also
                  MMBXNAME and MMBXPROT.

    MDMN          defines a domain.  The following parameters can be used:

                  name    an abbreviated name for the domain

                  show    a display line, which is used for formatting pur-
                          poses to explain what the domain is all about

                  dmn     the full name (x.y.z...) of this domain

                  table   the associated table entry of known sites in this
                          domain; if the specified table has not been previ-
                          ously defined, it will be defined with the same
                          name, file, and show parameters as for this domain

                  Here is an example:

                  MDMN    name="Root", dmn="", show="Root Domain",
                          table=rootdomain

                  If the first argument does not have an equal sign, the
                  values of the name, dmn, and show parameters take on this
                  value.  If no table parameter is specified, it defaults to
                  the value of the name parameter.

    MFAILTIME     is the time a message can remain in a queue before a
                  failed-mail message is sent to the sender and the message
                  is purged from the queue.  See also MWARNTIME.

    MLCKDIR       is the directory where the locking of files takes place:
                  this is dependent on what style of locking you are doing.

    MLCKTYPE      specifies the locking protocol for MMDF to use when locking
                  mailboxes.  Use one or more of the following keywords with
                  MLCKTYPE:

                  _______________________________________________________
                  Keyword      Lock file
                  _______________________________________________________
                  advisory     System V fcntl() kernel file locking
                  v7           Version 7 and System V Release 3, and ear-
                               lier file locking
                  xenix        XENIX file locking
                  all          all known locking protocols

                  If you specify more than one locking keyword, all locks
                  must be successful before MMDF considers the mailbox
                  locked.  Here is an example MLCKTYPE setting:

                  MLCKTYPE advisory, xenix


    MLDOMAIN      gives your full local domain (this, combined with the
                  MLNAME, and possibly the MLOCMACHINE, gives the full net-
                  work address).

    MLISTSIZE     specifies the maximum number of addresses in a message
                  before it is considered to have a ``big'' list.  If there
                  are more than the maximum number of addresses, then MMDF
                  does not send a warning message for waiting mail and only
                  returns a ``citation'' for failed mail.  A citation con-
                  sists of the entire header plus the first few lines of the
                  message body.

    MLNAME        is the name of your machine or site as you wish it to be
                  known throughout the network, which can be a generic host
                  name used to hide a number of local hosts.  If it is a gen-
                  eric host name, internal hosts are differentiated by MLOC-
                  MACHINE. See also MLDOMAIN.

    MLOCMACHINE   is the local name of the machine.  It is used by a site
                  that has several machines, but wants the machines them-
                  selves to appear as one address.  See also MLNAME and
                  MLDOMAIN.

    MLOGDIR       is the default directory in which the log files are kept.
                  See also MMSGLOG, NAUTHLOG, and MCHANLOG.

    MLOGIN        is the user who owns the MMDF transport system.

    MMAXHOPS      specifies the maximum number of Received: or Via:  lines in
                  a message before it is considered to be looping and is
                  rejected.

    MMAXSORT      controls sorting of messages based on the number of mes-
                  sages in the queue.  If the number of messages in the queue
                  is less then MMAXSORT, the messages are sorted by arrival
                  time and are dispatched in that order; otherwise, a message
                  is dispatched as it is found during the directory search.

    MMBXNAME      is the name of the mailbox.  If this is null, then the
                  user's login name is used.  See also MDLVRDIR and MMBXPROT.

    MMBXPREF      is a string written before the message is written into the
                  mailbox.  It is usually set to a sequence of <Ctrl>A char-
                  acters.  The default MMBXPREF value looks like this:

                  MMBXPREF "\001\001\001\001\n"

                  See also MMBXSUFF.

                  The values of MMBXPREF and MMBXSUFF should consist of non-
                  printable characters only and must end in a newline.

    MMBXPROT      gives the protection mode in octal for the user's mailbox.
                  See also MDLVRDIR and MMBXNAME.

    MMBXSUFF      is a string written after the message is written into the
                  mailbox.  It is usually set to a sequence of <Ctrl>A char-
                  acters.  The default MMBXSUFF value looks like this:

                  MMBXSUFF "\001\001\001\001\n"

                  See also MMBXPREF.

    MMSGLOG       controls the logging information produced by deliver and
                  submit.  See also MCHANLOG, AUTHLOG, and MLOGDIR.

    MMSGQ         is the directory for the files of message text.  If it is
                  not a full pathname, it is taken relative to MQUEDIR.

    MPHSDIR       is the directory in which the timestamps for the channels
                  are made, showing what phase of activity they are in.

    MQUEDIR       is the parent directory for the various queues and address
                  directories.

    MQUEPROT      gives the protection mode in octal that the parent of the
                  MQUEDIR directory should have.

    MSIG          is the signature that MMDF uses when notifying senders of
                  mail delivery problems.

    MSLEEP        is the length of time in seconds that the background
                  delivery daemon sleeps between queue scans.

    MSUPPORT      is the address to which to send mail that MMDF cannot cope
                  with (that is, that MMDF cannot deliver or return to its
                  sender).

    MTBL          defines an alias, domain, or channel table.  The following
                  parameters can be used:

                  name    a short name by which the table can be referred to
                          later in the file

                  file    the file from which the contents of the table are
                          built

                  show    a display line, which is used for reporting pur-
                          poses to explain what the table is all about

                  flags   indicates additional properties about the table
                          being defined.  Use this to specify the source
                          type, nameserver lookup parameters, and control of
                          partial lookups table options.

                  The following are possible values for flags:

                          file    comes from a sequentially read file
                                  (default).

                          dbm     is in the MMDF hashed database built with
                                  dbmbuild.

                          ns      the table data is obtained by making
                                  queries on a nameserver.

                          domain  specifies to look up the given address in
                                  the domain specified by dmn= parameter of
                                  the domain definition.

                          channel specifies to look up the given fully-
                                  qualified domain name to determine the
                                  address(es) to use in delivering via SMTP.

                          alias   specifies to look up the given alias name
                                  in alias tables.

                          abort   specifies that if MMDF encounters a problem
                                  when searching an ns-type domain table,
                                  MMDF does not search any other domain
                                  tables (because the ns-type domain table is
                                  the most reliable).

                          route   specifies to search for successive sub-
                                  domains of the domain if no exact match
                                  exists.

                          partial specifies to search for the domain in other
                                  domain tables; this allows users to omit
                                  the full domain specification when refer-
                                  ring to local machines.

                  Note that MMDF treats flags=file and flags=dbm the same.
                  In the case of an ns-type table, the flags field specifies
                  the type of nameserver lookup (either domain, channel, or
                  alias).

                  A typical example might be:

                  MTBL    name=aliases, file=aliases,
                      show="User & list aliases"


                  If the first argument does not have an equal sign, the
                  values of the other parameters take on this value.  The
                  following example sets the name, file, and show parameters
                  to the string ``aliases'', then resets the show parameter
                  to the string ``Alias table''.

                  MTBL aliases, show="Alias table"


    MTBLDIR       is the default directory for the table files.

    MTEMPT        is the temporary files directory.  If it is not a full
                  pathname, it is taken relative to MQUEDIR.

    MWARNTIME     specifies the time in hours that a message can remain in a
                  queue before a warning message about delayed delivery is
                  sent to the sender.  See also MFAILTIME.

    UUname        defines the UUCP sitename (short form, not full path) and
                  is used only by the UUCP channel.  See also MLNAME.

 See also

    dbmbuild(ADM), mmdf(ADM), queue(F) and tables(F).

    ``Setting Up Electronic Mail'' in the System Administrator's Guide

 Value added

    mmdftailor is an extension of AT&T System V provided by The Santa Cruz
    Operation, Inc.

 Credit

    MMDF was developed at the University of Delaware and is used with permis-
    sion.


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026