216 lines
9.0 KiB
Plaintext
216 lines
9.0 KiB
Plaintext
This is the README file for version 1.03 of the Taylor UUCP package.
|
|
|
|
It was written by Ian Lance Taylor. I can be reached at ian@airs.com,
|
|
or, equivalently, uunet!airs!ian, or c/o Infinity Development, P.O.
|
|
Box 520, Waltham MA, 02254.
|
|
|
|
There is a mailing list for discussion of the package. To join the
|
|
list, send a message to taylor-uucp-request@gnu.ai.mit.edu. Make sure
|
|
you include the address at which you want to receive messages; do not
|
|
rely on the From: header. To send a message to the list, send it to
|
|
taylor-uucp@gnu.ai.mit.edu.
|
|
|
|
This package is covered by the Gnu Public License. See the file
|
|
COPYING for details. If you would like to do something with this
|
|
package that you feel is reasonable but you feel is prohibited by the
|
|
license, contact me to see if we can work it out.
|
|
|
|
WHAT IT IS
|
|
|
|
This is the complete source code for a Unix UUCP package. It provides
|
|
everything you need to make a UUCP connection. It includes versions
|
|
of uucico, uuxqt, uux, uucp, uustat, uulog and uuname, as well as
|
|
uuchk (a program to check configuration files) and tstuu (a test
|
|
harness for the package).
|
|
|
|
The Free Software Foundation plans to make this their standard UUCP
|
|
package.
|
|
|
|
The package currently supports the 'f', 'g' (in all window and packet
|
|
sizes), 't' and 'e' protocols. If you have a Berkeley sockets
|
|
library, it can make TCP connections. It supports a new configuration
|
|
file mechanism which I like (but other people dislike).
|
|
|
|
The package has a few advantages over regular UUCP:
|
|
|
|
You get the source code.
|
|
|
|
It uses significantly less CPU time than most UUCP packages.
|
|
|
|
You can specify a chat script to run when a system calls in,
|
|
allowing adjustment of modem parameters on a per system basis.
|
|
|
|
You can specify failure strings for chat scripts, allowing the
|
|
chat script to fail immediately if the modem returns ``BUSY''.
|
|
|
|
If you are talking to another instance of the package, you can
|
|
restrict file transfers by size based on the time of day and who
|
|
placed the call.
|
|
|
|
On the other hand:
|
|
|
|
It only runs on Unix. The code is carefully divided into system
|
|
dependent and system independent portions, so it should be
|
|
possible to port it to other systems. It would not be trivial.
|
|
|
|
You don't get uusched, uuclean, uusend, uuq, uusnap, uumonitor,
|
|
uuto, uupick, uutry, uupoll, etc. If you have current copies of
|
|
these programs, you may be able to use them. I expect to
|
|
eventually write some form of uusched and uuclean, though uuclean
|
|
especially may not resemble the usual version. I believe the
|
|
supplied uustat program allows you to do everything that uuq,
|
|
uusnap and uumonitor do. uuto, uupick, uutry and uupoll can be
|
|
done as shell scripts.
|
|
|
|
The package does not read modemcap or acucap files, although you
|
|
can use V2 configuration files with a BNU Dialers file or a dialer
|
|
file written in my new configuration file format.
|
|
|
|
The package cannot use BNU dialer programs directly, although it
|
|
can with a simple shell script interface.
|
|
|
|
There is no TLI support. Hopefully by the next version.
|
|
|
|
If you start using this package, I suggest that you join the mailing
|
|
list (see above) to keep up to date on patches and new versions. I am
|
|
also open to suggestions for improvements and modifications.
|
|
|
|
CHANGES SINCE 1.02
|
|
|
|
For a complete list, see ChangeLog. The man pages are only partially
|
|
updated for the beta release of 1.03. There is currently no man page
|
|
for uustat, uuname or uulog.
|
|
|
|
As usual, many bugs were fixed.
|
|
|
|
Several useful and interesting programs and scripts are provided
|
|
in the contrib directory. See contrib/README for details.
|
|
|
|
The programs uustat, uulog and uuname were added. uucp and uux
|
|
support a -j switch to provide a jobid which uustat can use to
|
|
remove the job.
|
|
|
|
Configuration can now mostly be done automatically by a shell
|
|
script. Adminstrative choices, as well as a few system parameters
|
|
the shell script cannot figure out, are made by editing a new
|
|
header file.
|
|
|
|
The code was successfully tested on a System III machine with a 16
|
|
bit processor (with segments; it would take work to pare the
|
|
executable size down to 64K).
|
|
|
|
Security was enhanced significantly. It should no longer be
|
|
possible to uucp a file to which the user does not have read
|
|
access. When accepting a uucp from a remote system, the
|
|
destination directory must be world writeable.
|
|
|
|
If a file cannot be sent to a remote system for some reason, it is
|
|
saved in a directory (typically /usr/spool/uucp/.Preserve) so the
|
|
UUCP administrator can do something with it.
|
|
|
|
Signal handling was improved and made much more reliable. uucico
|
|
will now handle a SIGHUP signal by terminating the current
|
|
session; if appropriate, it will go on to call another system.
|
|
uucico will attempt to acquire the communication port as a
|
|
controlling terminal in order to receive the SIGHUP. If uucico
|
|
receives a SIGINT signal, it will let the current session finish
|
|
but not start any new ones. If uuxqt receives a signal, it will
|
|
let the current job finish but not start any new ones. If uucp or
|
|
uux receive a signal, they will clean up any files they may have
|
|
created.
|
|
|
|
Debugging was improved, and individual types of debugging can now
|
|
be selected by name. The following types are known: chat,
|
|
handshake, protocol, port, config, spooldir, execute, incoming,
|
|
outgoing.
|
|
|
|
uucico and uuxqt may now be replaced by shell scripts even on
|
|
systems which can not exec shell scripts; the shell will be
|
|
invoked if necessary.
|
|
|
|
A new status type, ``wrong time to call'' is now be written to the
|
|
system status file.
|
|
|
|
The configuration files may now continue lines by using a
|
|
backslash as the last character of the line.
|
|
|
|
A new ``max-uuxqts'' command was added to the configuration file
|
|
to control that maximum number of uuxqt processes which may
|
|
execute simultaneously. If the code is compiled to support only
|
|
BNU configuration files, it will read the Maxuuxqts file to get
|
|
this value.
|
|
|
|
A new ``lockname'' command was added to the port file to allow
|
|
control over the lock file name used for that port.
|
|
|
|
A new ``protocol'' command was added to the port file to allow a
|
|
port to specify which protocols which should be used over it.
|
|
This allows support of the similar feature in the BNU Devices
|
|
file.
|
|
|
|
A retry time can now be specified with the ``time'' or
|
|
``timegrade'' commands.
|
|
|
|
A name may now be given to an alternate; this name will appears in
|
|
the log file when the alternate is used.
|
|
|
|
The TCP server code is somewhat more robust, but still has no way
|
|
to bind a reserved port.
|
|
|
|
The -U flag (maximum file size) produced by SVR4 UUCP is now
|
|
recognized and supported; Taylor UUCP will not produce it, as it
|
|
uses other mechanisms. File restart is not supported yet.
|
|
|
|
The default 'g' protocol window size was changed to 7.
|
|
|
|
The log file now records the port used on outgoing calls and the
|
|
login name and port used on incoming calls.
|
|
|
|
DOCUMENTATION
|
|
|
|
The documentation is in the file uucp.texi, which is a Texinfo file.
|
|
Texinfo is a format used by the Free Software Foundation. You can
|
|
print the documentation using TeX in combination with the file
|
|
texinfo.tex; neither are provided, but both are fairly readily
|
|
available. You can also read it as an Info file with GNU Emacs. If
|
|
these programs are not available, don't despair; the files
|
|
uucp.info-*, which were generated from uucp.texi by the GNU makeinfo
|
|
program, are easily readable by humans.
|
|
|
|
See the TODO file for things which should be done. Please feel free
|
|
to do them, although you may want to check with me first. Send me
|
|
suggestions for new things to do.
|
|
|
|
The compilation instructions are in uucp.texi. Here is a summary.
|
|
|
|
Edit Makefile.in to set installation directories.
|
|
|
|
Type ``sh configure''. You can pass a number of arguments in the
|
|
environment (using bash or sh, enter something like ``CC=gcc
|
|
configure''; using csh, enter something like ``setenv CC gcc; sh
|
|
configure''):
|
|
CC: C compiler to use; default is gcc -O if it exists, else cc
|
|
DEFS: Flags to pass to $CC for configure testing only; default none
|
|
CFLAGS: Flags to pass to $CC when compiling; default -g
|
|
LDFLAGS: Flags to pass to $CC when only linking; default none
|
|
LIBS: Library arguments to pass to $CC; default none
|
|
INSTALL: Install program; default install -c or cp
|
|
INSTALLDATA: Install data; default install -c -m 0644 or cp
|
|
The configure script will compile a number of test programs to see
|
|
what is available on your system, so if your system is at all
|
|
unusual you will need to pass in $CC and $LIBS correctly.
|
|
|
|
The configure script will create conf.h, and copy Makefile.in to
|
|
Makefile with substitutions. It will also create config.status,
|
|
which may be ignored.
|
|
|
|
Examine conf.h and Makefile to make sure they're right.
|
|
|
|
Edit policy.h for your local system.
|
|
|
|
Type ``make''.
|
|
|
|
Use ``uuchk'' to check configuration files.
|
|
|
|
Type ``make install'' to install.
|