Changes per release 6.1.
========================

- Re-implemented all environment access routines. Most systems have
putenv() but no setenv(), some systems have setenv() but no putenv(),
and there are even systems that have neither setenv() nor putenv(). The
benefit of all this is that more systems can now be treated in the same
way. File:  environ.c.

- Workaround for a weird problem with DG/UX when the wrapper is run as
nobody (i.e. fingerd). For some reason the ioctl(fd, I_FIND, "sockmod")
call fails even with socket-based applications. The "fix" is to always
assume sockets when the ioctl(fd, I_FIND, "timod") call fails. File:
fromhost.c. Thanks to Paul de Vries (vries@dutentb.et.tudelft.nl) for
helping me to figure out this one.

- Implemented a workaround for Dynix/PTX and other systems with TLI
that lack some essential support routines. Thanks to Bugs Brouillard
(brouill@hsuseq.humboldt.edu) for the hospitality to try things out.
The trick is to temporarily switch to the socket API to identify the
client, and to switch back to TLI when done.  It still does not work
right for basic network services such as telnet. File: fromhost.c.

- Easy-to-build procedures for SCO UNIX, ConvexOS with UltraNet, EP/IX,
Dynix 3.2, Dynix/PTX. File: Makefile.

- Variable rfc931 timeout. Files: rfc931.c, options.c, log_tcp.h, try.c.

- Further simplification of the rfc931 code. File: rfc931.c.

- The fromhost() interface stinks: I cannot change that, but at least
the from_sock() and from_tli() functions now accept a file descriptor
argument.

- Fixed a buglet: fromhost() would pass a garbage file descriptor to
the isastream() call.

- On some systems the finger client program lives in /usr/bsd. File:
safe_finger.c.

Changes per release 6.0.
========================

- Easy build procedures for common platforms (sun, ultrix, aix, hpux
and others).

- TLI support, System V.4 style (Solaris, DG/UX).

- Username lookup integrated with the access control language.
Selective username lookups are now the default (was: no username
lookups).

- A safer finger command for booby traps. This one solves a host of
possible problems with automatic reverse fingers. Thanks, Borja Marcos
(borjam@we.lc.ehu.es) for some inspiring discussions.

- KNOWN pattern that matches hosts whose name and address are known.

- Cleanup of diagnostics. Errors in access-control files are now shown
with file name and line number.

- With AIX 3.2, hostnames longer than 32 would be truncated.  This
caused hostname verification failures, so that service would be refused
when paranoid mode was enabled.  Found by:  Adrian van Bloois
(A.vanBloois@info.nic.surfnet.nl).

- With some IRIX versions, remote username lookups failed because the
fgets() library function does not handle partial read()s from sockets.
Found by:  Daniel O'Callaghan (danny@austin.unimelb.edu.au).

- Added a DISCLAIMER document to help you satisfy legal departments.

The extension language module has undergone major revisions and
extensions.  Thanks, John P. Rouillard (rouilj@ra.cs.umb.edu) for
discussions, experiments, and for being a good guinea pig. The
extensions are documented in hosts_options.5, and are enabled by
editing the Makefile STYLE macro definition.

- (Extension language) The ":" separator may now occur within options
as long as it is protected with a backslash. A warning is issued when
a rule ends on ":".

- (Extension language) Better verification mode. When the `try' command
is run, each option function now explains what it would do.

- (Extension language) New "allow" and "deny" keywords so you can now
have all rules within a single file. See "nroff -man hosts_options.5"
for examples.

- (Extension language) "linger" keyword to set the socket linger time
(SO_LINGER). From:  Marc Boucher <marc@cam.org>.

- (Extension language) "severity" keyword to turn the logging noise up
or down. Many sites wanted a means to shut up the program; other sites
wanted to to emphasize specific events.  Adapted from code contributed
by Dave Mitchell <D.Mitchell@dcs.shef.ac.uk>.
