Circle 3.0 Ident Patch
======================

Second release, 9 October 1996

This package provides ident lookups for Circle Muds.  It attempts to contact
the host from which a user connects and determine the user's login ID.
It is nonblocking, so the mud will not slow when someone connects.


Installation
------------
   1.  Copy the ident.c and ident.h to your src directory
   2.  While still in the src directory, run "patch < ident.patch"
   3.  Rerun configure (to update your Makefile)
   4.  Recompile your MUD.

  The patch is based on Circle 3.0 pl11, so you may have to do some patching
  by hand if you have modified your source or are using it on a different
  version.  This has been tested on Linux, SunOS, FreeBSD, and Windows NT.
  It should work on most systems unmodified.  Please let me know if you
  have to make any changes for it to work on your system.


Using
-----
  This feature can be toggled on and off in the game by using the "ident"
  command.  To turn if off when the game boots, change the ident variable in
  config.h

  You can use usernames for banning.  Once the username is resolved (if it
  is resolved), a second ban check is made against the full username@host
  string.  Effectiveness of banning this way varies.


Possible Problems
-----------------
  If the mud fails to compile with this patch due to errors like:

     comm.o(.text+0xaf8): undefined reference to `waiting_for_ident'
     comm.o(.text+0xb0c): undefined reference to `ident_check'
     comm.o(.text+0xb30): undefined reference to `waiting_for_ident'
     comm.o(.text+0x17a1): undefined reference to `ident_start'

  then you did not properly update your Makefile, either by rerunning
  configure, or copying over the Makefile.win to Makefile.  ident.o
  must be added to OBJFILES in order for it to compile properly.

  Users on very slow connections or behind certain firewalls will experience
  up to a 30 second delay before they are able to enter their name, the
  minium amount of time recommended by rfc1413 to wait.  You can change this
  amount of time by changing IDENT_TIMEOUT in ident.c.

  Parts of hostnames can be cut off, if they are very long.  It is recommended
  that you increase the size of HOST_LENGTH (in structs.h) to allow longer
  hostnames.  However, doing this will destroy your existing player file.
  You may also wish to increase the size of IDENT_LENGTH to see more of long
  user names, but doing so will decrease the maximum length of the hostname
  which is visible.

  It is reported that on some systems, a responce of "No route to host" can
  terminate all connections between the two machines.  This is a problem with
  the system's networking, not the ident patch.

  If you are debugging your mud with gdb, you may find your mud interrupted
  with a message "Program received signal SIGPIPE, Broken pipe" while in the
  ident code.  This is normal, and will sometimes occur other places in the
  mud.  You can continue with no problems, or if you would like, you can
  disable the SIGPIPE breaks with the gdb command "handle SIGPIPE nostop"

If you find a problem with this package, please email me.


Eric Green
egreen@cypronet.com
