
				 DOMTOOLS
		    HIGH-LEVEL NAME SERVER QUERY TOOLS
				Version 1.3
				 11/09/1996
		   Copyright (c) 1993 by Paul A. Balyoz


The commands in this directory allow you to traverse DNS domain hierarchies,
list all hosts (or subdomains) within a given domain, convert host name to
IP address and vice-versa, convert a normal IP address to the "in-addr.arpa."
format and vice-versa, and more.   These commands can be used manually, or
included as building blocks for higher level DNS tools.  They generate output
that is easily computer parsable.  Some higher level tools are included as well.


GOALS --

	1. To make it easier for people to query Internet domain name servers
	   using single, easy-to-use commands

	2. To provide computer-parsable output from all commands to make
	   higher level tools easy to develop

	3. To demonstrate some high-level tools that do things which most DNS
	   administrators will find valuable such as: sorting by domain names,
	   sorting by IP addresses, generating an /etc/hosts, /etc/networks,
	   or /etc/netmasks files from the DNS database of an entire zone,
	   generating network node lists for network mapping utilities, and more.

    IPv6 is not addressed by this version.


REQUIREMENTS --

	* DiG 2.0 (available on Internet)
	* BIND 4.8.3 or newer (available on Internet)
	* Perl 4 (available on Internet)
	* Gnu Awk (available on Internet)
	* Unix with a Bourne Shell or equivalent (i.e. bash)
	* Some form of awk named "awk"
	* A "C" compiler
	* To use all the domain tools in this package, you'll have to
	  add certain resource-records to your DNS database as described
	  in sections 1-4 of the RFC1101 document.


DOCUMENTATION --

See the file HOWTOUSE for examples of things you can do with this package.
See the file WHY for questions, answers, and future plans.
See the file BUGS for known bugs and problems.
See the file MANUAL for complete details on all the tools in this package.
Sorry, no man-pages yet, everything you need to know is in MANUAL.


INSTALLATION --

	0. Make sure you already have all the required stuff!
	   See the REQUIREMENTS section, above!  This is important!!
	1. Edit the files *.header and *.footer for your site, but leave
	   the replacement string TIMEDATE alone wherever you see it.
	2. Edit the Makefile and adjust the paths and stuff at the top.
	   Confused by something?  See the section on configuring the
	   Makefile, below.
	3. Type "make -n" to see what a "make" would do.
	4. Type "make" to build certain tools.
	5. Type "make -n install" to see what a "make install" would do.
	6. Type "make install" to install all the tools and support files.
	   They will be installed wherever you specified in the Makefile.

Note, these tools don't work unless they are installed as shown above!
Certain macro replacement strings within the scripts must be converted
to actual directory paths by the Makefile during installation.
If you ever see file-not-found errors on things like "DOMBIN",
"DOMLIB" and "ZONEDIR", you're trying to run an improperly installed tool.
(If "." is in your path before the domain tools' bin directory,
be sure to "cd" out of the domain tools source area before trying to run
them, or you'll be trying to run the uninstalled ones in this directory!)


CONFIGURING THE MAKEFILE --

Pretty standard Internet style configurations for bin directories, etc.
There are some things that may confuse you, however:

     PDEST, LDEST
	Physical destination tree vs. Logical destination tree.
	In other words, where do you _really_ install stuff vs. where you
	like people to _actually_ reach the files.  This is only really
	used by AFS sites, where people commonly access a read-only path
	to run programs (LDEST), but the sysadmin has to write to a different
	directory to install the programs (PDEST).  If you're still confused,
	just set them to the same thing, which should be the main tree,
	such as "/usr/local" if you want tools installed in /usr/local/bin,
	supporting files to go in /usr/local/lib, etc.

     NETWORKSDOM
	Domtools has a neat feature -- when you use the networktbl and netmasktbl
	programs to build /etc/networks and /etc/netmasks style files directly
	from DNS data, they can also generate comments in English above each
	network entry, if you have a special branch of your DNS hierarchy that
	contains TXT resource-records that describe each network!  Pretty nifty.
	See Makefile for further details.

     ZONEDIR, ZONECACHEWANTED
	The axfr tool downloads entire zone files at a time.
	Axfr responds much more quickly if you cache the data in a directory
	some place on the local system.  It's a neat idea, but has some
	drawbacks, including (currently) a world-writable directory and the
	fact that no files are ever pruned out of that directory by Domtools.
	If you can live with that, enable ZONECACHEWANTED and specify what
	directory should be created world-writable (ZONEDIR).


TRYING IT OUT --

Read the HOWTOUSE file for examples.  Try them out.  Say the phrase "wow"
or "interesting" at least once per tool.

To learn more about Domtools, check out the gigantic MANUAL file and try
out the tools.  If some of them fail for any reason, try the ones at a
lower "level" in the MANUAL.


BUGS AND PORTING --

This software has been successfully installed and tested in the following
configurations:

        Pentium running BSDI 2.0.1
	RS/6000 AIX 3.2.5
        SPARCstations running Solaris 2.3, BIND 4.9.2
        SPARCstations running Solaris 2.3, Sun's BIND
        SPARCstations running SunOS 4.1.2, BIND 4.8.3
        SPARCstations running SunOS 4.1.1B, BIND 4.8.3
        DEC Alpha running OSF/1 3.2
        NCR X86 running NCR SysV Unix

If you encounter problems or fix bugs, please let me know!  Also if you
port this package to a new platform, let me know what it took.  You should
send me a general description in English of what you've done, and include
patches (diff -c oldfile newfile) so that I can include your changes in
future distributions.

This software was designed and implemented in my spare time
(guess that makes it "spareware". :-)


THOUGHT FOR THE DAY --

    Why type commands that operate way-down-there,
	When you're thinking on a level way-up-here?


COPYRIGHT NOTICE --

This Domtools software package is Copyright (c) 1993 by Paul A. Balyoz,
all rights reserved.  You are hereby given permission to use this version
of this package and to make copies of it, so long as you do not sell it
or claim that you wrote it.  All copyright messages must be retained as-is.

For commercial use of this product, contact the author, below.


--
Paul Balyoz                            pbalyoz@jammed.com
Unix Sys Admin & Programmer            pbalyoz@sedona.intel.com
Intel Corporation, Chandler, AZ, USA
