Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ L.sys(5) — BSD/386 1.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

uucp(1)

uux(1)

L-devices(5)

services(5)

uucico(8)



L.SYS(5)                                                 L.SYS(5)


NAME
       L.sys - UUCP remote host description file

DESCRIPTION
       The  L.sys file is consulted by the UUCP daemon uucico(8C)
       for information on remote  systems.   L.sys  includes  the
       system name, appropriate times to call, phone numbers, and
       a login and password for the remote system.  L.sys 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.sys 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 (System through Device/PhoneNumber)
       specify the hardware mechanism that is necessary to make a
       connection  to  a remote host, such as a modem or network.
       Uucico searches from the top down through  L.sys  to  find
       the  desired  System;  it then opens the L-devices(5) file
       and searches for the first available device with the  same
       Caller,  Class,  and  (possibly)  Device.   (``Available''
       means that the device is ready  and  not  being  used  for
       something  else.)  Uucico attempts a connection using that
       device; if the connection cannot be made (for  example,  a
       dialer   gets  a  busy  signal),  uucico  tries  the  next
       available device. If this also fails, it returns to  L.sys
       to  look for another line for the same System.  If none is
       found, uucico gives up.

       System 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.sys will not be permitted a connection.
       The local hostname should not  appear  here  for  security
       reasons.

       Times  is  a  comma-separated list of the times of the day
       and week that calls are permitted to this  System.   Times
       is  most commonly used to restrict long distance telephone
       calls to those times when rates are lower.  List items are
       constructed as:

           keywordhhmm-hhmm/grade;retrytime$protocols@pktsize*windows!debug

       Keyword is required, and must be one of:

         Any     Any time, any day of the week.



UUCP                                                            1




L.SYS(5)                                                 L.SYS(5)


         Wk      Any  weekday.  In  addition, Mo, Tu, We, Th, Fr,
                 Sa, and  Su  can  be  used  for  Monday  through
                 Sunday, respectively.

         Evening When evening telephone rates are in effect, from
                 1700 to 0800 Monday through Friday, and all  day
                 Saturday  and  Sunday.   Evening  is the same as
                 Wk1700-0800,Sa,Su.

         Night   When nighttime telephone rates  are  in  effect,
                 from 2300 to 0800 Monday through Friday, all day
                 Saturday, and from 2300 to 1700  Sunday.   Night
                 is the same as Any2300-0800,Sa,Su0800-1700.

         NonPeak This  is  a  slight modification of Evening.  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.
                 NonPeak is the same as Any1800-0700,Sa,Su.

         Polled  Never   call;   calling   into  this  System  is
                 forbidden or impossible.  This is  intended  for
                 polled  connections,  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 hhmm-hhmm subfield provides a time range that
       modifies the keyword.  hhmm refers to hours and minutes in
       24-hour time (from 0000  to  2359).   The  time  range  is
       permitted  to  "wrap"  around midnight, and will behave in
       the obvious way. It is  invalid  to  follow  the  Evening,
       NonPeak, and Night keywords with a time range.

       The other time fields are optional:

         ![k]debug   Sets  the  debugging  level  to  debug.  The
                     optional `k' arranges to keep a time-stamped
                     audit   file.   NB:  this  overrides  remote
                     debuuging, so !0  can  be  used  to  prevent
                     debugging being set remotely.

         /grade      Grade  is  a  single  character denoting the
                     grade of the connection, from 0 to 9,  A  to
                     Z,  or  a  to  z.   This specifies that only
                     requests of grade grade or  better  will  be
                     transferred during this time.  (The grade of
                     a request or job is  specified  when  it  is
                     queued by uucp or uux.)  By convention, mail
                     is sent at grade C, news is sent at grade d,
                     and   uucp  copies  are  sent  at  grade  n.
                     Unfortunately,  some  sites  do  not  follow
                     these   conventions,   so  it  is  not  100%
                     reliable.



UUCP                                                            2




L.SYS(5)                                                 L.SYS(5)


         ;retrytime This 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 Time
                     field.)  By default, the retry  time  starts
                     at  10  minutes  and  gradually increases at
                     each failure, until after  26  tries  uucico
                     gives  up  completely  (MAX RETRIES). If the
                     retry time is too small, uucico may run into
                     MAX RETRIES too soon.

         $protocols  A  list  of  protocol  character names to be
                     used at this time.  (Presumably a sub-set of
                     those available).

         @pktsize   The  packet  size to be used on this circuit
                     [g-protocol default 64].

         *windows    The number of packet windows to be  used  on
                     this circuit [g-protocol default 7].

       Caller is the type of device used:

         ACU   Automatic  call unit or auto-dialing modem such as
               the Hayes  Smartmodem  1200  or  Novation  ``Smart
               Cat''.  See  L-devices  for  a  list  of supported
               modems.

         DIR   Direct connect; hardwired line (usually RS-232) to
               a remote system.

         MICOM Micom Terminal Switch.

         PAD   X.25 PAD connection.

         SYTEK Sytek  high-speed dedicated modem port connection.

         TCP   Berkeley TCP/IP or 3Com UNET connection. These are
               mutually exclusive.  TCP ports do not need entries
               in L-devices since all the  necessary  information
               is contained in L.sys.  If several alternate ports
               or  network  connections  should  be  tried,   use
               multiple L.sys entries.

         SLAVE This  indicates  that this entry applies to uucico
               when invoked in slave mode to receive a call.  The
               class  and  device  fields  can  be  used to match
               particular speeds and devices.  The time field can
               be  used  to  restrict  the grade of messages sent
               after turn-around to master mode, etc.

       Class 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



UUCP                                                            3




L.SYS(5)                                                 L.SYS(5)


       specified in the L-devices file.

       On some devices, the baud may be preceded by a non-numeric
       prefix.  This is used in L-devices  to  distinguish  among
       devices  that  have identical Caller and baud, but yet are
       distinctly 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, Class is the port number  (an  integer
       number)  or a port name from /etc/services that is used to
       make the connection. For standard  Berkeley  TCP/IP,  UUCP
       normally uses port number 540.

       Device/PhoneNumber varies based on the Caller field.  For
       ACU devices, this is the phone number to dial.  The number
       may include: digits 0 through 9; # 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   modems).  Other  characters  are  modem  dependent;
       generally standard telephone punctuation characters  (such
       as the slash and parentheses) are ignored, although uucico
       does not guarantee this.

       The phone number can be preceded by an alphabetic  string;
       the   string   is   indexed   and  converted  through  the
       L-dialcodes(5) file.

       For DIR devices, the  Device/PhoneNumber  field  contains
       the  name  of  the device in /dev that is used to make the
       connection.  There  must  be  a  corresponding   line   in
       L-devices with identical Caller, Class, and Device fields.

       For TCP and  other  network  devices,  Device/PhoneNumber
       holds  the  true  network name of the remote system, which
       may be different from its UUCP name  (although  one  would
       hope not).

       Expect  and  Send  refer  to  an  arbitrarily  long set of
       strings that alternately specify what to expect  and  what
       to  send  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 expect/send
       script.  The same syntax is used in the L-devices file  to
       interact  with  the  dialer  prior to making a connection;
       there it is referred to as a chat  script.   The  complete
       format for one expect/send pair is:

           expect-timeout-send-expect-timeout   send

       Expect and Send are character strings.  Expect is compared
       against incoming text from the remote host; send  is  sent
       back  when  expect  is  matched.   By default, the send is



UUCP                                                            4




L.SYS(5)                                                 L.SYS(5)


       followed by a `\r' (carriage return). If the expect string
       is  not  matched within timeout seconds (default 45), then
       it is assumed that the match  failed.   The  `expect-send-
       expect' notation provides a limited loop mechanism; if the
       first expect string fails to match, then the  send  string
       between  the  hyphens is transmitted, and uucico waits for
       the  second  expect   string.   This   can   be   repeated
       indefinitely.  When  the  last expect string fails, uucico
       hangs up and logs that the connection failed.

       The timeout can (optionally) be specified by appending the
       parameter  `~nn'  to  the  expect  string,  when nn is the
       timeout time in seconds.

       Backslash escapes that may be imbedded in  the  expect  or
       send strings include:

         \b    Generate a 3/10 second BREAK.
         \bn   Where n is a single-digit number; generate an n/10
               second BREAK.
         \c    Suppress the \r at the end of a send string.
         \d    Delay; pause for 1 second.  (Send only.)
         \r    Carriage Return.
         \s    Space.
         \n    Newline.
         \xxx  Where  xxx  is  an  octal  constant;  denotes  the
               corresponding ASCII character.

       As  a  special  case, an empty pair of double-quotes "" in
       the expect string is interpreted  as  ``expect  nothing'';
       that  is,  transmit  the send string regardless of what is
       received. Empty double-quotes in the send string  cause  a
       lone `\r' (carriage return) to be sent.

       One  of  the following keywords may be substituted for the
       send string:

         BREAK   Generate a 3/10 second BREAK.
         BREAKn  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.
         PAUSEn  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.
         P_HWFLOW_ON
                 Use  RTS/CTS flow control in this session.  Note
                 that this depends on a non-RS232  interpretation



UUCP                                                            5




L.SYS(5)                                                 L.SYS(5)


                 of  the  RTS  pin,  where  it  means  "ready  to
                 recieve" rather than "request to send".  Telebit
                 modems,  among  others, support this nonstandard
                 interpretation.
         P_HWFLOW_OFF
                 Turn off P_HWFLOW_ON.
         P_MDMBUF_ON
                 Use modem-control (usually DCD/DTR) flow control
                 in this session.
         P_MDMBUF_OFF
                 Turn off P_MDMBUF_ON.
         P_RTSCTS_ON
                 Use   RTS/CTS   handshaking  in  the  way  RS232
                 intended it to be used, which is to say,  assert
                 RTS and wait for CTS.
         P_RTSCTS_OFF
                 Turn off P_RTSCTS_ON.

       Finally,  if  the  expect  string  consists of the keyword
       ABORT, 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 expect/send  script,
       then  uucico  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 ``System is Down.''

       For example:

           ""  ""  ogin:--ogin:  nuucp  ssword:  ufeedme

       This is executed as, ``When  the  remote  system  answers,
       expect  nothing.   Send  a  carriage  return.   Expect the
       remote to transmit  the  string  `ogin:'.  If  it  doesn't
       within  45 seconds, send another carriage return.  When it
       finally does, send it the string `nuucp'.  Then expect the
       string `ssword:'; when that is received, send `ufeedme'.''

FILES
       /usr/lib/uucp/L.sys

SEE ALSO
       uucp(1), uux(1), L-devices(5), services(5), uucico(8)

BUGS
       `ABORT' in the send/expect script is expressed  backwards,
       that  is,  it should be written `expect ABORT' but instead
       it is `ABORT expect'.

       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



UUCP                                                            6




L.SYS(5)                                                 L.SYS(5)


       implemented.   `\s' is a kludge; it would be more sensible
       to be able to delimit strings with quotation marks.























































UUCP                                                            7


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