		     Internet Software Consortium
	      Dynamic Host Configuration Protocol Server
			    Beta Release 5
			     Patchlevel 15
			    March 29, 1997

			    Release Notes

This patchlevel is on the Internet Software Consortium DHCP Server
Release 1.0 track.   The previous version was Beta Release 5,
Patchlevel 14.   This patchlevel is strictly a bug-fix patchlevel.
The only new feature is Ultrix Packetfilter support, which is sufficiently
far from the DHCP protocol engine that its inclusion was felt to be very
low-risk.

The following bug fixes have been made in this release:

- When the server saw a DHCPREQUEST for a client that it knew had a
  lease on a different network, it would release that lease.   This
  behaviour is incorrect according to the protocol - there is nothing
  in the protocol that says that a client can't simultaneously hold a
  lease on two addresses on two different networks.

- On little-endian machines (e.g., intel machines and DEC machines),
  if a client requested that responses to it be broadcast rather than
  unicast, this request would not be honored because of a
  byte-swapping error.

- The server would print a banner on startup and then go into a
  background (daemon) mode.   If there was a parse error in the
  dhcpd.conf file, this was not detected until the server had gone
  into the background, and thus there was no immediate notification.
  This caused service failures for some users which were difficult to
  diagnose.   Dhcpd now continues to log messages to the console until
  after it has successfully parsed the config file and lease file.
  Also, if dhcpd runs into a problem which causes it to exit, it now
  logs the message ``exited'' at CRITICAL priority, which should show
  up on the system console.

- On Linux, spurious Host Unreachable and Connection Refused errors
  could delay or foil the DHCP protocol by preventing the transmission
  of some packets.   This is because of a Linux kernel bug whereby
  bogus ICMP errors can be communicated to the user program.

- DHCPNAK behaviour wasn't correct.   In some cases, the server would
  not NAK DHCPREQUEST messages if they were on the wrong network.
  This has now been fixed.

- DHCPACK behaviour was incorrect.   If a client sent a DHCPREQUEST
  for an address that the server was not willing to provide, the
  server could respond with a DHCPACK for a different address, when it
  should have ignored the DHCPREQUEST.

- DHCPDECLINE processing wasn't being done correctly, with the result
  that DHCPDECLINEs were effectively being ignored.   DHCPDECLINEs are
  now processed correctly - leases which have been DECLINEed are
  abandoned and never again offered to clients, at lease until the
  administrator intervenes. Warning: this bug fix does open up the
  DHCP server to a denial of service attack that was formerly not
  possible - a client can successively request and DECLINE every lease
  in the server's database. 

- The lease file was being rewritten twice whenever it was time to
  rewrite it.   This no longer happens.

- BOOTP clients for which there was a host entry with no fixed-address
  would not be allowed to boot if the dynamic-bootp flag and the
  boot-unknown-clients flags were set.

- If an address range specified within a subnet declaration was on the
  wrong network, dhcpd would silently mask off the erroneous network
  number and mask in the network number from the subnet declaration,
  resulting in incorrect and potentially harmful behaviour.   Dhcpd
  now flags this as an error.

- The vendor-encapsulated-options option was specified as a text
  string, which was incorrect.   It is now specified as an arbitrary
  string of hexadecimal values, so that a user may mock up vendor
  tags.   This behaviour will eventually be superseded by correct
  vendor option support.

- On Ultrix, the executable was not being installed in the correct
  directory.

- Got rid of change warnings in the configure script - these warnings
  were instituted in August of 1996, and probably anybody who would be
  affected by them is already aware of them.
