home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / bbsfiles / waf165b7.arj / NETWORK.DOC < prev    next >
Encoding:
Text File  |  1992-03-20  |  51.5 KB  |  1,402 lines

  1. Waffle/DOS Networking Manual - Version 1.65
  2. (C) Copyright 1992 Darkside International, All Rights Reserved.
  3.  
  4. TABLE OF CONTENTS
  5.  
  6.     Introduction
  7.  
  8.       I   Quick Overview
  9.      II   Setting up your system
  10.     III   Functions of the Networking Programs
  11.       V   Directories Used
  12.  
  13.     The UUCICO Program
  14.  
  15.      VI   UUCICO command line options
  16.     VII   Format of the systems file
  17.        VIII   Running UUCICO in master role - Dialing out
  18.      IX   Running UUCICO in slave mode - Answering
  19.       X   UUCP error messages
  20.      XI   Tunable parameters in the static file
  21.  
  22.     Support Programs
  23.  
  24.         XII   Using UUCP to transfer files
  25.        XIII   The UUX program - sending execution requests
  26.         XIX   Inspecting the spool queue with UUQ
  27.      XX   Beyond mail and news
  28.  
  29.     Miscellaneous
  30.  
  31.         XXI   Waffle's Filename Munging
  32.        XXII   Limitations and paranoia
  33.  
  34.  
  35. QUICK OVERVIEW
  36.  
  37. o  Scope
  38.  
  39.    This document is not complete. It describes the operation of
  40.    Waffle, and its connection to the outside world; What it does NOT
  41.    describe is how to obtain a UUCP connection, or how to configure
  42.    a Unix system to accept connections. Solving these problems is
  43.    left as a exercise to the reader and cohorts. (You might start by
  44.    reading the INTRO.DOC file, though).
  45.  
  46. o  Features of this package
  47.  
  48.    Waffle provides Unix-to-PC or PC-to-PC communications using
  49.    the UUCP "g" protocol, transmitting mail or news or binary files.
  50.  
  51.    Programs are included for sending or receiving UUCP mail,
  52.    and for reading or posting Usenet News. Depending on the
  53.    configuration, they can be run for a single user or as a dialup BBS.
  54.  
  55.    Your system can act as an intermediate host, passing mail
  56.    and news on to other sites. A scheduler is provided to automate
  57.    the process of polling other sites.
  58.  
  59.    Waffle has the ability to retrieve or place files on other Unix
  60.    systems, including public anonymous UUCP archives.
  61.  
  62.    Networking is fully integrated with the package, which was
  63.    designed for this express purpose.
  64.  
  65. o  About UUCP Flow
  66.  
  67.    UUCP is a "store and forward" system. This means that messages will
  68.    not be transmitted to their destination immediately unless you are
  69.    sending to one of your neighbors. The message may pass through several
  70.    systems; this is slower but it also distributes costs over the
  71.    net. If you plan on sending large amounts of traffic, as a courtesy you
  72.    should check with the intermediate sites to see if this is going to
  73.    cause any problems.
  74.  
  75.    Another limitation is that you may need to know the exact path your
  76.    message must travel before you can send it. Ways of working around
  77.    this problem include using the domain-named system, or by routing
  78.    through a site that can operate as a smarthost.
  79.  
  80. o  How the programs fit together
  81.  
  82.    You will probably receive mail or news from a Unix or Waffle
  83.    host. You must have someone on the other end configure their
  84.    system to recognize yours; it is not done automatically. Part
  85.    of this configuration is letting UUCP know about your host, and
  86.    part involves determining which newsgroups you are to receive.
  87.  
  88.    When properly set up, mail or news will be transmitted by
  89.    having your UUCICO talk to their UUCICO, or vice versa. UUCICO
  90.    will place incoming files into a spool directory matching the
  91.    name of the neighboring system.
  92.  
  93.    After this is finished, UUXQT is run; it will check these
  94.    spool directories for recently arrived traffic, and pass any
  95.    arrived data to the appropriate programs. Under normal
  96.    circumstances UUXQT will call RMAIL or RNEWS for processing.
  97.  
  98.  
  99. SETTING UP YOUR SYSTEM
  100.  
  101. o  Static file configuration
  102.  
  103.    Waffle's networking programs all read the common Waffle static
  104.    file, which defined by the WAFFLE environment variable. It is
  105.    normally C:\WAFFLE\SYSTEM\STATIC. Parameters not recognized by a
  106.    program are ignored.
  107.  
  108.    With a few exceptions documented in this file, all parameters
  109.    used by these programs are described in the STATIC.DOC file.
  110.  
  111. o  Choose a UUCPNAME
  112.  
  113.    To operate as a UUCP node, you must choose a UUCPNAME for your
  114.    site. If you are connecting to the outside world, make sure
  115.    that the name is not already in use; in particular it should
  116.    be unique to the first seven characters.
  117.  
  118.    The name is defined in the static file as "uucpname" and
  119.    may contain lowercase characters, digits, dots, or dashes;
  120.    it must also begin with an alphanumeric character. Only
  121.    fully qualified and registered domain names may contain dots.
  122.  
  123.    We strongly suggest that the name be seven or fewer characters,
  124.    because some versions of Unix UUCP will either truncate or
  125.    reject your sitename.
  126.  
  127. o  Communications Driver
  128.  
  129.    If you have a high speed modem, you should probably use
  130.    a FOSSIL driver for communications. There is further information
  131.    on this topic in the file DOS.DOC included with this package,
  132.    under the header "SETTING UP THE MODEM".
  133.  
  134.  
  135. FUNCTIONS OF THE NETWORKING PROGRAMS
  136.  
  137. There are several programs in the /waffle/bin directory that are
  138. used when networking under the DOS version of Waffle. Each of these
  139. commands is further described in further sections; this is just a
  140. quick overview.
  141.  
  142. o  UUCICO - Unix to Unix Copy In Copy Out
  143.  
  144.    The program that performs UUCP transfers. It will dial
  145.    a neighbor and transfer any files that are queued for
  146.    that system. Alternatively, it can be run when a remote
  147.    host calls your system.
  148.  
  149.    Proper pronunciation is you.you.kai.ko, you.you.psycho,
  150.    or you.you.see.i.see.oh, depending on upbringing. (oh boy)
  151.  
  152. o  UUXQT - Unix to Unix eXeQuTe
  153.  
  154.    Handles commands requested by the remote host. Most of
  155.    the time these are "rnews", to receive Usenet news, and
  156.    "rmail", receive UUCP mail.
  157.  
  158.    UUXQT may be run at any time, but it is usually run
  159.    after a connection to process newly arrived files.
  160.  
  161. o  UUCP - Unix to Unix CoPy
  162.  
  163.    A program to allow the SYSTEM 0PERATOR to use UUCP as a
  164.    mechanism for transferring files. This will not invoke
  165.    the transaction; it will merely queue it for the next uucico
  166.    session. It is not required for Waffle operation, but it
  167.    is sufficiently groovy to warrant inclusion herein.
  168.  
  169. o  UUX - Queue an outgoing execution request
  170.  
  171.    UUX is used to queue outgoing mail or news messages
  172.    for transmission by UUCICO, and is usually called by
  173.    RNEWS or RMAIL. It can also be used to request remote
  174.    execution of various Unix commands on other systems,
  175.    for example printing a file on a remote printer.
  176.  
  177. o  UUQ - Display contents of spool queue
  178.  
  179.    Pending transactions may be displayed with the UUQ
  180.    command. It will also report on any problems it finds
  181.    regarding missing files, etc.
  182.  
  183. o  BATCH - Prepare and send outgoing Batched newsfeeds
  184.  
  185.    This program may be run if you are batching a newsfeed for
  186.    another site. It will determine what files it needs to send
  187.    from the /spool/batch directory, pack them together, and
  188.    queue for delivery. How often this should be run depends on
  189.    how much news your system handles, and how often you
  190.    connect to other sites.
  191.  
  192. o  WAFFLE - Integrated mailer and newsreader
  193.  
  194.    Run either as a BBS, or an integrated mailer and newsreader.
  195.    When using the system as a single user UUCP node, Waffle is
  196.    generally invoked by the LOGIN batch file.
  197.  
  198.    Sites wishing to omit the Login/Password sequence at the
  199.    beginning should investigate the "waffle online username"
  200.    startup syntax in the MANUAL.DOC file.
  201.  
  202.  
  203. DIRECTORIES USED
  204.  
  205.    The SPOOL directories
  206.  
  207.    Incoming or outgoing UUCP work and data files are placed in
  208.    the spool directory. If you have a lot of traffic, make sure
  209.    there is enough free space "give" on the disk to handle it.
  210.  
  211.    Normally, three files get placed in the directories for
  212.    outgoing jobs, or one file if using the UUCP.EXE program. Two
  213.    files arrive for most incoming jobs.
  214.  
  215.   o  /spool - spool directory
  216.  
  217.     Directory through which incoming and outgoing messages pass.
  218.     Outgoing messages stay queued until the remote system is
  219.     contacted. Incoming messages will stay the short time between
  220.     arrival and processing.
  221.  
  222.     This directory will have a number of subdirectories, which
  223.     should be manually created. They are:
  224.  
  225.    o  /spool/batch - batch directory
  226.  
  227.     Lists of files for the batcher (batch.exe) are stored here.
  228.     This is only needed if you batch outgoing news.
  229.  
  230.    o  /spool/lost - Lost files
  231.  
  232.     If a file collision is detected, the old file will be moved
  233.         into /spool/lost. This usually happens because of an
  234.         interrupted transfer. This directory should be checked from
  235.         time to time for things that have become lost to mysts of tyme.
  236.         It is safe to delete files that show up here.
  237.  
  238.    o  /spool/outbox - The "OUTBOX"
  239.  
  240.     Messages queued for delivery to other systems are kept in this
  241.     directory until they are spooled. The filenames are of format
  242.     /spool/outbox/name.number, e.g. "darkside.1". These aren't needed
  243.     and may could deleted on a regular basis. Right now they are just
  244.     used to occasionally monitor outgoing traffic and to check to
  245.     see if things are working fine.
  246.  
  247.    o  /spool/public - UUCP home directory
  248.  
  249.     The uucppublic directory. This is where ~/ refers to in UUCP
  250.     requests. This is generally the directory used for transferring
  251.     binary files between your DOS system and a remote Unix system,
  252.     using the "uucp" command.
  253.  
  254.     Files will arrive here from a neighboring Unix system if the
  255.     C shell command "uucp file your_site\!~/file" is executed on the
  256.     remote system. You can use this command to UUCP binary files over.
  257.  
  258.     Files may also be pulled by the remote unix system if using a
  259.     command such as "uucp your_site\!~/file /usr/spool/uucppublic",
  260.     which will transfer a file on the DOS system to the public
  261.     directory on the Unix system.
  262.  
  263.         The name of this directory can be changed by altering the
  264.         "permits" file in the uucp directory.
  265.  
  266.    o  /spool/unbatch - unbatch directory
  267.  
  268.     The unbatch directory is needed if you are accepting incoming
  269.     batches from your feeds. Temporary files will be kept here,
  270.     between decompression and unbatching.
  271.  
  272.  
  273. UUCICO COMMAND LINE OPTIONS
  274.  
  275.         -b <speed>      Speed of connection. If not present, UUCICO
  276.                         will either use the speed present in the Systems
  277.                         file, or attempt to determine the speed of the
  278.                         incoming connection.
  279.  
  280.         -d <device>     Device of incoming connection. Examples are
  281.                         -d1 for COM1, or -d2 for COM2, etc.
  282.  
  283.         -g <grade>      Set grade for file transfers. Grades are single
  284.                         characters that give 'priority' of a job.
  285.  
  286.                         See the section on GRADES for more information.
  287.  
  288.                         Currently this is implemented for incoming only.
  289.  
  290.         -i        Ignore carrier detect for this connection.
  291.                 This option is required on serial lines that do
  292.                 not support carrier detect, DCD.
  293.  
  294.         -k <size>       Specify a packet size for the "g" protocol.
  295.                         Refer to the section regarding this located near
  296.                         the end of this manual before attempting.
  297.                                 
  298.         -n <name>       Set your uucpname temporarily. Can be used if
  299.             a neighbor expects your uucpname to be truncated
  300.             to seven characters.
  301.  
  302.         -o              Override time limitations in systems file. Previously,
  303.                         uucico -s any or -s all would respect the times and uucico
  304.                         -s site would override.
  305.  
  306.         -p <permit>     Use permit.
  307.  
  308.         -r <num>        Role, where -r0 signifies dialin and -r1 or
  309.                         above signifies dialout.
  310.  
  311.                         When the -r parameter is greater than 1,
  312.                         this causes uucico to retry the call that number
  313.                         of times or until connection is succesful.
  314.  
  315.                         The default is -r1.
  316.  
  317.     -s <system>    Name of the system to poll. This may also
  318.             be "all" to poll all systems, or "any" to poll
  319.             systems that have work queued.
  320.  
  321.                         Multiple sites may be specified in the -s
  322.                         parameter. For example, uucico -sozone,lugnut.
  323.                         The -s is required with outgoing calls, and
  324.                         must be left off with -r0.
  325.  
  326.         -t <sec>        The number of seconds to wait for a response
  327.             in an expect/send sequence. For most purposes the
  328.             default of 30 is sufficient, but over long
  329.             distance connections or instances where the modem
  330.             on the other side takes many rings to answer, this
  331.             can be adjusted upward.
  332.  
  333.         -u <account>    Account name.
  334.  
  335.         -v <debug>      Visual debug level, similar to -x except
  336.                         controls output displayed on screen. Replaces
  337.                         the -q parameter from 1.64 uucico.
  338.  
  339.         -x <debug>      Setting debug level. Default is 0. Set to 2
  340.                         if having problems with expect/send dialing
  341.             sequences, or 4 to solve most other problems.
  342.             Higher settings tend to be nitty gritty.
  343.  
  344. Functionality available with the -a and -w parameters from
  345. previous versions of UUCICO can be found in the section on PERMITS.
  346.  
  347.  
  348. SYSTEMS FILE FORMAT, /waffle/uucp/systems
  349.  
  350.   Sample contents:
  351.  
  352.         ozone   Any  g  Use2400  toWaffle  245xxxx      uuelf  dungeon6
  353.         lugnut  Any  g  Use2400  toUnix    1916xxxxxxx  uucp   uucp
  354.  
  355.   Fields, in order, are:
  356.  
  357.         1.      Remote system's UUCP name. In this case we talk to
  358.                 two systems, "ozone" and "lugnut". Each of your neighbors
  359.                 should have an entry here, even if they call you.
  360.  
  361.         2.      Times to call. Valid entries are described later in
  362.                 this manual; usually it is "Never", "Any", or "Evening".
  363.  
  364.     3.    Protocol to use. Must be g.
  365.  
  366.         4.      Name of dialer. The corresponding entry in the
  367.                 "dialers" file will be used (which includes baud rate.)
  368.  
  369.         5.      Name of connection script. The corresponding script
  370.                 in the "scripts" file is performed after the dialers
  371.                 script has finished.
  372.  
  373.         6.      Phone number to call (for \T). When a \T is encountered
  374.                 in the "dialers" script, this number is inserted.
  375.  
  376.     7.    Login name to use (for \L).
  377.  
  378.     8.    Password to use (for \P).
  379.  
  380.   Presence of a system in the systems file may not be enough
  381.   to allow a connection. *YOUR* system must also be in their "Systems"
  382.   file (for HDB varieties of UUCP) or in their "L.sys" file (for normal
  383.   flavors of Unix UUCP). In particular, this is probably the problem
  384.   if you receive an "RLOGIN" message.
  385.  
  386.   If there are multiple entries for a single system in the systems
  387.   file, UUCICO will try each one in turn until one is successful. After
  388.   that, the remainder will be skipped. Note that these multiple
  389.   entries MUST be consecutive in order for this feature to work. This
  390.   allows the use of "backup numbers" in case one is busy or inoperable.
  391.  
  392.  
  393. NEW DIALERS FILE FORMAT, /waffle/uucp/dialers
  394.  
  395.   Sample contents:
  396.  
  397.     Use2400     Default 2400    "" AT&D2 OK ATDT\T CONNECT \m\c
  398.     Use9600     Default 9600    "" AT&D2 OK ATDT\T CONNECT \m\c
  399.  
  400.   Fields, in order, are:
  401.  
  402.         1.      Name of dialer, in this case, "Use2400" is the
  403.                 first dialer shown. It doesn't matter too much what
  404.                 you call dialers, but all dialers listed in your
  405.                 "SYSTEMS" file should be contained in this file.
  406.  
  407.     2.    Device to use. "Default" or "Any" will use
  408.                 the "device" line in the static file. If you want
  409.                 to specify a device, "1" through "4" are valid
  410.                 entries, as are "COM1" through "COM4".
  411.  
  412.     3.    Speed of connection.
  413.  
  414.     4.    Fields 4 and above are the connection script
  415.                 (expect/send sequences) for talking to the modem.
  416.  
  417.                 A \T goes at the location to substitute the phone number.
  418.  
  419.  
  420. NEW SCRIPTS FILE FORMAT, /waffle/uucp/scripts
  421.  
  422.   Sample contents:
  423.  
  424.     toUnix       in:--in: \L word: \P
  425.     toWaffle     NEW:--NEW: \d\L word: \P
  426.  
  427.   Fields, in order, are:
  428.  
  429.     1.    Name of script.
  430.  
  431.     2.    Fields 2 and above contain the login script
  432.                 to login to the remote system (expect/send sequences).
  433.                 These are process after the DIALERS file is.
  434.  
  435.         The \L goes at the location to insert the login name,
  436.         and \P where to send the password.
  437.  
  438.  
  439. VALID TIME ENTRIES
  440.  
  441.   Entries in the "Times to call" field (the second field) in the
  442.   systems file can be of the following possibilities:
  443.  
  444.          Any      Allow calls anytime. This is what should be
  445.                used for most configurations.
  446.  
  447.          Evening  Call only during the evening, which is equivalent
  448.                   to weekdays 5pm to 8am, plus Saturday and Sunday.
  449.  
  450.          Never      Do not allow calls at all.
  451.  
  452.          <day>      Call only on specified days, where <day> may
  453.                be any one of Su, Mo, Tu, We, Th, Fr, Sa, or
  454.           any combination thereof.
  455.  
  456.          Wk       A synonym for Monday through Friday, which is
  457.                   used in the same manner as <day>.
  458.  
  459.       "Any", "Wk", or "<day>" may be may be modified by specifying
  460.       a legal time range, given in minutes from midnight. For example,
  461.       "0800-1700" is 8am to 5pm, and "1800-0700" is 6pm to 7am.
  462.  
  463.       These time ranges are not enforced when a system name is
  464.       explicitly specified in the UUCICO startup command line.
  465.  
  466.       Some examples of valid time fields:
  467.  
  468.           MoWeFr            calls ok on Mon, Wed, or Fri
  469.  
  470.       Wk1700-0800,SaSu        equivalent to "Evening"
  471.  
  472.       TuTh1700-0800,Wk2300-0800    allow calls between 11pm and 8am
  473.                     weekdays, except on Tuesday
  474.                     or Thursday, which are 5pm to 8am
  475.  
  476.       Any2200-0000            calls ok between 8pm and midnight
  477.  
  478.  
  479. CONFIGURATION OF EXPECT/SEND SEQUENCES
  480.  
  481.   Both the "DIALERS" and "SCRIPTS" connection scripts have the
  482.   same format. They consist of pairs of expect/send sequences. Dashes
  483.   in the scripts indicate alternate send sequences, as illustrated
  484.   with the second example.
  485.  
  486.   An explanation of the sample DIALERS script:
  487.  
  488.        "" ATV1&D2 OK ATDT\T CONNECT \m\c
  489.  
  490.   The fields of this script, in order:
  491.  
  492.        Expect ""        Expect nothing. This is just a placeholder to force
  493.                         the next item to be sent.
  494.  
  495.        Send AT&V1D2     Can also send a Hayes initialization, or Telebit
  496.                         register settings, etc.
  497.  
  498.        Expect OK        modem sends us OK.
  499.  
  500.        Send ATDT\T      Dial number. The \T is replaced by the phone
  501.                         number found in the "SYSTEMS" file.
  502.  
  503.        Expect CONNECT    If "BUSY" or "NO CARRIER" results, it will exit
  504.                         with "Never got CONNECT" message.
  505.  
  506.        Send \m\c        The \m turns on carrier checking. After a CONNECT
  507.                         is received, the modem should have carrier on.
  508.       
  509.                         The \c prevents a trailing CR from being sent.
  510.  
  511.   An explanation of the sample SCRIPTS script:
  512.  
  513.        in:--in: \L word: \P
  514.  
  515.   The fields of this script, in order:
  516.  
  517.        in:--in:        Expect a login: prompt. If we don't receive one
  518.                         in a reasonable time, send whatever lies between
  519.                         the -'s (in this case, nothing, which is really
  520.                         "nothing followed by a carriage return". All strings
  521.                         are followed by carriage returns unless terminated
  522.                         with a \c - see below). If the alternate had to be
  523.                         sent, wait for "in:" again, ad infinatum.
  524.  
  525.                         Note, for Waffle as it is supplied you would have
  526.                         to wait for the "Login or NEW:" string instead of
  527.                         login:. You can abbreviate the expect to "NEW:".
  528.  
  529.        Send \L          Sends our login name ("username"), as found
  530.                         in the "SYSTEMS" file.
  531.  
  532.                         If you know this should work but does not, try
  533.                         appending a carriage return \r to the end (I
  534.                         understand this may be the case with some System V's).
  535.  
  536.        Expect word:     Look for the string "Password:" or "password:".
  537.  
  538.        Send \P          Send our password, as found in the "SYSTEMS" file.
  539.  
  540.  
  541. Notes
  542.  
  543.   o  Blank lines and lines beginning with # are comments.
  544.  
  545.   o  An entry may be continued on the next line by placing
  546.      whitespace at the beginning of each extra line.
  547.  
  548.      The line length allowed is quite long.
  549.  
  550.   o  Special characters in Expect/Send sequences. Some of these are
  551.      only relevant to "send" sequences, such as \c or \d.
  552.  
  553.      \b    Send or expect a backspace ^H.
  554.  
  555.      \c    Omit normal CR after the end of a send string.
  556.  
  557.      \d    Delay. Useful for long distance systems, where dialing may
  558.        timeout because of the time it takes to startup a connection.
  559.        Also use when remote system is losing some of your characters.
  560.        Each \d sleeps two seconds.
  561.  
  562.      \n    Send or expect a linefeed ^J.
  563.  
  564.      \r    Send or expect a carriage return ^M.
  565.  
  566.      \s    Send or expect a space character.
  567.  
  568.      \t    Send or expect a tab ^I.
  569.  
  570.      \\    Send or expect the backslash character.
  571.  
  572.      \T    Send telephone number (found in systems file).
  573.  
  574.      \L    Send login name (found in systems file).
  575.  
  576.      \P    Send password (found in systems file).
  577.  
  578.      \m    Turn on carrier checking for the duration of
  579.            the scripts (do this usually after a CONNECT.)
  580.  
  581.      \M    Turn off carrier checking. Carrier checking is still
  582.            turned on after the connection is complete.
  583.  
  584.      \K    Send a break. Same as "BREAK". Preferred, actually.
  585.  
  586.   o  Control characters not present above may be specified as octal
  587.      constants, of the form \000; up to three digits may be given.
  588.      For example, ESC is \033, and ^E is \005 or \5.
  589.  
  590.   o  If a send string consists of "BREAK", a break is sent over the
  591.      modem. This is often necessary in systems that use breaks to cycle
  592.      modem speed, such as some Xenix implementations. In this case, a
  593.      expect/send sequence might consist of in:-BREAK-in:-BREAK-in: or
  594.      something similar; on not finding the "login:", it cycles to the
  595.      next modem speed.
  596.  
  597.      Similarly, the "EOT" keyword will send an EOT-newline twice.
  598.  
  599.   o  To change parity within the expect/send scripts, send the
  600.      P_EVEN, P_ODD, and P_NONE (or P_ZERO) keywords to the modem.
  601.  
  602.      Do not use any of the above unless it is necessary.
  603.  
  604.      UUCP requires a 8 bit, no parity, 1 start bit connection
  605.      to function; the line will thus be set to 8N1 before starting
  606.      the G protocol. These options are provided to enable access
  607.      through terminal servers which need specific parity settings.
  608.  
  609.      In most cases they will not be necessary even if you are
  610.      dialing a system with even parity.
  611.  
  612.  
  613. RUNNING UUCICO IN MASTER ROLE - DIALING OUT
  614.  
  615. Running in "master role" refers to using UUCICO to initiate a transaction
  616. with a remote Unix system. Uucico dials a phone number, negotiates through
  617. any login sequence (such as username, password, etc) and connects to the
  618. remote uucico. The two systems then exchange names, and agree on various
  619. protocol questions.
  620.  
  621. Example:
  622.  
  623.    uucico -s uunet    Poll uunet. UUCICO will send them any files that
  624.             are queued. After this is completed, uunet will
  625.             send any files they have queued for us.
  626.  
  627.    uucico -s abc,xyz    Call systems abc and xyz.
  628.  
  629.    uucico -s all    Calling all systems..
  630.  
  631. There are several schemes to connect to your neighbors by dialing out.
  632.  
  633.   o  Call all systems, usually on a regular basis
  634.  
  635.      Place in your POLL.BAT file lines something like
  636.  
  637.     uucico -s system1
  638.     uucico -s system2
  639.  
  640.      If one of the systems is BUSY, the connection will
  641.      have to wait until the next polling time.
  642.  
  643.   o  Call neighbors only when they have work queued
  644.  
  645.     uucico -s any
  646.  
  647.      The main difficulty with this method: If the neighbor
  648.      has traffic queued for you but does not call you, it
  649.      may be quite some time before it is delivered.
  650.  
  651.   o  Create null requests in the spool queue
  652.  
  653.      Have something place blank POLL.CMD files in the
  654.      directories for each system you want to poll. This
  655.      will cause traffic to be queued even if there would
  656.      normally be no traffic in the queue.
  657.  
  658.        rem > C:\SPOOL\ozone\POLL.CMD
  659.        rem > C:\SPOOL\oxide\POLL.CMD
  660.  
  661.        uucico -s any
  662.  
  663.      After a successful connection, any POLL.CMD command
  664.      file will be removed. This last statement can thus be
  665.      repeated until all the POLL.CMD files have been, and
  666.      therefore all systems have been connected to.
  667.  
  668.      You can use "-s any" in conjunction with the -rX option,
  669.      to retry X number of times.
  670.  
  671.  
  672. RUNNING UUCICO IN SLAVE ROLE - ANSWERING
  673.  
  674.   Set up an account in Waffle with the following parameters:
  675.  
  676.      User: uucp
  677.      Password: (some password)
  678.        Access: -2
  679.     Shell: #exit 40
  680.  
  681.   At minimum, UUSHELL.BAT should contain:
  682.  
  683.      uucico -r0
  684.      uuxqt
  685.  
  686.   You should assign an individual account for each site that will
  687.   be polling your system; using a single account for all incoming UUCP
  688.   connections is a security problem. In most cases the account name
  689.   should match your neighbor's machine name, or have a 'uu' placed
  690.   before it (eg, machine "elf" uses account "uuelf").
  691.  
  692.   For a UUCP connection dialing in, Waffle will attempt to determine
  693.   the incoming speed by either checking the COMM port or the FOSSIL
  694.   driver. If your FOSSIL driver does not support this (for instance,
  695.   the X00 driver), you must use the -b2400 option in the command line.
  696.  
  697.   The remote Unix system should put an entry for your system in their
  698.   L.sys file, containing an expect/send sequence something similar to
  699.  
  700.       NEW:--NEW:--NEW: uucp word: xanadu8
  701.                        ^^ account ^^ password
  702.  
  703.   as their "chat script", with the account and password you have
  704.   assigned. Assign unique accounts & passwords to each of your UUCP
  705.   neighbors if you can.
  706.  
  707.   Set the access to these accounts to -2 to prevent their appearance
  708.   in the caller log and to disable time limit checking.
  709.  
  710.   Among the interesting things we've heard that people have done with
  711.   the UUSHELL.BAT file are placing a command between the uucico and
  712.   uuxqt to send the modem an "AT H1" sequence to take the phone offhook;
  713.   this is useful for sites with large newsfeeds or mail volume.
  714.  
  715.  
  716. UUCP ERROR MESSAGES
  717.  
  718.   Problems on the remote host or with your configuration will
  719.   sometimes result in a useful error message. Usually, however, it
  720.   will merely result in things "not working", meaning an error
  721.   message that isn't comprehensible, or one of the systems dropping
  722.   the connection.
  723.  
  724.   Some of the more common, useful error messages are:
  725.  
  726.   Can't Tango - Reason:, where the reason is one of
  727.  
  728.     RLCK      The remote system has a lock in place for
  729.           your system. Either it is trying to call you,
  730.           or it hasn't reset itself from a dropped
  731.           connection. Try again in 5 minutes or so.
  732.  
  733.     RLOGIN      The remote system is refusing to allow your
  734.           system to connect to it. Often this is a
  735.           result of your system not having an entry
  736.           in their "Permissions" or similar access
  737.           control file.
  738.  
  739.           Please note that if you receive a RLOGIN message,
  740.           IT IS ALMOST ALWAYS A CONFIGURATION PROBLEM
  741.           ON THE REMOTE SYSTEM. You must contact the
  742.           administrator of that system to fix the problem.
  743.  
  744.     RCB      Their system will call yours; this feature
  745.           of UUCP is not used very often.
  746.  
  747.     RBADSEQ      Sequence numbers do not match. Waffle doesn't
  748.           support sequence numbers, and most UUCP
  749.           implementations do not either. The remote
  750.           system must change its configuration for you.
  751.  
  752.     RYou are unknown to me
  753.  
  754.           Your system is not in their "systems" file.
  755.           Occurs because of a number of reasons:
  756.  
  757.             o  You are attempting an unauthorized
  758.                connection, and should be spanked. Or
  759.                you just aren't in their "systems" file.
  760.  
  761.             o  Your system name is not being understood
  762.                by their system; possibly it is being
  763.                truncated or misspelled.
  764.  
  765.             o  Line noise has occurred during the
  766.                handshaking sequence.
  767.  
  768.   Failures on file reception (we are on the receiving end):
  769.  
  770.         RN2       The system you have requested a file from cannot
  771.                   find the file, or permission is denied.
  772.  
  773.   Failures on file transmission (we are on the sending end):
  774.  
  775.         SN2       Target file can't be created. Usually, this
  776.                   is due to a permissions problem.
  777.  
  778.         SN4       Problem creating the workfile.
  779.  
  780.         CN5       The system you have sent a file to is having
  781.                   problems moving a file into its final location.
  782.  
  783.  
  784. TUNABLE PARAMETERS IN THE STATIC FILE
  785.  
  786.   In addition to those described above, there are several more tunable
  787.   parameters available as "advanced options". They are not required
  788.   in the static file, and most people won't need them.
  789.  
  790.     uu.alive    Time before UUCICO generates a fatal
  791.             timeout, and terminates connection. By
  792.             default this is 90 seconds.
  793.  
  794.         uu.between      Similar to uu.retrytime, but used between
  795.                         multiple entries for the same host in the
  796.                         systems file. By default this is 10 seconds.
  797.  
  798.         uu.debug        Default debug level, equivalent to the -x
  799.             command line option. Included here mainly
  800.             for debugging purposes.
  801.  
  802.     uu.delay    Timeout delay during g protocol transfers.
  803.             For heavily loaded hosts, possibly in
  804.             combination with low speed links, setting
  805.             this higher is sometimes necessary.
  806.  
  807.             You should not change this unless you
  808.             are experiencing repeated **timeout errors.
  809.             The default is 16 seconds, which is long.
  810.  
  811.     uu.driver    Which COMM driver uucico will use. Valid
  812.             choices are "native" and "fossil". This
  813.             line must come AFTER any "driver" statement
  814.             in the static file.
  815.  
  816.             UUCICO will also recognize a "driver"
  817.             statement if present; the uu.driver is
  818.             intended to override this if necessary.
  819.  
  820.             Refer to DOS.DOC for more information.
  821.  
  822.         uu.drops        Strings that when received from the modem,
  823.                         cause premature termination of chat scripts.
  824.                         Underscores in these are converted to spaces.
  825.  
  826.                         The default setting is BUSY NO_CARRIER NO_DIALTONE.
  827.  
  828.         uu.errors       Number of errors before aborting a uucico
  829.             session. Normally set to 200, set this
  830.             higher if you are transferring very large
  831.             files over a noisy link.
  832.  
  833.     uu.exit        Program exit status ("errorlevel") for
  834.             successful transactions; this means at
  835.             least one completed connection.
  836.  
  837.     uu.fail        Exit status for failure, meaning either
  838.             a configuration problem or no connections
  839.             were successful.
  840.  
  841.             Both uu.exit and uu.fail are intended
  842.             for interfacing with other programs.
  843.  
  844.         uu.grade        Default grade at which transfers are performed.
  845.                         The -g parameter will override this.
  846.  
  847.                         By default, no grades are set, and all
  848.                         files queued will be transferred.
  849.  
  850.         uu.handshake    Time, in seconds, to wait for responses
  851.                         during the uucico handshake sequence. Raise
  852.                         this if you get "Startup timed out waiting
  853.                         for remote system" because of a loaded
  854.                         machine on the other end of the connection.
  855.  
  856.             By default, this is set to 30.
  857.  
  858.         uu.locked       Speed at which to lock the modem<->computer
  859.                         connection. Used for some high speed connections.
  860.  
  861.         uu.retries      Default number of retries when polling.
  862.                         Normally 1, this can also be overridden with
  863.                         the -r command line option.
  864.  
  865.         uu.retrytime    Time to wait in seconds between retries. By
  866.                         default this is 10 seconds, which is long enough
  867.                         for most modems to reset for the next call.
  868.  
  869.     uu.time        For expect/send sequences, the default
  870.             timeout before aborting or sending an
  871.             alternate. Equivalent to -t.
  872.  
  873.         uu.visual       Debug level for screen output. By default
  874.                         this is the same as uu.debug, and vice versa.
  875.  
  876.         uu.windows      Maximum number of windows for G protocol.
  877.                         Normal settings are 3 or 7. By default this
  878.                         is 7. If you have very noisy lines, setting
  879.                         to 3 may be more efficient.
  880.  
  881.  
  882. USING UUCP TO TRANSFER FILES
  883.  
  884. o  Transferring files
  885.  
  886.    The UUCP.EXE program allows files to be transmitted to and from
  887.    any neighboring Unix or Waffle system, via the DOS command line.
  888.  
  889.    To "push" a file from DOS to the remote Unix machine:
  890.  
  891.     uucp filename.here unix!~/filename.there
  892.  
  893.    To "pull" a file into DOS off the remote unix machine:
  894.  
  895.     uucp unix!~/filename.there filename.here
  896.  
  897.    In both these examples, "unix" refers to the name of the
  898.    remote Unix machine, "filename.here" refers to a DOS filename,
  899.    and "filename.there" refers to the file on the Unix machine.
  900.  
  901.    You may also issue UUCP commands from the Unix machine in
  902.    a similar manner; you may have to specify a full directory
  903.    path in some instances (behavior is slightly different).
  904.  
  905. o  Command line options available
  906.  
  907.    These must be specified before the remainder of the
  908.    command; for example "uucp -C -j foo.bar them!~/foo.bar".
  909.  
  910.     -C    Copy file into a temporary file located
  911.         in the spool directory. This is useful if
  912.         you intend to delete the original before
  913.         the actual transfer occurs.
  914.  
  915.     -j    Print job number as it is queued.
  916.  
  917.     -u    Specify the sender's username. By default,
  918.         this is set to "uucp", which is sufficient
  919.         ok for most purposes. Example "-uroot".
  920.  
  921. o  Caveats when using the UUCP.EXE program
  922.  
  923.    Currently Waffle will only allow you to transfer remote files
  924.    into the /spool/public directory, or any of its subdirectories.
  925.    Files being "pushed" over must still exist at the time of
  926.    transfer, or the action will fail.
  927.  
  928.    On Unix systems generally you will use the /usr/spool/uucppublic
  929.    directory in the same manner as /spool/public. Using other
  930.    than the ~/ directory (~/ is a shorthand for "home directory")
  931.    will usually result in a permission problem.
  932.  
  933.    Uucico must be run with the -w option to fully activate these
  934.    features, to override Waffle's security. Multiple hops are not
  935.    supported by the UUCP command. Transferring to directories
  936.    other than ~/ is not guaranteed.
  937.  
  938.    Do not use the -a option with normal connections. It is intended
  939.    for use only with special anonymous UUCP-only accounts. The -a
  940.    will prevent unauthorized mail or news from being injected into
  941.    the network from unscrupulous parties.
  942.  
  943.  
  944. THE UUX PROGRAM - SENDING EXECUTION REQUESTS
  945.  
  946.    UUX is used to request execution of a command on a remote Unix
  947.    system. Most requests are either rnews or rmail, and UUX is
  948.    automatically invoked by RMAIL and RNEWS.
  949.  
  950.    An arbitrary command may be executed on a remote node by
  951.    using the syntax
  952.  
  953.     uux camden!lpr < filename
  954.  
  955.        Prints "filename" on remote UUCP node "camden". Note
  956.        that camden must allow remote execution of lpr; by
  957.        default it does not.
  958.  
  959.        You can request than any command be executed; more
  960.        often than not, however, the request will be denied
  961.        unless steps have been made to specifically allow it.
  962.  
  963.    Command line options available are
  964.  
  965.         -b      Set binary mode on file transfers. By default,
  966.                 translation to Unix carriage return format is
  967.                 done; the -b option overrides this.
  968.  
  969.         -i      Take input from specified file, which MUST be
  970.                 on the same device (it may be in a different
  971.                 directory however.) The file is renamed into the
  972.                 spool queue, and thus vanishes from its original
  973.                 location. This option is for performance; it
  974.                 will avoid copying the file.
  975.  
  976.     -j    Print job number as it is queued.
  977.  
  978.     -p    Force the use of standard input. Normally,
  979.         standard input is not read from unless there
  980.         is redirection or piping involved.
  981.  
  982.     -u    Specify the username of the sender. With Waffle
  983.         this is usually "-u%A"; it is not required.
  984.  
  985.         -v      Verbose mode; includes some extra debug info.
  986.  
  987.    An example is "uux -j camden!lpr < file.txt".
  988.  
  989.    Static file configuration options uux.exit and uux.fail are
  990.    the success and failure codes returned, and by default are
  991.    zero and one respectively.
  992.  
  993.  
  994. THE UUXQT PROGRAM - PROCESSING INCOMING JOBS
  995.  
  996.    The UUXQT program is responsible for determining how to process
  997.    incoming traffic. Options available at the command line are:
  998.  
  999.         -c      Selectively execute commands. This is useful
  1000.                 when you want to delay the processing of news:
  1001.  
  1002.                         uuxqt -crmail
  1003.  
  1004.                 processes incoming mail only. Jobs other than
  1005.                 rmail's can then be processed later.
  1006.  
  1007.         -f      Set disk space requirements for running UUXQT, if
  1008.                 you need "slack space" for any reason.
  1009.  
  1010.                 The syntax is -f(disk)=(bytes), for example,
  1011.  
  1012.                         uuxqt -fD=200000
  1013.  
  1014.                 Will require drive "D:" to have at least 200K space
  1015.                 available before processing any incoming jobs.
  1016.  
  1017.                 Multiple disks may be handled by multiple -f's.
  1018.  
  1019.                 Use of this option will usually require manual
  1020.                 intervention if the free disk space should fall below
  1021.                 any requirements you've set.
  1022.  
  1023.                 By default, there are no requirements.
  1024.  
  1025.         -s      The -s(site) option to UUXQT permits received jobs to be
  1026.                 processed for only a single site, regardless of whether
  1027.                 there are other sites with jobs waiting. The default is to
  1028.                 process jobs from all sites.
  1029.  
  1030.         -v      Run in verbose mode, slightly more information.
  1031.  
  1032.    UUXQT deletes jobs after they are successfully completed.
  1033.  
  1034.    If you are having trouble with an individual job, it may be useful
  1035.    to feed the job manually into RNEWS or RMAIL to see what the problem
  1036.    is; it may be necessary to delete the job altogether.
  1037.  
  1038.    Exit codes returned to DOS by UUXQT are
  1039.  
  1040.         0       Normal exit.
  1041.         1       An error in the configuration.
  1042.         2       Disk space requirements in -f exceeded.
  1043.  
  1044.    Note that failure of a job to execute is not considered an error,
  1045.    as this will happen occasionally during normal operation.
  1046.  
  1047.    "...one of the main causes of the fall of the Roman Empire was
  1048.        that, lacking zero, they had no way to indicate successful
  1049.        termination of their C programs..."
  1050.  
  1051.    Unknown, quoted by Robert Firth.
  1052.  
  1053.  
  1054. INSPECTING THE SPOOL QUEUE WITH UUQ
  1055.  
  1056.    UUQ tells us what is currently queued for all the systems
  1057.    with which there exists pending traffic. A typical response
  1058.    from a system that has multiple connections:
  1059.  
  1060.         uuwest: 4 jobs queued
  1061.         --------------------------------------------------------------
  1062.         0817   root     26 Jan 17:19     583   rmail vid@darkside.com
  1063.         0818   uucp     26 Jan 17:25    1449   rmail uuwest!alex
  1064.         0819   usenet   26 Jan 20:31   50190   rnews
  1065.         0820   usenet   26 Jan 20:32   10441   rnews
  1066.  
  1067.         yahoo: 1 job queued
  1068.         --------------------------------------------------------------
  1069.         0816   uucp     25 Jan 23:02    2241   rmail yahoo!gestapo
  1070.  
  1071.    You may also specify a system for which you want to look at
  1072.    traffic, the syntax for this is "uuq uuwest".
  1073.  
  1074.    Passthrough traffic will also be displayed. However, incoming
  1075.    jobs that have not been processed by UUXQT will NOT be displayed.
  1076.  
  1077.    Command line options available to UUQ are:
  1078.  
  1079.         -d      Delete a job from the spool queue. Give the
  1080.                 job number as an argument. For example,
  1081.  
  1082.                         uuq -d5150
  1083.  
  1084.                 results in the message
  1085.  
  1086.                         Job 5150 (uuwest) deleted.
  1087.  
  1088.                 If the -u option is given as well, only jobs
  1089.                 created by that user can be deleted.
  1090.  
  1091.         -s      View job information for a specific host.
  1092.                 By default, information is displayed for all hosts.
  1093.  
  1094.                 Note "uuq vox" is equivalent to "uuq -svox".
  1095.  
  1096.         -t    Includes totals at bottom of columns. Shown are
  1097.                 the total number of files and total bytes queued.
  1098.  
  1099.         -u      Restrict display of files to a specific user,
  1100.                 for example, the command
  1101.  
  1102.                         uuq -udan
  1103.  
  1104.                 will only show full details on jobs created by the
  1105.                 user "dan". For jobs owned by other users, the owner
  1106.                 and command are not shown.
  1107.  
  1108.  
  1109. LOGGING AND DEBUG LEVELS
  1110.  
  1111.   For really advanced users only.
  1112.  
  1113.   o  /waffle/admin/uucico
  1114.  
  1115.      Waffle UUCICO writes to the /waffle/admin/uucico as it proceeds.
  1116.      Under normal circumstances, only a modicum of information will be
  1117.      written there -- this is when the debug level is 4 or less.
  1118.  
  1119.      The -x switch, or 'uu.debug:' static file parameter control how
  1120.      much information is written to the log.
  1121.  
  1122.         -x0     Minimal information. Not recommended.
  1123.  
  1124.         -x1
  1125.  
  1126.         -x2
  1127.  
  1128.         -x3     Logs individual file transfers and statistics.
  1129.                 * This is the recommended level.
  1130.  
  1131.         -x4     Includes "interfile" messages, and also detail
  1132.                 of the connection scripts. This is the
  1133.                 highest setting to use under normal usage.
  1134.  
  1135.      And with regards to the packet engine:
  1136.  
  1137.         -x5     Information about certain interesting packet
  1138.                 driver events.
  1139.  
  1140.         -x6     A trail of all packets sent or received,
  1141.                 their numbers and types.
  1142.  
  1143.         -x7     Includes a dump of the "g" protocol packet
  1144.                 headers.
  1145.  
  1146.         -x8     Includes a raw dump of all data transferred.
  1147.                 This causes the UUCICO logfile to grow enormous.
  1148.  
  1149.         -x9     Far too much information to be useful.
  1150.  
  1151.      When running, if anything above -x5 is displayed to the screen,
  1152.      throughput will suffer considerably due to the high overhead of
  1153.      screen I/O. Use -v4 to cut this down.
  1154.  
  1155.   o  /waffle/admin/uulog
  1156.  
  1157.      File transfers that don't match Waffle's idea of news or mail
  1158.      batches are written to the UULOG file. Example:
  1159.  
  1160.         03-Jan-92 00:36 lugnut | ACCEPTED | S C:/PUBLIC/WAF165.ZIP
  1161.         03-Jan-92 00:38 ozone  | ACCEPTED | R ~/read.me
  1162.  
  1163.      This is particularly useful if you provide anonymous UUCP.
  1164.      Denied transfers are also logged in this file.
  1165.  
  1166.  
  1167. THE PERMITS FILE
  1168.  
  1169. The permits file is checked in the order
  1170.  
  1171.         1. The -p flag given on the command line.
  1172.  
  1173.         2. A permit matching the system name.
  1174.  
  1175.         3. The "default" permit.
  1176.  
  1177. You shouldn't have to change the permits file unless
  1178. you're doing strange things (poweruser stuff).
  1179.  
  1180. Options available in the permits file. Note, not all of these
  1181. are fully implemented.
  1182.  
  1183.         /system         The system name associated with
  1184.                         this permit. Can be wildcarded as
  1185.                         /system=known or /system=any.
  1186.  
  1187.         /commands       Commands that can be executed by
  1188.                         uuxqt for this permit. (This isn't
  1189.                         implemented, and may change..)
  1190.       
  1191.         /account        Account that may use this permit.
  1192.                         Can be wildcarded as /account=any.
  1193.  
  1194.         /download       UUCP sending directory for files
  1195.                         other than D.* or X.*. A subdirectory
  1196.                         of the "spool" directory unless
  1197.                         a full pathname is given.
  1198.  
  1199.         /upload         UUCP receiving directory.
  1200.                         See /download.
  1201.  
  1202.         /time           Times that incoming connections are
  1203.                         permitted. Mainly for anonymous UUCP.
  1204.                         The format is the same as that of
  1205.                         the /waffle/uucp/systems time field.
  1206.  
  1207.         /speed          Minimum speed permitted for this
  1208.                         system when dialing in.
  1209.  
  1210.  
  1211. BEYOND MAIL AND NEWS
  1212.  
  1213.   The UUXQT program will execute RMAIL or RNEWS as appropriate,
  1214.   which is all that is normally required for most UUCP connections.
  1215.   However, certain custom applications may require additional
  1216.   commands to be executed (by using UUX on the remote system.)
  1217.  
  1218.   The "uuxqt:" variable in the static file specifies what
  1219.   commands can be executed by UUXQT. The default is set to
  1220.  
  1221.     uuxqt :  rmail rnews
  1222.  
  1223.   If an additional command is needed, for instance a command to
  1224.   print a file on the DOS printer, add an entry to this line:
  1225.  
  1226.     uuxqt :  rmail rnews lpr
  1227.  
  1228.   Whenever one of these commands is encountered by UUXQT, it
  1229.   will execute the command in the "bin" directory with the same
  1230.   name; "lpr" would execute C:\WAFFLE\BIN\LPR.EXE.
  1231.   
  1232.  
  1233. GRADES
  1234.  
  1235.   This section describes behavior when the -g option is used with
  1236.   UUCICO to transfer only subsets of files. The reason to do this is
  1237.   usually to restrict news transfers to certain hours due to cost.
  1238.   RMAIL jobs can thus be transferred during the day, and both RMAIL
  1239.   and RNEWS jobs at night.
  1240.  
  1241.   Grades are single characters, and are part of the filenames kept
  1242.   in the spool directories. DOS does not differentiate between case in
  1243.   filenames so we have chosen a different approach to this than Unix.
  1244.   But, when you give a grade as a parameter to UUCICO, case is then
  1245.   significant to the Unix system.
  1246.  
  1247.   When a grade is set, only files of that grade are transferred. If
  1248.   you want to transfer multiple grades during a single session,
  1249.   specify multiple grades in the -g parameter.
  1250.  
  1251.   For example, take the common situation where we want to use grades
  1252.   to restrict news transmissions until afterhours, to save money.
  1253.  
  1254.         Either set 'newsgrade' in the static file to N, or modify
  1255.         /waffle/extern/_system to have -gN on the "news" line.
  1256.  
  1257.                 newsgrade : N
  1258.  
  1259.         Similarly, set the 'mailgrade' to C, or modify the _system
  1260.         file to have -gC on the "mail" line.
  1261.  
  1262.                 mailgrade : C
  1263.  
  1264.         When polling, use the appropriate command line
  1265.  
  1266.                 In daytime,     uucico -ssystem -gC
  1267.                 At night,       uucico -ssystem -gCN
  1268.  
  1269.         You might add the static file parameter 'uu.grade' to default
  1270.         to transfer only mail, the cheapest.
  1271.  
  1272.                 uu.grade : C
  1273.  
  1274.   Under normal circumstances, grades are not used, and files will not
  1275.   have grades attached to them. We reserve the right to change this
  1276.   behavior (making grades mandatory); if you are writing software that
  1277.   depends on the filenames in the spool directories make sure that it
  1278.   can handle grades properly.
  1279.  
  1280.   Grades are part of the job number, so if you want to delete a
  1281.   graded job, include the grade as part of the UUQ -d(job).
  1282.  
  1283.  
  1284. WAFFLE'S FILENAME MUNGING
  1285.  
  1286.   This section is included for informational purposes, and for
  1287.   those writing any bizarre gateway software.
  1288.  
  1289.   Files are placed in a directory beneath the spool directory
  1290.   underneath /spool named for the corresponding system. Files for
  1291.   a system "elf" would thus be in /spool/elf.
  1292.  
  1293.   Outgoing files are assigned numbers from the SEQF file in an
  1294.   incremental fashion. These files are not munged in any fashion.
  1295.   For example, Job 3061 queued for elf would appear as:
  1296.  
  1297.         /SPOOL/ELF/3061.DAT    Data file
  1298.     /SPOOL/ELF/3061.XQT    UUCP job control file
  1299.     /SPOOL/ELF/3061.CMD    Call file
  1300.  
  1301.   Incoming files are munged because the Unix filenames do not fit
  1302.   DOS naming conventions. A Unix UUCP filename may look something
  1303.   like D.systemXm2L1 or D.systemBC0312; there are a variety of
  1304.   other formats that are possible as well.
  1305.  
  1306.   For conversion, the prefix is moved to the end of the filename,
  1307.   and the system name is stripped off. An extra byte is added to
  1308.   prevent collisions due to DOS's handling (or lack thereof) of
  1309.   mixed case filenames.
  1310.  
  1311.     D.ozoneBC0312   ->   /SPOOL/OZONE/0BC0312.D
  1312.     X.ozoneBC0312   ->   /SPOOL/OZONE/0XC0212.X
  1313.  
  1314.   You will notice a leading "0" before the filename. This is a
  1315.   bitmask of the alphabetic case of the remaining characters.
  1316.  
  1317.   In this example below, the bitmasks are "4" and "6" respectively:
  1318.  
  1319.         D.ozoneB7n72    ->   /SPOOL/OZONE/4S7N72.D
  1320.     X.ozoneX7pt0    ->   /SPOOL/OZONE/6X7PT0.X
  1321.  
  1322.   To construct the bitmask, give all lowercase characters a value
  1323.   of 1 and all uppercase or numeric value 0; do not include the
  1324.   hostname when forming the bitmap. Also use only the last five
  1325.   characters when constructing the bitmask. When taken together, the
  1326.   the numeric value of the bitmask is the value of the leading byte.
  1327.   If this exceeds 9, use the letters A through Z as necessary.
  1328.  
  1329.   One nice thing about this is that the leading byte will often
  1330.   equal zero, particularly in the common case where the filename
  1331.   is completely numeric or uppercase.
  1332.  
  1333.  
  1334. SETTING NONSTANDARD PACKET SIZES
  1335.  
  1336.   For really advanced users only.
  1337.  
  1338.   Under some circumstances, performance may be increased by
  1339.   using a larger packet size. This is particularly true with V.32
  1340.   and also certain "half channel" modems.
  1341.  
  1342.   The default -k size is 64. Valid -k sizes are powers of two: 64, 128,
  1343.   256, etc. The maximum allowed currently is 512. Even then, use 256.
  1344.  
  1345.   Note that the site with the lowest -k setting will get its way.
  1346.   Thus both sides must set -k in order for it to be enabled.
  1347.  
  1348.   If you do use -k, set uu.windows to 3. Do this for several reasons:
  1349.  
  1350.   o  Error handling will be faster since whenever an error occurs,
  1351.      only 3 packets (3 * 256 = 768 bytes) instead of 7 (7 * 256 = 1792)
  1352.      need to be retransmitted.
  1353.  
  1354.   o  The interrupt buffers will probably overflow causing untold
  1355.      misery. Throughput is reduced to a negligible trickle, and you
  1356.      will start to hate yourself.
  1357.  
  1358.      Also, if you use a FOSSIL driver, be sure to adjust those
  1359.      buffers high enough that overruns do not occur.
  1360.  
  1361.   o  Performance increase of 7 over 3 becomes less relevant with
  1362.      larger packet sizes.
  1363.  
  1364.   Some important caveats before you jump ahead:
  1365.  
  1366.   o  You CANNOT use this option with traditional Unix UUCP's (they
  1367.      may even accept the larger packet size and then crash.) However,
  1368.      you can -k with other Waffle systems.
  1369.  
  1370.   o  Do not use this if you are talking Telebit<->Telebit. Instead,
  1371.      enable spoofing as described in the TELEBIT.DOC file.
  1372.  
  1373.   o  This has only been tested Waffle<->Waffle. DECUS UUCP for VAX/VMS
  1374.      is rumoured to support these larger packet sizes.
  1375.  
  1376.   For those who play with this feature, we'd like to know your results.
  1377.  
  1378.  
  1379. LIMITATIONS AND PARANOIA
  1380.  
  1381.   UUCICO will not operate in "standalone" mode. It does not know how to
  1382.   answer the phone (and never will), so you must have a frontend program.
  1383.  
  1384.   For those who insist on attempting to multitask under DOS, please
  1385.   don't. You have better things to do with your time. Run your BBS on
  1386.   SCO Xenix.. you'll be much happier.
  1387.  
  1388.   The following 1.64 command line parameters were deleted in 1.65;
  1389.   it is important to update any BAT files as appropriate:
  1390.  
  1391.   -a   Anonymous is no longer used. To support anonymous UUCP, read
  1392.        the section regarding the PERMITS file.
  1393.  
  1394.   -q   Quiet mode has been replaced by the -v Visual debug level.
  1395.  
  1396.   -w   Trusted is no longer used. Functionality can be found
  1397.        in the PERMITS file.
  1398.  
  1399. --
  1400. dell@vox.darkside.com
  1401. (C) Copyright 1992 Darkside Int'l
  1402.