
This is a simple addition to the X server and library to allow
user level authentication.   The hooks were already there, I just
added some pretty simplistic code - this all depends on the
unix file system for security.  

You need to add a "-DPUCC" to your imake config files.  The
XAuthorize.c file goes into ./lib/X, and there is a patch file
rooted at $TOP.  

When the consortium comes out with its version of finer-than-host
authentication - you can just undef PUCC from the imake files, and
you are done.

------
Here is how it works:

checks either the file $HOME/.xauth or the filename contained in the
$XAUTH enviorment variable.  If this file does not have its other and
group modes set to 0 - the file is ignored and the user warned.

The server reads in the first line of this file and keeps it as a passwd.

Each client reads in the first line of this file and sends it in the 
connecction request packet.  If it matches the servers version, the connection
is ok'ed (as long as the other requirments like xhost stuff are meet)

The user needs to create a .xauth file (~/.xauth actually) and put a 
password or some phrase in it via his favorite editor.  It can be up
to 99 characters or so.  chmod it to something like 600 or 400.  then
rdist it to all the hosts that he will run x applications on.  All done!

He can then run xhost + allowing all hosts to talk to him since we are running
a user based password thingie.

If you make any improvments or fixes, send them to me please!

Mike Rowan
mtr@mentor.cc.purdue.edu
