Annotation of 43BSDReno/share/doc/smm/09.uucpimpl/implement.ms, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1986 Regents of the University of California.
        !             2: .\" All rights reserved.  The Berkeley software License Agreement
        !             3: .\" specifies the terms and conditions for redistribution.
        !             4: .\"
        !             5: .\"    @(#)implement.ms        6.4 (Berkeley) 8/27/86
        !             6: .\"
        !             7: .ds UU UUCP
        !             8: .ds Uu U\s-2UCP\s+2
        !             9: .ds uu \s-2UUCP\s+2
        !            10: .TL
        !            11: Installation and Operation of \*(UU
        !            12: .br
        !            13: 4.3BSD Edition
        !            14: .AU
        !            15: D. A. Nowitz
        !            16: .AI
        !            17: AT&T Bell Laboratories
        !            18: Murray Hill, New Jersey 07974
        !            19: .AU
        !            20: Carl S. Gutekunst
        !            21: .AI
        !            22: Communications Software Research and Development
        !            23: Pyramid Technology Corporation
        !            24: Mountain View, California 94039
        !            25: .AB
        !            26: \*(Uu is a series of programs designed to permit communication
        !            27: between
        !            28: .UX
        !            29: systems using a variety of communications links.
        !            30: \*(Uu provides batched, error free file transfers and remote command
        !            31: execution.
        !            32: It is well suited for tasks such as electronic mail, public news networks,
        !            33: and software distribution, particularly when only slow,
        !            34: low-cost communication links are available (e.g., 1200 baud dial-up).
        !            35: .PP
        !            36: This document describes the 4.3BSD version of \*(Uu.
        !            37: This is a distant but direct descendent of the ``second implementation''
        !            38: of \*(Uu developed by D. A. Nowitz at AT&T Bell Laboratories.
        !            39: A number of other \*(Uu versions are in common usage; these are discussed
        !            40: only to the extent that they affect administration of 4.3BSD systems.
        !            41: .LP
        !            42: Revised August 24, 1986
        !            43: .AE
        !            44: .LP
        !            45: .OH 'Installation and Operation of UUCP''SMM:9-%'
        !            46: .EH 'SMM:9-%''Installation and Operation of UUCP'
        !            47: .ne 5
        !            48: .NH
        !            49: \*(UU OVERVIEW
        !            50: .PP
        !            51: \*(Uu is a batch-type operation.
        !            52: Users issue commands that are queued in a spool directory for processing
        !            53: by background daemons.
        !            54: .LP
        !            55: \fIUucp\fP (UNIX-to-UNIX Copy) and \fIuux\fP (UNIX-to-UNIX Execution)
        !            56: provide the user interface to \*(Uu.
        !            57: .I Uucp
        !            58: has syntax and semantics similar to the standard
        !            59: .UX
        !            60: utility \fIcp\fP(1), with the added ability to prefix filenames with
        !            61: system names.
        !            62: Similarly, \fIuux\fP mimics the conventions of \fIsh\fP(1), and allows
        !            63: commands to be prefixed with system names.
        !            64: .LP
        !            65: \fIUucico\fP (Copy-In, Copy-Out) is the primary \*(Uu daemon.
        !            66: It processes the requests queued by \fIuucp\fP and \fIuux\fP,
        !            67: initiates calls to remote systems, transfers files, and forks other
        !            68: daemons to execute \fIuux\fP-requested commands.
        !            69: \fIUucico\fP also acts as the \*(Uu ``shell'' when remote systems call in
        !            70: to requests transfers.
        !            71: .LP
        !            72: Three types of files are used in \*(Uu operation.
        !            73: \fIControl files\fP describe the \*(Uu environment, including
        !            74: known remote hosts, available devices, and remote file access permissions.
        !            75: Control files are relatively static; they are generally changed only by the
        !            76: system administrator.
        !            77: \fISpool files\fP (also called \fIQueue files\fP) contain transfer requests
        !            78: and data; they are created and deleted as necessary
        !            79: by \fIuucp\fP, \fIuux\fP, and \fIuucico\fP.
        !            80: \fILog files\fP accumulate a history of \*(Uu activity; these tend to
        !            81: grow forever if not periodically cleaned up.
        !            82: .LP
        !            83: Spool files are further divided into three types:
        !            84: \fIWork files\fP
        !            85: contain directions for file transfers between systems.
        !            86: Every invocation of \fIuucp\fP or \fIuux\fP creates one or more work files.
        !            87: \fIData files\fP contain data for transfer to or from remote systems.
        !            88: \fIExecution files\fP contain directions for
        !            89: .UX
        !            90: command executions which
        !            91: involve the resources of one or more systems.
        !            92: Execution files are created only by \fIuux\fP.
        !            93: .\"===========================================================================
        !            94: .\" SECTION 2: USER UTILITIES
        !            95: .\"===========================================================================
        !            96: .ne 5
        !            97: .NH
        !            98: USER UTILITIES
        !            99: .PP
        !           100: \*(Uu includes a total of ten ``primary'' utilities, that is, ten
        !           101: utilities for general users.
        !           102: All reside in the \fB/usr/bin\fP directory, where they are easily accessible.
        !           103: This section provides detailed implementation descriptions for the more
        !           104: important commands; see the corresponding \fIman\fP pages for additional
        !           105: information.
        !           106: .LP
        !           107: The following two commands queue transfer requests:
        !           108: .RS
        !           109: .IP uucp(1C) 15
        !           110: UNIX-to-UNIX File Copy.
        !           111: One of more \fIcontrol files\fP are created, containing names of files to be
        !           112: transferred.
        !           113: When necessary, local files are copied into \fIdata files\fP for
        !           114: transmission.
        !           115: .IP uux(1C)
        !           116: Execute command.
        !           117: An \fIexecute file\fP is created, containing a
        !           118: .UX
        !           119: command to be executed and its arguments.
        !           120: A \fIcontrol file\fP is created that includes all files that must be
        !           121: transferred to execute the command, including the \fIexecute file\fP itself.
        !           122: When necessary, local files are copied into \fIdata files\fP for
        !           123: transmission.
        !           124: Any output from the command will also be written to \fIdata files\fP.
        !           125: .RE
        !           126: .LP
        !           127: The following four commands provide \*(Uu status information:
        !           128: .RS
        !           129: .IP uulog(1C) 15
        !           130: Display selected information from the \*(Uu log.
        !           131: .IP uuname(1C)
        !           132: Display the names of all remote hosts that are directly accessible via \*(Uu.
        !           133: .IP uusnap(8C)
        !           134: Provide a snapshot of the current queue, including
        !           135: the number of work files, data files, and execute files for each site.
        !           136: .IP uuq(1C)
        !           137: A variant of \fIuusnap\fP, lists files and \fIuux\fP commands
        !           138: queued for each site.
        !           139: \fIUuq\fP also permits the \*(Uu administrator to delete jobs.
        !           140: .RE
        !           141: .LP
        !           142: The following four commands provide miscellaneous support services:
        !           143: .RS
        !           144: .IP uudecode(1C) 15
        !           145: The decoder for files created by \fIuuencode\fP, below.
        !           146: .IP uuencode(1C)
        !           147: A filter to convert binary files into printable ASCII.
        !           148: This is useful when transferring object files over communications links
        !           149: that do not support 8-bit transfers.
        !           150: .IP uupoll(8C)
        !           151: A user utility to conveniently fork the \*(Uu daemon, \fIuucico\fP.
        !           152: .IP uusend(1C)
        !           153: A utility to send files to remote sites more than one ``hop'' distant.
        !           154: .RE
        !           155: .\"===========================================================================
        !           156: .NH 2
        !           157: Uucp - UNIX to UNIX File Copy
        !           158: .LP
        !           159: The \fIuucp\fP
        !           160: command is the user's primary interface with the system.
        !           161: The
        !           162: .I uucp
        !           163: command was designed to look like
        !           164: .I cp
        !           165: to the user.
        !           166: The syntax is
        !           167: .IP
        !           168: .I uucp\ \ 
        !           169: .B [
        !           170: option
        !           171: .B ]
        !           172: \ ...\ \ source\ ...\ \ destination
        !           173: .LP
        !           174: where the source and destination
        !           175: may contain the prefix \fIsystem-name\fP\fB!\fP
        !           176: which indicates the system on which the file
        !           177: or files reside
        !           178: or where they will be copied.
        !           179: .LP
        !           180: The options interpreted by
        !           181: .I uucp
        !           182: are:
        !           183: .RS
        !           184: .IP \-f 10
        !           185: Don't make directories when copying the file.
        !           186: The default is to make the necessary directories.
        !           187: .IP \-C
        !           188: Copy source files to the spool directory.
        !           189: The default is to use the specified source when the actual
        !           190: transfer takes place.
        !           191: .IP \-g\fIgrade\fR
        !           192: Put
        !           193: .I grade
        !           194: in as the grade in the name of the work file.
        !           195: This is a single character in the range \fB[0-9][A-Z][a-z]\fP.
        !           196: The \fIgrade\fP will be used by \fIuucico\fP to establish the
        !           197: priority of requests.
        !           198: \fB0\fP is the highest (best) grade; \fBz\fP is the lowest (worst).
        !           199: The default
        !           200: .I grade
        !           201: for
        !           202: .I uucp
        !           203: is \fBn\fP.
        !           204: .IP \-m
        !           205: Send mail on completion of the work.
        !           206: .IP \-n\fIuser\fR
        !           207: Notify \fIuser\fR on the destination system that a file was sent.
        !           208: .LP
        !           209: The following options are used primarily for debugging, or when
        !           210: .I uucp
        !           211: is invoked from other programs:
        !           212: .IP \-r 10
        !           213: Queue the job but do not start \fIuucico\fP.
        !           214: The assumption is that \fIuucico\fP will be started at a later time, perhaps
        !           215: by \fIcron\fP(8) or \fIuupoll\fP.
        !           216: .IP \-s\fIdir\fR
        !           217: Use directory
        !           218: .I dir
        !           219: for the top level spool directory.
        !           220: .IP \-x\fInum\fR
        !           221: .I Num
        !           222: is the level of debugging output desired.
        !           223: This option requires the user to have read permission to the \*(Uu
        !           224: control file \fIL.sys\fP.
        !           225: .RE
        !           226: .LP
        !           227: The destination may be a directory name,
        !           228: in which case the file name is taken from the last part of the
        !           229: source's name.
        !           230: The source
        !           231: name may contain special shell characters
        !           232: such as ``\fB?*[]\fR'';
        !           233: these and other shell characters such as ``\fB!<>\fP'' will need to be quoted
        !           234: or escaped.
        !           235: If a source argument has a
        !           236: \fIsystem-name\fP\fB!\fP
        !           237: prefix for a remote system,
        !           238: the file name expansion will be done on the remote system.
        !           239: .LP
        !           240: The command
        !           241: .IP "" 12
        !           242: uucp\ \ *.c\ \ usg!/usr/dan
        !           243: .LP
        !           244: will set up the transfer of all files whose names end with ``.c''
        !           245: to the ``/usr/dan'' directory on the ``usg'' machine.
        !           246: .LP
        !           247: The source and/or destination names may also contain a \fB~\fP\fIuser\fP
        !           248: prefix.
        !           249: This translates to the login directory on
        !           250: the specified system.
        !           251: A lone \fB~\fP prefix is expanded to the name of the specified system's
        !           252: public access directory, usually 
        !           253: \fB/usr/spool/uucppublic\fP.
        !           254: For names with partial path-names,
        !           255: the current directory is prepended to the file name.
        !           256: File names with
        !           257: .I ../
        !           258: are not permitted.
        !           259: .LP
        !           260: The command
        !           261: .IP "" 12
        !           262: uucp\ \ usg!~dan/*.h\ \ ~dan
        !           263: .LP
        !           264: will set up the transfer of files whose names end with ``.h''
        !           265: in dan's login
        !           266: directory on system ``usg'' to dan's local
        !           267: login directory.
        !           268: .LP
        !           269: For each source file,
        !           270: the program will check the source and destination
        !           271: file-names
        !           272: and the system-part of each to
        !           273: classify the work into one of five types:
        !           274: .RS
        !           275: .IP [1]
        !           276: Copy source to destination on local system.
        !           277: .IP [2]
        !           278: Receive files from a remote system.
        !           279: .IP [3]
        !           280: Send files to a remote system.
        !           281: .IP [4]
        !           282: Send files from remote system
        !           283: to another remote system.
        !           284: .IP [5]
        !           285: Receive files from remote system when the source pathname
        !           286: contains special shell characters as
        !           287: mentioned above.
        !           288: .RE
        !           289: .LP
        !           290: After the work has been set up in the spool directories,
        !           291: the \*(Uu daemon \fIuucico\fP is started to try to contact the other
        !           292: machine to execute the work (unless the \-r option
        !           293: was specified).
        !           294: .SH
        !           295: Type 1
        !           296: .LP
        !           297: .I Uucp
        !           298: makes a copy of the file.
        !           299: The
        !           300: .I \-m
        !           301: option is not honored in this case.
        !           302: .SH
        !           303: Type 2
        !           304: .LP
        !           305: A one line
        !           306: .I "work file"
        !           307: is created for each file requested and put in the \fBC.\fP spool directory
        !           308: with the following fields, each separated by a blank.
        !           309: (All
        !           310: .I "work files"
        !           311: and
        !           312: .I "execute files"
        !           313: use a blank as the field separator.)
        !           314: .RS
        !           315: .IP [1]
        !           316: R
        !           317: .IP [2]
        !           318: The full path-name of the source or a ~user/path-name.
        !           319: The
        !           320: .I ~user
        !           321: part will be expanded on the remote system.
        !           322: .IP [3]
        !           323: The full path-name of the local destination file.
        !           324: If the
        !           325: .I ~user
        !           326: notation is used, it will be immediately
        !           327: expanded to be the login directory for the user.
        !           328: .IP [4]
        !           329: The user's login name.
        !           330: .IP [5]
        !           331: A `\-' followed by an option list.
        !           332: .RE
        !           333: .KS
        !           334: .SH
        !           335: Type 3
        !           336: .LP
        !           337: For each source file, a
        !           338: .I "work file"
        !           339: is created.
        !           340: A \fB\-C\fP option on the
        !           341: .I uucp
        !           342: command will cause the
        !           343: .I "data file"
        !           344: to be copied into the spool directory
        !           345: and the file to be transmitted from
        !           346: the copy; the copy is deleted when the transfer completes.
        !           347: The fields of each entry are given below.
        !           348: .RS
        !           349: .IP [1]
        !           350: S
        !           351: .IP [2]
        !           352: The full-path name of the source file.
        !           353: .IP [3]
        !           354: The full-path name of the destination or
        !           355: ~user/file-name.
        !           356: .IP [4]
        !           357: The user's login name.
        !           358: .IP [5]
        !           359: A `\-' followed by an option list.
        !           360: .IP [6]
        !           361: The full path-name of the local source file.
        !           362: If the
        !           363: .I ~user
        !           364: notation is used, it will be immediately
        !           365: expanded to be the login directory for the user.
        !           366: If the \fB\-C\fP option was used, this will be the name of a
        !           367: .I "data file"
        !           368: in the spool directory.
        !           369: .IP [7]
        !           370: The file mode bits of the source file
        !           371: in octal print format
        !           372: (e.g. 0666).
        !           373: .IP [8]
        !           374: The user to notify on the remote system that the transfer has completed.
        !           375: .RE
        !           376: .KE
        !           377: .SH
        !           378: Type 4 and Type 5
        !           379: .LP
        !           380: .I Uucp
        !           381: generates a
        !           382: .I uucp
        !           383: command and sends it to the remote machine;
        !           384: the remote
        !           385: .I uucico
        !           386: executes the
        !           387: .I uucp
        !           388: command.
        !           389: .\"===========================================================================
        !           390: .NH 2
        !           391: Uux - UNIX To UNIX Execution
        !           392: .LP
        !           393: The \fIuux\fP
        !           394: command is used to set up the execution of a
        !           395: .UX
        !           396: command
        !           397: where the execution machine and/or some of the
        !           398: files are remote.
        !           399: The syntax of the uux command is
        !           400: .IP
        !           401: .I uux\ \ 
        !           402: .B [
        !           403: \-
        !           404: .B "] ["
        !           405: option
        !           406: .B ]
        !           407: \ ...\ \ command-string
        !           408: .LP
        !           409: where the command-string is made up of one or more arguments.
        !           410: All special shell characters such as ``<>|*?!'' must be quoted
        !           411: either by quoting the entire command-string
        !           412: or quoting the character as a separate argument.
        !           413: Within the command-string, the command and file names may
        !           414: contain a
        !           415: \fIsystem-name\fP\fB!\fP
        !           416: prefix.
        !           417: All arguments which do not contain a ``!'' will not
        !           418: be treated as files.
        !           419: (They will not be copied to the execution machine.)
        !           420: The `\-' is used to indicate that the standard input
        !           421: for
        !           422: .I command-string
        !           423: should be inherited from the standard input
        !           424: of the
        !           425: .I uux
        !           426: command.
        !           427: .LP
        !           428: The options, used mostly for debugging and by other programs, are:
        !           429: .RS
        !           430: .IP \-a\fIname\fP 10
        !           431: Use \fIname\fP as the requestor of the \fIuux\fP command, instead of the
        !           432: real system and login names.
        !           433: Unlike most other \*(Uu arguments, \fIname\fP may consist of a chain of
        !           434: system names separated by `!' characters, as in:
        !           435: .IP \  15
        !           436: uux\ \ \-\ \ \-r\ \ \-aihnp4!decwrl!pyramid!csg\ \ seismo!rmail\ \ rick
        !           437: .IP \-C 10
        !           438: Copy source files to the spool directory.
        !           439: Same as for \fIuucp\fP.
        !           440: .IP \-g\fIgrade\fR
        !           441: Put
        !           442: .I grade
        !           443: in as the grade in the name of the work file.
        !           444: Same as for \fIuucp\fP.
        !           445: The default
        !           446: .I grade
        !           447: for
        !           448: .I uux
        !           449: is \fBA\fP.
        !           450: .IP \-n
        !           451: Do not mail an acknowledgement to the requestor of the command.
        !           452: Normally the execution daemon, \fIuuxqt\fP, will mail a message
        !           453: to the user who entered the \fIuux\fP command.
        !           454: This message includes the status return value that the program exited with.
        !           455: The \fB\-n\fP option requests that this message not be sent.
        !           456: .IP \-r
        !           457: Do not start the \*(Uucp daemons \fIuucico\fP(8C) or \fIuuxqt\fP(8C)
        !           458: after queuing the job.
        !           459: .IP \-x\fInum\fR
        !           460: Num is the level of debugging output desired.
        !           461: .IP \-z
        !           462: Mail an acknowledgement to the requestor only if the command fails, that
        !           463: is, the command exits with a non-zero status.
        !           464: .RE
        !           465: .LP
        !           466: The command
        !           467: .IP "" 12
        !           468: pr\ \ abc\ \ |\ \ uux\ \ \-\ \ usg!lpr
        !           469: .LP
        !           470: will set up the output of ``pr abc''
        !           471: as standard input to an lpr command
        !           472: to be executed on system ``usg''.
        !           473: .LP
        !           474: .I Uux
        !           475: generates an
        !           476: .I "execute file"
        !           477: which contains the
        !           478: names of the files required
        !           479: for execution (including standard input),
        !           480: the user's login name, the destination
        !           481: of the standard output, and the command to be executed.
        !           482: This file is either put in the \fBX.\fP spool directory
        !           483: for local execution,
        !           484: or in the \fBD.\fP\fIhostname\fP\fBX\fP directory
        !           485: for transfer to the remote system.
        !           486: .LP
        !           487: For required files which are not on the execution machine,
        !           488: .I uux
        !           489: will generate receive command files (type 2 above).
        !           490: These command-files will be put on the execution machine and
        !           491: executed by 
        !           492: \fIuucico\fP.
        !           493: (This will work only if the local system has permission
        !           494: to put files in the remote spool directory as controlled
        !           495: by the remote
        !           496: \fIUSERFILE\fP.)
        !           497: .LP
        !           498: The
        !           499: .I "execute file"
        !           500: will be processed
        !           501: by the
        !           502: \fIuuxqt\fP(8C)
        !           503: program on the execution machine.
        !           504: It is made up of several lines,
        !           505: each of which contains an identification character
        !           506: and one or more arguments.
        !           507: The order of the lines in the file is not relevant
        !           508: and some of the lines may not be present.
        !           509: Each line is described below.
        !           510: .RS
        !           511: .SH
        !           512: User Line
        !           513: .IP
        !           514: U\ \ user\ \ system
        !           515: .LP
        !           516: where the
        !           517: .I user
        !           518: and
        !           519: .I system
        !           520: are the requestor's login name and system.
        !           521: .SH
        !           522: Required File Line
        !           523: .IP
        !           524: F file-name real-name
        !           525: .LP
        !           526: where the
        !           527: .I file-name
        !           528: is the generated name of a file for the execute machine
        !           529: and
        !           530: .I real-name
        !           531: is the last part of the actual file name (contains no
        !           532: path information).
        !           533: Zero or more of these lines may be present in the
        !           534: .I "execute file" .
        !           535: The
        !           536: .I uuxqt
        !           537: program will check for the existence of all required
        !           538: files before the command is executed.
        !           539: .SH
        !           540: Standard Input Line
        !           541: .IP
        !           542: I\ \ file-name
        !           543: .LP
        !           544: The standard input is either specified by a `<' in the
        !           545: command-string or inherited from the standard input of the
        !           546: .I uux
        !           547: command if the `\-' option is used.
        !           548: If a standard input is not specified,
        !           549: .B /dev/null
        !           550: is used.
        !           551: .SH
        !           552: Standard Output Line
        !           553: .IP
        !           554: O\ \ file-name\ \ system-name
        !           555: .LP
        !           556: The standard output is specified by a `>' within the
        !           557: command-string.
        !           558: If a standard output is not specified,
        !           559: .B /dev/null
        !           560: is used.
        !           561: (Note \- the use of ``>>'' is not implemented.)
        !           562: .SH
        !           563: Status Return Line
        !           564: .IP
        !           565: N
        !           566: .LP
        !           567: Normally \fIuuxqt\fP mails an acknowledgement message to the
        !           568: requestor after the command completes.
        !           569: The message includes the status return value that the program exited with.
        !           570: This line inhibits mailing of the acknowledgement message.
        !           571: It is generated by the \fB-n\fP option of \fIuux\fP;
        !           572: it is also quietly assumed by \fIuuxqt\fP on the command \fBrmail\fP.
        !           573: .SH
        !           574: Error Status Return Line
        !           575: .IP
        !           576: Z
        !           577: .LP
        !           578: A variant of the \fIStatus Return\fP line, this line indicates that
        !           579: an acknowledgement should be mailed only if the command's status
        !           580: return is non-zero, i.e., the program exited with an error.
        !           581: This line is generated by the \fB-z\fP option of \fIuux\fP.
        !           582: It is also quietly assumed by \fIuuxqt\fP on the command \fBrnews\fP.
        !           583: If both the \fBZ\fP and \fBN\fP lines appear, the \fBZ\fP line has
        !           584: precedence.
        !           585: .SH
        !           586: Requestor Line
        !           587: .IP
        !           588: R\ \ requestor
        !           589: .LP
        !           590: where
        !           591: .I requestor
        !           592: is a complete return mailing address to the original requestor.
        !           593: This line is generated by the \fB-a\fP option of \fIuux\fP, and is used
        !           594: to override the mail return address implied by the \fIUser\fP line.
        !           595: This is commonly used by mailers and programs like \fIuusend\fP that
        !           596: know how to ``hop'' a file from system to system.
        !           597: .SH
        !           598: Command Line
        !           599: .IP
        !           600: C\ \ command\ \ 
        !           601: .B [
        !           602: arguments
        !           603: .B ]
        !           604: \ ...
        !           605: .LP
        !           606: The arguments are those specified in the command-string.
        !           607: The standard input and standard output will not appear on this
        !           608: line.
        !           609: All
        !           610: .I "required files"
        !           611: will be moved to the execution directory (a subdirectory
        !           612: of the spool directory)
        !           613: and the
        !           614: .UX
        !           615: command is executed using the Shell specified in the
        !           616: .I uucp.h
        !           617: header file (usually \fI/bin/sh\fP).
        !           618: In addition, a shell ``PATH'' statement is prepended
        !           619: to the command line.
        !           620: .LP
        !           621: After execution, the temporary standard output file is copied to
        !           622: or set up to be
        !           623: sent to the proper place.
        !           624: .RE
        !           625: .\"===========================================================================
        !           626: .\" SECTION 3: SYSTEM UTILITIES
        !           627: .\"===========================================================================
        !           628: .ne 5
        !           629: .NH
        !           630: SYSTEM AND ADMINISTRATIVE UTILITIES
        !           631: .LP
        !           632: \*(Uu includes four system utilities;
        !           633: these are not normally referenced by users.
        !           634: All except \fIuucpd\fP reside in the \*(Uu administrative directory,
        !           635: \fB/usr/lib/uucp\fP.
        !           636: These include:
        !           637: .RS
        !           638: .IP uucico(8C) 15
        !           639: Copy In, Copy Out. This is the primary \*(Uu daemon.
        !           640: .IP uuclean(8C)
        !           641: A handy utility to clean up the \*(Uu spool directories.
        !           642: .IP uucpd
        !           643: The \*(Uu TCP/IP daemon.
        !           644: This daemon ``answers'' the connection request from a remote \fIuucico\fP
        !           645: to a TCP/IP socket.
        !           646: It is functionally a stripped-down version of \fIrlogind\fP(8) that provides
        !           647: full 8-bit communication.
        !           648: (Note: this utility does not have a \fIman\fP page.)
        !           649: .IP uuxqt(8C)
        !           650: Execution Daemon.
        !           651: This is forked by \fIuucico\fP to interpret execution files
        !           652: transferred from a remote system.
        !           653: .RE
        !           654: .\"===========================================================================
        !           655: .NH 2
        !           656: Uucico - Copy In, Copy Out (\*(Uu Daemon)
        !           657: .LP
        !           658: .I Uucico
        !           659: is the ``heart'' of the \*(Uu system.
        !           660: The program performs the following major functions:
        !           661: .RS
        !           662: .IP -\ \  3
        !           663: Scan the spool directory for work.
        !           664: .IP -\ \  
        !           665: Place a call to a remote system.
        !           666: .IP -\ \ 
        !           667: Negotiate a line protocol to be used.
        !           668: .IP -\ \ 
        !           669: Execute all requests from both systems.
        !           670: .IP -\ \ 
        !           671: Log work requests and work completions.
        !           672: .RE
        !           673: .LP
        !           674: .I Uucico
        !           675: may be started in several ways;
        !           676: .RS
        !           677: .IP a) 5
        !           678: by a system daemon (such as \fIcron\fP(8)),
        !           679: .IP b)
        !           680: by one of the
        !           681: .I
        !           682: uucp, uux, uuxqt
        !           683: .R
        !           684: or
        !           685: .I uupoll
        !           686: programs,
        !           687: .IP c)
        !           688: directly by the user (this is usually for testing),
        !           689: .IP d)
        !           690: by a remote system.
        !           691: (The \fIuucico\fP program should be specified as the ``shell''
        !           692: field in the \fB/etc/passwd\fP file for the \*(Uu logins.)
        !           693: .RE
        !           694: .LP
        !           695: When started by method a, b or c, the program is considered to
        !           696: be in
        !           697: .I MASTER
        !           698: mode.
        !           699: In this mode, a connection will be made to a remote system.
        !           700: If started by a remote system (method d),
        !           701: the program is considered to be in
        !           702: .I SLAVE
        !           703: mode.
        !           704: .LP
        !           705: The
        !           706: .I MASTER
        !           707: mode will operate in one of two ways.
        !           708: If no system name is specified
        !           709: (\-s option not specified)
        !           710: the program will scan the spool directory for
        !           711: systems to call.
        !           712: If a system name is specified, that system will be called,
        !           713: and work will only be done for that system.
        !           714: .LP
        !           715: The
        !           716: .I uucico
        !           717: program is generally started by another program.
        !           718: There are several options used for execution:
        !           719: .RS
        !           720: .IP \-g\fIgrade\fP 10
        !           721: Set the minimum grade of this \fIuucico\fP run to \fIgrade\fP.
        !           722: Only files of this grade or better will be transferred.
        !           723: .IP \-r1
        !           724: Start the program in
        !           725: .I MASTER
        !           726: mode.
        !           727: This is used when
        !           728: .I uucico
        !           729: is started by a program or \fIcron\fP shell.
        !           730: .IP \-s\fIsys\fR
        !           731: Do work only for system
        !           732: .I sys.
        !           733: If
        !           734: .B \-s
        !           735: is specified,
        !           736: a call to the specified system
        !           737: will be made even if there is no work for system
        !           738: .I sys
        !           739: in the spool directory.
        !           740: This is useful for polling systems which do not have
        !           741: the hardware to initiate a connection.
        !           742: .LP
        !           743: The following options are used primarily for debugging:
        !           744: .IP \-d\fIdir\fR
        !           745: Use directory
        !           746: .I dir
        !           747: for the top level spool directory.
        !           748: .IP \-x\fInum\fR
        !           749: .I Num
        !           750: is the level of debugging output desired.
        !           751: .RE
        !           752: .LP
        !           753: The next part of this section will describe the major steps within
        !           754: the
        !           755: .I uucico
        !           756: program.
        !           757: .SH
        !           758: Scan For Work
        !           759: .LP
        !           760: The names of the work related files in a spool subdirectory have format
        !           761: .IP
        !           762: type \fB.\fP system-name grade number
        !           763: .LP
        !           764: where:
        !           765: .IP
        !           766: .I Type
        !           767: is an upper case letter,
        !           768: (
        !           769: .B C
        !           770: -\ work (copy command) file,
        !           771: .B D
        !           772: -\ data file,
        !           773: .B X
        !           774: -\ execute file);
        !           775: .IP
        !           776: .I System-name
        !           777: is the remote system;
        !           778: .IP
        !           779: .I Grade
        !           780: is a character in the range \fB[0-9][A-Z][a-z]\fP;
        !           781: .IP
        !           782: .I Number
        !           783: is a four digit, padded sequence number.
        !           784: .LP
        !           785: The file
        !           786: .IP "" 12
        !           787: C.res45n0031
        !           788: .LP
        !           789: would be a
        !           790: .I "work file"
        !           791: for a file transfer between the local
        !           792: machine and the ``res45'' machine.
        !           793: .LP
        !           794: The scan for work is done by looking through the
        !           795: appropriate spool directory for
        !           796: \fIwork files\fP
        !           797: (files with prefix \fBC.\fP).
        !           798: A list is made of all systems to be called.
        !           799: .I Uucico
        !           800: will then call each system and process all
        !           801: .I "work files" .
        !           802: .SH
        !           803: Call Remote System
        !           804: .LP
        !           805: The call is made using information from the \fIcontrol\fP files
        !           806: that reside in the \fB/usr/lib/uucp\fP directory.
        !           807: At the start of the call process, a lock is
        !           808: set to forbid multiple conversations 
        !           809: between the same two systems.
        !           810: .LP
        !           811: The system name is found in the
        !           812: .I L.sys
        !           813: control file.
        !           814: The information contained for each system is;
        !           815: .RS
        !           816: .IP [1]
        !           817: system name,
        !           818: .IP [2]
        !           819: times to call the system
        !           820: (days-of-week and times-of-day),
        !           821: .IP [3]
        !           822: the \fIcaller\fP, that is, the type of device to be used for the call,
        !           823: .IP [4]
        !           824: the line speed or network number (as appropriate),
        !           825: .IP [5]
        !           826: telephone number or device name (as appropriate),
        !           827: .IP [6]
        !           828: login information (multiple fields).
        !           829: .RE
        !           830: .LP
        !           831: The time field is checked against the present time to see
        !           832: if the call should be made.
        !           833: .LP
        !           834: The
        !           835: .I
        !           836: phone number
        !           837: .R
        !           838: may contain abbreviations (e.g. mh, py, boston) which get translated into dial
        !           839: sequences using the
        !           840: .I L-dialcodes
        !           841: file.
        !           842: .LP
        !           843: The
        !           844: .I L-devices
        !           845: file is scanned using fields [3] and [4] from the
        !           846: .I L.sys
        !           847: file to find an available device for the call.
        !           848: The program will try all devices which satisfy
        !           849: [3] and [4] until the call is made or no more
        !           850: devices can be tried.
        !           851: If a device is successfully opened, a lock file
        !           852: is created so that another copy of
        !           853: .I uucico
        !           854: will not try to use it.
        !           855: If the call is complete, the
        !           856: .I
        !           857: login information
        !           858: .R
        !           859: (field [6] of
        !           860: \fIL.sys\fP)
        !           861: is used to login.
        !           862: .LP
        !           863: The conversation between the two
        !           864: .I uucico
        !           865: programs begins with a handshake started by the called,
        !           866: .I SLAVE ,
        !           867: system.
        !           868: The
        !           869: .I SLAVE
        !           870: sends a message to let the
        !           871: .I MASTER
        !           872: know it is ready to receive the system
        !           873: identification and conversation sequence number.
        !           874: The response from the
        !           875: .I MASTER
        !           876: is
        !           877: verified by the
        !           878: .I SLAVE
        !           879: and if acceptable, protocol selection begins.
        !           880: The
        !           881: .I SLAVE
        !           882: can also reply with a ``call-back required''
        !           883: message in which case, the current conversation
        !           884: is terminated.
        !           885: .SH
        !           886: Line Protocol Selection
        !           887: .LP
        !           888: The remote system sends a message
        !           889: .IP "" 12
        !           890: P\fIproto-list\fR
        !           891: .LP
        !           892: where proto-list is a string of characters, each
        !           893: representing a line protocol.
        !           894: .LP
        !           895: The calling program checks the proto-list
        !           896: for a letter corresponding to an available line
        !           897: protocol and returns a
        !           898: .I use-protocol
        !           899: message.
        !           900: The
        !           901: .I use-protocol
        !           902: message is
        !           903: .IP "" 12
        !           904: U\fIcode\fR
        !           905: .LP
        !           906: where 
        !           907: .I code
        !           908: is either a one character
        !           909: protocol letter or
        !           910: .B N
        !           911: which means there is no common protocol.
        !           912: .LP
        !           913: The following protocols are implemented in 4.3BSD \*(Uu:
        !           914: .RS
        !           915: .IP \fBg\fP
        !           916: General.
        !           917: Default for dialup or hardwired lines, supported by all versions of \*(Uu.
        !           918: This protocol employs small (64 byte) data packets with
        !           919: checksums and packet-by-packet retransmission.
        !           920: This ensures reliable and efficient transfers over slow and noisy links
        !           921: like 1200-baud dial-up lines.
        !           922: These same characteristics make the \fBg\fP protocol bulky and slow over
        !           923: error free links, and very expensive on public data-switched networks.
        !           924: .IP \fBf\fP
        !           925: Optimized for use on X.25 PAD public data-switched networks.
        !           926: The protocol employs larger (256 byte) data packets,
        !           927: passes no control characters except CR,
        !           928: and uses only a 7-bit data path.
        !           929: (Note that the files transferred may still contain full 8-bit data.)
        !           930: It assumes that the link is ``mostly'' error-free, calculating a checksum
        !           931: for the entire file only. 
        !           932: When an error is detected, the entire file is retransmitted.
        !           933: .IP \fBt\fP
        !           934: Optimized for use on TCP/IP networks and other completely error free links.
        !           935: It employs large (1024 byte) packets, and uses the full 8-bit data path.
        !           936: .RE
        !           937: .LP
        !           938: Note: AT&T System VR2 \*(UU supports the \fBx\fP (\fIX.25\fP) and \fBe\fP
        !           939: (\fIError Free\fP) protocols, which provide functionality similar to the
        !           940: 4.3BSD \fBf\fP and \fBt\fP protocols, respectively. 
        !           941: They are incompatible, however.
        !           942: Thus when attempting to connect two systems via X.25 or an local area network,
        !           943: it is not adequate for both systems to simply ``support X.25'' or ``support
        !           944: error free transfers.''
        !           945: Both must support the same \*(Uu protocols.
        !           946: .SH
        !           947: Work Processing
        !           948: .LP
        !           949: The initial roles (
        !           950: .I MASTER
        !           951: or
        !           952: .I SLAVE
        !           953: ) for the work processing are
        !           954: the mode in which each program starts.
        !           955: (The 
        !           956: .I MASTER
        !           957: has been specified by the \fB\-r1\fP \fIuucico\fP option.)
        !           958: The
        !           959: .I MASTER
        !           960: program does a work search similar to the
        !           961: one used in the ``Scan For Work'' section.
        !           962: .LP
        !           963: There are five messages used during the
        !           964: work processing, each specified by the first
        !           965: character of the message.
        !           966: They are;
        !           967: .IP "" 12
        !           968: .RS
        !           969: .IP S 3
        !           970: send a file,
        !           971: .IP R
        !           972: receive a file,
        !           973: .IP C
        !           974: copy complete,
        !           975: .IP X
        !           976: execute a
        !           977: .I uucp
        !           978: command, and
        !           979: .IP H
        !           980: hangup.
        !           981: .RE
        !           982: .LP
        !           983: The
        !           984: .I MASTER
        !           985: will send
        !           986: .I R ,
        !           987: .I S
        !           988: or
        !           989: .I X
        !           990: messages until all work from the spool directory is
        !           991: complete, at which point an
        !           992: .I H
        !           993: message will be sent.
        !           994: The
        !           995: .I SLAVE
        !           996: will reply with
        !           997: \fISY\fR, \fISN\fR, \fIRY\fR, \fIRN\fR, \fIHY\fR, \fIHN\fR,
        !           998: \fIXY\fR, \fIXN\fR,
        !           999: corresponding to
        !          1000: .I yes
        !          1001: or
        !          1002: .I no
        !          1003: for each request.
        !          1004: .LP
        !          1005: The send and receive replies are
        !          1006: based on permission to access the
        !          1007: requested file/directory using
        !          1008: .I USERFILE
        !          1009: and read/write permissions of the file/directory.
        !          1010: After each file is copied into the spool directory
        !          1011: of the receiving system,
        !          1012: a copy-complete message is sent by the receiver of the file.
        !          1013: The message
        !          1014: .I CY
        !          1015: will be sent if the
        !          1016: file has successfully been moved from the
        !          1017: temporary spool file to the actual destination.
        !          1018: Otherwise, a
        !          1019: .I CN
        !          1020: message is sent.
        !          1021: (In the case of
        !          1022: .I CN ,
        !          1023: the transferred file will be in the \fBTM.\fP spool subdirectory.)
        !          1024: The requests and results are logged on both systems.
        !          1025: .LP
        !          1026: The hangup response is determined by the
        !          1027: .I SLAVE
        !          1028: program by a work scan of its spool directory.
        !          1029: If work for the \fIMASTER\fP\|'s system exists in the
        !          1030: \fISLAVE\fP\|'s
        !          1031: spool directory, an
        !          1032: .I HN
        !          1033: message is sent and the programs switch roles.
        !          1034: If no work exists, an
        !          1035: .I HY
        !          1036: response is sent.
        !          1037: .SH
        !          1038: Conversation Termination
        !          1039: .LP
        !          1040: When a
        !          1041: .I HY
        !          1042: message is received by the
        !          1043: .I MASTER
        !          1044: it is echoed back to the
        !          1045: .I SLAVE
        !          1046: and the protocols are turned off.
        !          1047: Each program sends a final ``OO'' message to the
        !          1048: other.
        !          1049: The original
        !          1050: .I SLAVE
        !          1051: program will clean up and terminate.
        !          1052: The
        !          1053: .I MASTER
        !          1054: will proceed to call other systems
        !          1055: and process work as long as possible
        !          1056: or terminate if a
        !          1057: .B \-s
        !          1058: option was specified.
        !          1059: .LP
        !          1060: .\"===========================================================================
        !          1061: .NH 2
        !          1062: Uuxqt - Uucp Command Execution
        !          1063: .LP
        !          1064: The
        !          1065: .I uuxqt
        !          1066: program is used to execute
        !          1067: .I
        !          1068: execute files
        !          1069: .R
        !          1070: generated by
        !          1071: .I uux.
        !          1072: The
        !          1073: .I uuxqt
        !          1074: program may be started by either the
        !          1075: .I uucico
        !          1076: or
        !          1077: .I uux
        !          1078: programs.
        !          1079: The program scans the \fBX.\fP spool directory for
        !          1080: \fIexecute files\fP.
        !          1081: Each one is checked to see if all the required files are available and
        !          1082: if so, the command line or send line is executed.
        !          1083: .LP
        !          1084: The
        !          1085: .I
        !          1086: execute file
        !          1087: .R
        !          1088: is described in the
        !          1089: .I uux
        !          1090: section above.
        !          1091: .SH
        !          1092: Command Execution
        !          1093: .LP
        !          1094: The execution is accomplished by executing a
        !          1095: .I
        !          1096: sh \-c
        !          1097: .R
        !          1098: of the command line after appropriate
        !          1099: standard input and standard output have been opened.
        !          1100: If a standard output is specified, the program
        !          1101: will create a send command or copy the output
        !          1102: file as appropriate.
        !          1103: .\"===========================================================================
        !          1104: .NH 2
        !          1105: Uuclean - Uucp Spool Directory Cleanup
        !          1106: .LP
        !          1107: This program is typically started by the
        !          1108: \fIcron\fP(8)
        !          1109: daemon, once a day.
        !          1110: Its function is to remove files from the spool directories which
        !          1111: are more than 3 days old.
        !          1112: These are usually files for work which can not be completed.
        !          1113: .LP
        !          1114: .LP
        !          1115: The options available are:
        !          1116: .RS
        !          1117: .IP \-d\fIdir\fR 10
        !          1118: The directory to be scanned is
        !          1119: .I dir .
        !          1120: .IP \-m
        !          1121: Send mail to the owner of each file being removed.
        !          1122: (Note that most files put into the spool directory
        !          1123: will be owned by the owner of the
        !          1124: uucp programs since the setuid bit will be set on these
        !          1125: programs.
        !          1126: The mail will therefore most often go to the owner
        !          1127: of the uucp programs.)
        !          1128: .IP \-n\fIhours\fR
        !          1129: Change the aging time from 72 hours to
        !          1130: .I hours
        !          1131: hours.
        !          1132: .IP \-p\fIpre\fR
        !          1133: Examine files with prefix
        !          1134: .I pre
        !          1135: for deletion.
        !          1136: (Up to 10 file prefixes may be specified.)
        !          1137: .IP \-x\fInum\fR
        !          1138: This is the level of debugging output desired.
        !          1139: .RE
        !          1140: .\"===========================================================================
        !          1141: .\" SECTION 4: CONTROL FILES
        !          1142: .\"===========================================================================
        !          1143: .ne 5
        !          1144: .NH
        !          1145: SYSTEM CONTROL FILES
        !          1146: .PP
        !          1147: Seven \fIControl Files\fP are referenced by the \*(Uu utilities.
        !          1148: All live in the \*(Uu administrative directory, \fB/usr/lib/uucp\fP.
        !          1149: These are ASCII files, and can be modified using standard text editors such
        !          1150: as \fIvi\fP and \fIex\fP.
        !          1151: Lines beginning with a `#' character are comments;
        !          1152: lines ending with a `\e' are continued on the next input line.
        !          1153: .RS
        !          1154: .IP L-devices(5) 15
        !          1155: Declares all devices that are available to \fIuucico\fP for calling out.
        !          1156: .IP L-dialcodes(5)
        !          1157: Phone number prefixes.
        !          1158: Used to map alphabetic prefixes on phone numbers from \fIL.sys\fP to
        !          1159: real phone numbers.
        !          1160: Also useful to keep a phone number database outside of \fIL.sys\fP.
        !          1161: .IP L.sys(5)
        !          1162: Systems.
        !          1163: Declares all ``adjacent'' \*(Uu hosts, with directions on how to reach them.
        !          1164: .IP L.aliases(5)
        !          1165: Contains aliases used to map obsolete or truncated host names to the
        !          1166: correct names.
        !          1167: .IP L.cmds(5)
        !          1168: Commands Permissions.
        !          1169: Declares those commands for which remote \fIuux\fP execution is permitted.
        !          1170: .IP SQFILE
        !          1171: Sequence-number check file. (Optional)
        !          1172: .IP USERFILE(5)
        !          1173: Directory Tree Permissions.
        !          1174: Specifies the set of directory trees that a particular user or host may
        !          1175: reference.
        !          1176: .RE
        !          1177: .LP
        !          1178: A general description of each file follows; see the \fIman\fP pages for
        !          1179: complete information.
        !          1180: Examples of the six standard files are included in the distribution in the
        !          1181: \fB/usr/lib/uucp/UUAIDS\fP directory.
        !          1182: .NH 2
        !          1183: L-devices \- \*(UU Devices File
        !          1184: .LP
        !          1185: This file declares all devices that are available to
        !          1186: \fIuucico\fP
        !          1187: for calling out.
        !          1188: The special device files are assumed to be in the
        !          1189: .I /dev
        !          1190: directory.
        !          1191: The format for each entry is
        !          1192: .IP "" 12
        !          1193: caller  line  call-unit  class  dialer  [chat....]
        !          1194: .LP
        !          1195: where;
        !          1196: .RS
        !          1197: .IP caller 12
        !          1198: is the caller mechanism, that is, the type of device to be used.
        !          1199: This can be one of  \fBACU\fP (for Automatic
        !          1200: Call Units (modem)), \fBDIR\fP (direct hardwired), \fBPAD\fP
        !          1201: (X.25/PAD), and others.
        !          1202: .IP line
        !          1203: is the device for the link.
        !          1204: For example, \fBcul0\fP for a modem, \fBtty10\fP for a hardwired line.
        !          1205: .IP call-unit
        !          1206: is the automatic call unit associated with
        !          1207: \fIdevice\fP.
        !          1208: This is used on autodialers such as the Racal-Vadic MACS and the
        !          1209: DEC DN-11 that use one device for data, and a second device for dialing.
        !          1210: If unused, this field must contain a placeholder such as ``unused'' or ``0''.
        !          1211: Some modems use this field to specify tone or pulse dialing.
        !          1212: .IP class
        !          1213: is the line speed, plus an optional alphabetic prefix.
        !          1214: The prefix can be used to distinguish among different devices that
        !          1215: have identical \fIcaller\fP and line speed.
        !          1216: .IP dialer
        !          1217: applies to \fBACU\fP devices only;
        !          1218: this is the type or brand name of the modem.
        !          1219: Supported modems include \fBDN11\fP (DEC DN-11),
        !          1220: \fBhayes\fP (Hayes Smartmodem),
        !          1221: \fBvadic\fP (Racal-Vadic 3451),
        !          1222: \fBventel\fP (VenTel 212A), and others.
        !          1223: .IP chat
        !          1224: refers to an \fIexpect/send\fP script, similar to that provided in
        !          1225: \fIL.sys\fP.
        !          1226: The difference is that the script in
        !          1227: .I L-devices
        !          1228: is executed before the connection is established, while the script in
        !          1229: .I L.sys
        !          1230: is executed afterwards.
        !          1231: .RE
        !          1232: .LP
        !          1233: The line
        !          1234: .IP "" 12
        !          1235: ACU\ \ tty47\ \ unused\ \ 1200\ \ hayes
        !          1236: .LP
        !          1237: would be set up for a system which
        !          1238: had device tty47 wired to a 
        !          1239: Hayes ``Smartmodem 1200''
        !          1240: for use at 1200 baud.
        !          1241: .NH 2
        !          1242: L-dialcodes \- Phone Number Prefix File
        !          1243: .LP
        !          1244: This file contains entries with location abbreviations used
        !          1245: in the
        !          1246: .I L.sys
        !          1247: file (e.g. py, mh, boston).
        !          1248: The entry format is
        !          1249: .IP "" 12
        !          1250: abb\ \ dial-seq
        !          1251: .LP
        !          1252: where;
        !          1253: .RS
        !          1254: .IP abb 12
        !          1255: is the abbreviation,
        !          1256: .IP dial-seq
        !          1257: is the dial sequence to call that location.
        !          1258: .RE
        !          1259: .LP
        !          1260: The line
        !          1261: .IP "" 12
        !          1262: py\ \ 165\-
        !          1263: .LP
        !          1264: would be set up so that entry py7777 would
        !          1265: send 165\-7777 to the dial-unit.
        !          1266: .NH 2
        !          1267: L.aliases \- Hostname Aliases File
        !          1268: .LP
        !          1269: This file defines mapping (aliasing) of remote host names.
        !          1270: This is intended for compensating for systems that have
        !          1271: changed names, or do not provide their entire machine name
        !          1272: (like most USG systems).
        !          1273: It is also useful when a machine's name is not obvious or commonly misspelled.
        !          1274: .LP
        !          1275: Each line is of the form
        !          1276: .IP
        !          1277: real-name\ \ alias-name
        !          1278: .LP
        !          1279: where
        !          1280: .I real-name
        !          1281: is the full, correct name for the host, and
        !          1282: .I alias-name
        !          1283: is the old or truncated name.
        !          1284: .NH 2
        !          1285: L.sys \- \*(Uu Systems File
        !          1286: .LP
        !          1287: Each entry in this file represents one system
        !          1288: which can be called by the local uucp programs.
        !          1289: The format for each entry is
        !          1290: .IP
        !          1291: system  times  caller  class  device/phone-number  [login]
        !          1292: .LP
        !          1293: where;
        !          1294: .RS
        !          1295: .IP "system" 12
        !          1296: is the hostname of the remote system.
        !          1297: .IP times
        !          1298: is a keyword-encoded string that indicates the days-of-the-week
        !          1299: and times-of-day when the system may
        !          1300: be called.
        !          1301: For example \fBMoTuTh0800\-1730\fP would denote Monday, Tuesday,
        !          1302: and Thursday, between 8 a.m. and 5:30p.m.
        !          1303: .IP
        !          1304: The day portion may be a list containing
        !          1305: any of
        !          1306: \fBSu\fP, \fBMo\fP, \fBTu\fP, \fBWe\fP, \fBTh\fP, \fBFr\fP, \fBSa\fP,
        !          1307: or 
        !          1308: .B Wk
        !          1309: for any week-day or
        !          1310: .B Any
        !          1311: for any day.
        !          1312: .IP
        !          1313: The time should be a range of times (as in \fB0800\-1230\fP).
        !          1314: If no time portion is specified, any time
        !          1315: of day is assumed to be acceptable for the call.
        !          1316: .IP caller
        !          1317: is one of the caller device-types listed in \fIL-devices\fP.
        !          1318: .IP class
        !          1319: is the line speed for the call (e.g., 300, 1200, 9600),
        !          1320: plus an optional alphabetic prefix.
        !          1321: Network devices use this field for the network port number.
        !          1322: .IP phone
        !          1323: is the the phone number to call (for \fBACU\fP devices) or the
        !          1324: device filename. 
        !          1325: A phone number is made up of an optional
        !          1326: alphabetic abbreviation and a numeric part.
        !          1327: The abbreviation is one which appears in the
        !          1328: .I L-dialcodes
        !          1329: file (e.g. mh5900, boston995\-9980).
        !          1330: .IP login
        !          1331: is a script describing how to log in to the remote host.
        !          1332: It is expressed as a series of
        !          1333: fields and subfields in the format
        !          1334: .IP "" 17
        !          1335: expect\ \ send\ 
        !          1336: [
        !          1337: expect\ \ send
        !          1338: ]
        !          1339: \ ...
        !          1340: .IP "" 12
        !          1341: where;
        !          1342: .I expect
        !          1343: is the string expected to be read and
        !          1344: .I send
        !          1345: is the string to be sent when the
        !          1346: .I expect
        !          1347: string is received.
        !          1348: The
        !          1349: .I send
        !          1350: string is normally terminated with carriage-return;
        !          1351: an empty
        !          1352: .I send
        !          1353: string will send only a carriage-return.
        !          1354: .IP
        !          1355: The expect field may be made up of subfields
        !          1356: of the form
        !          1357: .IP "" 17
        !          1358: expect\fB[\fR\-send\-expect\fB]\fR...
        !          1359: .IP "" 12
        !          1360: where the
        !          1361: .I send
        !          1362: is sent if the prior
        !          1363: .I expect
        !          1364: is not successfully read
        !          1365: and the
        !          1366: .I expect
        !          1367: following the
        !          1368: .I send
        !          1369: is the next expected string.
        !          1370: .RE
        !          1371: .LP
        !          1372: A typical entry in the L.sys file would be
        !          1373: .IP "" 6
        !          1374: sys\ Any\ ACU\ 1200\ \ mh7654\ login:--login:\ uucp\ ssword:\ word
        !          1375: .LP
        !          1376: The expect algorithm looks at the last part of the
        !          1377: string as illustrated in the password field.
        !          1378: .NH 2
        !          1379: L.cmds \- Commands Permissions File
        !          1380: .LP
        !          1381: This file contains a list of commands, one per line, that are permitted
        !          1382: for remote execution via \fIuux\fP.
        !          1383: This list should be chosen with great care, since commands that take filenames
        !          1384: as arguments will allow users to easily circumvent \*(Uu's security.
        !          1385: For most sites,
        !          1386: .I L.cmds
        !          1387: should only include the lines:
        !          1388: .DS
        !          1389: rmail
        !          1390: ruusend
        !          1391: .DE
        !          1392: .NH 2
        !          1393: SQFILE \- Sequence Check File (Optional)
        !          1394: .LP
        !          1395: This file contains an entry for each remote
        !          1396: system with which this site agrees to perform conversation
        !          1397: sequence checks.
        !          1398: The initial entry is just the system name of
        !          1399: the remote system.
        !          1400: The first conversation will add two items to the line,
        !          1401: the conversation count, and the date/time of the most
        !          1402: resent conversation.
        !          1403: These items will be updated with each conversation.
        !          1404: If a sequence check fails, which could indicate that an unauthorized
        !          1405: connection has been attempted, the entry will have to
        !          1406: be adjusted.
        !          1407: .LP
        !          1408: This facility is technically no longer supported in 4.3BSD \*(Uu,
        !          1409: since it was hardly ever used and consumed precious memory space on PDP-11
        !          1410: systems.
        !          1411: The compile-time #define GNXSEQ can be set to enable sequence checking
        !          1412: should it be needed.
        !          1413: .NH 2
        !          1414: USERFILE \- Pathnames Permissions File
        !          1415: .LP
        !          1416: This file contains user accessibility information.
        !          1417: It specifies four types of constraint;
        !          1418: .RS
        !          1419: .IP [1]
        !          1420: which files can be accessed by a normal user of the local machine,
        !          1421: .IP [2]
        !          1422: which files can be accessed from a remote computer,
        !          1423: .IP [3]
        !          1424: which login name is used by a particular remote computer,
        !          1425: .IP [4]
        !          1426: whether a remote computer should be called back in order to confirm
        !          1427: its identity.
        !          1428: .RE
        !          1429: .LP
        !          1430: Each line in the file has the following format
        !          1431: .IP "" 6
        !          1432: login,sys\ \ 
        !          1433: .B [
        !          1434: c
        !          1435: .B ]
        !          1436: \ \ path-name\ \ 
        !          1437: .B [
        !          1438: path-name
        !          1439: .B ]
        !          1440: \ ...
        !          1441: .LP
        !          1442: where;
        !          1443: .RS
        !          1444: .IP login 12
        !          1445: is the login name for a user or the remote computer,
        !          1446: .IP  sys
        !          1447: is the system name for a remote computer,
        !          1448: .IP c
        !          1449: is the optional
        !          1450: .I
        !          1451: call-back required
        !          1452: .R
        !          1453: flag,
        !          1454: .IP path-name
        !          1455: is a path-name prefix that is acceptable for
        !          1456: .I user.
        !          1457: .LP
        !          1458: .RE
        !          1459: .LP
        !          1460: The constraints are implemented as follows.
        !          1461: .RS
        !          1462: .IP [1]
        !          1463: When the program is obeying a command stored on the local machine,
        !          1464: .I MASTER
        !          1465: mode,
        !          1466: the path-names allowed are those given for the first line in the
        !          1467: .I USERFILE
        !          1468: that has a login name that matches the login name of the user
        !          1469: who entered the command.
        !          1470: If no such line is found, the first line with a
        !          1471: .I null
        !          1472: login name is used.
        !          1473: .IP [2]
        !          1474: When the program is responding to a command from a remote machine,
        !          1475: .I SLAVE
        !          1476: mode, the path-names allowed are those given for the first line
        !          1477: in the file that has the system name that matches the system name
        !          1478: of the remote machine.
        !          1479: If no such line is found, the first one with a
        !          1480: .I null
        !          1481: system name is used.
        !          1482: .IP [3]
        !          1483: When a remote computer logs in, the login name that
        !          1484: it uses must appear in the
        !          1485: .I USERFILE .
        !          1486: There may be several lines with the same login name but one of them must
        !          1487: either have the name of the remote system or must contain a
        !          1488: .I null
        !          1489: system name.
        !          1490: .B Note:
        !          1491: This constraint, although stated in the original Nowitz \*(Uu document,
        !          1492: was not implemented in Version 7 \*(Uu.
        !          1493: For all practical purposes,
        !          1494: a remote computer's login was not validated by \*(Uu.
        !          1495: This is still the case in 4.3BSD.
        !          1496: Remote login checking \fIis\fP implemented in AT&T's System VR2.2 release,
        !          1497: and in the \*(Uu provided with Digital Equipment Corporation's ULTRIX.
        !          1498: HoneyDanBer analogously requires all remote logins to be listed in
        !          1499: its \fIPermissions\fP file.
        !          1500: .IP [4]
        !          1501: If the line matched in ([3]) contains a ``c'',
        !          1502: the remote machine is called back before any transactions take place.
        !          1503: .RE
        !          1504: .LP
        !          1505: The line
        !          1506: .IP "" 12
        !          1507: u,m  /usr/xyz
        !          1508: .LP
        !          1509: allows machine
        !          1510: .I m
        !          1511: to login with name
        !          1512: .I u
        !          1513: and request the transfer of files whose names start with
        !          1514: ``/usr/xyz''.
        !          1515: .LP
        !          1516: The line
        !          1517: .IP "" 12
        !          1518: dan,  /usr/dan
        !          1519: .LP
        !          1520: allows the ordinary user
        !          1521: .I dan
        !          1522: to issue commands for files whose name starts with
        !          1523: ``/usr/dan''.
        !          1524: .LP
        !          1525: The lines
        !          1526: .IP "" 12
        !          1527: u,m /usr/xyz  /usr/spool
        !          1528: .br
        !          1529: u,  /usr/spool
        !          1530: .LP
        !          1531: allows any remote machine to login with name
        !          1532: .I u ,
        !          1533: but if its system name is not
        !          1534: .I m ,
        !          1535: it can only ask to transfer files whose names start with
        !          1536: ``/usr/spool''.
        !          1537: .LP
        !          1538: The lines
        !          1539: .IP "" 12
        !          1540: root,  /
        !          1541: .br
        !          1542: ,   /usr
        !          1543: .LP
        !          1544: allows any user to transfer files beginning with ``/usr''
        !          1545: but the user with login
        !          1546: .I root
        !          1547: can transfer any file.
        !          1548: .PP
        !          1549: .RE
        !          1550: .\"===========================================================================
        !          1551: .\" SECTION 5: SPOOL FILES
        !          1552: .\"===========================================================================
        !          1553: .ne 5
        !          1554: .NH
        !          1555: SPOOL FILES
        !          1556: .PP
        !          1557: Spool Files contain \*(Uu transfer requests and data.
        !          1558: Most have been described in detail earlier in this document.
        !          1559: .LP
        !          1560: All spool files live in the
        !          1561: .B /usr/spool/uucp
        !          1562: directory tree.
        !          1563: To keep the spool directory from becoming hopelessly cluttered,
        !          1564: each type of spool file is kept in its own subdirectory.
        !          1565: The name of the directory is the same as the common prefix of the
        !          1566: filename.
        !          1567: For example, \fIwork files\fP (files beginning with \fBC.\fP) are kept
        !          1568: in the \fBC.\fP directory; \fIexecute files\fP (which begin with \fBX.\fP)
        !          1569: are kept in the \fBX.\fP directory, and so on.
        !          1570: .LP
        !          1571: A total of ten spool subdirectories are used, one of which is optional:
        !          1572: .RS
        !          1573: .IP C. 15
        !          1574: \fIWork\fP files.
        !          1575: .IP CORRUPT
        !          1576: Corrupted \fIwork\fP and \fIexecute\fP files.
        !          1577: \fIUucico\fP and \fIuuxqt\fP will deposit \fBC.\fP and \fBX.\fP files here
        !          1578: when they are unable to parse them.
        !          1579: A notice will also be placed in the \*(Uu log.
        !          1580: .IP D.
        !          1581: \fIData files\fP received from remote hosts.
        !          1582: .IP D.\fIhostname\fP
        !          1583: \fIData files\fP to be sent to remote hosts.
        !          1584: .IP D.\fIhostname\fPX
        !          1585: \fIExecution files\fP to be sent to remote hosts.
        !          1586: .IP LCK
        !          1587: Per-device and per-site lock (\fBLCK.\fP) files. (Optional)
        !          1588: .IP STST
        !          1589: Per-site system status files.
        !          1590: .IP TM.
        !          1591: Temporary files used in data transfer.
        !          1592: When the transfer is complete, the file is typically
        !          1593: \fImv\fP'ed to the \fBD.\fP or \fBX.\fP directory.
        !          1594: .IP X.
        !          1595: \fIExecution files\fP received from remote sites. 
        !          1596: .IP XTMP
        !          1597: Temporary files and home directory for \fIuuxqt\fP.
        !          1598: .RE
        !          1599: .LP
        !          1600: The following sections describe only those spool files that were not
        !          1601: discussed earlier.
        !          1602: .NH 2
        !          1603: LCK \- lock files
        !          1604: .LP
        !          1605: Lock files are created for each device in use (except for TCP/IP sockets)
        !          1606: and each system conversing.
        !          1607: This prevents duplicate conversations and multiple attempts to use the
        !          1608: same devices.
        !          1609: The form of the lock file name is
        !          1610: .IP "" 12
        !          1611: \fBLCK..\fRstr
        !          1612: .LP
        !          1613: where
        !          1614: .I str
        !          1615: is either a device or system name.
        !          1616: The files may be left in the spool directory if
        !          1617: .I uucico
        !          1618: aborts.
        !          1619: They will be ignored (reused) after 90 minutes.
        !          1620: When runs abort and calls are desired before the time limit expires,
        !          1621: the lock files should be removed.
        !          1622: If the \fBLCK.\fP subdirectory is used, it's access mode can be set to 777,
        !          1623: thus allowing normal users to remove dead lock files when necessary.
        !          1624: .NH 2
        !          1625: STST \- system status files
        !          1626: .LP
        !          1627: These files are created in the \fBSTST\fP subdirectory by
        !          1628: \fIuucico\fP.
        !          1629: They contain information of failures such as login, dialup, or
        !          1630: sequence check, and will contain a
        !          1631: \fITALKING\fP, \fIRECEIVING\fP, or \fPSENDING\fP
        !          1632: status when two machines are conversing.
        !          1633: The file name is
        !          1634: \fBSTST/\fP\fIsystem\fP,
        !          1635: where \fIsystem\fP is the host name of the remote machine.
        !          1636: .LP
        !          1637: For ordinary failures (dialup, login), the file indicates the time
        !          1638: of the last failure;
        !          1639: this allows \fIuucico\fP to avoid retrying the failed call too soon.
        !          1640: For sequence check failures, the file must be removed before
        !          1641: any future attempts to converse with that remote system.
        !          1642: .LP
        !          1643: If the file is left due to an aborted run, it may contain a
        !          1644: .I TALKING
        !          1645: status.
        !          1646: In this case, the file must be removed before a conversation
        !          1647: is attempted.
        !          1648: The easiest way to do this is to use the \fIuupoll\fP command to
        !          1649: force \fIuucico\fP to start up.
        !          1650: .NH 2
        !          1651: TM \- temporary data files
        !          1652: .LP
        !          1653: These files are created in the
        !          1654: .B /usr/spool/uucp/TM.
        !          1655: directory while files are being copied
        !          1656: from a remote machine.
        !          1657: Their names have the form
        !          1658: .IP "" 12
        !          1659: \fBTM\fR.pid.ddd
        !          1660: .LP
        !          1661: where
        !          1662: .I pid
        !          1663: is a process-id and
        !          1664: .I ddd
        !          1665: is a sequential three digit number starting at zero
        !          1666: for each invocation of
        !          1667: .I uucico
        !          1668: and incremented for each file received.
        !          1669: After the entire remote file is received, the
        !          1670: .B TM
        !          1671: file is moved to the requested destination,
        !          1672: often the \fBX.\fP or \fBD.\fP directory.
        !          1673: If processing is abnormally terminated or the
        !          1674: move fails, the file will remain in the
        !          1675: \fBTM.\fP directory.
        !          1676: .LP
        !          1677: The stranded files should be periodically removed;
        !          1678: the
        !          1679: .I uuclean
        !          1680: program is useful in this regard.
        !          1681: The command
        !          1682: .IP "" 12
        !          1683: uuclean\ \ -d/usr/spool/uucp/TM.\ \ \-pTM.
        !          1684: .LP
        !          1685: will remove all
        !          1686: .B TM
        !          1687: files older than three days.
        !          1688: .\"===========================================================================
        !          1689: .\" SECTION 6: LOG FILES
        !          1690: .\"===========================================================================
        !          1691: .ne 5
        !          1692: .NH
        !          1693: LOG FILES
        !          1694: .LP
        !          1695: The following files provide a history of \*(Uu activities.
        !          1696: All live in the spool directory, \fB/usr/spool/uucp\fP.
        !          1697: They grow forever, and must be periodically trimmed or deleted;
        !          1698: this is usually done weekly (or daily) via \fIcron\fP.
        !          1699: .RS
        !          1700: .IP AUDIT 12
        !          1701: This is a directory of audit trail files, one file per site.
        !          1702: .I Uucico
        !          1703: uses an audit file for debugging output
        !          1704: whenever it is run with debug enabled (via the \fB-x\fP option or a
        !          1705: \fBSIGFPE\fP signal), but the standard message output file \fBstderr\fP is
        !          1706: not available.
        !          1707: .IP ERRLOG
        !          1708: This is an oft-forgotten log of \*(Uu ``Assert'' errors.
        !          1709: An Assert error is a catastrophic and unrecoverable failure of the \*(Uu
        !          1710: system.
        !          1711: These include spool directories or control files that cannot be opened, 
        !          1712: an unexpected error return from a system call, or an ``impossible case''
        !          1713: in a utility's control flow.
        !          1714: .IP
        !          1715: Utilities that abort with an Assert error return a status code of -1.
        !          1716: If a user reports \fIuucp\fP or \fIuux\fP dying with a message like
        !          1717: ``uux failed, status -1,'' then the ERRLOG file should be checked.
        !          1718: .IP LOGFILE
        !          1719: This is the primary \*(Uu log. All \*(Uu activity is recorded here,
        !          1720: including queue requests from \fIuucp\fP and \fIuux\fP, attempted
        !          1721: connections, file transfers, and communications failures.
        !          1722: .IP SYSLOG
        !          1723: This is a log of file transfer statistics: number of bytes, time required,
        !          1724: and number of packet retries.
        !          1725: The effective data rate can be calculated simply by dividing the number of
        !          1726: bytes by the time;
        !          1727: low data rates or a large number of retries implies that the communication
        !          1728: link may marginal.
        !          1729: .RE
        !          1730: .LP
        !          1731: Optionally, one \fILOGFILE\fP per site may be maintained in the \fBLOG\fP
        !          1732: subdirectory.
        !          1733: This option can be selected at \*(Uu compile time via the LOGBYSITE #define
        !          1734: in \fBuucp.h\fP.
        !          1735: .\"===========================================================================
        !          1736: .\" SECTION 7: ADMINSTRATION AND SYSTEM SECURITY
        !          1737: .\"===========================================================================
        !          1738: .ne 5
        !          1739: .NH
        !          1740: ADMINISTRATION AND SYSTEM SECURITY
        !          1741: .NH 2
        !          1742: .UX 
        !          1743: System Files
        !          1744: .SH
        !          1745: /etc/passwd
        !          1746: .LP
        !          1747: \*(Uu requires a login in \fB/etc/passwd\fP;
        !          1748: at its simplest the entry would be
        !          1749: .DS
        !          1750: uucp::66:1:UNIX-to-UNIX Copy:/usr/spool/uucppublic:/usr/lib/uucp/uucico
        !          1751: .DE
        !          1752: .LP
        !          1753: This user should own all the \*(Uu files and utilities.
        !          1754: Remote sites wishing to call in for \*(Uu transfers would login to
        !          1755: \fBuucp\fP (with the correct password, if any), and get
        !          1756: .I uucico
        !          1757: as their ``shell.''
        !          1758: Since \fIuucico\fP would be called without any options, it would run in
        !          1759: .I SLAVE
        !          1760: mode, thus responding correctly to the remote system, which
        !          1761: would be in
        !          1762: .I MASTER
        !          1763: mode.
        !          1764: .LP
        !          1765: The directory
        !          1766: .B /usr/spool/uucppublic
        !          1767: should be created with 777 access modes, owned by \fBuucp\fP.
        !          1768: In addition to serving as the home directory for \*(Uu remote logins,
        !          1769: .B uucppublic
        !          1770: provides a ``public-access'' directory where any user can read, write,
        !          1771: or transfer files.
        !          1772: .LP
        !          1773: There are a number of security problems with using a single login, not
        !          1774: the least of which is that superuser permission would be necessary to
        !          1775: edit the \fIcontrol\fP files.
        !          1776: A better arrangement would be:
        !          1777: .DS
        !          1778: uucp::66:1:UUCP Administrator:/usr/lib/uucp:
        !          1779: nuucp::67:1:UNIX-to-UNIX Copy:/usr/spool/uucppublic:/usr/lib/uucp/uucico
        !          1780: .DE
        !          1781: This provides one login for the \*(Uu administrator (which must be kept
        !          1782: secure!) and a second for remote machines to use for login.
        !          1783: A still more elaborate setup would use a separate login for each remote
        !          1784: site, and possibly provide the administrator with a choice of shells:
        !          1785: .DS
        !          1786: uucp::66:1:UUCP Administrator:/usr/lib/uucp:
        !          1787: UUCP::66:1:UUCP Administrator:/usr/lib/uucp:/bin/csh
        !          1788: Uhosta::6001:1:UNIX-to-UNIX Copy:/usr/spool/uucppublic:/usr/lib/uucp/uucico
        !          1789: Uhostb::6002:1:UNIX-to-UNIX Copy:/usr/spool/uucppublic:/usr/lib/uucp/uucico
        !          1790: Uhostc::6003:1:UNIX-to-UNIX Copy:/usr/spool/uucppublic:/usr/lib/uucp/uucico
        !          1791: .DE
        !          1792: .LP
        !          1793: It is assumed that the login name
        !          1794: used by a remote computer to dial in
        !          1795: is not the same as the login name of a normal user
        !          1796: of the machine.
        !          1797: However, several remote computers may employ the same
        !          1798: login name.
        !          1799: .LP
        !          1800: Note that
        !          1801: .B uucppublic
        !          1802: is
        !          1803: .I not
        !          1804: used as the home directory for
        !          1805: .B uucp
        !          1806: when it logs into a regular shell.
        !          1807: This would be an extreme security hazard, since anyone could slip a
        !          1808: ``Trojan horse'' into a
        !          1809: .B .profile
        !          1810: or
        !          1811: .B .cshrc
        !          1812: file, which would be automatically executed when the \*(Uu administrator
        !          1813: logged in.
        !          1814: .SH
        !          1815: /etc/rc
        !          1816: .LP
        !          1817: The system startup file, \fB/etc/rc\fP, should clean up any stray lock
        !          1818: files with the line
        !          1819: .IP
        !          1820: rm -f /usr/spool/uucp/LCK.*
        !          1821: .LP
        !          1822: or, if the LCK subdirectory is being used,
        !          1823: .IP
        !          1824: rm -f /usr/spool/uucp/LCK/LCK.*
        !          1825: .SH
        !          1826: /etc/services
        !          1827: .LP
        !          1828: If \*(Uu is to be used over TCP/IP links, then an entry for \*(Uu's port
        !          1829: number should be added to \fB/etc/services\fP:
        !          1830: .IP
        !          1831: uucp\ \ 540/tcp\ \ uucpd\ \ # UUCP TCP/IP
        !          1832: .\"===========================================================================
        !          1833: .NH 2
        !          1834: Shell Scripts For Periodic Cleanup
        !          1835: .LP
        !          1836: The \*(Uu system has a fairly large number of activities that must
        !          1837: occur periodically.
        !          1838: These include starting \fIuucico\fP to process queued requests,
        !          1839: running \fIuuclean\fP to remove old spool files, and
        !          1840: shuffling the boundlessly-growing log files.
        !          1841: Some sites will also want to poll other sites periodically.
        !          1842: .LP
        !          1843: While it's possible to put all the necessary commands into \fIcron\fP's
        !          1844: control file \fB/usr/lib/crontab\fP, this would be extremely awkward.
        !          1845: The usual technique is to use three separate shells scripts, one each
        !          1846: for hourly, daily, and weekly operations.
        !          1847: Examples are provided in the
        !          1848: .B UUAIDS
        !          1849: directory; the following sections provide some specific recommendations.
        !          1850: .SH
        !          1851: Hourly
        !          1852: .LP
        !          1853: Activities that should occur hourly include:
        !          1854: .RS
        !          1855: .IP - 2
        !          1856: Polling of selected sites.
        !          1857: Sites that have no dial-out capability will need to be periodically polled.
        !          1858: The \fIuupoll\fP command works well for this.
        !          1859: .IP -
        !          1860: Start \fIuucico\fP to complete all unfinished work.
        !          1861: This can be as simple as:
        !          1862: .IP "" 7
        !          1863: uucico -r1 &
        !          1864: .RE
        !          1865: .SH
        !          1866: Daily
        !          1867: .LP
        !          1868: The daily script should be started by \fIcron\fP in the wee hours, around
        !          1869: 4 a.m.
        !          1870: Activities that should occur daily include:
        !          1871: .RS
        !          1872: .IP - 2
        !          1873: Call
        !          1874: .I uuclean
        !          1875: to remove old spool files.
        !          1876: The preferred technique is something like the following:
        !          1877: .DS
        !          1878: cd /usr/lib/uucp
        !          1879: deadtime=`expr 24 \* 7`
        !          1880: uuclean -d/usr/spool/uucp/AUDIT -n72
        !          1881: uuclean -d/usr/spool/uucp/LCK -pLCK. -pLTMP. -n24
        !          1882: uuclean -d/usr/spool/uucp/STST -n72
        !          1883: uuclean -d/usr/spool/uucp/TM. -pTM. -n72
        !          1884: uuclean -d/usr/spool/uucp/XTMP -n72
        !          1885: uuclean -d/usr/spool/uucp/X. -pX. -n$deadtime
        !          1886: uuclean -d/usr/spool/uucp/C. -pC. -n$deadtime
        !          1887: uuclean -d/usr/spool/uucp/D. -pD. -n$deadtime
        !          1888: uuclean -d/usr/spool/uucp/D.`uuname -l` -pD. -n$deadtime
        !          1889: uuclean -d/usr/spool/uucp/D.`uuname -l`X -pD. -n$deadtime
        !          1890: .DE
        !          1891: .IP
        !          1892: In this example,
        !          1893: Audit files, Lock files, System Status files, temp files, and \fIuuxqt\fP
        !          1894: output files are cleaned up every 72 hours (3 days).
        !          1895: (\fBLTMP.\fP files are temporary files created by the lock mechanism;
        !          1896: they are rarely around for more than a few seconds.
        !          1897: Note, the above assumes that the
        !          1898: .B LCK
        !          1899: subdirectory is being used.)
        !          1900: All normal data files are cleaned up every 24 * 7 hours, or every 7 days.
        !          1901: .IP -
        !          1902: Shuffle the log files.
        !          1903: At the very least, LOGFILE should be moved to LOGFILE.old, and SYSLOG moved
        !          1904: to SYSLOG.old.
        !          1905: Busy sites may want to use \fIcompress\fP(1) to squeeze down the old files.
        !          1906: .IP -
        !          1907: Use \fIfind\fP(1) to clean up the
        !          1908: .B /usr/spool/uucppublic
        !          1909: directory.
        !          1910: If left unattended, garbage will gradually accumulate there until it fills
        !          1911: the file system.
        !          1912: .RE
        !          1913: .SH
        !          1914: Weekly
        !          1915: .LP
        !          1916: Small sites with very little traffic may chose to shuffle the log files once
        !          1917: per week, instead of once per day.
        !          1918: The weekly script should, like the daily script, be run early in the morning.
        !          1919: .\"===========================================================================
        !          1920: .NH 2
        !          1921: Connecting new systems
        !          1922: .LP
        !          1923: When first connecting a new machine to a \*(Uu network,
        !          1924: it is useful to try and establish a connection with
        !          1925: \fItip\fR or \fIcu\fR first.
        !          1926: The \*(Uu administrator will quickly become aware of any special facilities
        !          1927: that are going to be required,
        !          1928: for example:
        !          1929: What lines and modems are to be used?
        !          1930: Is the connection through different hardware and carriers?
        !          1931: Does the remote system care about parity?
        !          1932: What speed lines are being used and do they cycle through several speeds?
        !          1933: Is there a line switch front end that will require special login dialogue in
        !          1934: \fBL.sys\fP?
        !          1935: .LP
        !          1936: Once a successful login is achieved ``by hand,'' the administrator should
        !          1937: have enough information to allow the correct setup of the \fIcontrol\fR files
        !          1938: in
        !          1939: .B/usr/lib/uucp.
        !          1940: .LP
        !          1941: The \*(Uu administrator should then
        !          1942: negotiate with the remote site's \*(Uu administrator
        !          1943: as to who (if anyone) will do polling and when.
        !          1944: Both administrators must set up the relevant accounts and passwords.
        !          1945: The local administrator should
        !          1946: decide on what permissions and security precautions are to be observed.
        !          1947: Testing time and facilities will need to be arranged
        !          1948: to complete initial connection testing between the systems.
        !          1949: .\"============================================================================
        !          1950: .NH 2
        !          1951: Miscellaneous Security Issues
        !          1952: .LP
        !          1953: The \*(Uu system, left unrestricted,
        !          1954: will let any outside user execute any commands
        !          1955: and copy any files that are accessible
        !          1956: to the
        !          1957: .B uucp
        !          1958: login user.
        !          1959: It is up to the individual sites to be aware of this and
        !          1960: apply the protections that they feel are necessary.
        !          1961: .PP
        !          1962: There are several security features available aside from the
        !          1963: normal file mode protections.
        !          1964: These must be set up by the installer of the
        !          1965: \*(Uu
        !          1966: system.
        !          1967: .IP - 3
        !          1968: The login for uucp does not get a standard shell.
        !          1969: Instead, 
        !          1970: .I uucico
        !          1971: is started.
        !          1972: Therefore, the only work that can be done is through
        !          1973: .I uucico .
        !          1974: .IP -
        !          1975: A path check is done on file names that are to be sent
        !          1976: or received.
        !          1977: .I USERFILE
        !          1978: supplies the information for these checks.
        !          1979: .I USERFILE
        !          1980: can also be set up to require call-back
        !          1981: for certain login-ids.
        !          1982: (See the description of 
        !          1983: .I USERFILE
        !          1984: above.)
        !          1985: .IP -
        !          1986: A conversation sequence count can be set up so
        !          1987: that the called system
        !          1988: can be more confident that the caller
        !          1989: is who he says he is.
        !          1990: .IP -
        !          1991: .I Uuxqt
        !          1992: is restricted via the
        !          1993: .I L.cmds
        !          1994: file to a small list of commands that it
        !          1995: will execute.
        !          1996: A ``PATH'' shell statement is prepended to the command
        !          1997: line as specified in the
        !          1998: .I L.cmds
        !          1999: file.
        !          2000: The administrator may modify the list or remove the
        !          2001: restrictions as desired.
        !          2002: .IP -
        !          2003: All the \*( utilities except \fIuudecode\fP, \fIuuencode\fP,
        !          2004: and \fIuusend\fP should be owned by the
        !          2005: .B uucp
        !          2006: login with the ``setuid'' bit set and only execute
        !          2007: permissions (e.g. mode 04111).
        !          2008: This will prevent outsiders from modifying the programs
        !          2009: to get at a standard shell with a
        !          2010: .B uucp
        !          2011: login.
        !          2012: Optionally, the utilities may belong to group \fBdaemon\fP and be given
        !          2013: ``setgid'' permissions (mode 06111).
        !          2014: \fIUuxqt\fP should only permit other \*(Uu programs to execute it;
        !          2015: its mode should be 04100 or 06110.
        !          2016: .IP -
        !          2017: The \fIcontrol\fP files \fIL.sys\fP, \fIUSERFILE\fP, and \fISQFILE\fP
        !          2018: contain highly sensitive information.
        !          2019: They should be owned by the
        !          2020: .B uucp
        !          2021: login, with read and write permission granted only to the owner (mode 0600).
        !          2022: .\"===========================================================================
        !          2023: .\" SECTION 7: UUCP SOURCE INSTALLATION
        !          2024: .\"===========================================================================
        !          2025: .ne 5
        !          2026: .NH
        !          2027: INSTALLING THE \*(UU SYSTEM
        !          2028: .PP
        !          2029: The source for the \*(UU system resides in the
        !          2030: .B /usr/src/usr.bin/uucp
        !          2031: directory.
        !          2032: The README file includes complete instructions on how to rebuild the
        !          2033: \*(Uu system from source.
        !          2034: .LP
        !          2035: For most environments, only two files will need to be modified:
        !          2036: .B uucp.h
        !          2037: includes a large number of tunable system-dependent parameters,
        !          2038: including operating system type, devices to be supported,
        !          2039: and a variety of optional features.
        !          2040: The
        !          2041: .B Makefile
        !          2042: may also have to be modified,
        !          2043: particularly if you chose to keep certain files in different
        !          2044: directories from usual.
        !          2045: .\"===========================================================================
        !          2046: .\" SECTION 8: ACKNOWLEDGMENTS
        !          2047: .\"===========================================================================
        !          2048: .ne 5
        !          2049: .NH
        !          2050: ACKNOWLEDGEMENTS
        !          2051: .PP
        !          2052: 4.3BSD UUCP was a group development effort, involving the contributed work
        !          2053: of over one hundred members of the USENET community.
        !          2054: We're extremely grateful to them all.
        !          2055: .LP
        !          2056: Special thanks go to the following individuals, whose contributions were
        !          2057: especially valuable:
        !          2058: .RS
        !          2059: .IP - 2
        !          2060: Rick Adams (Center for Seismic Studies) coordinated the 4.3BSD UUCP release,
        !          2061: incorporating (and often correcting) hundreds of bug fixes that
        !          2062: were posted on the USENET and mailed to him directly.
        !          2063: Rick also managed to find time to add many enhancements
        !          2064: and corrections of his own.
        !          2065: .IP -
        !          2066: Tom Truscott (Research Triangle Institute) and Bob Gray (then with
        !          2067: PAR Tech Corp, now at Univ of Colorado)
        !          2068: coordinated the 4.2BSD UUCP release, which was also a group effort.
        !          2069: Tom has continued to provide enhancements and fixes in 4.3BSD.
        !          2070: .IP -
        !          2071: Guy Harris (then with Computer Consoles, Inc., now with Sun Microsystems)
        !          2072: contributed many general bug fixes;
        !          2073: in particular, he was the first to isolate the infamous 4.2BSD ``TIMEOUT'' bug.
        !          2074: .IP -
        !          2075: Lou Salkind (New York University) wrote the \fIuuq\fP utility.
        !          2076: .IP -
        !          2077: James Bloom (U.C. Berkeley) isolated a major
        !          2078: day-one bug in the \fBg\fP-protocol driver
        !          2079: that had eluded many people's attempts to squash it.
        !          2080: .IP -
        !          2081: Piet Beertema (Centrum voor Wiskunde en Informatica, Amsterdam) wrote the
        !          2082: \fBf\fP-protocol to support ``mostly error-free links'';
        !          2083: Robert Elz (University of Melbourne) modified the protocol
        !          2084: specifically for X.25/PAD.
        !          2085: .IP -
        !          2086: Peter Honeyman (Princeton) assisted Rick by providing information on the
        !          2087: facilities provided in HoneyDanBer UUCP;
        !          2088: Rick then added many HDB-compatibility features and HDB-like
        !          2089: extensions to 4.3BSD UUCP.
        !          2090: .IP -
        !          2091: Ross Green (U.C. Berkeley) produced the first revision of this chapter,
        !          2092: updating the aging Nowitz document to more closely reflect reality.
        !          2093: .RE
        !          2094: .LP
        !          2095: Thanks again to everyone who contributed.
        !          2096: Berkeley UUCP continues to be a product of its own users,
        !          2097: and would not exist as it does today without them.

unix.superglobalmegacorp.com

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