|
|
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.