Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mh-alias(5) — BSD/386 1.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ali(1)

send(1)

whom(1)

group(5)

passwd(5)

flict(8)

post(8)



MH-ALIAS(5)                   [mh.6]                  MH-ALIAS(5)


NAME
       mh-alias - alias file for MH message system

SYNOPSIS
       any MH command

DESCRIPTION
       This  describes both MH personal alias files and the (pri-
       mary) alias file for mail delivery, the file

            /usr/contrib/mh/lib/MailAliases

       It does not describe aliases files  used  by  the  message
       transport  system.   Each  line  of the alias file has the
       format:

            alias : address-group
       or
            alias ; address-group
       or
            < alias-file

       where:

            address-group  :=  address-list
                        |   < file
                        |   = UNIX-group
                        |   + UNIX-group
                        |   *

            address-list   :=  address
                        |   address-list, address

       Continuation lines in alias files end with `\' followed by
       the newline character.

       Alias-file  and file are UNIX file names.  UNIX-group is a
       group name (or number) from /etc/group.  An address  is  a
       simple  Internet-style address.  Througout this file, case
       is ignored, except for alias-file names.

       If the line starts with a `<', then the file  named  after
       the  `<'  is read for more alias definitions.  The reading
       is done recursively, so a `<' may occur in  the  beginning
       of an alias file with the expected results.

       If  the  address-group  starts  with  a `<', then the file
       named after the `<' is read and its contents are added  to
       the address-list for the alias.

       If  the  address-group  starts  with an `=', then the file
       /etc/group is consulted for the UNIX-group named after the
       `='.   Each  login name occurring as a member of the group
       is added to the address-list for the alias.



MH                        April 22, 1986                        1




MH-ALIAS(5)                   [mh.6]                  MH-ALIAS(5)


       In contrast, if the address-group starts with a `+',  then
       the file /etc/group is consulted to determine the group-id
       of the UNIX-group named after the `+'.   Each  login  name
       occurring  in the /etc/passwd file whose group-id is indi-
       cated by this group is added to the address-list  for  the
       alias.

       If   the  address-group  is  simply  `*',  then  the  file
       /etc/passwd is consulted and all login names with a userid
       greater  than some magic number (usually 200) are added to
       the address-list for the alias.

       In match, a trailing * on an alias will match  just  about
       anything appropriate.  (See example below.)

       An  approximation of the way aliases are resolved at post-
       ing time is (it's not really done this way):

            1) Build a list of all addresses from the message  to
            be delivered, eliminating duplicate addresses.

            2)  If  this draft originated on the local host, then
            for those addresses in the message that have no  host
            specified, perform alias resolution.

            3)  For  each  line  in the alias file, compare alias
            against all of the existing addresses.  If  a  match,
            remove  the  matched alias from the address list, and
            add each new address  in  the  address-group  to  the
            address  list  if it is not already on the list.  The
            alias  itself  is  not  usually  output,  rather  the
            address-group  that  the  alias  maps  to  is  output
            instead.  If alias is terminated with a  `;'  instead
            of  a  `:',  then  both the alias and the address are
            output in the correct format.   (This  makes  replies
            possible  since  MH  aliases and personal aliases are
            unknown to the mail transport system.)

       Since the alias file is read line by line, forward  refer-
       ences  work,  but  backward references are not recognized,
       thus, there is no recursion.

       Example:
            </usr/contrib/mh/lib/BBoardAliases
            sgroup: fred, fear, freida
            fred: frated@UCI
            UNIX-committee: <unix.aliases
            staff: =staff
            wheels: +wheel
            everyone: *
            news.*: news

       The first line says that more aliases  should  immediately
       be  read  from the file /usr/contrib/mh/lib/BBoardAliases.



MH                        April 22, 1986                        2




MH-ALIAS(5)                   [mh.6]                  MH-ALIAS(5)


       Following  this,  fred  is  defined  as   an   alias   for
       frated@UCI,  and  sgroup  is  defined  as an alias for the
       three names frated@UCI, fear, and freida.  Next, the defi-
       nition  of  UNIX-committee  is  given  by reading the file
       unix.aliases in the users MH directory, staff  is  defined
       as  all users who are listed as members of the group staff
       in the /etc/group file, and wheels is defined as all users
       whose  group-id  in /etc/passwd is equivalent to the wheel
       group.  Finally, everyone is defined as all users  with  a
       user-id  in  /etc/passwd greater than 200, and all aliases
       of the form news.<anything> are defined to be news.

       The key thing to understand about aliasing in MH  is  that
       aliases in MH alias files are expanded into the headers of
       messages posted.  This aliasing occurs first,  at  posting
       time,  without the knowledge of the message transport sys-
       tem.  In contrast, once the message  transport  system  is
       given  a  message  to  deliver to a list of addresses, for
       each address that appears to be local, a system-wide alias
       file  is  consulted.   These aliases are NOT expanded into
       the headers of messages delivered.

HELPFUL HINTS
       To use aliasing in MH quickly, do the following:

            First, in your .mhprofile, choose a  name  for  your
            primary alias file, say aliases, and add three lines:

                 ali: -alias aliases
                 send: -alias aliases
                 whom: -alias ailases

            Second, create the file aliases in your MH directory.

            Third,  start  adding aliases to your aliases file as
            appropriate.

FILES
       /usr/contrib/mh/lib/MailAliases       Primary alias file

PROFILE COMPONENTS
       None

SEE ALSO
       ali(1),  send(1),  whom(1),  group(5),   passwd(5),   con-
       flict(8), post(8)

DEFAULTS
       None

CONTEXT
       None





MH                        April 22, 1986                        3




MH-ALIAS(5)                   [mh.6]                  MH-ALIAS(5)


HISTORY
       In  previous  releases  of  MH, only a single, system-wide
       mh-alias file was supported.  This  led  to  a  number  of
       problems, since only mail-system administrators were capa-
       ble of (un)defining  aliases.   Hence,  the  semantics  of
       mh-alias  were  extended  to support personal alias files.
       Users of MH no longer need to bother mail-system  adminis-
       trators  for  keeping information in the system-wide alias
       file, as each MH user can create/modify/remove aliases  at
       will from any number of personal files.

BUGS
       Although  the  forward-referencing  semantics  of mh-alias
       files prevent  recursion,  the  < alias-file  command  may
       defeat  this.   Since  the  number  of file descriptors is
       finite (and very limited), such  infinite  recursion  will
       terminate  with  a meaningless diagnostic when all the fds
       are used up.







































MH                        April 22, 1986                        4


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