ISC DHCP 3.0.3 has been released.

David W. Hankins David_Hankins at
Sat Jul 23 01:18:19 UTC 2005

  *** From dhcp-announce -- To unsubscribe, see the end of this message. ***

ISC DHCP 3.0.3 is now available.  3.0.3rc1 has been promoted to final
release status with no changes.

This maintenance release contains a number of bug fixes, including a
rather insidious failover problem that could produce stale client
identifiers, and unusual NAK behaviour in DHCP failover server pairs.

A list of changes made during the entirety of DHCP 3.0.3 development
has been included at the end of this message.  For a full list of
changes from any previous software version number, please consult
the RELNOTES file included in the software distribution.


ISC is also pleased to announce the expansion of ISC's Software Guild
to include DHCP.  The Software Guild program is designed for product
integrators and users to enjoy a more direct relationship with ISC -
helping to guide its software projects to suit their needs, as well
as early-adoption of changes in code to ease software distribution to
their clients.

Please join Joao Damas, the DHCP Forum Programme Manager, Robert
Austein, ISC's Manager of Software Engineering, and David Hankins, the
primary DHCP Software Engineer, at IETF 63 in Paris for a presentation
about The DHCP Forum, and discussion about the future of the ISC DHCP
software distribution.  Topics will include;

        o The present state of ISC DHCP.
        o Features planned for DHCP version 3.1.0 and future.
        o Open discussion for interest in the development of a full
                reference implementation of DHCPv6.

The kickoff meeting will take place on July 31st from 19:00 to 20:00 hours
local time.  For meeting details, please RSVP via email to dhcpforum at

To learn more about the Software Guild, please visit this URL.

We look forward to seeing you there.


This release, and its OpenPGP-signature is available now from:

ISC's Release Signing Key can be obtained at:

                        Changes since 3.0.3b3

- dhclient.conf documentation for interface {} was updated to reflect recent
  discussion on the dhcp-hackers mailing list.

- In response to reports that the software does not compile on GCC 4.0.0,
  -Werror was removed from Makefile.conf for all platforms that used it.
  We will address the true problem in a future release; this is a temporary

                        Changes since 3.0.3b2

- An error in code changes introduced in 3.0.3b2 was corrected, which caused
  static BOOTP clients to receive random addresses.

                        Changes since 3.0.3b1

- A bug was fixed in BOOTPREQUEST handling code wherein stale references to
  host records would be left behind on leases that were not allocated to the
  client currently booting (eg in the case where the host was denied booting).

- The dhcpd.conf.5 manpage was updated to be more clear in regards to
  multiple host declarations (thanks to Vincent McIntyre).  'Interim' style
  dynamic updates were also retouched.

                        Changes since 3.0.2

- A bug was fixed where a server might load balance a DHCP REQUEST to its
  peer after already choosing not to load balance the preceeding DISCOVER.
  The peer cannot allocate the originating server's lease.

- In the case where a secondary server lost its stable storage while the
  primary was still in communications-interrupted, and came back online,
  the lease databases would not be fully transferred to the secondary.
  This was due to the secondary errantly sending an extra UPDREQ message
  when the primary made its state transition to PARTNER-DOWN known.

- The package will now compile cleanly in gcc 3.3 and 3.4.  As a side effect,
  lease structures will be 9 bytes smaller on all platforms.  Thanks to
  Jason Vas Dias at Redhat.

- Interface discovery code in DISCOVER_UNCONFIGURED mode is now
  properly restricted to only detecting broadcast interfaces.  Thanks
  to a patch from Jason Vas Dias at RedHat.

- decode_udp_ip_header was changed so that the IP address was copied out
  to a variable, rather than referenced by a pointer.  This enforces 4-byte
  alignment of the 32-bit IP address value.  Thanks to a patch from Dr.
  Peter Poeml.

- An incorrect log message was corrected thanks to a patch from
  Dr. Peter Poeml.

- A bug in DDNS was repaired, where if the server's first DDNS action was
  a DDNS removal rather than a DDNS update, the resolver library's
  retransmit timer and retry timer was set to the default, implying a
  15 second timeout interval.  Which is a little excessive in a synchronous,
  single-threaded system.  In all cases, ISC DHCP should now hold fast to
  a 1-second timeout, trying only once.

- The siaddr field was being improperly set to the server-identifier when
  responding to DHCP messages.  RFC2131 clarified the siaddr field as
  meaning the 'next server in the bootstrap process', eg a tftp server.
  The siaddr field is now left zeroed unless next-server is configured.

- mockup_lease() could have returned in an error condition (or in the
  condition where no fixed-address was found matching the shared
  network) with stale references to a host record.  This is probably not
  a memory leak since host records generally never die anyway.

- A bug was repaired where failover servers would let stale client identifiers
  persist on leases that were reallocated to new clients not sending an id.

- Binding scopes ("set var = value;") are now removed from leases allocated
  by failover peers if the lease had expired.  This should help reduce the
  number of stale binding scopes on leases.

- A small memory leak was closed involving client identifiers larger than
  7 bytes, and failover.

- Configuring a subnet in dhcpd.conf with a subnet mask of 32 bits might
  cause an internal function to overflow heap.  Thanks to Jason Vas Dias
  at Redhat.

- Some inconsistencies in treating numbers that the lexer parsed as 'NUMBER'
  or 'NUMBER_OR_NAME' was repaired.  Hexadecimal parsing is affected, and
  should work better.

- In several cases, parse warnings were being issued before the lexical
  token had been advanced to the token whose value was causing an error...
  causing parse warnings to claim the problem is on the wrong token.

- Host declarations matching on client identifier for dynamic leases will
  no longer match fixed-address host declarations (this is now identical
  to behaviour for host records matching on hardware address).

David W. Hankins		"If you don't do it right the first time,
Software Engineer			you'll just have to do it again."
Internet Systems Consortium, Inc.		-- Jack T. Hankins
To unsubscribe from this list, visit
or send mail to dhcp-announce-request at with the subject line of

More information about the dhcp-announce mailing list