Opened 8 years ago

Closed 8 years ago

#6897 closed enhancement (fixed)


Reported by: Fernando de Oliveira Owned by: ken@…
Priority: normal Milestone: 7.8
Component: BOOK Version: SVN
Severity: normal Keywords:


                Internet Systems Consortium DHCP Distribution
                             Version 4.3.3
                            03 September 2015

                             Release Notes

                              NEW FEATURES

The major "theme" for ISC DHCP 4.3.x was to update the support for
DHCPv6 to include several of the features that have been available
for DHCPv4.  These include:

- Support the use of classes

- Support for on_commit, on_expiry and on_release statements

- Better logging of address assignments

- Support for using DHCPv6 relay options in expressions

This release also adds suppport for the standard DDNS as described in
the current RFCs as well as enhancing support for dynamically adding and
removing subclasses via OMAPI.

There are a number of DHCPv6 limitations and features missing in this
release, which will be addressed in the future:


			Changes since 4.3.3b1

- None

			Changes since 4.3.2

- The server now does a better check to see if it can allocate the
  memory for large blocks of v4 leases and should provide a slightly
  better error message.  Note well: the server pre-allocates v4
  addresses, if you use a large range, such as a /8, the server will
  attempt to use a large amount of memory and may not start if there
  either isn't enough memory or the size exceeds what the code supports.
  [ISC-Bugs #38637]

- The server will now reject unicast Request, Renew, Decline, and
  Release messages from a client unless the server would have sent that
  client the dhcp6.unicast option.  This behavior is in compliance with
  paragraph 1 in each of the sections 18.2,1, 18.2.3, 18.2.6, and 18.2.7
  of RFC 3315. Prior to this, the server would simply accept the
  messages.  Now, in order for the server to accept such a message, the
  server configuration must include the dhcp6.unicast option either
  globally or within the shared network to which the requested lease
  belongs. In other words, the server will map the first IA_XX address
  found within the client message to a shared-network and look for the
  presence of the unicast option there and then globally.  Thanks to
  Jiri Popelka at Red Hat for this issue and his patch which inspired
  the fix.  [ISC-Bugs #21235]

- The ATF (Automated Testing Framework) tools used for optional unit
  tests can now be built from its embedded sources in bind, solving the
  atf-run / atf-report issue with recent (>= 0.20) versions of ATF.  The
  new configuration option is "./configure --with-atf=bind".  [ISC-Bugs
  #38754, #39300]

- Corrected a compilation error introduced by the fix for ISC-Bugs
  #22806.  On older linuxes that do not include the tpacket_auxdata
  structure don't bother allocating the cmsgbuf as it isn't necessary
  and we don't have a proper length for it.  [ISC-Bugs #39209]

- Remove the dst directory.  This was replaced in 4.2.0 with the dst
  code from the Bind libraries but we continued to include it for
  backwards compatibility.  As we have now released 4.3.x it seems
  reasonable to remove it.  [ISC-Buts #39019]

- Write out the DUID server id on startup in all cases, previously if it
  was read in from server-duid option in the config or lease files for
  DHCPv4 it would not be written to the new lease file.  [ISC-Bugs

- When parsing dates for leases convert dates past 2038 to "never".
  This avoids problems with integer overflows in the date and time
  handling code for people that decide to use very large lease times or
  add a lease entry with a date far in the future.  [ISC-Bugs #33056]

- Leave the siaddr field clear when sending a NACK as per RFC 2131 table
  3.  [ISC-Bugs #38769]

- In the client don't send expired addresses to the script as part of
  the binding process.  Thanks to Sven Trenkel at Google for reporting
  the issue and suggesting the patch.  [ISC-Bugs #38631]

- While parsing IPv6 addresses treat "add" as part of the address
  instead of as a token.  [ISC-Bugs #39529]

- Add support for accessing the v4 lease queues (active, free etc) in a
  binary fashion instead of needing to walk through a linear list to
  insert, find or remove an entry from the queues.  In addition add a
  compile time option "--enable-binary-leases" to enable the new code or
  to continue using the old code.  The old code is the default.  Thanks
  to Fernando Soto from BlueCat Networks for the patch.  [ISC-Bugs

- Delayed-ack now works properly with Failover. Prior to this, bind
  updates post startup were being queued but never delivered. Among
  other things, this was causing leases to not transition from expired
  or released to free.  [ISC-Bugs #31474]

- Clean up parsing of v6 lease files a bit to avoid infinite loops if
  the lease file is corrupt in certain ways.  [ISC-Bugs #39760]

- Corrected a crash in dhclient that occurs during lease renewal if the
  client is performing its own DNS updates.  Thanks to Jiri Popelka at
  Red Hat for the bug report.  [ISC-Bugs #38639]

- Corrected an issue in v6 lease file parsing. Prior to this, when
  encountering a lease with an address for which no configured pool
  exists, the server was declaring the lease file corrupt and
  incorrectly skipping over the subsequent entry in the file.  The
  server will now emit a log message indicating that no pool was found
  for the address (or prefix) and correctly resume parsing with the next
  entry in the lease file.  Our thanks to Michal Žejdl for reporting the
  issue.  [ISC-Bugs #39314]

- Be more liberal in finding a subnet group associated with a static
  prefix.  When we added the class matching code for v6 we also added a
  requirement that the static prefix must be within a subnet the client
  was in, in order to find the proper statements.  We now look for a
  subnet based on the prefix, failing that on the static address for the
  client and failing that on the shared network itself.  [ISC-Bugs

- Add a new action expression "parse_vendor_options", which can be used
  to parse a vendor-encapsualted-option received by the server based on
  the encoding specified by the vendor-option-space statement.
  [ISC-Bugs #36449]

- Enhance the PARANOIA patch to include fchown() the lease file to allow
  it to be manipulated after the server does a chown().  Thanks to Jiri
  Popelka at Red Hat for the patch.  [ISC-Bugs #36978]

- Relax the requirement that prefix pools must be within the subnet.
  This was added in as part of #32453 in order to avoid configuration
  mistakes but is being removed as prefixes aren't required to be within
  the same subnet and many people configure them in that fashion.
  [ISC-Bugs #40077]

- Fixed a server crash that could occur when the server attempts to
  remove the billing class from the last lease billed to a dynamic class
  after said class has been deleted.  Our thanks to Lasse Pesonen for
  reporting the issue.  [ISC-Bugs #39978]

- LDAP Patches - Numerous small patches submitted by contributors have
  been applied to the contributed code which supplies LDAP support.  In
  addition, two larger submissions have also been included.  The first
  adds support for IPv6 configuration and the second provides GSSAPI
  authentication. We would like to thank the following for their
  contributions (alphabetically): Alex Novak at SUSE Bill Parker
  (wp02855 at gmail dot com) Jiri Popelka at Red Hat Marius Tomaschewski
  at SUSE (william at, The University of Adelaide
  [ISC-Bugs #39056] [ISC-Bugs #22742] [ISC-Bugs #24449] [ISC-Bugs
  #28545] [ISC-Bugs #29873] [ISC-Bugs #30183] [ISC-Bugs #30402]
  [ISC-Bugs #32217] [ISC-Bugs #32240] [ISC-Bugs #33176] [ISC-Bugs
  #33178] [ISC-Bugs #36409] [ISC-Bugs #36774] [ISC-Bugs #37876]

- Handle an out of memory condition in the client a bit better.  Thanks
  to Frédéric Perrin from Brocade for finding the issue and suggesting a
  patch.  [ISC-Bugs #39279]

Change History (6)

comment:1 by Fernando de Oliveira, 8 years ago

Please, I don't want to do this.

comment:2 by ken@…, 8 years ago

I can take this, if we want it for 7.8, but I can only test the (ipv4) client side. Will that be useful, or is it better to leave this for 7.9 ?

comment:3 by bdubbs@…, 8 years ago

I thing ipv4 is enough for now. Please go ahead and do it for 7.8.

comment:4 by ken@…, 8 years ago

Owner: changed from blfs-book@… to ken@…
Status: newassigned

comment:5 by ken@…, 8 years ago

Hmm, I was convinced I had accepted this a few hours ago on another machine. This comment is to note that it no longer builds with make -jn where n > 1. Will see if it works after I've rebooted.

comment:6 by ken@…, 8 years ago

Resolution: fixed
Status: assignedclosed

Done at r16392.

Note: See TracTickets for help on using tickets.