
1. Distribution

xinetd depends on some of my libraries. These libraries are included in
the distribution as separate tar files.  The complete xinetd
distribution consists of the following files:

	unpack-src:					shell script
	compile-src:				shell script
	xinetd.VERSION.tar:		program source
	fsma.VERSION.tar:			library source
	misc.VERSION.tar:			library source
	pset.VERSION.tar:			library source
	sio.VERSION.tar:			library source
	str.VERSION.tar:			library source
	xlog.VERSION.tar:			library source
	README:						what xinetd is about
	INSTALL:						this file

The purpose of the scripts is to make installation easier.


----------------------------------------------------------------------

2. Installing xinetd

unpack-src will unpack the tar archives creating the following directory
structure:
	./xinetd
	./libs
	./libs/include
	./libs/man
	./libs/lib
	./libs/{sio,pset,fsma,misc,xlog}

NOTE: If the archives are compressed, the script will uncompress them.

WARNING: unpack-src will delete the directories "./xinetd" and "./libs" if 
			they exist already.

compile-src compiles the libraries and then compiles xinetd.
"compile-src -help" will list all available options.
It knows about some operating systems. When you invoke it, it will ask
you if your OS is among those it knows about. If so, all you need to do
is type the OS name.  If you have a different OS, compile-src will try
to configure xinetd appropriately.

The script will also ask you questions when it can't figure out
something.  For every question that it asks, there is a command line
option, so in case you need to run the script more than once, you can
use the command line option to avoid having to answer the question
multiple times.

It is recommended that every time you make changes to xinetd or to the
libraries it uses, you cd to the top level directory (the one
containing the directories "libs" and "xinetd") and run the script
compile-src. This script invokes make with arguments that override
variables defined in the Makefiles.

The Sprint function in the SIO library depends on the word size of your
machine. Its behavior depends on the SIO configuration file and all
existing SIO configuration files assume a 2's complement machine with a
32-bit word size.  Furthermore it is assumed that sizeof( int ) =
sizeof( long ).  If these assumptions are not valid, you will need to
provide an appropriate SIO configuration file (check the instructions
in the README file in the sio directory).

The file "xinetd/config.h" contains configuration constants that you
may want to change (one possibility is my choice of the signals that
control the daemon's behavior).

If at any time you want to start all over again, you can run the script
unpack-src again and then proceed with running compile-src. However, if
you have made any changes to the source, they will be lost since
unpack-src will delete the existing "xinetd" and "libs" directories
and create new ones (it will prompt you before deleting anything).

When the compilation is over, the xinetd executable will be in the
"xinetd" directory. If you want to install it in one of the system
directories, cd to the "xinetd" directory and type:

	make install BINDIR=<install program here> MANDIR=<install man page here>

For example:

	make install BINDIR=/usr/local/bin MANDIR=/usr/local/man/man1

The reason for putting the program in a directory like /usr/local/bin
is that this is not a program that is only useful to superusers.


----------------------------------------------------------------------

3. Epilogue

Here are a few things worth mentioning:

1. You can use the program "itox" in the "xinetd" directory to convert
	inetd.conf to a xinetd configuration file. The program works as a
	filter, i.e. 
			itox [-daemon_dir dir_name] < inetd.conf > xinetd.conf
	The -daemon_dir option is useful in case you are already using tcpd for 
	access control. It specifies the directory name where tcpd expects
	to find the daemon programs.
	The itox program will also be compiled by the compile-src script.
	
2. A sample xinetd configuration file is included: xinetd/sample.conf 

3. I have been using xinetd on a Sun SparcStation running SunOS 4.1 and 
	I have compiled it (but not used it) on a DECstation running Ultrix 4.2.

4. You may find the libraries useful in their own right.

5. The file BUG-REPORTS contains instructions on how to send bug reports.

6. The file PORTING has instructions on how to port xinetd to other OS's.

