NetBSD/usr.sbin/dhcp/RELNOTES
2000-10-17 16:10:38 +00:00

204 lines
7.3 KiB
Plaintext

Internet Software Consortium DHCP Distribution
Version 3, Beta 2, Patchlevel 9
October 15, 2000
Release Notes
This is a development snapshot of Version 3 of the Internet Software
Consortium DHCP Distribution.
NEW FEATURES
Version 3, Beta 2 of the ISC DHCP Distribution includes the following
features that are new since version 2.0:
- DHCP Failover Protocol support
- OMAPI, an API for accessing and modifying the DHCP server and
client state.
- Conditional behaviour
- Storing arbitrary information on leases
- Address pools with access control
- Client classing
- Address allocation restriction by class
- Relay agent information option support
- Dynamic DNS updates
- Many bug fixes, performance enhancements, and minor new DHCP
protocol features.
This beta release is quite new, and is running in production at only a
few sites. We strongly recommend that you exercise caution in
installing it. The 3.0 Beta 2 lease file is not backwards compatible
with the 3.0 Beta 1 lease file, so if you have to go back, you will
have to convert your lease files back to the 3.0 Beta 1 format - if
you try to run a 3.0 Beta 1 server on a 3.0 Beta 2 lease file, it will
cheerfully delete all your leases. Having said that, of course the
way that new releases of open source software become stable is by
people using them, finding the bugs, and reporting the bugs. So
while we urge you to exercise caution, we would also appreciate any
testing or production use you can safely do.
For information on how to install, configure and run this software,
as well as how to find documentation and report bugs, please consult
the README file.
The Dynamic DNS Update support is a descendent of an implementation
done by Lans Carstensen and Brian Dols at Rose-Hulman Institute of
Technology, Jim Watt at Perkin-Elmer, Irina Goble at Integrated
Measurement Systems, and Brian Murrell at BC Tel Advanced
Communications. I'd like to express my thanks to all of these good
people here, both for working on the code and for prodding me into
improving it.
Changes since 3.0 Beta 2 Patchlevel 8
- Oops, there was another subtle math error in the header-length
bounds-checking.
Changes since 3.0 Beta 2 Patchlevel 7
- Oops, forgot to byte-swap udp header length before bounds-checking it.
Changes since 3.0 Beta 2 Patchlevel 6
- Fix a possible DoS attack where a client could cause the checksummer
to dump core. This was a read, not a write, so it shouldn't be
possible to exploit it any further than that.
- Implement client- and server-side support for using the Client FQDN
option.
- Support for other option spaces in the client has been added. This
means that it is now possible to define a vendor option space on the
client, request options in that space from the server (which must
define the same option space), and then use those options in the
client. This also allows NWIP and Client FQDN options to be used
meaningfully.
- Add object initializer support. This means that objects can now be
initialized to something other than all-zeros when allocated, which
makes, e.g., the interface object support code a little more robust.
- Fix an off-by-one bug in the host stuffer. This was causing host
deletes not the work, and may also have been causing OMAPI
connections to get dropped. Thanks to James Brister for tracking
this one down!
- Fixed a core dump in the interface discovery code that is triggered
when there is no subnet declaration for an interface, but the server
decides to continue running. Thanks to Shane Kerr for tracking
down and fixing this problem.
Changes since 3.0 Beta 2 Patchlevel 5
- Fix a bug in the recent enhancement to the interface discovery code
to support arbitrary-length interface lists.
- Support NUL-terminated DHCP options when initializing client-script
environment.
- Fix suffix operator.
- Fix NetWare/IP option parsing.
- Better error/status checking in dhcpctl initialization and omapi
connection code.
- Fix a potential memory smash in dhcpctl code.
- Fix SunOS4 and (maybe) Ultrix builds.
- Fix a bug where a certain sort of incoming packet could cause a core
dump on Solaris (and probably elsewhere).
- Add some more safety checks in error logging code.
- Add support for ISC_R_INCOMPLETE in OMAPI protocol connection code.
- Fix relay agent so that if an interface is specified on the command
line, the relay agent does not dump core.
- Fix class matching so that match if can be combined with match or
spawn with.
- Do not allow spurious leases in the lease database to introduce
potentially bogus leases into the in-memory database.
- Fix a byte-order problem in the client hardware address type code
for OMAPI.
- Be slightly less picky about what sort of hardware addresses OMAPI
can install in host declarations.
Changes since 3.0 Beta 2 Patchlevel 4
- Incorporated Peter Marschall's proposed change to array/record
parsing, which allows things like the slp-agent option to be encoded
correctly. Thanks very much to Peter for taking the initiative to
do this, and for doing such a careful job of it (e.g., updating the
comments)!
- Added an encoding for the slp-agent option. :')
- Fixed SunOS 4 build. Thanks to Robert Elz for responding to my
request for help on this with patches!
- Incorporated a change that should fix a problem reported by Philippe
Jumelle where when the network connection between two servers is
lost, they never reconnect.
- Fix client script files other than that for NetBSD to actually use
make_resolv_conf as documented in the manual page.
- Fix a bug in the packet handling code that could result in a core
dump.
- Fix a bug in the bootp code where responses on the local net would
be sent to the wrong MAC address. Thanks to Jerry Schave for
catching this one.
Changes since 3.0 Beta 2 Patchlevel 3
- In the DHCP client, execute client statements prior to using the values
of options, so that the client configuration can overried, e.g., the
lease renewal time.
- Fix a reference counting error that would result in very reproducible
failures in updates, as well as occasional core dumps, if a zone was
declared without a key.
- Fix some Linux 2.0 compilation problems.
- Fix a bug in scope evaluation during execution of "on" statements that
caused values not to be recorded on leases.
- If the dhcp-max-message-size option is specified in scope, and the
client didn't send this option, use the one specified in scope to
determine the maximum size of the response.
Changes since 3.0 Beta 2 Patchlevel 2
- Fix a case where spawning subclasses were being allocated
incorrectly, resulting in a core dump.
- Fix a case where the DHCP server might inappropriately NAK a
RENEWING client.
- Fix a place dhcprequest() where static leases could leak.
- Include memory.h in omapip_p.h so that we don't get warnings about
using memcmp().
Changes since 3.0 Beta 2 Patchlevel 1
- Notice when SIOCFIGCONF returns more data than fit in the buffer -
allocate a larger buffer, and retry. Thanks to Greg Fausak for
pointing this out.
- In the server, if no interfaces were configured, report an error and
exit.
- Don't ever record a state of 'startup'.
- Don't try to evaluate the local failover binding address if none was
specified. Thanks to Joseph Breu for finding this.