Opened 8 years ago
Closed 8 years ago
#6897 closed enhancement (fixed)
|Reported by:||Fernando de Oliveira||Owned by:|
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 #37791] - 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 #39078] - 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 #38329] - 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 adelaide.edu.au), 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 , 8 years ago
comment:2 by , 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 , 8 years ago
I thing ipv4 is enough for now. Please go ahead and do it for 7.8.
comment:4 by , 8 years ago
|Status:||new → assigned|
comment:5 by , 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 , 8 years ago
|Status:||assigned → closed|
Done at r16392.
Note: See TracTickets for help on using tickets.
Please, I don't want to do this.