Commit | Line | Data |
---|---|---|
a9073747 KM |
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 | .\" @(#)implement.ms 6.2 (Berkeley) %G% | |
10bd7bb5 | 6 | .\" |
10bd7bb5 | 7 | .TL |
a9073747 KM |
8 | Installation and Operation of UUCP |
9 | .br | |
10 | 4.3BSD Edition | |
11 | .AU | |
12 | D. A. Nowitz | |
13 | .AI | |
14 | .MH | |
15 | .AU | |
16 | Ross Green | |
17 | .AI | |
18 | Computer Systems Research Group | |
19 | Computer Science Division | |
20 | Department of Electrical Engineering and Computer Science | |
21 | University of California, Berkeley | |
22 | Berkeley, CA 94720 | |
10bd7bb5 | 23 | .AB |
10bd7bb5 KM |
24 | Uucp is a series of programs designed to permit communication between |
25 | .UX | |
26 | systems using either dial-up or | |
27 | hardwired communication lines. | |
28 | It is used for file transfers and remote command execution. | |
29 | The first version of the system was designed and implemented | |
a9073747 KM |
30 | by M. E. Lesk (SMM:21). |
31 | .LP | |
32 | There have been many changes to the implementation of UUCP | |
33 | since the release of 4.2BSD. | |
34 | Many problems been fixed, | |
35 | and several improvements to provide greater throughput have been incorporated. | |
36 | A number of new features and facilites have been added, | |
37 | these include: | |
38 | .IP \(bu 3 | |
39 | Improved administration. | |
40 | .IP \(bu 3 | |
41 | Extended modem support. | |
42 | .IP \(bu 3 | |
43 | New transfer protocols | |
44 | .IP \(bu 3 | |
45 | Security enhancements. | |
46 | .PP | |
47 | The first part of this document gives a detailed | |
48 | description of the use of UUCP. | |
49 | The rest of the document indicates the changes that have been made to UUCP, | |
50 | and provides an update on the installation and implementation details. | |
51 | It is for use by an administrator/installer of the system; | |
52 | it is not meant as a user's guide. | |
53 | .sp | |
54 | .LP | |
55 | Revised | |
56 | .AE | |
10bd7bb5 | 57 | .LP |
a9073747 KM |
58 | .OH 'Installation and Operation of UUCP''SMM:9-%' |
59 | .EH 'SMM:9-%''Installation and Operation of UUCP' | |
60 | .NH | |
61 | Uucp Implementation Description | |
62 | .PP | |
10bd7bb5 KM |
63 | Uucp is a batch type operation. |
64 | Files are created in a spool directory for processing | |
65 | by the uucp demons. | |
66 | There are three types of files used for the execution | |
67 | of work. | |
68 | .I Data\ files | |
69 | contain data for transfer to remote systems. | |
70 | .I Work\ files | |
71 | contain directions for file transfers between systems. | |
72 | .I Execution\ files | |
73 | are directions for | |
74 | .UX | |
75 | command executions which | |
76 | involve the resources of one or more systems. | |
77 | .LP | |
a9073747 | 78 | The uucp system consists of ten primary and four |
10bd7bb5 | 79 | secondary programs. |
a9073747 KM |
80 | These programs are summaried in section 9. |
81 | The three most important primary programs are: | |
10bd7bb5 KM |
82 | .RS |
83 | .IP uucp 10 | |
84 | This program creates work and gathers data files in the spool directory | |
85 | for the transmission of files. | |
86 | .IP uux | |
87 | This program creates work files, execute files and gathers data files for the remote execution of | |
88 | .UX | |
89 | commands. | |
a9073747 KM |
90 | .IP uulog |
91 | This program updates the log file with new entries | |
92 | and reports on the status of uucp requests. | |
93 | .RE | |
94 | .ne 10 | |
95 | .LP | |
96 | The three most important secondary programs are: | |
97 | .RS | |
98 | .IP uucico 10 | |
10bd7bb5 KM |
99 | This program executes the work files for data transmission. |
100 | .IP uuxqt | |
101 | This program executes the execution files for | |
102 | .UX | |
103 | command execution. | |
10bd7bb5 KM |
104 | .IP uuclean |
105 | This program removes old files from the spool directory. | |
10bd7bb5 | 106 | .RE |
a9073747 KM |
107 | .LP |
108 | The next six sections of this paper will describe the operation | |
109 | of each program. | |
110 | the installation of the system, | |
10bd7bb5 KM |
111 | the security aspects of the system, |
112 | the files required for execution, | |
113 | and the administration of the system. | |
114 | .NH | |
115 | Uucp - UNIX to UNIX File Copy | |
116 | .LP | |
117 | The | |
118 | .I uucp | |
119 | command is the user's primary interface with the system. | |
120 | The | |
121 | .I uucp | |
122 | command was designed to look like | |
123 | .I cp | |
124 | to the user. | |
125 | The syntax is | |
126 | .IP | |
127 | .I uucp\ \ | |
128 | .B [ | |
129 | option | |
130 | .B ] | |
131 | \ ...\ \ source\ ...\ \ destination | |
132 | .LP | |
133 | where the source and destination | |
134 | may contain the prefix | |
135 | .I system-name! | |
136 | which indicates the system on which the file | |
137 | or files reside | |
138 | or where they will be copied. | |
139 | .LP | |
140 | The options interpreted by | |
141 | .I uucp | |
142 | are: | |
143 | .RS | |
144 | .IP \-d 10 | |
145 | Make directories when necessary for copying the file. | |
146 | .IP \-c | |
147 | Don't copy source files to the spool directory, | |
148 | but use the specified source when the actual | |
149 | transfer takes place. | |
150 | .IP \-g\fIletter\fR | |
151 | Put | |
152 | .I letter | |
153 | in as the grade in the name of the work file. | |
154 | (This can be used to change the order of work for a particular | |
155 | machine.) | |
156 | .IP \-m | |
157 | Send mail on completion of the work. | |
158 | .LP | |
159 | The following options are used primarily for debugging: | |
160 | .IP \-r 10 | |
161 | Queue the job but do not start | |
162 | .I uucico | |
163 | program. | |
164 | .IP \-s\fIdir\fR | |
165 | Use directory | |
166 | .I dir | |
167 | for the spool directory. | |
168 | .IP \-x\fInum\fR | |
169 | .I Num | |
170 | is the level of debugging output desired. | |
171 | .RE | |
172 | .LP | |
173 | The destination may be a directory name, | |
174 | in which case the file name is taken from the last part of the | |
175 | source's name. | |
176 | The source | |
177 | name may contain special shell characters | |
178 | such as ``\fI?*[]\fR''. | |
179 | If a source argument has a | |
180 | .I system-name! | |
181 | prefix for a remote system, | |
182 | the file name expansion will be done on the remote system. | |
183 | .LP | |
184 | The command | |
185 | .IP "" 12 | |
186 | uucp\ \ *.c\ \ usg!/usr/dan | |
187 | .LP | |
188 | will set up the transfer of all files whose names end with ``.c'' | |
189 | to the ``/usr/dan'' directory on the``usg'' machine. | |
190 | .LP | |
191 | The source and/or destination names may also contain a | |
192 | .I ~user | |
193 | prefix. | |
194 | This translates to the login directory on | |
195 | the specified system. | |
196 | For names with partial path-names, | |
197 | the current directory is prepended to the file name. | |
198 | File names with | |
199 | .I ../ | |
200 | are not permitted. | |
201 | .LP | |
202 | The command | |
203 | .IP "" 12 | |
204 | uucp\ \ usg!~dan/*.h\ \ ~dan | |
205 | .LP | |
206 | will set up the transfer of files whose names end with ``.h'' | |
207 | in dan's login | |
208 | directory on system ``usg'' to dan's local | |
209 | login directory. | |
210 | .LP | |
211 | For each source file, | |
212 | the program will check the source and destination | |
213 | file-names | |
214 | and the system-part of each to | |
215 | classify the work into one of five types: | |
216 | .RS | |
217 | .IP [1] | |
218 | Copy source to destination on local system. | |
219 | .IP [2] | |
220 | Receive files from other systems. | |
221 | .IP [3] | |
222 | Send files to a remote systems. | |
223 | .IP [4] | |
224 | Send files from remote systems | |
225 | to another remote system. | |
226 | .IP [5] | |
227 | Receive files from remote systems when the source | |
228 | contains special shell characters as | |
229 | mentioned above. | |
230 | .RE | |
231 | .LP | |
232 | After the work has been set up in the spool directory, | |
233 | the | |
234 | .I uucico | |
235 | program is started to try to contact the other | |
236 | machine to execute the work (unless the \-r option | |
237 | was specified). | |
238 | .SH | |
239 | Type 1 | |
240 | .LP | |
241 | A | |
242 | .I cp | |
243 | command is used to do the work. | |
244 | The | |
245 | .I \-d | |
246 | and the | |
247 | .I \-m | |
248 | options are not honored in this case. | |
249 | .SH | |
250 | Type 2 | |
251 | .LP | |
252 | A one line | |
253 | .I "work file" | |
254 | is created for each file requested and put in the spool directory | |
255 | with the following fields, each separated by a blank. | |
256 | (All | |
257 | .I "work files" | |
258 | and | |
259 | .I "execute files" | |
260 | use a blank as the field separator.) | |
261 | .RS | |
262 | .IP [1] | |
263 | R | |
264 | .IP [2] | |
265 | The full path-name of the source or a ~user/path-name. | |
266 | The | |
267 | .I ~user | |
268 | part will be expanded on the remote system. | |
269 | .IP [3] | |
270 | The full path-name of the destination file. | |
271 | If the | |
272 | .I ~user | |
273 | notation is used, it will be immediately | |
274 | expanded to be the login directory for the user. | |
275 | .IP [4] | |
276 | The user's login name. | |
277 | .IP [5] | |
278 | A ``\-'' followed by an option list. | |
279 | (Only the \-m and \-d options will appear in this list.) | |
280 | .RE | |
281 | .KS | |
282 | .SH | |
283 | Type 3 | |
284 | .LP | |
285 | For each source file, a | |
286 | .I "work file" | |
287 | is created and the source file is copied into a | |
288 | .I "data file" | |
289 | in the spool directory. | |
290 | (A ``\-c'' option on the | |
291 | .I uucp | |
292 | command will prevent the | |
293 | .I "data file" | |
294 | from being made.) | |
295 | In this case, the file will be transmitted from | |
296 | the indicated source.) | |
297 | The fields of each entry are given below. | |
298 | .RS | |
299 | .IP [1] | |
300 | S | |
301 | .IP [2] | |
302 | The full-path name of the source file. | |
303 | .IP [3] | |
304 | The full-path name of the destination or | |
305 | ~user/file-name. | |
306 | .IP [4] | |
307 | The user's login name. | |
308 | .IP [5] | |
309 | A ``\-'' followed by an option list. | |
310 | .IP [6] | |
311 | The name of the | |
312 | .I "data file" | |
313 | in the spool directory. | |
314 | .IP [7] | |
315 | The file mode bits of the source file | |
316 | in octal print format | |
317 | (e.g. 0666). | |
318 | .RE | |
319 | .KE | |
320 | .SH | |
321 | Type 4 and Type 5 | |
322 | .LP | |
323 | .I Uucp | |
324 | generates a | |
325 | .I uucp | |
326 | command and sends it to the remote machine; | |
327 | the remote | |
328 | .I uucico | |
329 | executes the | |
330 | .I uucp | |
331 | command. | |
332 | .NH | |
333 | Uux - UNIX To UNIX Execution | |
334 | .LP | |
335 | The | |
336 | .I uux | |
337 | command is used to set up the execution of a | |
338 | .UX | |
339 | command | |
340 | where the execution machine and/or some of the | |
341 | files are remote. | |
342 | The syntax of the uux command is | |
343 | .IP | |
344 | .I uux\ \ | |
345 | .B [ | |
346 | \- | |
347 | .B "] [" | |
348 | option | |
349 | .B ] | |
350 | \ ...\ \ command-string | |
351 | .LP | |
352 | where the command-string is made up of one or more arguments. | |
353 | All special shell characters such as ``<>|^'' must be quoted | |
354 | either by quoting the entire command-string | |
355 | or quoting the character as a separate argument. | |
356 | Within the command-string, the command and file names may | |
357 | contain a | |
358 | .I system-name! | |
359 | prefix. | |
360 | All arguments which do not contain a ``!'' will not | |
361 | be treated as files. | |
362 | (They will not be copied to the execution machine.) | |
363 | The ``\-'' is used to indicate that the standard input | |
364 | for | |
365 | .I command-string | |
366 | should be inherited from the standard input | |
367 | of the | |
368 | .I uux | |
369 | command. | |
370 | The options, essentially for debugging, are: | |
371 | .RS | |
372 | .IP \-r 10 | |
373 | Don't start | |
374 | .I uucico | |
375 | or | |
376 | .I uuxqt | |
377 | after queuing the job; | |
378 | .IP \-x\fInum\fR | |
379 | Num is the level of debugging output desired. | |
380 | .RE | |
381 | .LP | |
382 | The command | |
383 | .IP "" 12 | |
384 | pr\ \ abc\ \ |\ \ uux\ \ \-\ \ usg!lpr | |
385 | .LP | |
386 | will set up the output of ``pr abc'' | |
387 | as standard input to an lpr command | |
388 | to be executed on system ``usg''. | |
389 | .LP | |
390 | .I Uux | |
391 | generates an | |
392 | .I "execute file" | |
393 | which contains the | |
394 | names of the files required | |
395 | for execution (including standard input), | |
396 | the user's login name, the destination | |
397 | of the standard output, and the command to be executed. | |
398 | This file is either put in the spool directory | |
399 | for local execution or sent to the remote system using | |
400 | a generated send command (type 3 above). | |
401 | .LP | |
402 | For required files which are not on the execution machine, | |
403 | .I uux | |
404 | will generate receive command files (type 2 above). | |
405 | These command-files will be put on the execution machine and | |
406 | executed by the | |
407 | .I uucico | |
408 | program. | |
409 | (This will work only if the local system has permission | |
410 | to put files in the remote spool directory as controlled | |
411 | by the remote | |
412 | .I USERFILE . | |
413 | ) | |
414 | .LP | |
415 | The | |
416 | .I "execute file" | |
417 | will be processed | |
418 | by the | |
419 | .I uuxqt | |
420 | program on the execution machine. | |
421 | It is made up of several lines, | |
422 | each of which contains an identification character | |
423 | and one or more arguments. | |
424 | The order of the lines in the file is not relevant | |
425 | and some of the lines may not be present. | |
426 | Each line is described below. | |
427 | .RS | |
428 | .SH | |
429 | User Line | |
430 | .IP | |
431 | U\ \ user\ \ system | |
432 | .LP | |
433 | where the | |
434 | .I user | |
435 | and | |
436 | .I system | |
437 | are the requester's login name and system. | |
438 | .SH | |
439 | Required File Line | |
440 | .IP | |
441 | F file-name real-name | |
442 | .LP | |
443 | where the | |
444 | .I file-name | |
445 | is the generated name of a file for the execute machine | |
446 | and | |
447 | .I real-name | |
448 | is the last part of the actual file name (contains no | |
449 | path information). | |
450 | Zero or more of these lines may be present in the | |
451 | .I "execute file" . | |
452 | The | |
453 | .I uuxqt | |
454 | program will check for the existence of all required | |
455 | files before the command is executed. | |
456 | .SH | |
457 | Standard Input Line | |
458 | .IP | |
459 | I\ \ file-name | |
460 | .LP | |
461 | The standard input is either specified by a ``<'' in the | |
462 | command-string or inherited from the standard input of the | |
463 | .I uux | |
464 | command if the ``\-'' option is used. | |
465 | If a standard input is not specified, | |
466 | ``/dev/null'' is used. | |
467 | .SH | |
468 | Standard Output Line | |
469 | .IP | |
470 | O\ \ file-name\ \ system-name | |
471 | .LP | |
472 | The standard output is specified by a ``>'' within the | |
473 | command-string. | |
474 | If a standard output is not specified, | |
475 | ``/dev/null'' is used. | |
476 | (Note \- the use of ``>>'' is not implemented.) | |
477 | .SH | |
478 | Command Line | |
479 | .IP | |
480 | C\ \ command\ \ | |
481 | .B [ | |
482 | arguments | |
483 | .B ] | |
484 | \ ... | |
485 | .LP | |
486 | The arguments are those specified in the command-string. | |
487 | The standard input and standard output will not appear on this | |
488 | line. | |
489 | All | |
490 | .I "required files" | |
491 | will be moved to the execution directory (a subdirectory | |
492 | of the spool directory) | |
493 | and the | |
494 | .UX | |
495 | command is executed using the Shell specified in the | |
496 | .I uucp.h | |
497 | header file. | |
498 | In addition, a shell ``PATH'' statement is prepended | |
499 | to the command line as specified in the | |
500 | .I uuxqt | |
501 | program. | |
502 | .LP | |
503 | After execution, the standard output is copied or set up to be | |
504 | sent to the proper place. | |
505 | .RE | |
506 | .NH | |
a9073747 KM |
507 | Uulog - Uucp Log Inquiry |
508 | .LP | |
509 | The | |
510 | .I uucp | |
511 | programs create individual | |
512 | log files for each program invocation. | |
513 | Periodically, | |
514 | .I uulog | |
515 | may be executed to prepend these files to the | |
516 | system logfile. | |
517 | This method of logging was chosen to minimize file | |
518 | locking of the logfile during program execution. | |
519 | .LP | |
520 | The | |
521 | .I uulog | |
522 | program merges the individual | |
523 | log files and outputs specified log entries. | |
524 | The output request is specified by the use of the | |
525 | following options: | |
526 | .RS | |
527 | .IP \-s\fIsys\fR 9 | |
528 | Print entries where | |
529 | .I sys | |
530 | is the remote system name; | |
531 | .IP \-u\fIuser\fR | |
532 | Print entries for user | |
533 | .I user. | |
534 | .RE | |
535 | .LP | |
536 | The intersection of lines satisfying the two options is output. | |
537 | A null | |
538 | .I sys | |
539 | or | |
540 | .I user | |
541 | means all system names or users respectively. | |
542 | .NH | |
10bd7bb5 KM |
543 | Uucico - Copy In, Copy Out |
544 | .LP | |
545 | The | |
546 | .I uucico | |
547 | program will perform the following major functions: | |
548 | .RS | |
549 | .IP -\ \ 3 | |
550 | Scan the spool directory for work. | |
551 | .IP -\ \ | |
552 | Place a call to a remote system. | |
553 | .IP -\ \ | |
554 | Negotiate a line protocol to be used. | |
555 | .IP -\ \ | |
556 | Execute all requests from both systems. | |
557 | .IP -\ \ | |
558 | Log work requests and work completions. | |
559 | .RE | |
560 | .LP | |
561 | .I Uucico | |
562 | may be started in several ways; | |
563 | .RS | |
564 | .IP a) 5 | |
565 | by a system daemon, | |
566 | .IP b) | |
567 | by one of the | |
568 | .I | |
569 | uucp, uux, uuxqt | |
570 | .R | |
571 | or | |
572 | .I uucico | |
573 | programs, | |
574 | .IP c) | |
575 | directly by the user (this is usually for testing), | |
576 | .IP d) | |
577 | by a remote system. | |
578 | (The uucico program should be specified as the ``shell'' | |
579 | field in the ``/etc/passwd'' file for the ``uucp'' logins.) | |
580 | .RE | |
581 | .LP | |
582 | When started by method a, b or c, the program is considered to | |
583 | be in | |
584 | .I MASTER | |
585 | mode. | |
586 | In this mode, a connection will be made to a remote system. | |
587 | If started by a remote system (method d), | |
588 | the program is considered to be in | |
589 | .I SLAVE | |
590 | mode. | |
591 | .LP | |
592 | The | |
593 | .I MASTER | |
594 | mode will operate in one of two ways. | |
595 | If no system name is specified | |
596 | (\-s option not specified) | |
597 | the program will scan the spool directory for | |
598 | systems to call. | |
599 | If a system name is specified, that system will be called, | |
600 | and work will only be done for that system. | |
601 | .LP | |
602 | The | |
603 | .I uucico | |
604 | program is generally started by another program. | |
605 | There are several options used for execution: | |
606 | .RS | |
607 | .IP \-r1 10 | |
608 | Start the program in | |
609 | .I MASTER | |
610 | mode. | |
611 | This is used when | |
612 | .I uucico | |
613 | is started by a program or ``cron'' shell. | |
614 | .IP \-s\fIsys\fR | |
615 | Do work only for system | |
616 | .I sys. | |
617 | If | |
618 | .I \-s | |
619 | is specified, | |
620 | a call to the specified system | |
621 | will be made even if there is no work for system | |
622 | .I sys | |
623 | in the spool directory. | |
624 | This is useful for polling systems which do not have | |
625 | the hardware to initiate a connection. | |
626 | .LP | |
627 | The following options are used primarily for debugging: | |
628 | .IP \-d\fIdir\fR | |
629 | Use directory | |
630 | .I dir | |
631 | for the spool directory. | |
632 | .IP \-x\fInum\fR | |
633 | .I Num | |
634 | is the level of debugging output desired. | |
635 | .RE | |
636 | .LP | |
637 | The next part of this section will describe the major steps within | |
638 | the | |
639 | .I uucico | |
640 | program. | |
641 | .SH | |
642 | Scan For Work | |
643 | .LP | |
644 | The names of the work related files in the spool directory have format | |
645 | .IP | |
646 | type . system-name grade number | |
647 | .LP | |
648 | where: | |
649 | .IP | |
650 | .I Type | |
651 | is an upper case letter, | |
652 | ( | |
653 | .I C | |
654 | -\ copy command file, | |
655 | .I D | |
656 | -\ data file, | |
657 | .I X | |
658 | -\ execute file); | |
659 | .IP | |
660 | .I System-name | |
661 | is the remote system; | |
662 | .IP | |
663 | .I Grade | |
664 | is a character; | |
665 | .IP | |
666 | .I Number | |
667 | is a four digit, padded sequence number. | |
668 | .LP | |
669 | The file | |
670 | .IP "" 12 | |
671 | C.res45n0031 | |
672 | .LP | |
673 | would be a | |
674 | .I "work file" | |
675 | for a file transfer between the local | |
676 | machine and the ``res45'' machine. | |
677 | .LP | |
678 | The scan for work is done by looking through the | |
679 | spool directory for | |
680 | .I "work files" | |
681 | (files with prefix ``C.''). | |
682 | A list is made of all systems to be called. | |
683 | .I Uucico | |
684 | will then call each system and process all | |
685 | .I "work files" . | |
686 | .SH | |
687 | Call Remote System | |
688 | .LP | |
689 | The call is made using information from several | |
690 | files which reside in the uucp program directory. | |
691 | At the start of the call process, a lock is | |
692 | set to forbid multiple conversations | |
693 | between the same two systems. | |
694 | .LP | |
695 | The system name is found in the | |
696 | .I L.sys | |
697 | file. | |
a9073747 KM |
698 | The precise format of the |
699 | .I L.sys | |
700 | file is described in section 10, ``System File Details''. | |
10bd7bb5 KM |
701 | The information contained for each system is; |
702 | .RS | |
703 | .IP [1] | |
704 | system name, | |
705 | .IP [2] | |
706 | times to call the system | |
707 | (days-of-week and times-of-day), | |
708 | .IP [3] | |
709 | device or device type to be used for call, | |
710 | .IP [4] | |
711 | line speed, | |
712 | .IP [5] | |
713 | phone number if field [3] is | |
714 | .I ACU | |
715 | or the device name (same as field [3]) | |
716 | if not | |
717 | .I ACU, | |
718 | .IP [6] | |
719 | login information (multiple fields), | |
720 | .RE | |
721 | .LP | |
722 | The time field is checked against the present time to see | |
723 | if the call should be made. | |
724 | .LP | |
725 | The | |
726 | .I | |
727 | phone number | |
728 | .R | |
729 | may contain abbreviations (e.g. mh, py, boston) which get translated into dial | |
730 | sequences using the | |
731 | .I L-dialcodes | |
732 | file. | |
733 | .LP | |
734 | The | |
735 | .I L-devices | |
736 | file is scanned using fields [3] and [4] from the | |
737 | .I L.sys | |
738 | file to find an available device for the call. | |
739 | The program will try all devices which satisfy | |
740 | [3] and [4] until the call is made, or no more | |
741 | devices can be tried. | |
742 | If a device is successfully opened, a lock file | |
743 | is created so that another copy of | |
744 | .I uucico | |
745 | will not try to use it. | |
746 | If the call is complete, the | |
747 | .I | |
748 | login information | |
749 | .R | |
750 | (field [6] of | |
751 | .I L.sys ) | |
752 | is used to login. | |
753 | .LP | |
754 | The conversation between the two | |
755 | .I uucico | |
756 | programs begins with a handshake started by the called, | |
757 | .I SLAVE , | |
758 | system. | |
759 | The | |
760 | .I SLAVE | |
761 | sends a message to let the | |
762 | .I MASTER | |
763 | know it is ready to receive the system | |
764 | identification and conversation sequence number. | |
765 | The response from the | |
766 | .I MASTER | |
767 | is | |
768 | verified by the | |
769 | .I SLAVE | |
770 | and if acceptable, protocol selection begins. | |
771 | The | |
772 | .I SLAVE | |
773 | can also reply with a ``call-back required'' | |
774 | message in which case, the current conversation | |
775 | is terminated. | |
776 | .SH | |
777 | Line Protocol Selection | |
778 | .LP | |
779 | The remote system sends a message | |
780 | .IP "" 12 | |
781 | P\fIproto-list\fR | |
782 | .LP | |
783 | where proto-list is a string of characters, each | |
784 | representing a line protocol. | |
785 | .LP | |
786 | The calling program checks the proto-list | |
787 | for a letter corresponding to an available line | |
788 | protocol and returns a | |
789 | .I use-protocol | |
790 | message. | |
791 | The | |
792 | .I use-protocol | |
793 | message is | |
794 | .IP "" 12 | |
795 | U\fIcode\fR | |
796 | .LP | |
797 | where code is either a one character | |
798 | protocol letter or | |
799 | .I N | |
800 | which means there is no common protocol. | |
801 | .SH | |
802 | Work Processing | |
803 | .LP | |
804 | The initial roles ( | |
805 | .I MASTER | |
806 | or | |
807 | .I SLAVE | |
808 | ) for the work processing are | |
809 | the mode in which each program starts. | |
810 | (The | |
811 | .I MASTER | |
812 | has been specified by the ``\-r1'' uucico option.) | |
813 | The | |
814 | .I MASTER | |
815 | program does a work search similar to the | |
816 | one used in the ``Scan For Work'' section. | |
817 | .LP | |
818 | There are five messages used during the | |
819 | work processing, each specified by the first | |
820 | character of the message. | |
821 | They are; | |
822 | .IP "" 12 | |
823 | .RS | |
824 | .IP S 3 | |
825 | send a file, | |
826 | .IP R | |
827 | receive a file, | |
828 | .IP C | |
829 | copy complete, | |
830 | .IP X | |
831 | execute a | |
832 | .I uucp | |
833 | command, | |
834 | .IP H | |
835 | hangup. | |
836 | .RE | |
837 | .LP | |
838 | The | |
839 | .I MASTER | |
840 | will send | |
841 | .I R , | |
842 | .I S | |
843 | or | |
844 | .I X | |
845 | messages until all work from the spool directory is | |
846 | complete, at which point an | |
847 | .I H | |
848 | message will be sent. | |
849 | The | |
850 | .I SLAVE | |
851 | will reply with | |
852 | \fISY\fR, \fISN\fR, \fIRY\fR, \fIRN\fR, \fIHY\fR, \fIHN\fR, | |
a9073747 | 853 | \fIXY\fR, \fIXN\fR, |
10bd7bb5 KM |
854 | corresponding to |
855 | .I yes | |
856 | or | |
857 | .I no | |
858 | for each request. | |
859 | .LP | |
860 | The send and receive replies are | |
861 | based on permission to access the | |
862 | requested file/directory using the | |
863 | .I USERFILE | |
864 | and read/write permissions of the file/directory. | |
865 | After each file is copied into the spool directory | |
866 | of the receiving system, | |
867 | a copy-complete message is sent by the receiver of the file. | |
868 | The message | |
869 | .I CY | |
870 | will be sent if the | |
871 | file has successfully been moved from the | |
872 | temporary spool file to the actual destination. | |
873 | Otherwise, a | |
874 | .I CN | |
875 | message is sent. | |
876 | (In the case of | |
877 | .I CN , | |
878 | the transferred file will be in the spool | |
879 | directory with a name beginning with ``TM'.) | |
880 | The requests and results are logged on both systems. | |
881 | .LP | |
882 | The hangup response is determined by the | |
883 | .I SLAVE | |
884 | program by a work scan of the spool directory. | |
885 | If work for the remote system exists in the | |
886 | .I SLAVE's | |
887 | spool directory, an | |
888 | .I HN | |
889 | message is sent and the programs switch roles. | |
890 | If no work exists, an | |
891 | .I HY | |
892 | response is sent. | |
893 | .SH | |
894 | Conversation Termination | |
895 | .LP | |
896 | When a | |
897 | .I HY | |
898 | message is received by the | |
899 | .I MASTER | |
900 | it is echoed back to the | |
901 | .I SLAVE | |
902 | and the protocols are turned off. | |
903 | Each program sends a final ``OO'' message to the | |
904 | other. | |
905 | The original | |
906 | .I SLAVE | |
907 | program will clean up and terminate. | |
908 | The | |
909 | .I MASTER | |
910 | will proceed to call other systems | |
911 | and process work as long as possible | |
912 | or terminate if a | |
913 | .I \-s | |
914 | option was specified. | |
915 | .LP | |
916 | .NH | |
917 | Uuxqt - Uucp Command Execution | |
918 | .LP | |
919 | The | |
920 | .I uuxqt | |
921 | program is used to execute | |
922 | .I | |
923 | execute files | |
924 | .R | |
925 | generated by | |
926 | .I uux. | |
927 | The | |
928 | .I uuxqt | |
929 | program may be started by either the | |
930 | .I uucico | |
931 | or | |
932 | .I uux | |
933 | programs. | |
934 | The program scans the spool directory for | |
935 | .I | |
936 | execute files | |
937 | .R | |
938 | (prefix ``X.''). | |
939 | Each one is checked to see if all the required files are available and | |
940 | if so, the command line or send line is executed. | |
941 | .LP | |
942 | The | |
943 | .I | |
944 | execute file | |
945 | .R | |
946 | is described in the ``Uux'' | |
947 | section above. | |
948 | .SH | |
949 | Command Execution | |
950 | .LP | |
951 | The execution is accomplished by executing a | |
952 | .I | |
953 | sh \-c | |
954 | .R | |
955 | of the command line after appropriate | |
956 | standard input and standard output have been opened. | |
957 | If a standard output is specified, the program | |
958 | will create a send command or copy the output | |
959 | file as appropriate. | |
960 | .NH | |
10bd7bb5 KM |
961 | Uuclean - Uucp Spool Directory Cleanup |
962 | .LP | |
963 | This program is typically started by the daemon, once a day. | |
964 | Its function is to remove files from the spool directory which | |
965 | are more than 3 days old. | |
966 | These are usually files for work which can not be completed. | |
967 | .LP | |
968 | .LP | |
969 | The options available are: | |
970 | .RS | |
971 | .IP \-d\fIdir\fR 10 | |
972 | The directory to be scanned is | |
973 | .I dir . | |
974 | .IP \-m | |
975 | Send mail to the owner of each file being removed. | |
976 | (Note that most files put into the spool directory | |
977 | will be owned by the owner of the | |
978 | uucp programs since the setuid bit will be set on these | |
979 | programs. | |
980 | The mail will therefore most often go to the owner | |
981 | of the uucp programs.) | |
982 | .IP \-n\fIhours\fR | |
983 | Change the aging time from 72 hours to | |
984 | .I hours | |
985 | hours. | |
986 | .IP \-p\fIpre\fR | |
987 | Examine files with prefix | |
988 | .I pre | |
989 | for deletion. | |
990 | (Up to 10 file prefixes may be specified.) | |
991 | .IP \-x\fInum\fR | |
992 | This is the level of debugging output desired. | |
993 | .RE | |
994 | .NH | |
a9073747 KM |
995 | Changes to the UUCP Implementation |
996 | .PP | |
997 | The demands placed on UUCP networking, | |
998 | and new technology, | |
999 | have prompted several changes and improvements to the UUCP software. | |
1000 | Such things as low cost, autodial, autoanswer, high speed modems, | |
1001 | and the availability of X.25 and TCP/IP as carriers, | |
1002 | have encouraged new facilities in UUCP to be developed. | |
1003 | .PP | |
1004 | The following areas have been changed between the 4.2 and 4.3 BSD releases. | |
1005 | .IP \(bu 3 | |
1006 | General fixes and performance improvements. | |
1007 | .IP \(bu 3 | |
1008 | Administration control facilites. | |
1009 | .IP \(bu 3 | |
1010 | Modem and autodialer support has been extended. | |
1011 | .IP \(bu 3 | |
1012 | New protocols for different transport media. | |
1013 | .IP \(bu 3 | |
1014 | Security enhancements. | |
1015 | .SH | |
1016 | Fixes and performance improvements. | |
1017 | .PP | |
1018 | Many of the fixes related to portability considerations, | |
1019 | and improvements as provided by the USENET community. | |
1020 | .PP | |
1021 | The \fIsitename\fR truncation length as been extended to 14 characters from | |
1022 | the original 7 characters. | |
1023 | This maintains compatibility with the current System V version of UUCP. | |
1024 | .PP | |
1025 | An effort as been made to improve the overall performance of the UUCP system | |
1026 | by organizing its workload in a more sensible way. | |
1027 | For example the program \fIuucico\fR will not resend files it has already sent, | |
1028 | when the files are specified in one ``C.'' file. | |
1029 | .SH | |
1030 | Administration and control facilities. | |
1031 | .PP | |
1032 | There is a new program, \fIuuq\fR, | |
1033 | to give more descriptive information on status of jobs in the UUCP spool queue. | |
1034 | It also allows the user to delete spooled requests, | |
1035 | still in the queue. | |
1036 | .PP | |
1037 | In the past, on large UUCP sites, | |
1038 | the spool directory could grow large with many files | |
1039 | within the ``/usr/spool/uucp'' directory. | |
1040 | To help the UUCP administrator control the system, | |
1041 | a number of subdirectories have been created to easy this congestion. | |
1042 | .PP | |
1043 | The system status ``STST'' files are kept in a subdirectory. | |
1044 | .PP | |
1045 | Corrupted ``C.'' and ``X.'' files, | |
1046 | that could not be processed, | |
1047 | are placed in the ``CORRUPT'' subdirectory, | |
1048 | instead of just exiting. | |
1049 | .PP | |
1050 | Lock files may be kept in a subdirectory, | |
1051 | ``LCK'', | |
1052 | if desired. | |
1053 | .PP | |
1054 | If an ``X.'' request fails, | |
1055 | the notification is returned to the originator of the request, | |
1056 | instead of ``uucp'' on the previous system. | |
1057 | .PP | |
1058 | There is a new \fIsystem\fR file, ``L.aliases'', | |
1059 | that may be used when a site changes it's name. | |
1060 | All the utilities, | |
1061 | \fIuucp\fR, \fIuux\fR, \fIuucico\fR, etc., | |
1062 | all check ``L.aliases''. | |
1063 | .SH | |
1064 | Modem and autodialer support: | |
1065 | .PP | |
1066 | In a short period of time, | |
1067 | there has been a big increase in the transfer rates and capabilites | |
1068 | that are being provided with modern modems. | |
1069 | Most modems will allow several combinations of baud rate, | |
1070 | and provide autodial and autoanswer facilites as well. | |
1071 | .PP | |
1072 | Most sites will have but a few modems, | |
1073 | they are therefore a precious resource an effort has been made to use them | |
1074 | to maximum potential. | |
1075 | The \fIuucico\fR program now has code to dial in and out on the same device, | |
1076 | if that modem as both autodial and autoanswer provision. | |
1077 | .PP | |
1078 | There is a new dialing facility \fIacucntrl\fR that has been built to handle | |
1079 | some of the changes in modem technology. | |
1080 | There are a number of new modems and autodialers that can now be handled. | |
1081 | Here is a list of some of the new devices: | |
1082 | Racal Vadic 212, | |
1083 | Racal Vadic 811 dialer with 831 adaptor, | |
1084 | Racal Vadic 820 dialer with 831 adaptor, | |
1085 | Racal Vadic MACS 811 dialer with 831 adaptor, | |
1086 | Racal Vadic MACS 820 dialer with 831 adaptor, | |
1087 | Dec DF112, | |
1088 | Novation, | |
1089 | Penril, | |
1090 | Hayes 2400 Smartmodem, | |
1091 | Concord Data Systems CDS 224, | |
1092 | ATT 2224 2400 baud modem. | |
1093 | .PP | |
1094 | It now correctly does the closing hangup sequence. | |
1095 | .PP | |
1096 | It will try up to TRYCALLS to dial a site | |
1097 | instead of one try for each dialer. | |
1098 | .SH | |
1099 | New protocols for different transportation mediums | |
1100 | .PP | |
1101 | The UUCP software has had provision for different protocols | |
1102 | to be used in the sending and receiving of data, | |
1103 | but originaly only one was implemented | |
1104 | and this is the one that is largely used throughout the UUCP community. | |
1105 | The standard `g' protocol, | |
1106 | has a maxium throughput around 9000 baud, | |
1107 | regardless of the physical medium. | |
1108 | The use of checksums and the like are of little use when the protocol | |
1109 | is bounded within another protocol such as TCP or X.25. | |
1110 | It is a waste of time and cpu resources to calculate CRC's | |
1111 | when the carrier already provides error free transmissions. | |
1112 | The UUCP system did not utilize LAN's and high speed carriers well. | |
1113 | Two new protocols have been added | |
1114 | to provide for efficient use of new carrier facilities. | |
1115 | The protocols now available to UUCP are: | |
1116 | .DS | |
1117 | `t' protocol, optimised for use on TCP/IP carriers. | |
1118 | `f' protocol, optimised for use on X.25 PAD carriers. | |
1119 | `g' protocol, standard UUCP protocol used for dialup or hardwired lines. | |
1120 | .DE | |
1121 | .PP | |
1122 | The `t' protocol presumes an error free channel, | |
1123 | and is essentially the `g' protocol without the checksumming and packetizing. | |
1124 | Other changes where necessary to run UUCP on top of a TCP carrier, | |
1125 | the code could not do ioctl's on sockets that are connections to remote hosts. | |
1126 | .PP | |
1127 | The `f' protocol relies on flow control of the data stream. | |
1128 | It is meant for working over links that can be guaranteed to be errorfree, | |
1129 | specifically X.25/PAD links. | |
1130 | A checksum is calculated over a whole file only. | |
1131 | If a transport fails the receiver can request retransmissions. | |
1132 | This protocol uses a 7-bit datapath only, | |
1133 | so it may be used on carriers that are not 8-bit transparent. | |
1134 | .PP | |
1135 | As well as adding new protocols, | |
1136 | the existing `g' protocol code has been cleaned up. | |
1137 | .SH | |
1138 | Changes to \fIuucico\fR | |
1139 | .PP | |
1140 | You can specify a maximum grade to send either | |
1141 | on the command line using (-gX) | |
1142 | or in the ``L.sys'' file | |
1143 | .DS | |
1144 | Any/C|Evening will only send grade C, | |
1145 | .DE | |
1146 | usually mail, | |
1147 | or higher during the day and will send everything in the evening | |
1148 | See Figure 5. | |
1149 | .SH | |
1150 | UUCP System files. | |
1151 | .PP | |
1152 | The \fIsystem\fR files in the ``/usr/lib/uucp'' directory can contain comments, | |
1153 | by putting a `#' as the first character on a line. | |
1154 | Lines may be continued by placing a `\\' as the last character of a line. | |
1155 | This is helpful in making an understandable \fIL.sys\fR file. | |
1156 | .PP | |
1157 | Some new options are available to \fIuucico\fR, these include: | |
1158 | .RS | |
1159 | .IP -R | |
1160 | This flag reverses \fIuucico\fR role. | |
1161 | Let the remote system be master first instead of being the slave. | |
1162 | .IP -L | |
1163 | \fIuucico\fR will only call ``local'' sites. | |
1164 | Local sites are those sites having one of | |
1165 | \fBLOCAL\fR, \fBTCP\fR or \fBDIRECT\fR in the CALLER field of ``L.sys''. | |
1166 | .RE | |
1167 | .PP | |
1168 | If ``/etc/nologin'' is present, | |
1169 | usually created by \fIshutdown\fR, | |
1170 | \fIuucico\fR and \fIuuxqt\fR will gracefully exit, | |
1171 | instead of getting killed off when the system goes down. | |
1172 | .PP | |
1173 | Does an exponential backoff on retry time if call fails | |
1174 | instead of always waiting the default 5 minutes. | |
1175 | The default may be overridden by adding ",TIME" to the time field in ``L.sys''. | |
1176 | .DS | |
1177 | ucbvax Any,2 | |
1178 | .DE | |
1179 | will use a default retry time of 2 minutes. | |
1180 | .PP | |
1181 | If \fIuucico\fR receives a SIGFPE while running, | |
1182 | it will toggle debugging on and off. | |
1183 | .PP | |
1184 | It will not send files to remote system if the remote system | |
1185 | is returning an out of temp space error. | |
1186 | .PP | |
1187 | Add ABORT sequence to the expect/send sequence so it does not have | |
1188 | to wait for timeout if cannot get through a dataswitch. | |
1189 | See figure X. | |
1190 | This example will only call noao in the evening. | |
1191 | It will expect nothing, | |
1192 | then wait 1 second (\ed), | |
1193 | and then send a carriage return. | |
1194 | Look for CLASS, then send NOAOUUCP. | |
1195 | From then on, | |
1196 | if it sees the word Down before finishing logging in, | |
1197 | it will hang up immediately. | |
1198 | In the mean time, | |
1199 | it looks for GO, | |
1200 | when received, | |
1201 | delay 1 second and then send a CR. | |
1202 | Look for ``ogin:'', etc. | |
1203 | This abort sequence is useful | |
1204 | if you must go through a dataswitch to get to the computer. | |
1205 | .PP | |
1206 | The time field in the ``L.sys'' file now handles | |
1207 | "Evening" and "Night" in addition to: | |
1208 | .DS | |
1209 | Any, Mo, Tu, We, Th, Fr, Sa, Su. | |
1210 | .DE | |
1211 | Evening and Night are defined to be: | |
1212 | .DS | |
1213 | Evening = Wk1700-0800|Sa|Su | |
1214 | Night = Any2300-0800|Sa|Su0800-1700 | |
1215 | .DE | |
1216 | .PP | |
1217 | The expect/send code now handles '\e' sequences: | |
1218 | .RS | |
1219 | .IP "s" | |
1220 | indicates a space | |
1221 | .IP "d" | |
1222 | indicates a delay 1 second | |
1223 | .IP "r" | |
1224 | indicates a carriage return with no linefeed | |
1225 | .IP "b" | |
1226 | indicates a break | |
1227 | .IP "c" | |
1228 | indicates do not send a CR after these characters | |
1229 | .IP "xxx" | |
1230 | the octal character xxx (e.g. \es == \e040 | |
1231 | .RE | |
1232 | .PP | |
1233 | The file \fIL-devices\fR now handles "chat" scripts, | |
1234 | to help get through local port selectors and smart modems. | |
1235 | This helps keep \fIL.sys\fR readable but increases functionality. | |
1236 | See figure 4. | |
1237 | .PP | |
1238 | For compatibility with System V UUCP system, | |
1239 | in the Date fields of ``L.sys'': | |
1240 | .DS | |
1241 | `|' was changed to `,' (| is supported, but not encouraged) | |
1242 | `,' was changed to `;' (to allow , to be the date seperator) | |
1243 | .DE | |
1244 | .PP | |
1245 | For Honey DanBer compatibility, | |
1246 | the Grade flag is now passed as: | |
1247 | .DS | |
1248 | -vgrade=X | |
1249 | .DE | |
1250 | instead of the old -pX | |
1251 | .PP | |
1252 | You can specify a time for the expect send sequences with ~ instead | |
1253 | of getting the default MAXMSGTIME. | |
1254 | For example: | |
1255 | .DS | |
1256 | system Any ACU 1200 1234567 ogin~20--ogin~10--ogin user password pw | |
1257 | .DE | |
1258 | will look for ``ogin'' for 20 seconds, | |
1259 | then send CR, | |
1260 | look for ``ogin'' for 10 seconds, | |
1261 | send a CR and look for ``ogin'' for MAXMSGTIME seconds | |
1262 | .PP | |
1263 | Added code to support GTEs PC Pursuit service. | |
1264 | It's mainly the handling of the dialback they use. | |
1265 | .PP | |
1266 | Added time "NonPeak" for Tymnet/Telenet services that charge lower rates | |
1267 | from 6pm-7am M-F and Sat & Sun. | |
1268 | .SH | |
1269 | Security enhancements. | |
1270 | .PP | |
1271 | Running \fIuucico\fR with debugging turned on, | |
1272 | requires ``L.sys'' to have read access. | |
10bd7bb5 | 1273 | .NH |
a9073747 KM |
1274 | The UUCP system. |
1275 | .SH | |
1276 | Names | |
1277 | .PP | |
1278 | The naming of a site is important since it provides a means of | |
1279 | identifying a machine, | |
1280 | and consequently, | |
1281 | that machine's users. | |
1282 | There are two names used within the UUCP system, | |
1283 | these are the \fIloginname\fR and the \fIsitename\fR. | |
1284 | .PP | |
1285 | It is important that the \fIloginname\fR used by a remote machine | |
1286 | to call into a local machine | |
1287 | is not the same as that of a normal user of the local machine. | |
1288 | It is common for many remote machines to have the same \fIloginname\fR, | |
1289 | such as uucp or nuucp. | |
1290 | .PP | |
1291 | Each machine in a UUCP network is given a unique \fIsitename\fR. | |
1292 | The \fIsitename\fR identifies the calling machine to the called machine. | |
1293 | A \fIsitename\fR can be up to 14 characters in length. | |
1294 | It is useful to have a \fIsitename\fR that is unique in the first 7 characters, | |
1295 | to be compatible with earlier implementaions of UUCP. | |
1296 | It is desirable that the \fIsitename\fR will convey this uniqueness | |
1297 | and perhaps a real world identity to the rest of the network. | |
1298 | .PP | |
1299 | The \fIsitename\fR and the \fIloginname\fR are not the same thing! | |
1300 | They may have the same values, | |
1301 | but this is purely a decision of the UUCP administrators | |
1302 | when the network connections are set up. | |
1303 | .SH | |
1304 | The UUCP system organization. | |
1305 | .PP | |
1306 | There are several directories that are used by the UUCP system as distributed. | |
1307 | These are: | |
10bd7bb5 | 1308 | .RS |
a9073747 KM |
1309 | .IP src 12 |
1310 | (/usr/src/usr.bin/uucp) | |
1311 | This directory contains the source files for generating the UUCP system. | |
1312 | .IP system 12 | |
10bd7bb5 | 1313 | (/usr/lib/uucp) |
a9073747 KM |
1314 | This is the directory where system binaries, |
1315 | and system control files reside. | |
1316 | .IP spool 12 | |
10bd7bb5 | 1317 | (/usr/spool/uucp) |
a9073747 KM |
1318 | This is the spool directory used to store transfer requests and data. |
1319 | .IP commands 12 | |
1320 | (/usr/bin) | |
1321 | This is the directory where the programs used by users will be kept. | |
10bd7bb5 | 1322 | .RE |
10bd7bb5 | 1323 | .SH |
a9073747 KM |
1324 | The system directory |
1325 | .PP | |
1326 | The following files are required for execution, | |
1327 | and should reside in the \fIsystem\fR directory, | |
1328 | /usr/lib/uucp. | |
1329 | .RS | |
1330 | .IP L-devices 15 | |
1331 | This file contains entries for all devices that are to be used by UUCP. | |
1332 | .IP L-dialcodes 15 | |
1333 | This file contains dialing abbreviations. | |
1334 | .IP L.aliases 15 | |
1335 | Used to provide sitename aliases. | |
1336 | .IP L.cmds 15 | |
1337 | This file contains commands that can be used by a remote site. | |
1338 | .IP L.sys 15 | |
1339 | Contains site connection information for each system that can be called. | |
1340 | .IP SEQF 15 | |
1341 | The sequence numbering and check file. | |
1342 | .IP USERFILE 15 | |
1343 | Remote system access rights. | |
1344 | .IP acucntrl 15 | |
1345 | The program used to control calling remote systems. | |
1346 | .IP uucico 15 | |
1347 | The actual transfer program. | |
1348 | .IP uuclean 15 | |
1349 | A utility to cleanup after UUCP. | |
1350 | .IP uuxqt 15 | |
1351 | Allows UUCP to execute commands. | |
1352 | .RE | |
10bd7bb5 | 1353 | .SH |
a9073747 KM |
1354 | The command directory |
1355 | .PP | |
1356 | The \fIcommand\fR directory, /usr/bin, | |
1357 | contains the following user available commands: | |
10bd7bb5 | 1358 | .RS |
a9073747 KM |
1359 | .IP uucp 15 |
1360 | spools a UNIX to UNIX file-copy request. | |
1361 | .IP uux 15 | |
1362 | spools a request for remote execution. | |
1363 | .IP uusend 15 | |
1364 | provides a facility to transfer binary files using mail. | |
1365 | .IP uuencode 15 | |
1366 | binary file encoder (for \fIuusend\fR) | |
1367 | .IP uudecode 15 | |
1368 | binary file decoder (for \fIuusend\fR) | |
1369 | .IP uulog 15 | |
1370 | reports from log files. | |
1371 | .IP uusnap 15 | |
1372 | provides a snap-shot of \fIuucp\fP activity. | |
1373 | .IP uupoll 15 | |
1374 | polls remote system until an answer is received. | |
1375 | .IP uuname 15 | |
1376 | prints a list of known remote UUCP hosts. | |
1377 | .IP uuq 15 | |
1378 | reports information from the UUCP spool queue. | |
10bd7bb5 KM |
1379 | .RE |
1380 | .SH | |
a9073747 KM |
1381 | The spool directory |
1382 | .PP | |
1383 | The \fIspool\fR directory, | |
1384 | /usr/spool/uucp, | |
1385 | contains the following files and directories: | |
1386 | .RS | |
1387 | .IP C. 15 | |
1388 | A directory for command, ``C.'' files. | |
1389 | .IP D. 15 | |
1390 | A directory for data, ``D.'', files. | |
1391 | .IP X. 15 | |
1392 | A directory for command execution, ``X.'', files. | |
1393 | .IP D.\fImachine\fP 15 | |
1394 | A directory for local ``D.'' files. | |
1395 | .IP D.\fImachine\fPX 15 | |
1396 | A directory for local ``X.'' files. | |
1397 | .IP CORRUPT 15 | |
1398 | A directory for corrupted ``C.'' and ``X.'' files. | |
1399 | .IP ERRLOG 15 | |
1400 | A file where internal error messages are collected. | |
1401 | .IP LCK 15 | |
1402 | A directory for device and site lock files. | |
1403 | .IP LOG 15 | |
1404 | A directory for individual site LOGFILE's. | |
1405 | .IP LOGFILE 15 | |
1406 | the log file of UUCP activity. | |
1407 | .IP STST 15 | |
1408 | A directory for site STST files. | |
1409 | .IP SYSLOG 15 | |
1410 | the log file of UUCP file transfers. | |
1411 | .IP TM. 15 | |
1412 | A directory for temporary, ``TM.'', files. | |
1413 | .RE | |
1414 | .PP | |
1415 | There is an additional directory, | |
1416 | /usr/spool/uucppublic, | |
1417 | that is used as a general Public accecs directory for UUCP. | |
1418 | It is not used by UUCP directly | |
1419 | but it is normally the home directory for the UUCP system owner. | |
1420 | Most importantly this directory is owned by uucp, | |
1421 | and the access permissions are 0777, | |
1422 | this usually garrantees a place that files can be sent to, | |
1423 | and retrieved from, | |
1424 | on any site. | |
1425 | .NH | |
1426 | System file details. | |
10bd7bb5 KM |
1427 | .SH |
1428 | L-devices | |
a9073747 | 1429 | .PP |
10bd7bb5 | 1430 | This file contains entries for the call-unit devices and |
a9073747 KM |
1431 | hardwired connections which are to be used by UUCP. |
1432 | The special device files are assumed to be in the /dev directory. | |
1433 | .PP | |
1434 | The format for each entry is: | |
1435 | .DS | |
1436 | \fIType Device Useful Class Dialer\fR [\fIChat\fR ...] | |
1437 | .DE | |
10bd7bb5 KM |
1438 | .LP |
1439 | where; | |
a9073747 KM |
1440 | .IP \fIType\fR 10 |
1441 | is the type of calling to use. | |
1442 | There are several different calling types. | |
10bd7bb5 | 1443 | .RS |
a9073747 KM |
1444 | .br |
1445 | \fBACU\fR indicates a dialing devices. | |
1446 | .br | |
1447 | \fBDIR\fR is used when a direct connection is used. | |
1448 | .br | |
1449 | \fBDK\fR an AT&T Datakit. | |
1450 | .br | |
1451 | \fBMICOM\fR Micom terminal switch. | |
1452 | .br | |
1453 | \fBPAD\fR X.25 PAD connection. | |
1454 | .br | |
1455 | \fBPCP\fR GTE Telenet PC Pursuit. | |
1456 | .br | |
1457 | \fBSYTEK\fR Sytek high-speed dedicated modem port. | |
1458 | .br | |
1459 | \fBTCP\fR TCP/IP connection. | |
1460 | .RE | |
1461 | .IP \fIDevice\fR 10 | |
1462 | is the entry in ``/dev'' corresponding to a real device, | |
1463 | the owner should be uucp. | |
1464 | .IP \fIUseful\fR 10 | |
1465 | information to be used by the device, | |
1466 | such as the name of the callunit to be used, | |
1467 | or maybe ``unused''. | |
1468 | .IP \fIClass\fR 10 | |
10bd7bb5 | 1469 | is the line speed. |
a9073747 KM |
1470 | .IP \fIDialer\fR 10 |
1471 | is either \fBdirect\fR, | |
1472 | or from the list of available dialers. | |
1473 | The list of available dialers includes: | |
1474 | .RS | |
1475 | .IP \fBDF02\fR 10 | |
1476 | DEC DF02 or DF03 modems. | |
1477 | .IP \fBDF112\fR 10 | |
1478 | Dec DF112 modems. | |
1479 | Use a \fIDialer\fR field of \fBDF112T\fR to use tone dialing, | |
1480 | or \fBDF112P\fR for pulse dialing. | |
1481 | .IP \fBatt\fR 10 | |
1482 | AT&T 2224 2400 baud modem. | |
1483 | .IP \fBcds224\fR 10 | |
1484 | Concord Data Systems 224 2400 baud modem. | |
1485 | .IP \fBdn11\fR 10 | |
1486 | DEC DN11 Unibus dialer. | |
1487 | .IP \fBhayes\fR 10 | |
1488 | Hayes Smartmodem 1200 and compatible autodialing modems. | |
1489 | Use a \fIDialer\fR field of \fBhayestone\fR to use tone dialing, | |
1490 | or \fBhayespulse\fR for pulse dialing. | |
1491 | It is also permissible to include the letters `T' and `P' in the phone number | |
1492 | (in \fIL.sys\fR) | |
1493 | to change to tone or pulse midway through dialing. | |
1494 | (Note that a leading `T' or `P' will be interpreted as a dialcode!) | |
1495 | .IP \fBhayes2400\fR 10 | |
1496 | Hayes Smartmodem 2400 and compatible modems. | |
1497 | Use a \fIDialer\fR field of \fBhayes2400tone\fR to use tone dialing, | |
1498 | or \fBhayes2400pulse\fR for pulse dialing. | |
1499 | .IP \fBnovation\fR 10 | |
1500 | Novation ``Smart Cat'' autodialing modem. | |
1501 | .IP \fBpenril\fR 10 | |
1502 | Penril Corp ``Hayes compatible'' modems. | |
1503 | .IP \fBrvmacs\fR 10 | |
1504 | Racal-Vadic 820 dialer with 831 adapter in a MACS configuration. | |
1505 | .IP \fBva212\fR 10 | |
1506 | Racal-Vadic 212 autodialing modem. | |
1507 | .IP \fBva811s\fR 10 | |
1508 | Racal-Vadic 811s dialer with 831 adapter. | |
1509 | .IP \fBva820\fR 10 | |
1510 | Racal-Vadic 820 dialer with 831 adapter. | |
1511 | .IP \fBvadic\fR 10 | |
1512 | Racal-Vadic 3450 and 3451 series autodialing modems. | |
1513 | .IP \fBventel\fR 10 | |
1514 | Ventel 212+ autodialing modem. | |
1515 | .IP \fBvmacs\fR 10 | |
1516 | Racal-Vadic 811 dialer with 831 adapter in a MACS configuration. | |
10bd7bb5 | 1517 | .RE |
a9073747 KM |
1518 | .IP \fIChat\fR |
1519 | is a send/expect sequence that can be used to talk through dataswitches, | |
1520 | or issue special comands to a device such as a modem. | |
1521 | The syntax is identical to that of the Expect/Send script of \fIL.sys\fR. | |
1522 | The difference is that, | |
1523 | the \fIL-devices\fR script is used before the connection is made, | |
1524 | while the \fIL.sys\fR script is used after. | |
10bd7bb5 KM |
1525 | .SH |
1526 | L-dialcodes | |
a9073747 | 1527 | .PP |
10bd7bb5 | 1528 | This file contains entries with location abbreviations used |
a9073747 KM |
1529 | in the ``L.sys'' file (e.g. py, mh, boston). |
1530 | The entry format is: | |
1531 | .DS | |
10bd7bb5 | 1532 | abb\ \ dial-seq |
a9073747 | 1533 | .DE |
10bd7bb5 KM |
1534 | .LP |
1535 | where; | |
1536 | .RS | |
1537 | .IP abb 12 | |
1538 | is the abbreviation, | |
1539 | .IP dial-seq | |
1540 | is the dial sequence to call that location. | |
1541 | .RE | |
a9073747 | 1542 | .PP |
10bd7bb5 KM |
1543 | The line |
1544 | .IP "" 12 | |
1545 | py\ \ 165\- | |
1546 | .LP | |
1547 | would be set up so that entry py7777 would | |
1548 | send 165\-7777 to the dial-unit. | |
1549 | .SH | |
a9073747 KM |
1550 | L.aliases. |
1551 | .PP | |
1552 | The \fIL.aliases\fR file provides a mapping facility of \fIsitenames\fR. | |
1553 | This facility is useful when \fIsitenames\fR are changed, | |
1554 | and the change is only temporary, | |
1555 | or the change is permanent but it is not widely known by the users of the net. | |
1556 | The format of the file is: | |
1557 | .DS | |
1558 | real_name alias_name | |
1559 | .DE | |
1560 | The ``L.aliases'' file may be used to map hosts with longer names in ``L.sys'' | |
1561 | to 7 character names that some hosts send. | |
1562 | This provides a mechanism to handle those sites, | |
1563 | entries should be: | |
1564 | .DS | |
1565 | fullname 7-char-name | |
1566 | .DE | |
10bd7bb5 | 1567 | .SH |
a9073747 KM |
1568 | L.cmds |
1569 | .PP | |
1570 | The L.cmds file contains a list of commands that are permitted | |
1571 | for remote execution with \fIuux\fR. | |
1572 | The commands are listed one per line. | |
1573 | Most sites L.cmds will be something like: | |
1574 | .DS | |
1575 | rmail | |
1576 | ruusend | |
1577 | .DE | |
1578 | A line of the form: | |
1579 | .DS | |
1580 | PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin | |
1581 | .DE | |
1582 | can be used to set a search path. | |
10bd7bb5 KM |
1583 | .SH |
1584 | L.sys | |
a9073747 | 1585 | .PP |
10bd7bb5 | 1586 | Each entry in this file represents one system |
a9073747 | 1587 | which can be called by the local UUCP programs. |
10bd7bb5 | 1588 | The fields are described below. |
a9073747 KM |
1589 | .DS |
1590 | \fISitename Times Caller Class Device\fR [\fIExpect Send\fR].... | |
1591 | .DE | |
1592 | .IP \fISitename\fR 10 | |
1593 | is the name of the remote system. | |
1594 | Every machine with which this system communicates via UUCP should be listed, | |
1595 | regardless of who calls whom. | |
1596 | Systems not listed in ``L.sys'' will not be permitted a connection. | |
1597 | .PP | |
1598 | .IP \fITimes\fR 10 | |
1599 | is a comma-separated list of the times of the day and week that | |
1600 | calls are permitted to this site. | |
1601 | This can be used to restrict long distance telephone calls | |
1602 | to those times when rates are lower. | |
1603 | List items are constructed as: | |
1604 | .DS | |
1605 | \fIkeyword\fPhhmm\fB-\fPhhmm\fB/\fP\fIgrade\fP\fB;\fP\fIretry_time\fP | |
1606 | .DE | |
1607 | \fIKeyword\fR is required, and must be one of: | |
10bd7bb5 | 1608 | .RS |
a9073747 KM |
1609 | .IP \fBAny\fR 8 |
1610 | Any time, any day of the week. | |
1611 | .IP \fBWk\fR 8 | |
1612 | Any weekday. In addition, | |
1613 | \fBMo, Tu, We, Th, Fr, Sa,\fR and \fBSu\fR | |
1614 | can be used for Monday through Sunday, respectively. | |
1615 | .IP \fBEvening\fR 8 | |
1616 | When evening telephone rates are in effect, | |
1617 | from 1700 to 0800 Monday through Friday, | |
1618 | and all day Saturday and Sunday. | |
1619 | .B Evening | |
1620 | is the same as | |
1621 | .B Wk1700-0800,Sa,Su . | |
1622 | .IP \fBNight\fR 8 | |
1623 | When nighttime telephone rates are in effect, | |
1624 | from 2300 to 0800 Monday through Friday, | |
1625 | all day Saturday, and from 2300 to 1700 Sunday. | |
1626 | .B Night | |
1627 | is the same as | |
1628 | .B Any2300-0800,Sa,Su0800-1700 . | |
1629 | .IP \fBNonPeak\fR 8 | |
1630 | This is a slight modification of | |
1631 | .B Evening . | |
1632 | It matches when the USA X.25 carriers have their lower rate period. This | |
1633 | is 1800 to 0700 Monday through Friday, and all day Saturday and Sunday. | |
1634 | .B NonPeak | |
1635 | is the same as | |
1636 | .B Any1800-0700,Sa,Su . | |
1637 | .IP \fBNever\fR 8 | |
1638 | Never call; | |
1639 | calling into this site is forbidden or impossible. | |
1640 | This is intended for polled connections, | |
1641 | where the remote system calls into the local machine periodically. | |
1642 | This is necessary when one of the machines is lacking | |
1643 | either dial-in or dial-out modems. | |
1644 | .PP | |
1645 | The optional \fIhhmm-hhmm\fR | |
1646 | subfield provides a time range that modifies the keyword. | |
1647 | .I hhmm | |
1648 | refers to | |
1649 | .I hours | |
1650 | and | |
1651 | .I minutes | |
1652 | in 24-hour time (from 0000 to 2359). | |
1653 | The time range is permitted to "wrap" around midnight, | |
1654 | and will behave in the obvious way. | |
1655 | It is invalid to follow the \fBEvening\fR, \fBNonPeak\fR, | |
1656 | and \fBNight\fR keywords with a time range. | |
1657 | .PP | |
1658 | The \fIgrade\fR subfield is optional; if present, | |
1659 | it is composed of a `/' (slash) and single character denoting the \fIgrade\fR | |
1660 | of the connection. | |
1661 | Grades are in the range [\fB0-9A-Za-z\fR]. | |
1662 | This specifies that only requests of grade \fIgrade\fR | |
1663 | or better will be transferred during this time. | |
1664 | (The grade of a request or job is specified | |
1665 | when it is queued by \fIuucp\fR or \fIuux\fR). | |
1666 | By convention, mail is sent at grade \fBC\fR, | |
1667 | news is sent at grade \fBd\fR, | |
1668 | and uucp copies are sent at grade \fBn\fR. | |
1669 | Unfortunately, some sites do not follow these conventions, | |
1670 | so it is not 100% reliable. | |
1671 | .PP | |
1672 | The \fIretry_time\fR subfield is optional; | |
1673 | it must be preceded by a `;' (semicolon) and | |
1674 | specifies the time, in minutes, | |
1675 | before a failed connection may be tried again. | |
1676 | By default, | |
1677 | the retry time starts at 10 minutes and gradually increases at each failure, | |
1678 | until after 26 tries \fIuucico\fR gives up completely (MAX RETRIES). | |
1679 | If the retry time is too small, | |
1680 | \fIuucico\fR may run into MAX RETRIES too soon. | |
1681 | .RE | |
1682 | .IP \fICaller\fR 10 | |
1683 | is the type of device used. | |
1684 | It may be one of the following: | |
1685 | .DS | |
1686 | \fBACU DIR MICOM PAD PCP SYTEK TCP\fR | |
1687 | .DE | |
1688 | the derscriptions in L-devices apply here. | |
1689 | If several alternate ports or network connections should be tried, | |
1690 | use multiple | |
1691 | .I L.sys | |
1692 | entries. | |
1693 | .IP \fIClass\fR 10 | |
1694 | is usually the speed (baud) of the device, | |
1695 | typically 300, 1200, or 2400 for \fRACU\fR devices and 9600 for direct lines. | |
1696 | Valid values are device dependent, | |
1697 | and are specified in the ``L-devices'' file. | |
1698 | .PP | |
1699 | On some devices, | |
1700 | the speed may be preceded by a non-numeric prefix. | |
1701 | This is used in ``L-devices'' | |
1702 | to distinguish among devices that have identical \fICaller\fR and baud, | |
1703 | but yet are distinctly different. | |
1704 | For example, | |
1705 | 1200 could refer to all Bell 212-compatible modems, | |
1706 | V1200 to Racal-Vadic modems, | |
1707 | and C1200 to CCITT modems, | |
1708 | all at 1200 baud. | |
1709 | .PP | |
1710 | On TCP connections, | |
1711 | .I Class | |
1712 | is the port number (an integer number) or a port name from ``/etc/services'' | |
1713 | that is used to make the connection. | |
1714 | For standard Berkeley TCP/IP, | |
1715 | UUCP normally uses port number 540. | |
1716 | .IP \fIDevice\fR 10 | |
1717 | varies based on the \fICaller\fR field. | |
1718 | For \fBACU\fR devices, | |
1719 | this is the phone number to dial. | |
1720 | The number may include: digits \fB0\fR through \fB9\fR; | |
1721 | .B # | |
1722 | and | |
1723 | .B * | |
1724 | for dialing those symbols on tone telephone lines; | |
1725 | .B - | |
1726 | (hyphen) to pause for a moment, typically two to four seconds; | |
1727 | .B = | |
1728 | (equal sign) to wait for a second dial tone | |
1729 | (implemented as a pause on many modems). | |
1730 | Other characters are modem dependent; | |
1731 | generally standard telephone punctuation characters | |
1732 | (such as the slash and parentheses) are ignored, although | |
1733 | .I uucico | |
1734 | does not guarantee this. | |
1735 | .PP | |
1736 | The phone number can be preceded by an alphabetic | |
1737 | string; the string is indexed and converted through the ``L-dialcodes'' file. | |
1738 | .PP | |
1739 | For \fBDIR\fR devices, the | |
1740 | .I Device | |
1741 | field contains the name of the device in /dev | |
1742 | that is used to make the connection. | |
1743 | There must be a corresponding line in ``L-devices'' with identical | |
1744 | \fICaller, Class\fR, and \fIDevice\fR fields. | |
1745 | .PP | |
1746 | For \fBTCP\fR and other network devices, | |
1747 | .I Device | |
1748 | holds the true network name of the remote system, | |
1749 | which may be different from its UUCP name | |
1750 | (although one would hope not). | |
1751 | .PP | |
1752 | The | |
1753 | .I Expect | |
1754 | and | |
1755 | .I Send | |
1756 | refer to an arbitrarily long set of strings that | |
1757 | alternately specify what to | |
1758 | .I expect | |
1759 | and what to | |
1760 | .I send | |
1761 | to login to the remote system once a physical connection has | |
1762 | been established. A complete set of expect/send strings is referred | |
1763 | to as an | |
1764 | .IR "expect/send script" . | |
1765 | The same syntax is used in the | |
1766 | .I L\-devices | |
1767 | file to interact with the dialer prior to making a connection; | |
1768 | there it is referred to as a \fIchat script\fR. | |
1769 | The complete format for one | |
1770 | .I expect/send | |
1771 | pair is: | |
1772 | .PP | |
1773 | .DS | |
1774 | \fIexpect\fP\fB~\fP\fItimeout\fP\fB-\fP\fIsend\fP\fB-\fP\fI\ | |
1775 | expect\fP\fB~\fP\fItimeout send\fP | |
1776 | .DE | |
1777 | .PP | |
1778 | .I Expect | |
1779 | and | |
1780 | .I Send | |
1781 | are character strings. | |
1782 | .I Expect | |
1783 | is compared against in coming text from the remote host; | |
1784 | .I send | |
1785 | is sent back when | |
10bd7bb5 | 1786 | .I expect |
a9073747 | 1787 | is matched. By default, the |
10bd7bb5 | 1788 | .I send |
a9073747 | 1789 | is followed by a `\er' (carriage return). If the |
10bd7bb5 | 1790 | .I expect |
a9073747 KM |
1791 | string is not matched within |
1792 | .I timeout | |
1793 | seconds (default 45), then it is assumed that the match failed. | |
1794 | The `\fIexpect\fP\fB-\fP\fIsend\fP\fB-\fP\fIexpect\fP' notation | |
1795 | provides a limited loop mechanism; if the first | |
1796 | .I expect | |
1797 | string fails to match, then the | |
10bd7bb5 | 1798 | .I send |
a9073747 KM |
1799 | string between the hyphens is transmitted, and |
1800 | .I uucico | |
1801 | waits for the second | |
10bd7bb5 | 1802 | .I expect |
a9073747 KM |
1803 | string. This can be repeated indefinitely. When the last |
1804 | .I expect | |
1805 | string fails, | |
1806 | .I uucico | |
1807 | hangs up and logs that the connection failed. | |
1808 | .PP | |
1809 | The timeout can (optionally) be specified by appending the parameter | |
1810 | `\fB~\fP\fInn\fP' to the expect string, when \fInn\fR is the timeout | |
1811 | time in seconds. | |
1812 | .PP | |
1813 | Backslash escapes that may be imbedded in the | |
10bd7bb5 | 1814 | .I expect |
a9073747 | 1815 | or |
10bd7bb5 | 1816 | .I send |
a9073747 KM |
1817 | strings include: |
1818 | .PP | |
1819 | .DS | |
1820 | \eb Generate a 3/10 second BREAK. | |
1821 | \eb\fIn\fP Where \fIn\fP is a single-digit number; | |
1822 | generate an \fIn\fP/10 second BREAK. | |
1823 | \ec Suppress the \er at the end of a \fIsend\fP string. | |
1824 | \ed Delay; pause for 1 second. (\fISend\fR only.) | |
1825 | \er Carriage Return. | |
1826 | \es Space. | |
1827 | \en Newline. | |
1828 | \exxx Where \fIxxx\fP is an octal constant; | |
1829 | denotes the corresponding ASCII character. | |
1830 | .DE | |
1831 | .PP | |
1832 | As a special case, an empty pair of double-quotes \fB""\fP in the | |
1833 | .I expect | |
1834 | string is interpreted as ``expect nothing''; | |
1835 | that is, transmit the \fIsend\fR string regardless of what is received. | |
1836 | Empty double-quotes in the \fIsend\fR string | |
1837 | cause a lone `\er' (carriage return) to be sent. | |
1838 | .PP | |
1839 | One of the following keywords may be substituted for the | |
1840 | .I send | |
1841 | string: | |
1842 | .DS | |
1843 | BREAK Generate a 3/10 second BREAK | |
1844 | BREAK\fIn\fP Generate an \fIn\fP/10 second BREAK | |
1845 | CR Send a Carriage Return (same as ""). | |
1846 | EOT Send an End-Of-Transmission character, ASCII \e004. | |
1847 | Note that this will cause most hosts to hang up. | |
1848 | NL Send a Newline. | |
1849 | PAUSE Pause for 3 seconds. | |
1850 | PAUSE\fIn\fP Pause for \fIn\fR seconds. | |
1851 | P_ODD Use odd parity on future send strings. | |
1852 | P_ONE Use parity one on future send strings. | |
1853 | P_EVEN Use even parity on future send strings. (Default) | |
1854 | P_ZERO Use parity zero on future send strings. | |
1855 | .DE | |
1856 | .PP | |
1857 | Finally, if the | |
1858 | .I expect | |
1859 | string consists of the keyword | |
1860 | .BR ABORT , | |
1861 | then the string following is used to arm an abort trap. If that string | |
1862 | is subsequently received any time prior to the completion of the entire | |
1863 | .I expect/send | |
1864 | script, then | |
1865 | .I uucico | |
1866 | will abort, just as if the | |
1867 | script had timed out. This is useful for trapping error messages from | |
1868 | port selectors or front-end processors such as ``Host Unavailable'' or | |
1869 | ``System is Down.'' | |
1870 | .PP | |
1871 | For example: | |
1872 | .PP | |
1873 | .DS | |
1874 | "" "" ogin:--ogin: nuucp ssword: ufeedme | |
1875 | .DE | |
1876 | .PP | |
1877 | This is executed as, ``When the remote system answers, | |
1878 | .I expect | |
1879 | nothing. | |
1880 | .I Send | |
1881 | a carriage return. | |
1882 | .I Expect | |
1883 | the remote to transmit the string `ogin:'. If it doesn't | |
1884 | within 45 seconds, send another carriage return. When it finally does, | |
1885 | .I send | |
1886 | it the string `nuucp'. Then | |
1887 | .I expect | |
1888 | the string `ssword:'; when that is received, | |
1889 | .I send | |
1890 | `ufeedme'.'' | |
1891 | .SH | |
1892 | USERFILE | |
1893 | .PP | |
1894 | This file contains user accessibility information. | |
1895 | It specifies the file system directory trees that are accessible to | |
1896 | local users and to remote systems via UUCP | |
1897 | .PP | |
1898 | Each line in | |
1899 | .I USERFILE | |
1900 | is of the form: | |
1901 | .DS | |
1902 | [\fIloginname\fP]\fB,\fP[\fIsitename\fP] [ \fBc\fP ] \fIpathname\fP \c | |
1903 | [\fIpathname\fP] [\fIpathname\fP] | |
1904 | .DE | |
1905 | .PP | |
1906 | The first two items are separated by a comma; | |
1907 | any number of spaces or tabs may separate the remaining items. | |
1908 | .PP | |
1909 | The \fIloginname\fR | |
1910 | is a login name (from ``/etc/passwd'') | |
1911 | on the local machine. | |
1912 | .PP | |
1913 | The \fIsitename\fR | |
1914 | is the name of a remote machine, | |
1915 | this is the same name used in ``L.sys''. | |
1916 | .PP | |
1917 | The \fIc\fR denotes the optional \fIcallback\fR field. | |
1918 | If a \fBc\fP appears here, | |
1919 | a remote machine that calls in will be told that callback is requested, | |
1920 | and the conversation will be terminated. | |
1921 | The local system will then immediately call the remote host back. | |
1922 | .PP | |
1923 | The \fIpathname\fR | |
1924 | is a pathname prefix that is permissible for this \fIloginname\fR | |
1925 | and/or \fIsitename\fR. | |
1926 | .PP | |
1927 | It accepts the pathnames on the first line that has a null | |
1928 | .I system | |
1929 | field. | |
1930 | .PP | |
1931 | A line with both \fIloginname\fR and \fIsitename\fR are null, | |
1932 | for example | |
1933 | .DS | |
1934 | , /usr/spool/uucppublic | |
1935 | .DE | |
1936 | can be used to conveniently specify the paths for both "no match" cases | |
1937 | if lines earlier in ``USERFILE'' did not define them. | |
1938 | .NH | |
1939 | Installing the UUCP system. | |
1940 | .PP | |
1941 | There are several source modifications that may be required | |
1942 | before the system programs are compiled. | |
1943 | .PP | |
1944 | Two files which may require modification, | |
1945 | the ``Makefile'' file and the ``uucp.h'' file. | |
1946 | The following paragraphs describe some of the options | |
1947 | available at build time. | |
1948 | .SH | |
1949 | Uucp.h modifications | |
1950 | .PP | |
1951 | The installer of UUCP may wish to change some of the defines in ``uucp.h'', | |
1952 | some of the interesting defines are mentioned below. | |
1953 | .PP | |
1954 | if \fBDIALINOUT\fR is defined then \fIacucntrl\fR will allow modems to be | |
1955 | used in both directions. | |
1956 | .PP | |
1957 | If \fBDONTCOPY\fR is defined in ``uucp.h'', | |
1958 | \fIuucp\fR will not make a copy of the source file by default. | |
1959 | .PP | |
1960 | if \fBLOCKDIR\fR is defined then lock files | |
1961 | will be stored in the ``/usr/spool/uucp/LCK'' directory. | |
1962 | .PP | |
1963 | If \fBLOGBYSITE\fR is defined, | |
1964 | \fIuucp\fR logging is done with a log file per site, | |
1965 | instead of one LOGFILE. | |
1966 | .PP | |
1967 | If \fBNOSTRANGERS\fR is defined in ``uucp.h'', | |
1968 | the remote site must be in your ``L.sys'' or the call will be rejected. | |
1969 | .SH | |
1970 | Makefile modification | |
1971 | .PP | |
1972 | There are several | |
1973 | .I make | |
1974 | variable definitions which may need modification. | |
1975 | .RS | |
1976 | .IP DESTDIR 12 | |
1977 | where all the system will end up, | |
1978 | normal from the root. | |
1979 | .IP LIBDIR 12 | |
1980 | ${DESTDIR}/usr/lib/uucp, low level binaries, site information, and dialing | |
1981 | information resides here. | |
1982 | .IP BIN 12 | |
1983 | ${DESTDIR}/usr/bin, the user utilities reside here. | |
1984 | .IP ETC 12 | |
1985 | ${DESTDIR}/etc | |
1986 | .IP PUBDIR 12 | |
1987 | ${DESTDIR}/usr/spool/uucppublic, uucp owns this directory. | |
1988 | A place where files can almost always be sent. | |
1989 | .IP SPOOL 12 | |
1990 | ${DESTDIR}/usr/spool/uucp, | |
1991 | where all commands and data is held until transfers can take place. | |
1992 | .IP XQTDIR 12 | |
1993 | ${SPOOL}/XTMP, a place where UUCP executeable commands will be kept. | |
1994 | .IP CORRUPT 12 | |
1995 | ${SPOOL}/CORRUPT, where corrupted ``C.'' and ``D.'' files end up. | |
1996 | .IP AUDIT | |
1997 | ${SPOOL}/AUDIT, an audit trail. | |
1998 | .IP LCK 12 | |
1999 | ${SPOOL}/LCK, a place to keep lock files. | |
2000 | LOG= ${SPOOL}/LOG | |
2001 | .IP STST 12 | |
2002 | ${SPOOL}/STST, a place to keep ``STST'' files for different systems. | |
2003 | .IP HOSTNAME 12 | |
2004 | the machines name. | |
2005 | .IP SUBDIRS 12 | |
2006 | There are six subdirs, | |
2007 | not counting XTMP, that may be built under SPOOL, | |
2008 | these are, | |
2009 | ``C.'', ``D.\fIHOSTNAME\fRX'', ``D.\fIHOSTNAME\fR'', ``D.'', ``X.'', and ``TM.''. | |
10bd7bb5 | 2010 | .RE |
a9073747 KM |
2011 | .SH |
2012 | Building the system | |
2013 | .PP | |
2014 | The command | |
2015 | .DS | |
2016 | make | |
2017 | .DE | |
2018 | will compile the entire system. | |
2019 | .PP | |
2020 | The command | |
2021 | .DS | |
2022 | make makedirs | |
2023 | .DE | |
2024 | will build all the directories needed for the system, | |
2025 | giving them appropriate owners and permissions. | |
2026 | .PP | |
2027 | The command | |
2028 | .DS | |
2029 | make install | |
2030 | .DE | |
2031 | .PP | |
2032 | will install the commands in the correct directories, | |
2033 | setting ownership and permissions. | |
2034 | .NH | |
2035 | Connecting new systems to the network. | |
2036 | .PP | |
2037 | When first connecting a new machine to a UUCP network, | |
2038 | it is advisable to try and establish a connection with | |
2039 | \fItip\fR or \fIcu\fR first. | |
2040 | The administrator should then be aware of any special facilities | |
2041 | that are going to be required, | |
2042 | things like; | |
2043 | What lines and modems are to be used? | |
2044 | or | |
2045 | is the connection through different hardware and carriers? | |
2046 | Does the remote system care about parity? | |
2047 | What speed lines are being used and do they cycle through several speeds? | |
2048 | Is there a line switch front end that will require special Chat dialogue in | |
2049 | ``L.sys''? | |
2050 | .PP | |
2051 | Once a \fIlogin\fR connection can be completed the Admisitrator should | |
2052 | have enough information to allow the correct setup of the \fIsystem\fR files | |
2053 | in /usr/lib/uucp. | |
2054 | .PP | |
2055 | The UUCP administrator should then | |
2056 | negociate with the remote site UUCP administrator | |
2057 | as to when and who will do polling. | |
2058 | The relevant accounts and passwords must be set up. | |
2059 | Decide on what permissions and security precausions are to be observed. | |
2060 | Arrange testing time and facilites to complete initial connection to the system. | |
2061 | .NH | |
2062 | Security | |
2063 | .PP | |
2064 | The uucp system, left unrestricted, | |
2065 | will let any outside user execute any commands | |
2066 | and copy in/out any file which is readable/writable | |
2067 | by the uucp login user. | |
2068 | It is up to the individual sites to be aware of this and | |
2069 | apply the protections that they feel are necessary. | |
2070 | .PP | |
2071 | There are several security features available aside from the | |
2072 | normal file mode protections. | |
2073 | These must be set up by the installer of the | |
2074 | .I uucp | |
2075 | system. | |
2076 | .IP - 3 | |
2077 | The login for uucp does not get a standard shell. | |
2078 | Instead, the | |
2079 | .I uucico | |
2080 | program is started. | |
2081 | Therefore, the only work that can be done is through | |
2082 | .I uucico . | |
2083 | .IP - | |
2084 | A path check is done on file names that are to be sent | |
2085 | or received. | |
2086 | The | |
2087 | .I USERFILE | |
2088 | supplies the information for these checks. | |
2089 | The | |
2090 | .I USERFILE | |
2091 | can also be set up to require call-back | |
2092 | for certain login-ids. | |
2093 | (See the ``Files required for execution'' section | |
2094 | for the file description.) | |
2095 | .IP - | |
2096 | A conversation sequence count can be set up so | |
2097 | that the called system | |
2098 | can be more confident that the caller | |
2099 | is who he says he is. | |
2100 | .IP - | |
2101 | The | |
2102 | .I uuxqt | |
2103 | program comes with a list of commands that it | |
2104 | will execute. | |
2105 | A ``PATH'' shell statement is prepended to the command | |
2106 | line as specifed in the | |
2107 | .I uuxqt | |
2108 | program. | |
2109 | The installer may modify the list or remove the | |
2110 | restrictions as desired. | |
2111 | .IP - | |
2112 | The | |
2113 | .I L.sys | |
2114 | file should be owned by uucp and have mode 0400 | |
2115 | to protect the phone numbers and login information | |
2116 | for remote sites. | |
2117 | (Programs uucp, uucico, uux, uuxqt should be also | |
2118 | owned by uucp and have the setuid bit set.) | |
10bd7bb5 KM |
2119 | .NH |
2120 | Administration | |
a9073747 | 2121 | .PP |
10bd7bb5 KM |
2122 | This section indicates some events and files which must be |
2123 | administered for the | |
2124 | .I uucp | |
2125 | system. | |
2126 | Some administration can be accomplished by | |
2127 | .I "shell files" | |
2128 | which can be initiated by | |
2129 | .I crontab | |
2130 | entries. | |
2131 | Others will require manual intervention. | |
2132 | Some sample | |
2133 | .I "shell files" | |
2134 | are given toward the end of this section. | |
2135 | .SH | |
2136 | SQFILE \- sequence check file | |
a9073747 | 2137 | .PP |
10bd7bb5 KM |
2138 | This file is set up in the |
2139 | .I program | |
2140 | directory and contains an entry for each remote | |
2141 | system with which you agree to perform conversation | |
2142 | sequence checks. | |
2143 | The initial entry is just the system name of | |
2144 | the remote system. | |
2145 | The first conversation will add two items to the line, | |
2146 | the conversation count, and the date/time of the most | |
2147 | resent conversation. | |
2148 | These items will be updated with each conversation. | |
2149 | If a sequence check fails, the entry will have to | |
2150 | be adjusted. | |
2151 | .SH | |
2152 | TM \- temporary data files | |
a9073747 | 2153 | .PP |
10bd7bb5 KM |
2154 | These files are created in the |
2155 | .I spool | |
2156 | directory while files are being copied | |
2157 | from a remote machine. | |
2158 | Their names have the form | |
2159 | .IP "" 12 | |
2160 | \fBTM\fR.pid.ddd | |
a9073747 | 2161 | .PP |
10bd7bb5 KM |
2162 | where |
2163 | .I pid | |
2164 | is a process-id and | |
2165 | .I ddd | |
2166 | is a sequential three digit number starting at zero | |
2167 | for each invocation of | |
2168 | .I uucico | |
2169 | and incremented for each file received. | |
2170 | ||
2171 | After the entire remote file is received, the | |
2172 | .I TM | |
2173 | file is moved/copied to the requested destination. | |
2174 | If processing is abnormally terminated or the | |
2175 | move/copy fails, the file will remain in the | |
2176 | spool directory. | |
a9073747 | 2177 | .PP |
10bd7bb5 KM |
2178 | The leftover files should be periodically removed; |
2179 | the | |
2180 | .I uuclean | |
2181 | program is useful in this regard. | |
2182 | The command | |
2183 | .IP "" 12 | |
2184 | uuclean\ \ \-pTM | |
2185 | .LP | |
2186 | will remove all | |
2187 | .I TM | |
2188 | files older than three days. | |
2189 | .SH | |
2190 | LOG \- log entry files | |
a9073747 | 2191 | .PP |
10bd7bb5 KM |
2192 | During execution of programs, individual |
2193 | .I LOG | |
2194 | files are created in the | |
2195 | .I spool | |
2196 | directory with information about | |
2197 | queued requests, calls to remote systems, | |
2198 | execution of | |
2199 | .I uux | |
2200 | commands and file copy results. | |
2201 | These files should be combined into the | |
2202 | .I LOGFILE | |
2203 | by using the | |
2204 | .I uulog | |
2205 | program. | |
2206 | This program will put the new | |
2207 | .I LOG | |
2208 | files at the beginning of the existing | |
2209 | .I LOGFILE. | |
2210 | The command | |
2211 | .IP "" 12 | |
2212 | uulog | |
2213 | .LP | |
2214 | will accomplish the merge. | |
2215 | Options are available to print some or all the | |
2216 | log entries after the files are merged. | |
2217 | The | |
2218 | .I LOGFILE | |
2219 | should be removed periodically | |
2220 | since it is copied each time new LOG | |
2221 | entries are put into the file. | |
a9073747 | 2222 | .PP |
10bd7bb5 KM |
2223 | The |
2224 | .I LOG | |
2225 | files are created initially with mode 0222. | |
2226 | If the program which creates the file terminates normally, | |
2227 | it changes the | |
2228 | mode to 0666. | |
2229 | Aborted runs may leave the files with mode | |
2230 | 0222 and the | |
2231 | .I uulog | |
2232 | program will not read or remove them. | |
2233 | To remove them, either use | |
2234 | .I rm , | |
2235 | .I uuclean , | |
2236 | or change the mode to 0666 and let | |
2237 | .I uulog | |
2238 | merge them with the | |
2239 | .I LOGFILE . | |
2240 | .SH | |
2241 | STST \- system status files | |
a9073747 | 2242 | .PP |
10bd7bb5 KM |
2243 | These files are created in the spool directory by the |
2244 | .I uucico | |
2245 | program. | |
2246 | They contain information of failures such as login, dialup or | |
2247 | sequence check and will contain a | |
2248 | .I TALKING | |
2249 | status when to machines are conversing. | |
2250 | The form of the file name is | |
2251 | .IP | |
2252 | \fBSTST\fR.sys | |
a9073747 | 2253 | .PP |
10bd7bb5 KM |
2254 | where |
2255 | .I sys | |
2256 | is the remote system name. | |
a9073747 | 2257 | .PP |
10bd7bb5 KM |
2258 | For ordinary failures (dialup, login), the file will prevent |
2259 | repeated tries for about one hour. | |
2260 | For sequence check failures, the file must be removed before | |
2261 | any future attempts to converse with that remote system. | |
a9073747 | 2262 | .PP |
10bd7bb5 KM |
2263 | If the file is left due to an aborted run, it may contain a |
2264 | .I TALKING | |
2265 | status. | |
2266 | In this case, the file must be removed before a conversation | |
2267 | is attempted. | |
2268 | .SH | |
2269 | LCK \- lock files | |
2270 | .LP | |
2271 | Lock files are created for each device in use (e.g. automatic calling | |
2272 | unit) and each system conversing. | |
2273 | This prevents duplicate conversations and multiple attempts to use the | |
2274 | same devices. | |
2275 | The form of the lock file name is | |
2276 | .IP "" 12 | |
2277 | \fBLCK..\fRstr | |
2278 | .LP | |
2279 | where | |
2280 | .I str | |
2281 | is either a device or system name. | |
2282 | The files may be left in the spool directory if runs abort. | |
2283 | They will be ignored (reused) after a time of about 24 hours. | |
2284 | When runs abort and calls are desired before the time limit, | |
2285 | the lock files should be removed. | |
2286 | .SH | |
2287 | Shell Files | |
a9073747 | 2288 | .PP |
10bd7bb5 KM |
2289 | The |
2290 | .I uucp | |
2291 | program will spool work and attempt to start the | |
2292 | .I uucico | |
2293 | program, but the starting of | |
2294 | .I uucico | |
2295 | will sometimes fail. | |
2296 | (No devices available, login failures etc.). | |
2297 | Therefore, the | |
2298 | .I uucico | |
2299 | program should be periodically started. | |
2300 | The command to start | |
2301 | .I uucico | |
2302 | can be put in a ``shell'' file with a command to merge | |
2303 | .I LOG | |
2304 | files and started by a crontab entry on an hourly basis. | |
2305 | The file could contain the commands | |
2306 | .IP | |
2307 | .I program /uulog | |
2308 | .br | |
2309 | .I program /uucico | |
2310 | \ \ \-r1 | |
a9073747 | 2311 | .PP |
10bd7bb5 KM |
2312 | Note that the ``\-r1'' option is required to start the |
2313 | .I uucico | |
2314 | program in | |
2315 | .I MASTER | |
2316 | mode. | |
a9073747 | 2317 | .PP |
10bd7bb5 KM |
2318 | Another shell file may be set up on a daily basis to remove |
2319 | .I TM , | |
2320 | .I ST | |
2321 | and | |
2322 | .I LCK | |
2323 | files | |
2324 | and | |
2325 | .I C. | |
2326 | or | |
2327 | .I D. | |
2328 | files for work which can not be accomplished for | |
2329 | reasons like bad phone number, login changes etc. | |
2330 | A shell file containing commands like | |
2331 | .IP | |
2332 | .I program /uuclean | |
2333 | \ \ \-pTM \-pC. \-pD. | |
2334 | .br | |
2335 | .I program /uuclean | |
2336 | \ \ \-pST \-pLCK \-n12 | |
2337 | .LP | |
2338 | can be used. | |
2339 | Note the ``\-n12'' option causes the | |
2340 | .I ST | |
2341 | and | |
2342 | .I LCK | |
2343 | files older than 12 hours to be deleted. | |
2344 | The absence of the ``\-n'' option will use a three day time | |
2345 | limit. | |
a9073747 | 2346 | .PP |
10bd7bb5 KM |
2347 | A daily or weekly shell should also be created |
2348 | to remove or save old | |
2349 | .I LOGFILE s. | |
a9073747 | 2350 | One can use a command like |
10bd7bb5 | 2351 | .IP |
a9073747 | 2352 | mv spool/LOGFILE spool/o.LOGFILE |
10bd7bb5 KM |
2353 | .SH |
2354 | Login Entry | |
a9073747 | 2355 | .PP |
10bd7bb5 KM |
2356 | One or more logins should be set up for |
2357 | .I uucp . | |
2358 | Each of the ``/etc/passwd'' entries should | |
2359 | have the | |
2360 | ``\fIprogram\fR/uucico'' | |
2361 | as the shell to be executed. | |
a9073747 | 2362 | The login directory is normally ``/usr/spool/uucppublic''. |
10bd7bb5 KM |
2363 | The various logins are used in conjunction with the |
2364 | .I USERFILE | |
2365 | to restrict file access. | |
2366 | Specifying the | |
2367 | .I shell | |
a9073747 | 2368 | argument limits the login to the use of UUCP (\fIuucico\fP) only. |
10bd7bb5 KM |
2369 | .SH |
2370 | File Modes | |
a9073747 | 2371 | .PP |
10bd7bb5 KM |
2372 | It is suggested that the owner and file modes of various |
2373 | programs and files be set as follows. | |
a9073747 | 2374 | .PP |
10bd7bb5 KM |
2375 | The programs |
2376 | .I uucp , | |
2377 | .I uux , | |
2378 | .I uucico | |
2379 | and | |
2380 | .I uuxqt | |
2381 | should be owned by the | |
2382 | .I uucp | |
2383 | login with the ``setuid'' bit set and only execute | |
2384 | permissions (e.g. mode 04111). | |
2385 | This will prevent outsiders from modifying the programs | |
2386 | to get at a standard | |
2387 | .I shell | |
2388 | for the | |
2389 | .I uucp | |
2390 | logins. | |
a9073747 | 2391 | .PP |
10bd7bb5 KM |
2392 | The |
2393 | .I L.sys , | |
2394 | .I SQFILE | |
2395 | and the | |
2396 | .I USERFILE | |
2397 | which are put in the | |
2398 | .I program | |
2399 | directory should be owned by | |
2400 | the | |
2401 | .I uucp | |
2402 | login and set with mode 0400. |