COHERENT manpages
This page displays the COHERENT manpage for sys [Data base for UUCP connections].
List of available manpages
Index
sys -- System Administration Data base for UUCP connections /usr/lib/uucp/sys The file /usr/lib/uucp/sys describes how to communicate with a remote system. The UUCP daemon uucico uses the information in this file to telephone a remote system, log into a remote system, and control what it allows a remote system to do on your system. Command cu also reads file sys for information on how it can call a remote system. However, the following descriptions concentrate on how sys is used by uucico. Structure of the sys File sys has the following structure: command argument ... alternate command argument ... alternate command argument ... system remotesystem command argument ... alternate command argument ... system remotesystem command argument ... alternate command argument ... Blank lines in the file are ignored. The body of the file consists of a series of commands. Each command defines one or more values; each value, in turn, determines one aspect of how your system interacts with a remote system. A backslash at the end of a line lets an entry extend over more than one one line. The commands from the top of sys to the first system command set global values -- that is, the values used by default when dealing with every remote system. Note that uucico recognizes a number of global values that are not explicitly written in sys. The command system names a remote system. The commands from one system command to the next (or the end of the file, whichever comes first) define the values that uucico uses when it communicates with that system. These system-specific values can override any of the global values. The command alternate introduces a block of alternate values. The commands from one alternate command to the next alternate command (or to the next system command or to the end of the file, whichever comes first) set a block of alternate values. uucico uses a block of alternate values when the default values (and all preceding blocks of alternate values) fail for any reason. By defining blocks of alternate values, you can define multiple ways to interact with a remote system. Order of Command Execution As you can see the above display, both the global section and each system- specific section can contain blocks of alternate commands. The order in which uucico reads blocks of commands is important: each block can contain its own version of a given command, and uucico uses the value set by the command that it has read last. The following describes the order in which uucico reads commands when it attempts to call site remotesite: 1. uucico reads its default global values (which are described below). It then reads the global-values section of sys, up to the first alternate command. 2. uucico reads the section remotesite, from its system command to the first alternate command. 3. uucico calls remotesite. 4. If the call to remotesite succeeds, then all is well. If it fails, however, then uucico reads the first block of alternate commands in the global section, then the first block of alternate commands in the section for remotesite. Note that a block of alternate values can simply reproduce values set previously. This in effect forces uucico to try the same values once again. 5. uucico again calls remotesite. 6. If the call succeeds, then all is well. If it fails, uucico reads the second block of alternate values (should there be one) in the global- defaults section, then the second block of alternate values (again, should there be one) in the section for remotesystem. uucico makes its third attempt to call remotesite. This process continues either until uucico succeeds in getting through to remotesite, or until it runs out of blocks of alternate values in both the global section and in the site-specific section. As you can see, it can be difficult at times to tell just what values uucico is using at any given time. The command uuchk can help you untangle this skein of values. See its Lexicon entry for details. Structural Commands The following commands help control the manner in which uucico reads commands from sys: system remotesystem Name the remote system. All commands up to the next system command refer to the system remotesystem. alternate [name] Introduce an alternate set of commands. The optional name lets you name this block of alternate commands; if uucico uses this block of alternate commands, it records name in the log file for remotesystem. default-alternates true|false If its argument is false, do not use any blocks of alternate values from the global section. The default is true. Chat Commands The command chat defines a chat script. A chat script summarizes the conversation that your system has with the remote system as it attempts to log into that system. chat has the following structure: chat expect respond expect respond ... expect respond As you can see, a chat script consists of pairs of strings. Each pair contains an expect string, which gives what you expect the remote system to say to your system; and a respond string, which gives what your system sends in reply. When uucico runs out of expect/respond pairs, it assumes that it has succeeded in logging into remotesystem. If you want to send something to the remote system without waiting an expect string, then the expect string in a expect/respond pair should be simply a pair of quotation marks with nothing between. Each string in the chat script is demarcated by white space. Therefore, you must use the escape sequence `\s' to indicate white space within a string. You can embed other escape sequences within the respond string; these are given below. An expect string can contain several sub-strings separated by hyphens. The sub-strings themselves comprise pairs of expect/respond strings. If your system does not receive the first expect sub-string, it can send the first respond string (to prod the remote system), then await the second expect string; and so on, until your system either runs out of sub-strings or it receives an expect sub-string that it recognizes. You can, of course, repeat the same expect/respond pair more than once. Because sub-strings are separated by hyphens, you cannot use a literal hyphen in a string; you should indicate a literal hyphen by the escape sequence `\055' (ASCII for the hyphen character). You can embed the following escape sequences in a respond string: \\ Literal backslash character \DDD Character with octal value DDD \b Backspace \c Suppress carriage return at end of send string \d Delay sending for one or two seconds \E Enable echo checking \e Disable echo checking \K Same as BREAK \L Your system's login name \N NUL \n Newline or line feed \P The password on the system being contacted \p Pause sending for a fraction of a second \r Carriage return \s Space \t Tab \xDDD Character with hexadecimal value DDD \Z Send name of the system being called EOT End-of-transmission character (<ctrl-D>) BREAK Break character As in C, up to three octal digits may follow a backslash The escape sequence \x can be followed by an indefinite number of hexadecimal digits. To follow a hexadecimal escape sequence with a hexadecimal digit, interpose a send string of `""'. uucico sends a carriage return at the end of each send string, unless the escape sequence \c appears in the string. ``Echo checking'' means that after uucico writes each character, it waits for the remote system to echo it. You must turn on echo checking separately for each send string for which you want it. The following gives an example chat script; the numbers simply mark the elements of the chat script for the discussion that follows, and are not part of the chat script: 1 2 3 4 5 6 chat "" \r\c ogin:-BREAK-ogin:-BREAK-ogin: nuucp word: public This script does the following: 1. Expect nothing from the modem (as indicated by the empty string ""). 2. Send newline and carriage-return characters, as indicated by the escape sequence \r\c. 3. Expect the string ogin: (or a string that ends with ogin:). If this is not received within the defined pause period, send a break character (as indicated by the escape sequence BREAK), and wait again for ogin:. If the procedure times out again, send another break character and wait again. If the third attempt times out, quit. 4. Having received ogin: from remotesystem, send the string nuucp. 5. Wait for the string word:, that is, the tail of the prompt Password:. 6. When the password prompt is received, reply with the password public. Some users may experience trouble when logging into a machine that is running SCO UNIX: it appears not to recognize carriage returns. The simplest work around is to embed the ``delay'' escape sequence \d in the send strings. For example, if you were using the above chat script to communicate with a SCO UNIX system, and the system was not responding to your transmission, you could modify it as follows: chat "" \r\c ogin:-BREAK-ogin:-BREAK-ogin: \d\dnuucp\d\d\d\d word: \d\dpublic\d\d\d This slows how your system responds to the SCO system; giving it enough time to ``digest'' your transmission appears to work around the problem. You can try adjusting the number of \d characters to get best performance. The following commands help control the chat your system has with a remotesystem: chat-fail string Abort the chat if string is received. string cannot contain white- space characters; use escape sequences instead. The description for remotesystem can contain multiple chat-fail commands. The default is to have none. chat-program program arguments Pass arguments (if any) to program, which is the path name of a program that you want uucico to execute before it executes your chat command. program can contain its own version of a chat script, but this is not required. If both a system's description contains both the commands chat-program and chat, uucico always executes the former first. arguments can contain any of the following escape sequences: \Y Port device name \S Port speed \\ Literal backslash uucico connects the standard input and standard output of program to the port in use, and connects the standard error of program to the UUCP log file. If program does not exit with a status of zero, uucico assumes that it has failed. uucico runs program as user uucp, and the environment is that of the process that invoked uucico. Take care that by using program, you do not compromise your system's security. chat-seven-bit true|false If the argument is true, uucico strips all incoming characters to seven bits before it compares them with the expect string; otherwise, it uses all eight bits. The default is true because some UNIX systems generate parity bits during the login prompt that must be ignored while running a chat script. chat-timeout seconds Wait seconds for the remote system to respond to a send string. If send string times out, uucico sends the next send sub-string (if there is one), or fails. The default is timeout time is 60 seconds. Aliases and Identifiers The following commands let you manipulate how your system identifies itself to a remotesystem: alias systemalias Define systemalias to be an alias for remotesystem. The commands uucp and uux can use systemalias, as can remotesystem itself. This command is helpful should remotesystem change its name: it spares you the trouble of having to comb through your system to replace every occurrence of the old name. The default is to have no aliases. myname mysysname Tell your system to identify itself as mysysname instead of its true name (as kept in file /etc/uucpname) when it calls remotesystem. If the description of remotesystem includes the command called-login without the argument ANY, your system will identify itself as mysysname when it is called by remotesystem. call-login loginname Tell uucico how to expand the escape sequence \L, which stands for the login name. With this command, you can use a default chat script with several different systems, expanding the login escape sequence (and password, as will be shown next) with the appropriate strings. call-password password Tell uucico how to expand the escape sequence \P, which stands for a password. As with the command call-login, described above, this command lets you use the same chat script with a number of different systems, by expanding the login and password escape sequences as needed. Accepting a Call The following commands affect how your system handles a call from another system: called-login login_identifer [remotesystem ... ] Recognize the remote system with the name login_identifier when it attempts to log into your system. If you set login_identifier to ANY, uucico will accept any login identifier. The optional remotesystem arguments name each remote system that is allowed to log in under that login identifier. Some systems use this command to select a number of different alternate sections within sys; in effect, this allows uucico to jump to a given portion of sys based upon the identity of the system that is attempting to log in. In this case, the remotesystem arguments will not be used. callback true|false If true, this command tells uucico to hang up when the given remote system calls, and call it back. This is a security measure, to protect your system from being penetrated by remote systems. The default is false. called-chat '' '' \r\d\r in:--in: nuucp word: public word: serialnumber called-chat-fail string called-chat-program program arguments called-chat-seven-bit true|false called-chat-timeout seconds These commands control how a remote system logs into your system. They are analogous to the commands chat, chat-fail, chat-program, chat-seven-bit, and chat-timeout, and are structured just like them. Note that called-chat the rest of these commands are invoked after protocol negotiation has been completed between uucico on your system and its counterpart on the remote system, but before data exchange has begun. How this chat sequence dovetails with the conversation that COHERENT has with the remote system when it logs into your system depends upon a number of factors, in particular whether COHERENT or uucico controls the port in question. It is customary to let COHERENT control logging in through serial ports, as these ports can be used by interactive users as well as by UUCP sessions, while uucico usually is allowed to control its well-known TCP port (540). However, called- chat can be used to perform special tasks on normal serial lines, such as put the modem into a special state that is required by a given remote site's hardware. Time Strings and Time Commands Many of the commands that you can use in sys commands use a special kind of string, the time string, to specify a range of time. The following describes the structure of a time string. Each simple time string begins with a token that sets the day of the week. You can use any one of the following values: Su Sunday only Mo Monday only Tu Tuesday only We Wednesday only Th Thursday only Fr Friday only Sa Saturday only Wk Every week (Monday through Friday) Any Every day of the week You can name more than one day of the week in a time string: just use commas to separate entries. After the day of the week comes a range of hours and minutes The beginning and ending times are separated by a hyphen. Military time is used, i.e., hour 0 (midnight) through hour 23 (11 PM). uucico uses the local time on your system. The range of time can may cross midnight; for example 2300- 0700 indicates 11 PM to 7 AM the following day. If no time is given, any time applies. The word Never in place of the time string indicates that this remote system is never to be contacted. You should use this setting for systems that contact you but which you never contact. You can specify more than one day/time combination in a time string; use commas to separate entries. The following gives examples of time strings: Wk2305-0855,Sa,Su2305-1655 Weekdays from 11:05 PM to 8:55 AM the following day; any time on Saturday; and Sunday from 11:05 PM to 4:55 PM the following day. Wk0905-2255,Su1705-2255 Weekdays from 9:05 AM to 10:55 PM, and Sunday from 5:05 PM to 10:55 PM. The remote system cannot be called on Saturday. The following commands control when remotesystem is contacted: time timestring [retry] Specify when your system can call remotesystem. timestring gives a time string; the section Time Strings, above, describes how to construct one. retry, if used, defines how long to wait before your system attempt to call remotesystem again. The default time for each remotesystem is Never. The optional argument retry sets many minutes your system will wait before it attempts to recontact remotesystem, should a call made during timestring fail. If retry is not defined, uucico uses an exponentially increasing retry time: after each failure the next retry period is longer. The description of remotesystem can contain multiple time commands. uucico will call remotesystem if the current time matches the time defined by any of them. timegrade grade timestring [retry] This command tells uucico to call remotesystem only if a file with a grade greater than or equal to grade is awaiting transfer to that system. grade gives the grade of file to await. It is a single letter or digit, from `0' to `9', `A' to `Z', and `a' to `z', in this order from highest grade to lowest. timestring gives the period of time to which this command applies. retry gives the length of time, in minutes, that your system must wait before it recontacts remotesystem should a call made during timestring fail. The command time is equivalent to the command timegrade with a grade of `z', which permits all jobs to be run. The command uucico -S overrides grade; the command uucico -s does not. The grade applies only to calls made to remotesystem, not to calls that it makes to you. The description of remotesystem can have multiple timegrade commands. The command call-timegrade, described below, complements this command. call-timegrade grade timestring This command tells uucico to ask remotesystem to execute only the jobs with a grade of grade or higher, should it call remotesystem during the period of time defined in timestring. This commands complements the command timegrade: while timegrade limits what your system does with the remote system, call-timegrade attempts to limit what remotesystem does to your system. grade gives the grade of the job to send. It is be a single letter or digit, from `0' to `9', `A' to `Z', and `a' to `z', in this order from highest grade to lowest. timestring gives the period of time to which this command applies. It is a time string, as defined above. The description of a remotesystem can contain multiple call-timegrade commands. Please note that not every implementation of UUCP will cooperate in setting grades to its jobs. If this command does not appear, or if no time string matches, the remote system can send whatever grade of work it chooses. Retries and Waiting The following commands define how often uucico will try to do something, and how long it will wait for a particular event to happen. max-retries retries Recontact a remotesystem no more than than retries times during any time time period. The default number of retries is 26. success-wait seconds Wait seconds before recontacting a remotesystem after a successful call. This limits the number of times a remotesystem will be contacted during a given time period. The default is zero. Ports and Telephones The following commands govern how uucico selects a port and telephones remotesystem. address ip_address|domain_name Name a remote system to contact a TCP/IP network. This command can name the remote system to contact either by its domain name (e.g., lepanto.com) or its IP address (e.g., 199.3.32.100). Note that if the port named by port command is not a TCP port, uucico ignores this command. baud speed speed speed Set the speed (or ``baud rate'') at which to call remotesystem. This tells uucico to try every port defined in file /usr/lib/uucp/port until it finds an unlocked port that runs at speed. If the description of remotesystem contains both the baud and port, uucico uses both when it selects a port. If you wish to try multiple speeds when contacting a remotesystem, you must embed each baud command in its own set of alternate commands. uucico does not use a default speed. The command baud 0 tells uucico to use the ``natural'' speed of a port (whatever that is), and override and overrides any baud or speed commands that appear in the global defaults. To place a call to a remotesystem, its description (or the global defaults) must name a port through which to dial out, either with baud or with the command port (described below). port portname Name or describe the port through which to contact remotesystem. If used with only one argument, uucico assumes that that string names a port defined in the file /usr/lib/uucp/port. portname may point to more than one physical device; uucico tries each in turn until it finds one that is unlocked. If used with more than one string, uucico assumes that the strings define a port, in the same way as done in the file port. To place a call to a remotesystem, its description (or the global defaults) must name a port through which to dial out, either with port or with the command baud (described above). phone number Give the telephone number of remotesystem. An `=' character in the telephone number tells uucico to wait for a secondary dial tone. A `- ' character tells uucico to pause for one second while dialing The description of a remotesystem can have more than one phone command, one for each number at which you can call that remotesystem. If you want your system to telephone remotesystem, then its description must contain at least one phone command. Protocols and Protocol Variables The command protocol codes names the communication protocols to use with remotesystem. code must one or more lower-case letters, each of which names a protocol. If more than one protocol is named, uucico considers them in the order in which you give them. uucico recognizes the following protocol codes: t e These protocols perform no checking at all. They are intended to be used over a communication path that has end-to-end reliability, e.g., TCP. uucico will consider them only when it is talking to a TCP port that is both reliable and eight-bit. i This is a bidirectional protocol; that is, your system and remotesystem can both send and receive simultaneously. It requires an eight-bit connection. This protocol is preferred for a serial connection, as it offers the fastest transmission of data. g This is the first, and the commonest UUCP protocol. Every implementation of UUCP supports this protocol; some support no other. It requires an eight-bit connection. For a detailed description of how this protocol works, see the article by Steven Baker, cited below. G This is the System V Release 4 version of the g protocol. a This mimics the Z-Modem protocol. It requires an eight-bit connection; but unlike the g and i protocols, it works even if certain control characters cannot be transmitted. (Code for this protocol was contributed by Doug Evans.) j This is a variant of the i protocol, which can avoid certain control characters. The set of characters it avoids can be set by a parameter. It is useful over a eight-bit connection that will not transmit certain control characters. f This protocol supports X.25 connections. It checksums each file as a whole, so any error causes the entire file to be retransmitted. It requires a reliable connection, but uses only seven-bit transmissions. It is a streaming protocol; therefore, you can use it with a serial port, but the port must be completely reliable and flow controlled. If you do not use the protocol command to specify a protocol, uucico considers the protocols in the order given above, and chooses one based on the characteristics of the port and the dialer specified in the files /usr/lib/uucp/port and /usr/lib/uucp/dial. The port and dial must meet the requirements of a protocol before uucico will consider it during negotiation with remotesystem. If neither the seven-bit nor the reliable command is used, uucico will use the i protocol (subject, of course, to what is supported by the remote system; you cannot assume that all systems support the i protocol). No current protocol can be used with a port for which you have specified seven-bit true and reliable false. You must use the protocol command for the system, or uucico will select no protocol at all. (The only reasonable choice would be protocol f.) You can use the command protocol-parameter protocol parameter [argument ... ] to modify a protocol's default parameters. The i protocol recognizes the following parameters: window size Request that remotesystem use a size window, between one and 31, inclusive. The default is 16. packet-size size Request that remotesystem use a packet of size bytes, between one and 4,095, inclusive. The default is 1,024. remote-window size Ignore the window size requested by remotesystem, and instead us a window of size. The default is zero, which means that the request of remotesystem is honored. remote-packet-size size Ignore the packet size requested by remotesystem, and instead use a packet of size bytes. The default is zero, which means that the request of remotesystem is honored. sync-timeout seconds Wait seconds for a SYNC packet from remotesystem. The default is ten. sync-retries number Resend a SYNC packet number times before giving up. The default is six. timeout seconds Wait seconds for an incoming packet before sending a NAK (negative acknowledgement) The default is ten. retries number Resend a packet or negative acknowedgement number times before giving and closing the connection. The default is six. errors number Quit after number errors have occurred. The default is 100. error-decay number Decrease the count of errors by one after receiving number packets. This keeps occasional errors from accumulating during a long conversation, and so aborting what is actually a successful transmission. The default is ten. ack-frequency number Send an acknowledgement after receiving number packets. By default, this is set to half the requested size of the window. The protocols g and G recognize the following parameters: window size Request that remotesystem use a size window, between one and seven, inclusive. The default is seven. packet-size size Request that remotesystem use a packet size of size bytes. size must be a power of two, between 32 and 4,096, inclusive. The default is 64, which is the only packet size supported by many older UUCP packages. startup-retries number Retry the entire initialization sequence number times before quitting. The default is eight. init-retries number Retry one phase of the initialization sequence number times before quitting. The default is four. init-timeout seconds Wait for seconds before timing out one phase of the initialization sequence. The default is ten. retries number Resend a packet or a request for a packet number times before quitting. The default is six. timeout seconds Wait for seconds for a packet or an acknowledgement before timing out. The default is ten. garbage number Drop the connection after receiving number unrecognized characters. number must be larger than the packet size. The default is 10,000. errors number Quit after number errors have occurred. Errors include malformed packets, out-of-order packets, bad checksums, and packets rejected by the remote system. The default is 100. error-decay number Decrease the count of errors by one after receiving number packets. This keeps occasional errors from accumulating during a long conversation, and so aborting what is actually a successful transmission. The default is ten. remote-window size Ignore the window size requested by remotesystem, and instead us a window of size. The default is zero, which means that the request of remotesystem is honored. remote-packet-size size Ignore the packet size requested by remotesystem, and instead use a packet of size bytes. The default is zero, which means that the request of remotesystem is honored. short-packets true|false If true, optimize transmission by sending shorter packets when there is less data to send. This confuses some UUCP packages; when connecting to such a package, this parameter must be set to false. The default is true for the g protocol and false for the G protocol. The a protocol mimics the Z-modem protocol. It supports the following parameters: All take numeric arguments, except for escape-control, which takes a Boolean argument: timeout seconds Wait seconds for a packet before timing out. The default is ten. retries number Resend a packet number times before quitting. The default is ten. startup-retries number Retry sending the initialization sequence number times before quitting. The default is four. garbage number Drop the connection after receiving number unrecognized ``garbage'' characters. number must be larger than the packet size. The default is 2,400. send-window number Send number characters before waiting for an acknowledgement. The default is 1,024. escape-control true|false If true, uucico can use the protocol over a connection that does not transmit certain control characters, such as XON or XOFF. The connection must still transmit eight-bit characters other than control characters. The default is false. The j protocol can be used over an eight-bit connection that will not transmit certain control characters. It accepts the same parameters as the i protocol, plus the following: avoid string Avoid every character defined in string. string can contain escape sequences, as defined above for the chat script. Each character must be a non-printable ASCII character (i.e., ASCII values less than 32 or greater than 126). Each must be defined using using the escape sequence \DDD, where DDD gives three octal digits. The default value is \021\023 (i.e., XON and XOFF). If the package is configured to use HAVE_BSD_TTY, then you may have to avoid \377 as well. The f protocol is intended for use with error-correcting modems only. It checksums each file as a whole, so any error causes the entire file to be retransmitted. It recognizes the following parameters: timeout seconds Wait seconds before timing out. The default is 120. retries number Retry sending a file number times before quitting. The default is two. The protocols t and e recognize the following parameter: timeout seconds Wait seconds before timing out. The default is 120. Note that the command protocol-parameter can be used in files /usr/lib/uucp/dial and /usr/lib/uucp/port as well as in sys. In case of a conflict between the entries in these files, the entries in dial takes precendence; then those in port. The entries in sys have lowest precedence. File Transfers The following commands help to control the transfer of files. send-request yes|no Set whether remotesystem can request files from your system. The default is yes, that is, remotesystem may request files. receive-request yes|no Set whether remotesystem can send files to your system. The default is yes, that is, remotesystem may send files. request yes|no This combines the commands send-request and receive-request into one. call-transfer yes|no Set whether your system may transfer files to remotesystem when it calls remotesystem. The default is yes. called-transfer yes|no Set whether your system may transfer files to remotesystem when remotesystem calls your system. The default is yes. transfer yes|no This combines commands call-transfer and called-transfer into one. call-local-size number timestring Send or receive no file larger than number bytes when your system calls remotesystem during the time defined in timestring. You can use this command to help limit the length of a call made during times when toll charges are higher. The description of a system may contain multiple call-local-size commands, one for each period during which you wish to limit activity. The default is to have no limit. Please note that the size-control commands, are guaranteed only to limit the size of files being sent by your system. The size of files being sent from remotesystem can be checked if the other system is running the Taylor UUCP package. Other UUCP packages do not understand a maximum-size request, nor do they inform this package of the size of the files they are sending. call-remote-size number timestring Limit to number bytes the size of a file that can be fetched by remote request (either by your system on remotesystem or by it on your system) when your system calls remotesystem during the time defined in timestring. The description of a remotesystem can contain multiple call-local-size commands, one for each period during which you wish to limit activity. The default is to have no limit. called-local-size number timestring Send or receive no file larger than number bytes when remotesystem calls your system during the time defined in timestring. The description of a system may contain multiple call-local-size commands, one for each period during which you wish to limit activity. The default is to have no limit. called-remote-size number timestring Limit to number bytes the size of a file that can be fetched by remote request (either by your system on remotesystem or by it on your system) when remotesystem calls your system during the time defined in timestring. The description of a remotesystem can contain multiple call-local-size commands, one for each period during which you wish to limit activity. The default is to have no limit. local-send directorylist ... Limit to directorylist the directories from which your system can send files to remotesystem. Each directory in directorylist must be separated by white space. You can use a tilde `~' for the public directory, i.e., /usr/spool/uucppublic. Listing a directory within directorylist lets your system send all files within that directory and its subdirectories. Prefixing a directory with an exclamation point `!' specifically excludes it and its subdirectories from being sent. For example, the command local-send /v/fwb !/v/fwb/Personal means that your system can send all files in directory /v/fwb to remotesytem except for the files in directory /v/fwb/Personal. uucico reads directorylist from left to right, and the last directory to apply takes effect. Therefore, you should list directories from top down. The default is the root directory, i.e., your system can send any file to remotesystem. remote-send directorylist Limit to directorylist the directories from which remotesystem can request files. The default is /usr/spool/uucppublic. local-receive directorylist Limit to directorylist the directories into which your system can write files requested from remotesystem. The default is /usr/spool/uucppublic. remote-receive directorylist Limit to directorylist the directories on remotesystem into which your system can write files. The default is /usr/spool/uucppublic. This command cannot override permissions that localsystem has granted to your system. forward-to systemlist Limit the systems to which your system will forward files to those named in systemlist. A systemlist of ANY lets remotesystem forward files through your system to any system it wants. The default is not to permit forwarding to other systems. Note that if you permit remotesystem to execute the command uucp on your system, it effectively has permission to forward to any system. forward-from systemlist Limit the systems from which remotesystem request files through your system to those named in systemlist. A systemlist of ANY lets remotesystem request files from any system. The default is not to permit remotesystem to request files from anywhere. Note that if you permit remotesystem to execute the command uucp on your system, it effectively has permission to fetch files through your system from any other system. forward systemlist This command combines the commands forward-to and forward-from. Miscellaneous Commands The following gives miscellaneous commands that can be used in sys: sequence yes|no If true, this commands tells uucico to use the conversation sequencing for remotesystem. This means that if somebody impersonates remotesystem and logs into your system, that fact will be discovered the next time remotesystem actually calls. The default is false. command-path path Limit to path the directories that a command file forwarded from remotesystem can search for commands to execute. The directories named in path must be separated by white space. commands commandlist Limit the commands that remotesystem can execute on your system to those named in commandlist. A commandlist ALL lets remotesystem execute all programs on your system. The default is rnews rmail. free-space number This command tells uucico always to leave free number bytes of space in a file system. This command ensures that uucico will not permit remotesystem to fill up your file system. If an incoming file is too large to leave number bytes free on the file system, uucico refuses the file or aborts its downloading. Note that not every version of UUCP supports this. pubdir directory Name the public directory available to remote UUCP systems. The default is /usr/spool/uucppublic. debug activitylist Log each UUCP activity named in activitylist when talking with remotesystem. These logs can help you debug problems with uucico and cu. uucico recognizes the following activities: abnormal chat handshake uucp-proto proto port config spooldir execute incoming outgoing none tells uucico to log nothing. max-remote-debug typelist Limit to typelist the types of debugging that remotesystem can request on your system. This command is designed to stop remotesystem from filling your disk with debugging information. Defaults The following gives the default settings for all systems. You should regard these as appearing at the head of /usr/lib/uucp/sys, even though they do not explicit appear in that file: time Never chat "" \r\c ogin:-BREAK-ogin:-BREAK-ogin: \L word: \P chat-timeout 10 callback n sequence n request y transfer y local-send / remote-send ~ local-receive ~ remove-receive ~ commands rnews rmail max-remote-debug abnormal,chat,handshake Example The following gives the entry in /usr/lib/uucp/sys for the system mwcbbs, which is the Mark Williams bulletin board: system mwcbbs time Any baud 2400 port MODEM phone 17085590412 chat "" \r\d\r in:--in: nuucp word: public word: serialnumber protocol g protocol-parameter g window 3 protocol-parameter g packet-size 64 myname bbsuser request yes transfer yes remote-send /usr/spool/uucppublic /tmp remote-receive /usr/spool/uucppublic /tmp commands rmail uucp The following describes each command in detail: system mwcbbs Name the sytem being described, in this case mwcbbs. time Any Set the time during your system can contact mwcbbs, in this case any time. baud 2400 Set the speed at which your system can contact mwcbbs; here 2400 baud. port MWCBBS Set the port through which your system can dial out to mwcbbs; here, port MWCBBS. This port is defined in the file /usr/lib/uucp/port; for details on this file and how to modify its data, see the Lexicon entry for port. phone 17085590412 This gives the telephone number of mwcbbs. chat '' '' \r\d\r in:--in: nuucp word: public word: serialnumber Give the chat script with which your system logs into mwcbbs. See the section on chat scripts, above, for details on how to interpret this command. protocol g Use the g protocol. protocol-parameter g window 3 Set the window used with protocol g to three. protocol-parameter g packet-size 64 Set the size of the packet used with protocol g to 64 bytes. myname bbsuser Identify yourself to mwcbbs as user bbsuser. request yes Let mwcbbs send files to your system, and request files from your system. Setting this to no would forbid mwcbbs to do so. transfer yes Permit files to be transferred from your system to mwcbbs, and vice versa, regardless of whether your system calls mwcbbs or vice versa. remote-send /usr/spool/uucppublic /tmp Permit mwcbbs to request files only from directories /usr/spool/uucppublic and /tmp. remote-receive /usr/spool/uucppublic /tmp Limit the directories into which your system will write files requested from mwcbbs to /usr/spool/uucppublic /tmp. commands rmail uucp Limit the commands that mwcbbs can execute on your system to rmail and uucp. See Also Administering COHERENT, dial, port, UUCP Baker, S.: From UUCP to eternity. UNIX Review, April 1993, pp. 15-26. Summarizes the history of UUCP and describes the working of the g protocol. Notes Only the superuser root can edit /usr/lib/uucp/sys. The file sys supports many commands in addition to the ones described here. This article describes only those commands that might be used in typical UUCP connections. For more information, see the original Taylor UUCP documentation, which is in the archive /usr/src/alien/uudoc104.tar.Z.