|
|
Initial revision
L.SYS(5) 1986 L.SYS(5)
NNAAMMEE
L.sys - UUCP remote host description file
DDEESSCCRRIIPPTTIIOONN
The _L._s_y_s file is consulted by the UUCP daemon _u_u_c_i_c_o(8C)
for information on remote systems. _L._s_y_s includes the sys-
tem name, appropriate times to call, phone numbers, and a
login and password for the remote system. _L._s_y_s is thus a
privileged file, owned by the UUCP Administrator; it is
accessible only to the Administrator and to the superuser.
Each line in _L._s_y_s describes one connection to one remote
host, and has the form:
System Times Caller Class Device/Phone_Number [Expect Send]....
Fields can be separated by any number of blanks or tabs.
Lines beginning with a `#' character are comments; long
lines can be continued by appending a `\' character to the
end of the line.
The first five fields (_S_y_s_t_e_m through _D_e_v_i_c_e/_P_h_o_n_e__N_u_m_b_e_r)
specify the hardware mechanism that is necessary to make a
connection to a remote host, such as a modem or network.
_U_u_c_i_c_o searches from the top down through _L._s_y_s to find the
desired _S_y_s_t_e_m; it then opens the _L-_d_e_v_i_c_e_s(5) file and
searches for the first available device with the same
_C_a_l_l_e_r, _C_l_a_s_s, and (possibly) _D_e_v_i_c_e. (``Available'' means
that the device is ready and not being used for something
else.) _U_u_c_i_c_o attempts a connection using that device; if
the connection cannot be made (for example, a dialer gets a
busy signal), _u_u_c_i_c_o tries the next available device. If
this also fails, it returns to _L._s_y_s to look for another
line for the same _S_y_s_t_e_m. If none is found, _u_u_c_i_c_o gives
up.
_S_y_s_t_e_m is the hostname of the remote system. Every machine
with which this system communicates via UUCP should be
listed, regardless of who calls whom. Systems not listed in
_L._s_y_s will not be permitted a connection. The local host-
name should nnoott appear here for security reasons.
_T_i_m_e_s is a comma-separated list of the times of the day and
week that calls are permitted to this _S_y_s_t_e_m. _T_i_m_e_s is most
commonly used to restrict long distance telephone calls to
those times when rates are lower. List items are con-
structed as:
_k_e_y_w_o_r_dhhmm--hhmm//_g_r_a_d_e;;_r_e_t_r_y__t_i_m_e
_K_e_y_w_o_r_d is required, and must be one of:
Printed 7/4/90 April 1
L.SYS(5) 1986 L.SYS(5)
AAnnyy Any time, any day of the week.
WWkk Any weekday. In addition, MMoo, TTuu, WWee, TThh, FFrr, SSaa,
and SSuu can be used for Monday through Sunday,
respectively.
EEvveenniinngg When evening telephone rates are in effect, from
1700 to 0800 Monday through Friday, and all day
Saturday and Sunday. EEvveenniinngg is the same as
WWkk11770000--00880000,,SSaa,,SSuu.
NNiigghhtt When nighttime telephone rates are in effect, from
2300 to 0800 Monday through Friday, all day Satur-
day, and from 2300 to 1700 Sunday. NNiigghhtt is the
same as AAnnyy22330000--00880000,,SSaa,,SSuu00880000--11770000.
NNoonnPPeeaakk This is a slight modification of EEvveenniinngg. It
matches when the USA X.25 carriers have their lower
rate period. This is 1800 to 0700 Monday through
Friday, and all day Saturday and Sunday. NNoonnPPeeaakk is
the same as AAnnyy11880000--00770000,,SSaa,,SSuu.
NNeevveerr Never call; calling into this _S_y_s_t_e_m is forbidden or
impossible. This is intended for polled connec-
tions, where the remote system calls into the local
machine periodically. This is necessary when one of
the machines is lacking either dial-in or dial-out
modems.
The optional _h_h_m_m-_h_h_m_m subfield provides a time range that
modifies the keyword. _h_h_m_m refers to _h_o_u_r_s and _m_i_n_u_t_e_s in
24-hour time (from 0000 to 2359). The time range is permit-
ted to "wrap" around midnight, and will behave in the obvi-
ous way. It is invalid to follow the EEvveenniinngg, NNoonnPPeeaakk, and
NNiigghhtt keywords with a time range.
The _g_r_a_d_e subfield is optional; if present, it is composed
of a `/' (slash) and single character denoting the _g_r_a_d_e of
the connection, from 00 to 99, AA to ZZ, or aa to zz. This speci-
fies that only requests of grade _g_r_a_d_e or better will be
transferred during this time. (The grade of a request or
job is specified when it is queued by _u_u_c_p or _u_u_x.) By con-
vention, mail is sent at grade CC, news is sent at grade dd,
and uucp copies are sent at grade nn. Unfortunately, some
sites do not follow these conventions, so it is not 100%
reliable.
The _r_e_t_r_y__t_i_m_e subfield is optional; it must be preceded by
a `;' (semicolon) and specifies the time, in minutes, before
a failed connection may be tried again. (This restriction
is in addition to any constraints imposed by the rest of the
_T_i_m_e field.) By default, the retry time starts at 10 minutes
Printed 7/4/90 April 2
L.SYS(5) 1986 L.SYS(5)
and gradually increases at each failure, until after 26
tries _u_u_c_i_c_o gives up completely (MAX RETRIES). If the retry
time is too small, _u_u_c_i_c_o may run into MAX RETRIES too soon.
_C_a_l_l_e_r is the type of device used:
AACCUU Automatic call unit or auto-dialing modem such as
the Hayes Smartmodem 1200 or Novation ``Smart Cat''.
See _L-_d_e_v_i_c_e_s for a list of supported modems.
DDIIRR Direct connect; hardwired line (usually RS-232) to a
remote system.
MMIICCOOMM Micom Terminal Switch.
PPAADD X.25 PAD connection.
PPCCPP GTE Telenet PC Pursuit. See _L-_d_e_v_i_c_e_s for configura-
tion details.
SSYYTTEEKK Sytek high-speed dedicated modem port connection.
TTCCPP Berkeley TCP/IP or 3Com UNET connection. These are
mutually exclusive. TCP ports do nnoott need entries
in _L-_d_e_v_i_c_e_s since all the necessary information is
contained in _L._s_y_s. If several alternate ports or
network connections should be tried, use multiple
_L._s_y_s entries.
_C_l_a_s_s is usually the speed (baud) of the device, typically
300, 1200, or 2400 for ACU devices and 9600 for direct
lines. Valid values are device dependent, and are specified
in the _L-_d_e_v_i_c_e_s file.
On some devices, the baud may be preceded by a non-numeric
prefix. This is used in _L-_d_e_v_i_c_e_s to distinguish among dev-
ices that have identical _C_a_l_l_e_r and baud, but yet are dis-
tinctly different. For example, 1200 could refer to all Bell
212-compatible modems, V1200 to Racal-Vadic modems, and
C1200 to CCITT modems, all at 1200 baud.
On TCP connections, _C_l_a_s_s is the port number (an integer
number) or a port name from /_e_t_c/_s_e_r_v_i_c_e_s that is used to
make the connection. For standard Berkeley TCP/IP, UUCP nor-
mally uses port number 540.
_D_e_v_i_c_e/_P_h_o_n_e__N_u_m_b_e_r varies based on the _C_a_l_l_e_r field. For
ACU devices, this is the phone number to dial. The number
may include: digits 00 through 99; ## and ** for dialing those
symbols on tone telephone lines; -- (hyphen) to pause for a
moment, typically two to four seconds; == (equal sign) to
wait for a second dial tone (implemented as a pause on many
Printed 7/4/90 April 3
L.SYS(5) 1986 L.SYS(5)
modems). Other characters are modem dependent; generally
standard telephone punctuation characters (such as the slash
and parentheses) are ignored, although _u_u_c_i_c_o does not
guarantee this.
The phone number can be preceded by an alphabetic string;
the string is indexed and converted through the
_L-_d_i_a_l_c_o_d_e_s(5) file.
For DIR devices, the _D_e_v_i_c_e/_P_h_o_n_e__N_u_m_b_e_r field contains the
name of the device in /_d_e_v that is used to make the connec-
tion. There must be a corresponding line in _L-_d_e_v_i_c_e_s with
identical _C_a_l_l_e_r, _C_l_a_s_s, and _D_e_v_i_c_e fields.
For TCP and other network devices, _D_e_v_i_c_e/_P_h_o_n_e__N_u_m_b_e_r holds
the true network name of the remote system, which may be
different from its UUCP name (although one would hope not).
_E_x_p_e_c_t and _S_e_n_d refer to an arbitrarily long set of strings
that alternately specify what to _e_x_p_e_c_t and what to _s_e_n_d to
login to the remote system once a physical connection has
been established. A complete set of expect/send strings is
referred to as an _e_x_p_e_c_t/_s_e_n_d _s_c_r_i_p_t. The same syntax is
used in the _L-_d_e_v_i_c_e_s file to interact with the dialer prior
to making a connection; there it is referred to as a _c_h_a_t
_s_c_r_i_p_t. The complete format for one _e_x_p_e_c_t/_s_e_n_d pair is:
_e_x_p_e_c_t--_t_i_m_e_o_u_t--_s_e_n_d--_e_x_p_e_c_t--_t_i_m_e_o_u_t _s_e_n_d
_E_x_p_e_c_t and _S_e_n_d are character strings. _E_x_p_e_c_t is compared
against incoming text from the remote host; _s_e_n_d is sent
back when _e_x_p_e_c_t is matched. By default, the _s_e_n_d is fol-
lowed by a `\r' (carriage return). If the _e_x_p_e_c_t string is
not matched within _t_i_m_e_o_u_t seconds (default 45), then it is
assumed that the match failed. The `_e_x_p_e_c_t--_s_e_n_d--_e_x_p_e_c_t'
notation provides a limited loop mechanism; if the first
_e_x_p_e_c_t string fails to match, then the _s_e_n_d string between
the hyphens is transmitted, and _u_u_c_i_c_o waits for the second
_e_x_p_e_c_t string. This can be repeated indefinitely. When the
last _e_x_p_e_c_t string fails, _u_u_c_i_c_o hangs up and logs that the
connection failed.
The timeout can (optionally) be specified by appending the
parameter `~~_n_n' to the expect string, when _n_n is the timeout
time in seconds.
Backslash escapes that may be imbedded in the _e_x_p_e_c_t or _s_e_n_d
strings include:
\b Generate a 3/10 second BREAK.
\b_n Where _n is a single-digit number;
generate an _n/10 second BREAK.
Printed 7/4/90 April 4
L.SYS(5) 1986 L.SYS(5)
\c Suppress the \r at the end of a _s_e_n_d string.
\d Delay; pause for 1 second. (_S_e_n_d only.)
\r Carriage Return.
\s Space.
\n Newline.
\xxx Where _x_x_x is an octal constant;
denotes the corresponding ASCII character.
As a special case, an empty pair of double-quotes """" in the
_e_x_p_e_c_t string is interpreted as ``expect nothing''; that is,
transmit the _s_e_n_d string regardless of what is received.
Empty double-quotes in the _s_e_n_d string cause a lone `\r'
(carriage return) to be sent.
One of the following keywords may be substituted for the
_s_e_n_d string:
BREAK Generate a 3/10 second BREAK
BREAK_n Generate an _n/10 second BREAK
CR Send a Carriage Return (same as "").
EOT Send an End-Of-Transmission character, ASCII \004.
Note that this will cause most hosts to hang up.
NL Send a Newline.
PAUSE Pause for 3 seconds.
PAUSE_n Pause for _n seconds.
P_ODD Use odd parity on future send strings.
P_ONE Use parity one on future send strings.
P_EVEN Use even parity on future send strings. (Default)
P_ZERO Use parity zero on future send strings.
Finally, if the _e_x_p_e_c_t string consists of the keyword AABBOORRTT,
then the string following is used to arm an abort trap. If
that string is subsequently received any time prior to the
completion of the entire _e_x_p_e_c_t/_s_e_n_d script, then _u_u_c_i_c_o
will abort, just as if the script had timed out. This is
useful for trapping error messages from port selectors or
front-end processors such as ``Host Unavailable'' or ``Sys-
tem is Down.''
For example:
"" "" ogin:--ogin: nuucp ssword: ufeedme
This is executed as, ``When the remote system answers,
_e_x_p_e_c_t nothing. _S_e_n_d a carriage return. _E_x_p_e_c_t the remote
to transmit the string `ogin:'. If it doesn't within 45
seconds, send another carriage return. When it finally
does, _s_e_n_d it the string `nuucp'. Then _e_x_p_e_c_t the string
`ssword:'; when that is received, _s_e_n_d `ufeedme'.''
FFIILLEESS
/usr/lib/uucp/L.sys
Printed 7/4/90 April 5
L.SYS(5) 1986 L.SYS(5)
/usr/lib/uucp/UUAIDS/L.sysL.sys example
SSEEEE AALLSSOO
uucp(1C), uux(1C), L-devices(5), services(5), uucico(8C)
BBUUGGSS
``ABORT'' in the send/expect script is expressed ``back-
wards,'' that is, it should be written `` _e_x_p_e_c_t AABBOORRTT'' but
instead it is `` AABBOORRTT _e_x_p_e_c_t''.
Several of the backslash escapes in the send/expect strings
are confusing and/or different from those used by AT&T and
Honey-Danber UUCP. For example, `\b' requests a BREAK,
while practically everywhere else `\b' means backspace.
`\t' for tab and `\f' for formfeed are not implemented.
`\s' is a kludge; it would be more sensible to be able to
delimit strings with quotation marks.
Printed 7/4/90 April 6
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.