			   XANSWER\READ.ME

This directory contains source for the xanswer daemon.  xanswer
listens for calls from the XCALL program, distributed with the PC
Xsight server, to provide a convenient means of starting X sessions.
The xanswer/XCALL programs are intended as a temporary solution to
starting PC Xsight sessions until the X Display Manager Control
Protocol (XDMCP) becomes available.

XCALL is used to send the name of a PC Xsight display server
requesting an X session.  When xanswer receives this request, it
executes a command (usually as root) to start some X client that will
connect to the server, perform login authentication, and then begin
a session.  The obvious client to perform this operation is xdm (X
Display Manager), but there are some problems that we describe later.

Two source modules are required to build xanswer.  xanswer.c is the
main module and is intended to be fairly portable among various
versions of UNIX.  The other module provides some standard network
interface functions.  Two sample network interface modules are
provided.  xln.c is for use with the Excelan TCP/IP socket library,
which resembles 4.1 BSD.  sock43.c is a 4.3 BSD interface.  If you
have some other network interface, these two source modules should
provide guidance for writing your own interface module.

After you build xanswer, it should be started as a daemon from init.
We set up xanswer to run a modified version of xdm that we call
"lccdm."  The command we use to start xanswer is:

  xanswer "exec lccdm -server \"%s transient xanswer\""
  
(where xanswer and lccdm are specified as fully qualified paths).

xanswer replaces the %s in its argument with the display name and
feeds the resulting command to /bin/sh.

By default, xanswer and XCALL communicate on TCP port 7000.  Both
programs have a -p port# option to allow specification of a different
TCP port.  You could run several copies of xanswer on different
ports, each with a different associated command.

Be aware that running the xanswer daemon has some potential for
opening security holes.

The standard xdm program is a little too tenacious in trying to
connect to the display, so we made modifications that cause it to
give up and go away if it cannot connect.  These modifications make
the program suitable for use with xanswer only, so we distinguish it
as a separate program, "lccdm."  If you use the standard xdm with
xanswer, you will probably find your host computer subject to process
buildup.

The file dm.pat contains patches to the xdm module dm.c that we
made to create lccdm.  If you choose to apply these patches, you
should build a new program and not replace xdm.

This source for xanswer, the xdm patches, and the associated XCALL
program are not officially supported in this release.  We would like
your comments and will try to be helpful if you have problems porting
xanswer. 
