0def918bed
in POSIX (setsid() is only way to do it) |
||
---|---|---|
.. | ||
common_sources | ||
contrib | ||
cu | ||
libunix | ||
libuuconf | ||
libuucp | ||
sample | ||
uuchk | ||
uucico | ||
uuconv | ||
uucp | ||
uulog | ||
uuname | ||
uupick | ||
uusched | ||
uustat | ||
uuto | ||
uux | ||
uuxqt | ||
ChangeLog | ||
COPYING | ||
Makefile | ||
Makefile.inc | ||
README | ||
TODO | ||
tstuu.c | ||
VERSION |
This is the README file for version 1.04 of the Taylor UUCP package. It was written by Ian Lance Taylor. I can be reached at ian@airs.com, or, equivalently, uunet!cygint!airs!ian, or c/o Cygnus Support, 4th Floor, Building 200, 1 Kendall Square, Cambridge MA, 02139, USA. There is a mailing list for discussion of the package. To join (or get off) the list, send mail to taylor-uucp-request@gnu.ai.mit.edu. Mail to this address is answered by a person, not a program. When joining the list, make sure you include the address at which you want to receive mail in the body of your message. 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, uusched, uuxqt, uux, uucp, uustat, uulog, uuname, uuto, uupick, and cu, as well as uuchk (a program to check configuration files), uuconv (a program to convert from one type of configuration file to another) 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), 'G', 't' and 'e' protocols, as well a Zmodem protocol and two new bidirectional protocols. If you have a Berkeley sockets library, it can make TCP connections. If you have TLI libraries, it can make TLI 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 many 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 use the new bidirectional protocol for rapid data transfer in both directions at once. You can also 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 uuclean, uusend, uuq, uusnap, uumonitor, uutry, uupoll, etc. If you have current copies of these programs, you may be able to use them. Shell scripts versions of uuclean and uutry are provided, with most, if not all, of the functionality of the usual programs. I believe the supplied uustat program allows you to do everything that uuq, uusnap and uumonitor do. uupoll could be written as a shell script. 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 SCO dialer programs directly, although it can with a simple shell script interface. 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.03 For a complete list, see ChangeLog. IMPORTANT: the default when talking to another version of 1.04 is to use the new bidirectional 'i' protocol. If you are using a half-duplex modem, such as a Telebit T2500, you will want to either mark the port as half-duplex with the ``half-duplex'' command, or force use of the 'g' protocol by using the ``protocol'' command in the sys or port file or by adding ``,g'' after the port name in the Systems or L.sys or Devices file. As usual, many bugs were fixed. Bidirectional transfers are supported with the new 'i' protocol; it requires an eight-bit clear datapath. New programs: uusched, cu, uuto and uupick. The 'G' protocol and a new Zmodem protocol were added. A number of uustat options were added to support uuclean, and a sample uuclean shell script was added to the contrib directory. The uustat output formats were changed slightly. A protocol extension eliminates transfer of the command file for simple commands, such as rmail or rnews, when talking to another version of 1.04. Some TLI support was added. UUCP forwarding was added, along with the ``forward-to'', ``forward-from'' and ``forward'' commands. If a file transfer fails in the middle, the retry will now start from where it left off. The implementation is compatible with SVR4. The work queue is checked every 10 minutes during a conversation; if there is new work and a bidirectional protocol is not in use, the receiving uucico requests the sender to transfer control. The amount of free disk space is checked periodically as a file is received, and if it drops too low the call is aborted. The UUCP configuration file reading routines were moved into a standalone library, uuconf. All known bugs in V2 and HDB configuration file reading were fixed. The ``half-duplex'' command was added for the port and dialer files. The ``max-retries'', ``success-wait'', ``send-request'' and ``receive-request'' commands were added for the sys file. The ``call-request'' and ``called-request'' commands were eliminated (they did not work correctly anyhow). \d in chat scripts now calls sleep (2) rather than sleep (1), so it will sleep longer (on some systems sleep(1) may delay much less than one second). SPOOLDIR_SVR4 was added for SVR4 style spool directories. Defaults are now permitted in the port and dialer files. The ALIAS field is supported in the HDB Permissions file. 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. DVI, PostScript and info versions of the documentation are available in a separate package, uucp-doc-1.04.tar.Z. 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 if it exists, else cc 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 from conf.h.in and Makefile from Makefile.in. It will also create config.status, which is a shell script which actually creates the files. Please report any configuration problems, so that they can be fixed in later versions. Igor V. Semenyuk provided this (lightly edited) note about ISC Unix 3.0. The configure script will default to passing -posix to gcc. However, using -posix changes the environment to POSIX, and on ISC 3.0, at least, the default for POSIX_NO_TRUNC is 1. This means nothing for uucp, but can lead to a problem when uuxqt executes rmail. IDA sendmail has dbm configuration files named mailertable.{dir,pag}. Notice these names are 15 characters long. When uuxqt compiled with -posix executes rmail, which in turn executes sendmail, the later is run under POSIX environment too! This leads to sendmail bombing out with 'error opening 'M' database: name too long' (mailertable.dir). It's rather obscure behaviour, and it took me a day to find out the cause. I don't use -posix, instead I run gcc with -D_POSIX_SOURCE, and add -lcposix to LIBS. 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. You can use ``uuconv'' to convert between configuration file formats. Type ``make install'' to install.