Annotation of 43BSDReno/usr.bin/uucp/L.sys.5, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1986 Regents of the University of California.
                      2: .\" All rights reserved.  The Berkeley software License Agreement
                      3: .\" specifies the terms and conditions for redistribution.
                      4: .\"
                      5: .\"    @(#)L.sys.5     6.1 (Berkeley) 4/24/86
                      6: .\"
                      7: .TH L.SYS 5 "April 24, 1986"
                      8: .UC 6
                      9: .SH NAME
                     10: L.sys \- UUCP remote host description file 
                     11: .SH DESCRIPTION
                     12: The
                     13: .I L.sys
                     14: file is consulted by the UUCP daemon
                     15: .IR uucico (8C)
                     16: for information on remote systems.
                     17: .I L.sys
                     18: includes the system name, appropriate times to call, phone numbers, and a 
                     19: login and password for the remote system.
                     20: .I L.sys
                     21: is thus a privileged file, owned by the UUCP Administrator;
                     22: it is accessible only to the Administrator and to the superuser.
                     23: .PP
                     24: Each line in
                     25: .I L.sys
                     26: describes one connection to one remote host, and has the form:
                     27: .PP
                     28: .nf
                     29: System  Times  Caller  Class  Device/Phone_Number  [Expect  Send]....
                     30: .fi
                     31: .PP
                     32: Fields can be separated by any number of blanks or tabs. Lines beginning
                     33: with a `#' character are comments; long lines can be continued by appending
                     34: a `\\' character to the end of the line.
                     35: .PP
                     36: The first five fields
                     37: .RI ( System
                     38: through
                     39: .IR Device/Phone_Number )
                     40: specify the hardware mechanism that is necessary to make a connection
                     41: to a remote host, such as a modem or network.
                     42: .I Uucico
                     43: searches from the top down through
                     44: .I L.sys
                     45: to find the desired
                     46: .IR System ;
                     47: it then opens the
                     48: .IR L-devices (5)
                     49: file and searches for the first available device with the same
                     50: .IR Caller ,
                     51: .IR Class ,
                     52: and (possibly)
                     53: .IR Device .
                     54: (``Available'' means that the device is ready and not being used
                     55: for something else.) 
                     56: .I Uucico
                     57: attempts a connection using that device; if
                     58: the connection cannot be made (for example, a
                     59: dialer gets a busy signal),
                     60: .I uucico
                     61: tries the next available device. If this also fails, it returns to
                     62: .I L.sys
                     63: to look for another line for the same
                     64: .IR System .
                     65: If none is found,
                     66: .I uucico
                     67: gives up.
                     68: .PP
                     69: .I System
                     70: is the hostname of the remote system.
                     71: Every machine with which this system communicates via UUCP should be listed,
                     72: regardless of who calls whom.
                     73: Systems not listed in
                     74: .I L.sys
                     75: will not be permitted a connection.
                     76: The local hostname should
                     77: .B not
                     78: appear here for security reasons.
                     79: .PP
                     80: .I Times
                     81: is a comma-separated list of the times of the day and week that 
                     82: calls are permitted to this
                     83: .IR System .  
                     84: .I Times
                     85: is most commonly used
                     86: to restrict long distance telephone calls to those times when
                     87: rates are lower.  List items are constructed as:
                     88: .PP
                     89: .nf
                     90:        \fIkeyword\fPhhmm\fB-\fPhhmm\fB/\fP\fIgrade\fP\fB;\fP\fIretry_time\fP
                     91: .fi
                     92: .PP
                     93: .I Keyword
                     94: is required, and must be one of:
                     95: .TP 8
                     96: .B Any
                     97: Any time, any day of the week.
                     98: .TP 8
                     99: .B Wk
                    100: Any weekday. In addition,
                    101: .BR Mo ,
                    102: .BR Tu ,
                    103: .BR We ,
                    104: .BR Th ,
                    105: .BR Fr ,
                    106: .BR Sa ,
                    107: and
                    108: .B Su
                    109: can be used for Monday through Sunday, respectively.
                    110: .TP 8
                    111: .B Evening
                    112: When evening telephone rates are in effect, from 1700 to 0800 Monday
                    113: through Friday, and all day Saturday and Sunday.
                    114: .B Evening
                    115: is the same as
                    116: .BR Wk1700-0800,Sa,Su .
                    117: .TP 8
                    118: .B Night
                    119: When nighttime telephone rates are in effect, from 2300 to 0800 Monday
                    120: through Friday, all day Saturday, and from 2300 to 1700 Sunday.
                    121: .B Night
                    122: is the same as
                    123: .BR Any2300-0800,Sa,Su0800-1700 .
                    124: .TP 8
                    125: .B NonPeak
                    126: This is a slight modification of 
                    127: .BR Evening .
                    128: It matches when the USA X.25 carriers have their lower rate period. This
                    129: is 1800 to 0700 Monday through Friday, and all day Saturday and Sunday.
                    130: .B NonPeak
                    131: is the same as
                    132: .BR Any1800-0700,Sa,Su .
                    133: .TP 8
                    134: .B Never
                    135: Never call; calling into this
                    136: .I System
                    137: is forbidden or impossible.
                    138: This is intended for polled connections, where the
                    139: remote system calls into the local machine periodically.
                    140: This is necessary when one of the machines is lacking
                    141: either dial-in or dial-out modems.
                    142: .PP
                    143: The optional
                    144: .I hhmm-hhmm
                    145: subfield provides a time range that modifies the keyword.
                    146: .I hhmm
                    147: refers to
                    148: .I hours
                    149: and
                    150: .I minutes
                    151: in 24-hour time (from 0000 to 2359).
                    152: The time range is permitted to "wrap" around midnight, and will behave in
                    153: the obvious way. It is invalid to follow the
                    154: .BR Evening ,
                    155: .BR NonPeak ,
                    156: and
                    157: .B Night
                    158: keywords with a time range.
                    159: .PP
                    160: The
                    161: .I grade
                    162: subfield is optional; if present, it is composed of a `/'
                    163: (slash) and single 
                    164: character denoting the
                    165: .I grade
                    166: of the connection, from
                    167: .B 0
                    168: to
                    169: .BR 9 ,
                    170: .B A
                    171: to 
                    172: .BR Z ,
                    173: or
                    174: .B a
                    175: to
                    176: .BR z .
                    177: This specifies that only requests of grade
                    178: .I grade
                    179: or better will be transferred during this time.
                    180: (The grade of a request or job is specified when it is queued by
                    181: .I uucp
                    182: or
                    183: .IR uux .)
                    184: By convention, mail is sent at grade
                    185: .BR C ,
                    186: news is sent at grade
                    187: .BR d ,
                    188: and uucp copies are sent at grade
                    189: .BR n .
                    190: Unfortunately, some sites do not follow these conventions, so it is
                    191: not 100% reliable.
                    192: .PP
                    193: The
                    194: .I retry_time
                    195: subfield is optional; it must be preceded by a `;' (semicolon) and
                    196: specifies the time, in minutes, before a failed connection may be
                    197: tried again.
                    198: (This restriction is in addition to any constraints imposed by the rest of the
                    199: .I Time
                    200: field.)
                    201: By default, the retry time starts at 10 minutes and gradually increases
                    202: at each failure, until after 26 tries
                    203: .I uucico
                    204: gives up completely (MAX RETRIES). If the retry time is too small,
                    205: .I uucico
                    206: may run into MAX RETRIES too soon.
                    207: .PP
                    208: .I Caller
                    209: is the type of device used:
                    210: .TP 8
                    211: .B ACU
                    212: Automatic call unit or auto-dialing modem such as the Hayes
                    213: Smartmodem 1200 or Novation ``Smart Cat''. See
                    214: .I L-devices
                    215: for a list of supported modems.
                    216: .TP 8
                    217: .B DIR
                    218: Direct connect; hardwired line (usually RS-232) to a remote system.
                    219: .TP 8
                    220: .B MICOM
                    221: Micom Terminal Switch.
                    222: .TP 8
                    223: .B PAD
                    224: X.25 PAD connection.
                    225: .TP 8
                    226: .B PCP
                    227: GTE Telenet PC Pursuit. See
                    228: .I L-devices
                    229: for configuration  details.
                    230: .TP 8
                    231: .B SYTEK
                    232: Sytek high-speed dedicated modem port connection.
                    233: .TP 8
                    234: .B TCP
                    235: Berkeley TCP/IP or 3Com UNET connection. These are mutually exclusive.
                    236: TCP ports do
                    237: .B not
                    238: need entries in
                    239: .I L-devices
                    240: since all the necessary information is contained in
                    241: .IR L.sys .
                    242: If several alternate ports or network connections should be tried,
                    243: use multiple
                    244: .I L.sys
                    245: entries.
                    246: .PP
                    247: .I Class
                    248: is usually the speed (baud) of the device, typically 300, 1200, or
                    249: 2400 for ACU devices and 9600 for direct lines.
                    250: Valid values are device dependent, and are specified in the
                    251: .I L\-devices
                    252: file.
                    253: .PP
                    254: On some devices, the baud may be preceded by a
                    255: non-numeric prefix.  This is used in
                    256: .IR L\-devices
                    257: to distinguish among devices that have identical
                    258: .I Caller
                    259: and baud, but yet are distinctly different. For example, 1200
                    260: could refer to all Bell 212-compatible modems, V1200 to
                    261: Racal-Vadic modems, and C1200 to CCITT modems, all at 1200 baud.
                    262: .PP
                    263: On TCP connections,
                    264: .I Class
                    265: is the port number (an integer number) or a port name from
                    266: .I /etc/services 
                    267: that is used to make the connection. For standard Berkeley TCP/IP,
                    268: UUCP normally uses port number 540.
                    269: .PP
                    270: .I Device/Phone_Number
                    271: varies based on the
                    272: .I Caller
                    273: field.  For ACU devices, this is the phone number to dial.
                    274: The number may include: digits
                    275: .B 0
                    276: through
                    277: .BR 9 ;
                    278: .B #
                    279: and
                    280: .B *
                    281: for dialing those symbols on tone telephone lines;
                    282: .B -
                    283: (hyphen) to pause for a moment, typically two to four seconds;
                    284: .B =
                    285: (equal sign) to wait for a second dial tone (implemented as a pause on
                    286: many modems). Other characters are modem dependent; generally
                    287: standard telephone punctuation characters (such as the slash and
                    288: parentheses) are ignored, although
                    289: .I uucico
                    290: does not guarantee this.
                    291: .PP
                    292: The phone number can be preceded by an alphabetic
                    293: string; the string is indexed and converted through the
                    294: .IR "L\-dialcodes" (5)
                    295: file.
                    296: .PP
                    297: For DIR devices, the
                    298: .I Device/Phone_Number
                    299: field contains the name of the device in
                    300: .I /dev
                    301: that is used to make the connection. There must be a corresponding
                    302: line in
                    303: .I L\-devices
                    304: with identical
                    305: .IR Caller ,
                    306: .IR Class ,
                    307: and
                    308: .I Device
                    309: fields.
                    310: .PP
                    311: For TCP and other network devices,
                    312: .I Device/Phone_Number
                    313: holds the true network name of the remote system, which may be different
                    314: from its UUCP name (although one would hope not).
                    315: .PP
                    316: .I Expect
                    317: and
                    318: .I Send
                    319: refer to an arbitrarily long set of strings that
                    320: alternately specify what to
                    321: .I expect
                    322: and what to
                    323: .I send
                    324: to login to the remote system once a physical connection has
                    325: been established.  A complete set of expect/send strings is referred
                    326: to as an
                    327: .IR "expect/send script" .
                    328: The same syntax is used in the
                    329: .I L\-devices
                    330: file to interact with the dialer prior to making a connection; there
                    331: it is referred to as a
                    332: .IR "chat script" .
                    333: The complete format for one
                    334: .I expect/send
                    335: pair is:
                    336: .PP
                    337: .nf
                    338:        \fIexpect\fP\fB-\fP\fItimeout\fP\fB-\fP\fIsend\fP\fB-\fP\fI\
                    339: expect\fP\fB-\fP\fItimeout   send\fP
                    340: .fi
                    341: .PP
                    342: .I Expect
                    343: and
                    344: .I Send
                    345: are character strings.
                    346: .I Expect
                    347: is compared against incoming text from the remote host;
                    348: .I send
                    349: is sent back when
                    350: .I expect
                    351: is matched.  By default, the
                    352: .I send
                    353: is followed by a `\er' (carriage return). If the
                    354: .I expect
                    355: string is not matched within
                    356: .I timeout
                    357: seconds (default 45), then it is assumed that the match failed.
                    358: The `\fIexpect\fP\fB-\fP\fIsend\fP\fB-\fP\fIexpect\fP' notation 
                    359: provides a limited loop mechanism; if the first
                    360: .I expect
                    361: string fails to match, then the
                    362: .I send
                    363: string between the hyphens is transmitted, and
                    364: .I uucico
                    365: waits for the second
                    366: .I expect
                    367: string. This can be repeated indefinitely. When the last
                    368: .I expect
                    369: string fails,
                    370: .I uucico
                    371: hangs up and logs that the connection failed. 
                    372: .PP
                    373: The timeout can (optionally) be specified by appending the parameter
                    374: `\fB~\fP\fInn\fP' to the expect string, when \fInn\fR is the timeout
                    375: time in seconds.
                    376: .PP
                    377: Backslash escapes that may be imbedded in the
                    378: .I expect
                    379: or
                    380: .I send
                    381: strings include:
                    382: .PP
                    383: .ta .5in +.8in +.8in
                    384: .nf
                    385:        \eb     Generate a 3/10 second BREAK.
                    386:        \eb\fIn\fP      Where \fIn\fP is a single-digit number;
                    387:                generate an \fIn\fP/10 second BREAK.
                    388:        \ec     Suppress the \er at the end of a \fIsend\fP string.
                    389:        \ed     Delay; pause for 1 second. (\fISend\fR only.)
                    390:        \er     Carriage Return.
                    391:        \es     Space.
                    392:        \en     Newline.
                    393:        \exxx   Where \fIxxx\fP is an octal constant;
                    394:                denotes the corresponding ASCII character.
                    395: .fi
                    396: .PP
                    397: As a special case, an empty pair of double-quotes \fB""\fP in the
                    398: .I expect
                    399: string is interpreted as ``expect nothing''; that is, transmit
                    400: the
                    401: .I send
                    402: string regardless of what is received. Empty double-quotes
                    403: in the
                    404: .I send
                    405: string cause a lone `\er' (carriage return) to be sent.
                    406: .PP
                    407: One of the following keywords may be substituted for the
                    408: .I send
                    409: string:
                    410: .PP
                    411: .nf
                    412:        BREAK   Generate a 3/10 second BREAK
                    413:        BREAK\fIn\fP    Generate an \fIn\fP/10 second BREAK
                    414:        CR      Send a Carriage Return (same as "").
                    415:        EOT     Send an End-Of-Transmission character, ASCII \e004.
                    416:                Note that this will cause most hosts to hang up.
                    417:        NL      Send a Newline.
                    418:        PAUSE   Pause for 3 seconds.
                    419:        PAUSE\fIn\fP    Pause for \fIn\fR seconds.
                    420:        P_ODD   Use odd parity on future send strings.
                    421:        P_ONE   Use parity one on future send strings.
                    422:        P_EVEN  Use even parity on future send strings. (Default)
                    423:        P_ZERO  Use parity zero on future send strings.
                    424: .fi
                    425: .PP
                    426: Finally, if the
                    427: .I expect
                    428: string consists of the keyword
                    429: .BR ABORT ,
                    430: then the string following is used to arm an abort trap. If that string
                    431: is subsequently received any time prior to the completion of the entire
                    432: .I expect/send
                    433: script, then
                    434: .I uucico
                    435: will abort, just as if the
                    436: script had timed out. This is useful for trapping error messages from
                    437: port selectors or front-end processors such as ``Host Unavailable'' or
                    438: ``System is Down.''
                    439: .PP
                    440: For example:
                    441: .PP
                    442: .nf
                    443:        ""  ""  ogin:--ogin:  nuucp  ssword:  ufeedme
                    444: .fi
                    445: .PP
                    446: This is executed as, ``When the remote system answers,
                    447: .I expect
                    448: nothing.
                    449: .I Send
                    450: a carriage return.
                    451: .I Expect
                    452: the remote to transmit the string `ogin:'. If it doesn't
                    453: within 45 seconds, send another carriage return.  When it finally does,
                    454: .I send
                    455: it the string `nuucp'.  Then
                    456: .I expect
                    457: the string `ssword:'; when that is received,
                    458: .I send
                    459: `ufeedme'.''
                    460: .SH FILES
                    461: /usr/lib/uucp/L.sys
                    462: .br
                    463: /usr/lib/uucp/UUAIDS/L.sys     L.sys example
                    464: .SH SEE ALSO
                    465: uucp(1C), uux(1C), L-devices(5), services(5), uucico(8C)
                    466: .SH BUGS
                    467: ``ABORT'' in the send/expect script is expressed ``backwards,'' that is,
                    468: it should be written ``
                    469: .I expect
                    470: .BR ABORT ''
                    471: but instead it is ``
                    472: .B ABORT
                    473: .IR expect ''.
                    474: .PP
                    475: Several of the backslash escapes in the send/expect strings are confusing
                    476: and/or different from those used by AT&T and Honey-Danber UUCP.
                    477: For example, `\eb' requests
                    478: a BREAK, while practically everywhere else `\eb' means backspace.
                    479: `\et' for tab and `\ef' for formfeed are not implemented.
                    480: `\es' is a kludge; it would be more sensible to be able to delimit strings
                    481: with quotation marks.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.