$Id: INSTALL,v 1.2 1995/05/02 18:15:58 chuck Exp $

1. Distribution

xinetd is distributed in shar archive kit form.  After all the archives
are unpacked, you should end up with the following directory structure:

	INSTALL
	README
	compile-src
	./xinetd
	./libs
	./libs/include
	./libs/man
	./libs/lib
	./libs/src/{sio,pset,misc,xlog,timer,pq}


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

2. Installing xinetd

The compile-src script will compile the libraries and 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.

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 INSTALLDIR=<install program here>
	make install.man MANPATHDIR=<install man page here>

For example:

	make install INSTALLDIR=/usr/local/bin
	make install.man MANPATHDIR=/usr/local/man

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. Customizing xinetd

Most of the behavior of xinetd is determined by constants defined
in the xinetd/config.h header file. Those constants are conditionally
defined and can be overriden by creating the file xinetd/customconf.h
and invoking the compile-src script with the -custom option.


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

4. 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. They all come
	with man pages that explain what the library functions do.

5. You can send comments/bug-reports to panos@cs.colorado.edu
	The file BUG-REPORTS in the "xinetd" directory contains instructions 
	on what to include in a bug report.

