|
|
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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.