home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Spezial
/
SPEZIAL2_97.zip
/
SPEZIAL2_97.iso
/
ANWEND
/
ONLINE
/
ELM23-2
/
ELM23-2.ZIP
/
manuals
/
Alias.doc
next >
Wrap
Text File
|
1994-04-24
|
25KB
|
595 lines
TThhee EEllmm AAlliiaass SSyysstteemm UUsseerrss GGuuiiddee
_W_h_a_t _a_l_i_a_s_e_s _a_r_e _a_n_d _h_o_w _t_o _u_s_e _t_h_e_m
_i_n _t_h_e EEllmm _m_a_i_l _s_y_s_t_e_m
Dave Taylor
Hewlett-Packard Laboratories
1501 Page Mill Road
Palo Alto CA
94304
email: taylor@hplabs.HP.COM or hplabs!taylor
>>> Elm is now in the public trust. Bug reports, comments, etc. to: <<<
Syd Weinstein
Datacomp Systems, Inc.
3837 Byron Road
Huntingdon Valley, PA 19006-2320
email: elm@DSI.COM or dsinc!elm
((CC)) Copyright 1986, 1987 by Dave Taylor
((CC)) Copyright 1988, 1989, 1990 by The USENET Community Trust
TThhee EEllmm AAlliiaass SSyysstteemm UUsseerrss GGuuiiddee
(Version 2.3)
Dave Taylor
Hewlett-Packard Laboratories
1501 Page Mill Road
Palo Alto CA
94304
email: taylor@hplabs.HP.COM or hplabs!taylor
>>> Elm is now in the public trust. Bug reports, comments, etc.
to: <<<
Syd Weinstein
Datacomp Systems, Inc.
3837 Byron Road
Huntingdon Valley, PA 19006-2320
email: elm@DSI.COM or dsinc!elm
May 1, 1990
This document is intended as a supplement to the _E_l_m _U_s_e_r_s
_G_u_i_d_e and is only of interest to those users desiring more knowl-
edge about how aliases work and how to create strange and excit-
ing aliases for their systems (okay, so maybe it's not _t_h_a_t ex-
citing!)
This document is broken up into the following sections; user
aliases, group aliases, system aliases, editing and installing
new aliases, the host routing database, the domain routing
database, general warnings and other chitchat.
Alias Users Guide Version 2.3
Alias Users Guide Version 2.3
11.. UUsseerr AAlliiaasseess
The most simple type of aliases in the EEllmm system are individual
user aliases. These are made up of three parts;
_a_l_i_a_s_n_a_m_e _l_i_s_t = _u_s_e_r_n_a_m_e = _a_d_d_r_e_s_s 1
Where the _a_l_i_a_s_n_a_m_e _l_i_s_t is either a single aliasname2 or a list
of aliasnames separated by commas. Aliasnames are case insensi-
tive and will be converted to all lower case by the alias system.
_U_s_e_r_n_a_m_e is used to indicate the full `real name' of the us-
er. For example, if you had an alias for `taylor' to get to me,
the _u_s_e_r_n_a_m_e field would contain `Dave Taylor' or perhaps `Dave
Taylor at HP' or some other permutation. EEllmm uses this informa-
tion to add the users full name to the addresses of outbound mail
to get more readable addresses.
_A_d_d_r_e_s_s is either the users full electronic mail address or,
if the machine routing database is installed, the minimum address
needed to specify the destination. For example, say our routing
database contained information on how to get to machine `hp-sdd'
and I wanted to have an address for my friend Ken there -- I
could have his address specified as simply `ken@hp-sdd' (or al-
ternatively `hp-sdd!ken' since the two are functionally equiva-
lent).
Let's get on to some examples, shall we?
Consider this excerpt from my own _._e_l_m_/_a_l_i_a_s_e_s_._t_e_x_t file;
## MMaaiill aalliiaasseess ffoorr DDaavvee TTaayylloorr
## FFrriieennddss ffrroomm UUCCSSDD
aaddddiiee == AAddddiiee SSiillvvaa == aaddddiiee@@hhpp--ssdddd..SSDDDD..HHPP..CCOOMM
ffrraannkk,,mmiinnjjaarreezz == FFrraannkk MMiinnjjaarreezz == MMiinnjjaarreezz..VVeerriiffyy@@ddoocckkmmaasstteerr..aarrppaa
ppiizzzziinnii == KKeenn PPiizzzziinnii == hhppllaabbss!!uuccbbvvaaxx!!uuccddaavviiss!!ppaaii!!kkeenn
Note that the alias for Frank Minjarez has two _a_l_i_a_s_n_a_m_e_s associ-
ated with it, ffrraannkk and mmiinnjjaarreezz. Also notice that the first and
second aliases use the ARPA Internet style naming convention of
_u_s_e_r_@_m_a_c_h_i_n_e whereas the third uses the UUCP notation of _m_a_-
_c_h_i_n_e_!_u_s_e_r.
For the most part, the notational format is transparent
within the alias file -- the only time it _d_o_e_s make a difference
__________
1. Notice that the alias separator has moved from being
a colon character (`:') to the equals sign (`='). This
is due to the requirements of the X.400 addressing
scheme.
2. aliasnames can be any combination of letters, num-
bers, dashes (`-'), periods (`.'), or underscores
(`_'). Letter case is not significant. That is `FRED'
and `Fred' are identical.
May 1, 1990 Page 2
Alias Users Guide Version 2.3
is if you have to specify more than the machine that the user is
receiving mail on (as in the third example above).
Suffice to say that if you must specify any sort of uucp
route that you should use the uucp notation as much as possible
to ensure that the system expands the correct machine name. Sim-
ilarly, if you're bouncing mail through different ARPA Internet
sites (to get to a foreign system, as in the example below) you
should use the notation that system expects:
lliissttsseerrvv%%bbyyuuaaddmmiinn..BBIITTNNEETT@@rruuggtteerrss..eedduu
22.. GGrroouupp AAlliiaasseess
After the confusion of user aliases, group aliases are even more
fun! For the most part the notation is very similar;
_a_l_i_a_s_n_a_m_e _l_i_s_t = _g_r_o_u_p_n_a_m_e = _l_i_s_t _o_f _p_e_o_-
_p_l_e
Where _a_l_i_a_s_n_a_m_e _l_i_s_t and _g_r_o_u_p_n_a_m_e are exactly equivalent to the
corresponding fields in user aliases.
The interesting part is the _l_i_s_t _o_f _p_e_o_p_l_e field; this field
is actually in the same notation as the aliasname list, so it's
really quite easy to create. It's best to illustrate by example:
ffrriieennddss,, mmyyppaallss == TThhee GGaanngg ooff SSiixx == jjooee,, llaarrrryy,, mmaarryy,, jjooaannnnaa,,
nnaannccyy,, mmiicchhaaeell
(Notice that you can continue onto as many lines as you'd like so
long as each additional line start with either a SPACE or a TAB
character)
The major limitation with group aliases is that each of the
people in the list must be a _p_r_e_v_i_o_u_s_l_y _d_e_f_i_n_e_d _a_l_i_a_s or a valid
mail address on the current machine.
What does this mean? That the following excerpt from an
alias file:
hhaawwaaiiii == TThhee HHaawwaaiiiiaann TTwwiinnss == jjooee@@ccss..rriitt..eedduu,, mmaaooaa
mmaaooaa == MMaaooaa LLiicchhtteennsskkii JJrr == mmaaooaa@@HHaawwaaiiii..ccss..uuhh..eedduu
will fail for two reasons -- not only does the group _l_i_s_t _o_f _p_e_o_-
_p_l_e contain a complex address, but it also contains an aliasname
that is defined _f_u_r_t_h_e_r _o_n in the _._e_l_m_/_a_l_i_a_s_e_s_._t_e_x_t file.
The correct way to have the previous aliases in the file are
to have them organized like:
jjooee == JJooee LLiicchhtteennsskkii == jjooee@@ccss..rriitt..eedduu
mmaaooaa == MMaaooaa LLiicchhtteennsskkii JJrr == mmaaooaa@@HHaawwaaiiii..ccss..uuhh..eedduu
May 1, 1990 Page 3
Alias Users Guide Version 2.3
hhaawwaaiiii == TThhee HHaawwaaiiiiaann TTwwiinnss == jjooee,, mmaaooaa
which will then work correctly.
Fortunately, while this seems fairly picky, when you run _n_e_w_a_l_i_a_s
to install the new aliases, you'll get relevant and meaningful
error messages to help you fix your aliases up correctly.
33.. SSyysstteemm AAlliiaasseess
System aliases are functionally equivalent to the individual EEllmm
alias lists each EEllmm user has (both user aliases and group alias-
es) but are _r_e_a_d _o_n_l_y for everyone but the EEllmm administrator.
The format of the file is identical to the users file, and the
only difference is that this file is expected to be located in
the directory that contains the _s_y_s_t_e_m___h_a_s_h___f_i_l_e and _s_y_s_-
_t_e_m___d_a_t_a___f_i_l_e files (see the _E_l_m _C_o_n_f_i_g_u_r_a_t_i_o_n _G_u_i_d_e for more de-
tails on these variables).
Simply create the system alias file in the specified direc-
tory as you would a normal alias file, and install it the same
way (see the following section for more details on that).
Voila!!
44.. EEddiittiinngg aanndd IInnssttaalllliinngg NNeeww AAlliiaasseess
To install new aliases, you need merely to create, or modify, the
file _._e_l_m_/_a_l_i_a_s_e_s_._t_e_x_t until you're satisfied with it and it
meets the requirements discussed above. You can then try to in-
stall it with the command;
$ nneewwaalliiaass
which will either report back the number of aliases installed or
any errors encountered trying to parse and store the given alias
list.
Note that blank lines are no problem and that comments are
not only allowed but actually encouraged, and must have `##' as
the first character of each comment line.
Finally, if you find that you're hitting the ``Too many aliases''
error, then you'll need to reconfigure the entire EEllmm system
(again, see _T_h_e _E_l_m _C_o_n_f_i_g_u_r_a_t_i_o_n _G_u_i_d_e).
55.. TThhee HHoossttnnaammee RRoouuttiinngg DDaattaabbaassee
Floating about on the various networks is a rather nifty program
by a number of people, including Peter Honeyman and Steve
Bellovin, called _p_a_t_h_a_l_i_a_s. What this software does is take the
May 1, 1990 Page 4
Alias Users Guide Version 2.3
Usenet articles in the group ``comp.mail.maps'' and change them
into a file of the form;
_h_o_s_t_n_a_m_e <tab> _a_d_d_r_e_s_s
which then must be sorted alphabetically and stored in the file
pointed to by _p_a_t_h_f_i_l_e for EEllmm (and other programs) to use.
If you don't have the program, or don't want to use it, you
can simulate this file by listing machines in the same format.
The exact format expected is;
_h_o_s_t_n_a_m_e<tab>_m_a_c_h_i_n_e_-_a_d_d_r_e_s_s
where _h_o_s_t_n_a_m_e is a limited identifier (no special characters)
and machine-address MUST contain the sequence `%s' (and conse-
quently any other percent signs that appear in the address must
be paired) so that the call in the program ``sprintf(buffer, ma-
chine-address, username)'' will generate a valid return address.
This file must be sorted alphabetically for Elm to use it proper-
ly.
By way of example, here are a few entries from my own file;
HHPPLL %%ss@@hhppllaabbss
PPAARRCC %%ss%%%%XXeerrooxx..PPAA..CCOOMM@@hhppllaabbss
aammcc--hhqq %%ss%%%%AAMMCC--HHQQ..AARRPPAA@@hhppllaabbss
iimmssssss %%ss%%%%IIMMSSSSSS%%%%AAII..SSTTAANNFFOORRDD..EEDDUU@@hhppllaabbss
iinnffoopprroo hhppllaabbss!!iinnffoopprroo!!%%ss
iinntteerrlleeaaff ssuunn!!iinntteerrlleeaaff!!%%ss
As you can see, the addresses can get pretty complicated. In
fact it's due purely to the complexity of addresses that this
file is so useful.
Some brief examples:
$$ eellmm jjooee@@HHPPLL
TToo:: jjooee@@hhppllaabbss
$$ eellmm mmiicchheellllee@@iimmssssss
TToo:: mmiicchheellllee%%IIMMSSSSSS%%AAII..SSTTAANNFFOORRDD..EEDDUU@@hhppllaabbss
$$ eellmm ffiieeddlleerr@@iinnffoopprroo
TToo:: hhppllaabbss!!iinnffoopprroo!!ffiieeddlleerr
If you'd like further information on the _p_a_t_h_a_l_i_a_s program, try
keeping track of the entries in the netnews group
_c_o_m_p_._s_o_u_r_c_e_s_._u_n_i_x -- it's posted about once a year or so...
66.. TThhee DDoommaaiinn RRoouuttiinngg DDaattaabbaassee
Another interesting feature of the EEllmm system is the shorthand
domain routing database. This is the same database (in the same
strange format) as used by the publically available _u_u_m_a_i_l
May 1, 1990 Page 5
Alias Users Guide Version 2.3
program.
In a nutshell, the file contains information of the form;
_d_o_m_a_i_n_, _p_a_t_h_-_t_o_-_g_a_t_e_w_a_y_, _r_e_w_r_i_t_e_-_t_e_m_p_l_a_t_e
The _d_o_m_a_i_n field must begin with a leading `.' and is usually or-
dered in the same way as the standard domain entries (that is,
``.HP.COM'' not ``.COM.HP'').
_P_a_t_h_-_t_o_-_g_a_t_e_w_a_y is routing information on how to get to the
particular gateway that this domain expects, and always is a ma-
chine/host name (to be found in the pathalias database, see the
previous section) preceded by a `>' character.
_R_e_w_r_i_t_e_-_t_e_m_p_l_a_t_e is the most interesting of the three, and
is akin to a printf string for C. The changes are that instead
of `%s' `%d' and so on, the actual ``percent'' values represent
various parts of the address, namely;
SSyymmbbooll RReepprreesseennttss
%U The username in the To: address
%N The remote machine name
%D %N + domain information
%R path to %N from pathalias
%P _p_a_t_h_-_t_o_-_g_a_t_e_w_a_y entry
%% The `%' character
with this very un-intuitive setup, let's look at a few entries
from the domains database and then see how they work:
..EEUURR..UUUUCCPP,, ,, ,, %%RR!!%%UU
..AATTTT..CCOOMM,, >>aatttt,, ,, %%PP!!%%DD!!%%UU
..HHPP..CCOOMM,, ,, ,, %%RR!!%%UU
..UUUUCCPP,, ,, ,, %%RR!!%%UU
..CCOOMM,, >>hhppllaabbss,, ,, %%PP!!%%UU@@%%DD
..CCSSNNEETT,, >>hhppllaabbss,, ,, %%PP!!1188::1122::0000%%%%DD@@CCSSNNEETT--RREELLAAYY..AARRPPAA
..EEDDUU,, >>hhppllaabbss,, ,, %%PP!!%%UU@@%%DD
(Note the presence of a third field that is always null. This is
for compatibility with the _u_u_m_a_i_l program. Also notice that
there is a space after each and every comma, even if that field
has an entry.)
To see how it all works, let's suppose that we want to send
a message to `jad@cs.purdue.edu'. This would break down into the
following fields:
%U = _j_a_d
%N = _c_s
%D = _c_s_._p_u_r_d_u_e_._e_d_u
When the EEllmm program matches the _._e_d_u entry
May 1, 1990 Page 6
Alias Users Guide Version 2.3
..EEDDUU,, >>hhppllaabbss,, ,, %%PP!!%%UU@@%%DD
the other field instantiated would be:
%P = _p_a_t_h _t_o _h_p_l_a_b_s
template = _%_P_!_%_U_@_%_D
If, say, our path to _h_p_l_a_b_s was _h_p_c_n_o_e_!_h_p_l_a_b_s, then the fully ex-
panded address would be:
hhppccnnooee!!hhppllaabbss!!jjaadd@@ccss..ppuurrdduuee..eedduu
and so on.
What does this mean to the average user? It means that you can
for the most part send mail to people on different networks by
simply using their full address, including any domain informa-
tion, so that mail to addresses like ``Jack@AI.MIT.EDU'' will
work, a message to ``SueAnn@BBN.MAILNET'' will work and so on!
77.. OOtthheerr SSttuuffff nnoott CCoovveerreedd YYeett
Probably the biggest question you have in your mind right now is
``But how the heck does this relate to my existing _B_e_r_k_e_l_e_y _M_a_i_l
aliases and the lower-level _s_e_n_d_m_a_i_l alias system??'' Well, rest
assured that if you _r_e_a_l_l_y want to have your aliases down in the
transport you can. No problem. All you'll need to do is to turn
off the address validation routine in EEllmm.
And for those ex-_B_e_r_k_e_l_e_y _M_a_i_l fans, you can translate your
aliases into the format that EEllmm wants by running them through
the _a_w_k script listed in the appendix.
Finally, if you have any problems or questions, try looking
in the _n_e_w_a_l_i_a_s manual entry, or dropping me a line at the ``usu-
al'' email address.
May 1, 1990 Page 7
Alias Users Guide Version 2.3
AAppppeennddiixx OOnnee
AAnn AAWWKK SSccrriipptt ffoorr TTrraannssllaattiinngg AAlliiaasseess ffrroomm
aa _B_e_r_k_e_l_e_y _M_a_i_l ````..mmaaiillrrcc'''' FFiillee ttoo aann _E_l_m ````..eellmm//aalliiaasseess..tteexxtt''''
FFiillee
BBEEGGIINN {{ pprriinntt ""## EEllmm ..eellmm//aalliiaasseess..tteexxtt ffiillee,, ffrroomm aa ..mmaaiillrrcc ffiillee......""
pprriinntt """"
}}
nneexxtt__lliinnee ==== 11 {{
nneexxtt__lliinnee == 00;;
ggrroouupp == """"
ffoorr ((ii == 11;; ii <<== NNFF;; ii++++)) {{
iiff ((ii ==== NNFF &&&& $$ii ==== ""\\\\"")) sseepp == """"
eellssee sseepp == "",, ""
iiff (($$ii ==== ""\\\\"")) {{
ggrroouupp == sspprriinnttff((""%%ss,,"",, ggrroouupp))
nneexxtt__lliinnee == 11;;
}}
eellssee iiff ((lleennggtthh((ggrroouupp)) >> 00))
ggrroouupp == sspprriinnttff((""%%ss%%ss%%ss"",, ggrroouupp,, sseepp,, $$ii));;
eellssee
ggrroouupp == $$ii;;
}}
pprriinntt ""\\tt"" ggrroouupp
}}
$$11 ~~ //[[AAaa]]lliiaass || [[GGgg]]rroouupp// {{
iiff (( NNFF ==== 33))
pprriinntt $$22 "" == uusseerr aalliiaass == "" $$33;;
eellssee {{
ggrroouupp == """"
ffoorr ((ii == 33;; ii <<== NNFF;; ii++++)) {{
iiff ((ii ==== NNFF &&&& $$ii ==== ""\\\\"")) sseepp == """"
eellssee sseepp == "",, ""
iiff (($$ii ==== ""\\\\"")) {{
ggrroouupp == sspprriinnttff((""%%ss,,"",, ggrroouupp))
nneexxtt__lliinnee == 11;;
}}
eellssee iiff ((lleennggtthh((ggrroouupp)) >> 00))
ggrroouupp == sspprriinnttff((""%%ss%%ss%%ss"",, ggrroouupp,, sseepp,, $$ii));;
eellssee
ggrroouupp == $$ii;;
}}
pprriinntt $$22 "" == ggrroouupp aalliiaass == "" ggrroouupp;;
}}
}}
Note: this script is contained in the release under the name
``mailrc.awk'' in the utilities directory ``utils''.
May 1, 1990 Page 8