This is the source directory for uuhosts, which may be used to display
UUCP mail and USENET news information previously extracted from the
USENET newsgroup mod.map.  Mail routing information as produced by
pathalias is also displayed.  Since uuhosts needs the map information
from the USENET spool directory for mod.map extracted into a more
accessible (and permanent) location it can also be used to do that.

This version of uuhosts, 1.69, works with the latest (December 1985)
mod.map postings.  Changes from the previous distributed version, 1.59,
include faster display (sed is used in place of awk), and path.local is
used (per mod.map's README) instead of Local for local path information.
The maps may be kept compressed to save disk space.  Multiple host names
may appear (separated by white space or commas) in #N lines of map entries.

If you have a uuhosts of version 1.58 or previous, you will need to
*completely reinstall* uuhosts.  Even with a newer version, you
should still run "uuhosts -setup", and it wouldn't hurt to do it all.


If you don't have a UNIX group named news in /etc/group, you should 
create one, as uuhosts depends on it.

To install uuhosts, first look at the beginning of the Makefile and
adjust any pathnames or other parameters which are incorrect for your
system.  Then do "make" to be sure everything compiles correctly.
To install the necessary shell script, C program, and manual entry,
as well as creating all necessary new directories, do "make install"
as root.

Once the program is installed, you will want to extract any existing
mod.map articles so uuhosts can display their information.  To do
this, type "uuhosts -setup &".  Do not do it as root!  Do it as some
user in group news.  It will take a while:  display speed has been
bought by slowness in extraction.  You should only need to do this
once, because of the last installation steps:

Finally, modify NEWS/sys by hand so that inews will batch incoming
mod.map articles, and also arrange for "uuhosts -unbatch" to
be called nightly by cron.  See the MAINTENANCE section of the uuhosts
manual entry for how to do this.  Do not call "uuhosts -unbatch" as root!
Have it called as some user in group news.


Neither pathalias nor compress are included here.  Both have been
posted to mod.sources recently:  contact the moderator for copies.
If you have uupath, you may want to use it to look up UUCP routing
information instead of the method uuhosts uses by default.
Just look for uupath in uuhosts.sh and it's obvious what to change.


For the mod.map extraction (and *only* that extraction), uuhosts
depends on a small setuid program called mapsh (included here) which
uses chroot(2), which is in (at least) 4BSD, System N, and Version 7.
The purpose of mapsh is to limit the commands which may be executed
when found in a map article.  If you trust everyone who can post to
USENET from any machine in the world, you can probably replace mapsh
with "cd $MAPS; sh".  Or you can use unmvax!lee's article parser in C,
if you like.

		John Quarterman
		Department of Computer Sciences
		University of Texas at Austin
		Austin, Texas 78712 USA
		jsq@sally.utexas.edu (formerly jsq@ut-sally.ARPA)
		{ctvax,gatech,harvard,ihnp4,pyramid,seismo,topaz}!ut-sally!jsq

Here is an example of the most common use of uuhosts, which is to
display information about a particular host:

im4u% uuhosts nbires
UUCP mail path from im4u to nbires:
nbires	ut-sally!nbires!%s
UUCP mail path for nbires annotated by location:
nbires(usa.co)	ut-sally(usa.tx)!nbires(usa.co)!%s

UUCP mail information for host nbires (#USENET lines show USENET news links):
#Name			nbires
#System-CPU-OS		VAX-11/750; UNIX BSD 4.2
#Organization		NBI, Inc.
#Contact		Kirk Webb
#Electronic-Address	postmaster@nbires.UUCP
#Telephone		(303) 444-5710
#Postal-Address		P.O. Box 9001, Boulder, CO 80301
#Latitude-Longitude	40 01 N / 105 17 W city
#Written-by		mccallum@nbires.UUCP (Doug McCallum); Mon Sep  9 13:27:28 MDT 1985
#USENET	cires opus stcvax gangue utopia hao isis bdaemon fred boulder
nbires	allegra(EVENING+HIGH), amd(EVENING+HIGH), attunix(EVENING+HIGH),
	boulder(DEMAND), bdaemon(DEMAND), cbosgd(EVENING+HIGH), cires(DEMAND),
	cisden(DEMAND), cornell(EVENING), csu-cs(DEMAND), ctvax(DEMAND),
	cadnetix(DEMAND), 
	fred(DIRECT), gangue(DEMAND), galon(DEMAND), hao(DEMAND),
	isis(DIRECT), koala(DEMAND),
	lbl-csam(EVENING),
	onecom(DIRECT),
	princeton(WEEKLY/3), pyramid(EVENING+LOW),
	scgvaxd(EVENING), stcvax(DEMAND), ucbvax(EVENING+HIGH),
	udenva(DEMAND), uofm-cv(EVENING), usenix(EVENING+HIGH), usiiden(DEMAND),
	utah-cs(EVENING+LOW), ut-ngp(EVENING), ut-sally(EVENING),
	utopia(DAILY), unidot(DEMAND), vianet(POLLED)
# nbinet = @{nbires, binkley, opus, yaz, milo, oasys, boson}(LOCAL)

