Internet Systems Consortium DHCP Distribution
- Version 4.1.0a2
- 4 June 2008
+ Version 4.2.0
+ 21 December 2012
- Release Notes
+ Release Notes
- NEW FEATURES
+ NEW FEATURES
-ISC DHCP 4.1.x includes several new DHCPv6 features that were not included
-in DHCP 4.0.x. These include:
-
-- Support for the rapid-commit option on the client side
-
-- Prefix Delegation support
-
-- IA_TA address support
-
-- A basic DHCPv6 relay agent, dhcrelay6
-
-- Basic and partial DHCPv6 leasequery support
+ISC DHCP 4.2.x includes features that were not included in DHCP 4.1.x.
+These include:
There are a number of DHCPv6 limitations and features missing in this
release, which will be addressed in the future:
- Only Solaris, Linux, FreeBSD, NetBSD, and OpenBSD are supported.
-- Only a single address is supported per IA.
-
-- DHCPv6 includes human-readable text in status code messages. These
- should be configurable, and probably localized via gettext() or the
- like.
+- DHCPv6 includes human-readable text in status code messages, in
+ English. A method to reconfigure or support other languages would
+ be preferrable.
- The "host-identifier" option is limited to a simple token.
<dhcp-users@isc.org>.
+ Changes since 4.1.0 (new features)
+
+- Failover port configuration can now be left to defaults (port 647) as
+ described in the -12 revision of the Failover draft (and assigned by
+ IANA). Thanks in part to a patch from David Cantrell at RedHat.
+
+ Changes since 4.1.0 (bug fixes)
+
+- Validate the argument to the -p option.
+
+- The notorious 'option <unknown> ... larger than buffer' log line,
+ which is seen in some malformed DHCP client packets, was modified.
+ It now logs the universe name, and does not log the length values
+ (which are bogus corruption read from the packet anyway). It also
+ carries a hopefully more useful explanation.
+
+- Suppress spurious warnings from configure about --datarootdir
+
+- A bug was fixed that caused the server not to answer some valid Solicit
+ and Request packets, if the dynamic range covering any requested addresses
+ had been deleted from configuration.
+
+- Update the code to deal with GCC 4.3. This included two sets of changes.
+ The first is to the configuration files to include the use of
+ AC_USE_SYSTME_EXTENSIONS. The second is to deal with return values that
+ were being ignored.
+
+- The db-time-format option was documented in manpages.
+
+- Using reserved leases no longer results in 'lease with binding state
+ free not on its queue' error messages, thanks to a patch from Frode
+ Nordahl.
+
+- Fix a build error in dhcrelay, using older versions of gcc with
+ dhcpv6 disabled.
+
+- Two uninitialized stack structures are now memset to zero, thanks to a
+ patch from David Cantrell at RedHat.
+
+ Changes since 4.1.0b1
+
+- A missing "else" in dhcrelay.c could have caused an interface not to
+ be recognized.
+
+ Changes since 4.1.0a2
+
+- A cosmetic bug in DHCPDECLINE processing was fixed which caused all
+ successful DHCPDECLINEs to be logged as "not found" rather than
+ "abandoned".
+
+- Added configuration file examples for DHCPv6.
+
+- Some failover debugging #defines have been better defined and some
+ high frequency messages moved to a deeper debugging symbol.
+
+- The CLTT parameter in failover is now only updated by client activity,
+ and not by failover binding updates (taking on the peer's CLTT).
+
+- Failover BNDUPD messages are now discarded if they conflict with an
+ update that has been transmitted, but not acknowledged.
+
+- A bug cleaning up unknown-xxx temporary option definitions was fixed.
+
+- Delayed-ack is now a compile-time option, compiled out by default.
+ This feature is simply too experimental for right now, and causes
+ some problems to some failover installations. We will revisit this
+ in future releases.
+
+- The !inet_pton() call in res_mkupdrec was adjusted to '<= 0' as
+ inet_pton returns either 1, 0, or -1.
+
+- A dhclient-script for MacOS X has been included, which enables
+ 'dhclient -6' support.
+
+- DDNS removal routines were updated so that the DHCID is not removed until
+ the client has been deprived of all A and AAAA records (not only the last
+ one of either of those). This resolves a bug where dual stack clients
+ would not be able to regain their names after either expiration event.
+
Changes since 4.1.0a1
+- Corrected list of failover state values in dhcpd man page.
+
+- Fixed a bug that caused some request types to be logged incorrectly.
+
+- Clients that sent a parameter request list containing the
+ routers option before the subnet mask option were receiving
+ only the latter. Fixed.
+
+- The server wasn't always sending the FQDN option when it should.
+
+- A partner-down failover server no longer emits 'peer holds all free leases'
+ if it is able to newly-allocate one of the peer's leases.
+
- Fixed a coredump when adding a class via OMAPI.
- Check whether files are zero length before trying to parse them.
- A double-dereference in dhclient transmission of DHCPDECLINEs was
repaired.
+- Fix handling of format code 'Z'.
+
+- Support "-1" argument in DHCPv6.
+
+- Merge DHCPv6-only "dhcrelay6" into general-purpose "dhcrelay" (use
+ "-6" option to select DHCPv6 mode).
+
+- Fix handling of -A and -a flags in dhcrelay; it was failing to expand
+ packet size as needed to add relay agent options.
+
+- A bug in subnet6 parsing where options contained in subnet6 clauses would
+ not be applied to clients addressed within that network was repaired.
+
+- When configuring a "subnet {}" or "subnet6 {}" without an explicit
+ shared-network enclosing it, the DHCP software would synthesize a
+ shared-network to contain the subnet. However, all configuration
+ parameters within the subnet more intuitively belong "to any client
+ on that interface", or rather the synthesized shared-network. So,
+ when a shared-network is synthesized, it is used to contain the
+ configuration present inside the subnet {} clause. This means that
+ the configuration will be valid for all clients on that network, not
+ just those addressed out of the stated subnet. If you intended the
+ opposite, the workaround is to explicitly configure an empty
+ shared-network.
+
+- A bug was fixed where Information-Request processing was not sourcing
+ configured option values.
+
+- A warning was added since the DHCPv6 processing software does not yet
+ support class statements.
+
+- Compliation warnings on GCC 4.3 relating to bootp source address
+ selection were repaired.
+
+- The v6 BSD socket method was updated to use a single UDP BSD socket
+ no matter how many interfaces are involved, differentiating the
+ interfaces the packets were received on by the interface index supplied
+ by the OS.
+
+- The relay agent no longer listens to the All DHCP Servers Multicast
+ address.
+
+- A bug was fixed in data_string_sprintfa() where va_start was only called
+ once for two invocations of vsprintf() variants.
+
+- ERO (RFC 4994) server support.
+
+- Basic and partial DHCPv6 leasequery support.
+
+- Reliable DHCPv6 release (previous behavior, send release and exit, is
+ still available with dhclient -6 -1 -r).
+
Changes since 4.0.0 (new features)
- Added DHCPv6 rapid commit support.
The default delayed ack limit is 28. Thanks entirely to a patch from
Christof Chen.
-- ERO (RFC 4994) server support.
-
-- Basic and partial DHCPv6 leasequery support.
-
-- Reliable DHCPv6 release (previous behavior, send release and exit, is
- still available with dhclient -6 -1 -r).
-
Changes since 4.0.0 (bug fixes)
- DHCP now builds on AIX.
- A minor bug fix in the arguments to a logging function call.
- Documentation update for dhcpd.conf.
- Changes since 3.0.1rc2
+ Changes since 3.0.1rc2
- Allow the primary to send a POOLREQ message. This isn't what the current
failover draft says to do, so we may have to back it out if I can't get the
current draft seems needlessly hairy, so I'm floating a trial balloon.
The rc1 code did not implement the method described in the draft either.
- Changes since 3.0.1rc1
+ Changes since 3.0.1rc1
- Treat NXDOMAIN and NXRRSET as success when we are trying to delete a
domain or RRSET. This allows the DHCP server to forget about a name
than a history of all references and dereferences. This code is only used
when extensive additional debugging is enabled.
- Changes since 3.0
+ Changes since 3.0
- Make allocators for hash tables. As a side effect, this fixes a memory
smash in the subclass allocation code.
- Support GCC on SCO.
- Changes since 3.0 Beta 2 Patchlevel 23
+ Changes since 3.0 Beta 2 Patchlevel 23
- Fix a bug in the DNS update code where a status code was not being
checked. This may have been causing core dumps.
- Fix some memory allocation bugs in failover.
- Changes since 3.0 Beta 2 Patchlevel 22
+ Changes since 3.0 Beta 2 Patchlevel 22
- Apply some patches suggested by Cyrille Lefevre, who is maintaining
the FreeBSD ISC DHCP Distribution port.
- Fix a core dump in DHCPRELEASE.
- Changes since 3.0 Beta 2 Patchlevel 21
+ Changes since 3.0 Beta 2 Patchlevel 21
- This time for sure: fix the spin described in the changes for pl20.
- Changes since 3.0 Beta 2 Patchlevel 20
+ Changes since 3.0 Beta 2 Patchlevel 20
- Fix a problem with Linux detecting large numbers of interfaces (Ben)
previous fix only partially fixed the problem - enough to get it
past the regression test.
- Changes since 3.0 Beta 2 Patchlevel 19
+ Changes since 3.0 Beta 2 Patchlevel 19
- Fix a bug that could cause the server to abort if compiled with
POINTER_DEBUG enabled.
- Install unformatted man pages on SunOS.
- Changes since 3.0 Beta 2 Patchlevel 18
+ Changes since 3.0 Beta 2 Patchlevel 18
- Allow the server to be placed in partner-down state using OMAPI.
(Damien Neil)
** there was no pl17 **
- Changes since 3.0 Beta 2 Patchlevel 16
+ Changes since 3.0 Beta 2 Patchlevel 16
- Add support for transaction tracing. This allows the state of the
DHCP server on startup, and all the subsequent transactions, to be
would cause two DHCPDISCOVERS to be sent back-to-back on startup.
- Changes since 3.0 Beta 2 Patchlevel 15
+ Changes since 3.0 Beta 2 Patchlevel 15
- Some documentation tweaks.
- Fix a core dump that would occur if a packet was sent with no
options.
- Changes since 3.0 Beta 2 Patchlevel 14
+ Changes since 3.0 Beta 2 Patchlevel 14
- Finish fixing a long-standing bug in the agent options code. This
was causing core dumps and failing to operate correctly - in
- Don't send faked-out giaddr when renewing or bound - again, useful
for debugging.
- Changes since 3.0 Beta 2 Patchlevel 13
+ Changes since 3.0 Beta 2 Patchlevel 13
- Fixed a problem where the fqdn decoder would sometimes try to store
an option with an (unsigned) negative length, resulting in a core
the transition.
- Changes since 3.0 Beta 2 Patchlevel 12
+ Changes since 3.0 Beta 2 Patchlevel 12
- Fixed a couple of silly compile errors.