ISC DHCP 3.1.0rc2 is now available

Evan Hunt Evan_Hunt at isc.org
Sat Jul 7 06:04:03 UTC 2007


ISC DHCP 3.1.0rc2 is now available for download.

This is the second release candidate for DHCP 3.1.0, which includes
several major new features compared to DHCP 3.0.x, including:

	- Failover protocol 'MAC Address Affinity' to reduce pool churn.
	- Support for the 'reserved' and 'bootp' failover flags, which
	  means in lay terms that static allocations can be made to
	  clients in which 'on events' can be supported.
	- Several other failover optimizations and changes.
	- Management of class and subclass statements via OMAPI.
	- Many new configuration statement functions.
	- Initial formal support for VIVCO/VIVSO options.

A list of changes in this release has been appended to this message.  For
a full list of changes since any historical version, please consult the
RELNOTES file in the software distribution, our our website:

  http://www.isc.org/sw/dhcp/dhcp_dev2.php

This release is available at the following URL:

  ftp://ftp.isc.org/isc/dhcp/dhcp-3.1.0rc2.tar.gz

OpenPGP signatures are available at:

  ftp://ftp.isc.org/isc/dhcp/dhcp-3.1.0rc2.tar.gz.asc
  ftp://ftp.isc.org/isc/dhcp/dhcp-3.1.0rc2.tar.gz.sha1.asc
  ftp://ftp.isc.org/isc/dhcp/dhcp-3.1.0rc2.tar.gz.sha256.asc
  ftp://ftp.isc.org/isc/dhcp/dhcp-3.1.0rc2.tar.gz.sha512.asc

ISC's Release Signing Key can be obtained at:

    http://www.isc.org/about/openpgp/

                        Changes since 3.1.0rc1

- The parse warning that 'deny dyanmic bootp;' must be configured for
  failover protected subnets was removed.

			Changes since 3.1.0b2

- Silenced compiler warnings on NetBSD

- Failover rebalance events no longer play ping pong with round errors
  (moving leases between free and back to backup where there are an
  odd number of leases).

- The 'pool' log line has been split into two messages, one before the
  rebalance run, and one after.

- Any queued BNDACKs are transmitted before transmitting new BNDUPDs.
  This enforces the correct sequence of events for the remote server
  processing these messages.

- Fixed a bug in which write_lease() might report a failure incorrectly

- supersede_lease() now requeues leases in their respective hardware
  address hash bucket.  This mirrors client identifier behaviour.

			Changes since 3.1.0b1

- Added -x option to dhclient, which triggers dhclient processes
  to exit gracefully without releasing leases first.

- Fixed a bug that caused OMAPI clients to freeze when opening lease
  objects.

- A new server config option "fqdn-reply" specifies whether the server
  should send out option 81 (FQDN).  Defaults to "on".  If set to "off",
  the FQDN option is not sent, even if the client requested it.  This is
  needed because some clients misbehave otherwise.  Thanks to Christof Chen
  at Allianz.

- Allow trace output files (-tf option) to be overwritten, rather than
  crashing dhcpd if the file already exists

- A bug was fixed that caused dhcpd to segfault if a pool was declared
  outside the scope of a subnet in dhcpd.conf.

- Some uninitialized values were repaired in dhcpleasequery.c that
  caused the server to abort.

- A new server config option, 'do-reverse-updates', has been added
  which causes the server to abstain from performing updates on PTR
  records.  Thanks to a patch from Christof Chen at Allianz.

- A bug was repaired in subencapsulation support, where spaces separated
  by empty spaces would not get included.

- Corrected one situation where the column index variable might be
  used without being initialized, in expression-printing.

- Silenced several other compiler warnings.

- A bug in dhclient was repaired which caused it to send parameter request
  lists of 55 bytes in length no matter how long the declared PRL was.

- 'dhcp.c(3953): non-null pointer' has been repaired.  This fixes a flaw
  wherein the DHCPv4 server may ignore a configured server-identifier.

- A flaw in failover startup sequences was repaired that sometimes left
  the primary DHCP server's pool rebalance schedules unscheduled.

- Corrected a flaw that broke encapsulated spaces included due to presence
  on the parameter request list.

                        Changes since 3.1.0a3

- The execute() statement has been changed from a "numeric expression" to
  an "executable statement", so that it can now be used with the syntax
  "execute(cmd, arg, ...)" rather than "eval(execute(cmd, arg, ...))".

- Some spelling fixes.

			Changes since 3.1.0a2

- A bug was fixed where attempting to permit leasequeries results in a
  fatal internal error, "Unable to find server option 49".

- A bug was fixed in dhclient rendering the textual output form of the
  domain-search option syntax.

			Changes since 3.1.0a1

- A bug in the FQDN universe that added FQDN codes to the NWIP universe's
  hash table was repaired.

- The servers now try harder to transmit pending binding updates when
  entering normal state.

- UPDREQ/UPDREQALL handling was optimized - it no longer dequeues and
  requeues all pending updates.  This should reduce the number of spurious
  'xid mismatch' log messages.

- An option definition referencing leak was fixed, which resulted in early
  termination of dhclient upon the renewal event.

- Some default hash table sizes were tweaked, some upwards, some downwards.
  3.1.0a1's tables resulted in a reduction in default server memory use.
  The new selected values provide more of a zero sum (increasing the size
  of tables likely to be populated, decreasing the size of tables unlikely).

- Lease structures appear in three spearate hashes: by IP address, by UID,
  and by hardware address.  One type of table was used for all three, and
  improvements to IP address hashing were applied to all three (so UID and
  hardware addresses were treated like 4-byte integers).  There are now two
  types of tables, and the uid/hw hashes use functions more appropriate
  to their needs.

- The max-lease-misbalance percentage no longer causes scheduled rebalance
  runs to be skipped: it still governs the schedule, but every scheduled
  run will attempt balance.

- A segfault bug in recursive encapsulation support has been corrected.

			Changes since 3.0 (New Features)

- A workaround for certain STSN servers that send a mangled domain-name
  option was introduced for dhclient.  The client will now accept corrupted
  server responses, if they contain a valid DHCP_MESSAGE_TYPE (OFFER, ACK,
  or NAK).  The server will continue to not accept corrupt client packets.

- Support for 'reserved' (psuedo-static) and BOOTP leases via failover
  was introduced.

- Support for adding, removing, and managing class and subclass statements
  via OMAPI.

- The failover implementation was updated to comply with revision 12 of
  the protocol draft.

- 'make install' now creates the initial zero-length dhcpd.leases file if
  one does not already exist on the system.

- RFC3942 compliance, site-local option spaces start at 224 now, not 128.

- The Load Balance Algorithm was misimplemented.  The current implementation
  matches RFC 3074.

- lcase() and ucase() configuration expressions have been added which adjust
  their arguments from upper to lower and lower to upper cases respectively.
  Thanks to a patch from Albert Herranz.

- The dhclient 'reject ...;' statement, which rejects leases given by named
  server-identifiers, now permits address ranges to be specified in CIDR
  notation.  Thanks to a patch from David Boyce.

- The subnet-mask option is now supplied by default, but at lowest
  priority.  This helps a small minority of clients that provide parameter
  request lists, but do not list the subnet-mask option because they were
  designed to interoperate with a server that behaves in this manner.

- The FQDN option is similarly supplied even if it does not appear on the
  parameter request list, but not to the exclusion of options that do
  appear at the parameter request list.  Up until now it had ultimate
  priority over the client's parameter request list.

- Varying option space code and length bit widths (8/16/32) are now
  supported.  This is a milestone in achieving RFC 3925 "VIVSO" and
  DHCPv6 support.

- A new common (server or client) option, 'db-time-format local;', has
  been added which prints the local time in /var/db/dhcpd.leases rather
  than UTC.  Thanks to a patch from Ken Lalonde.

- Some patches to improve DHCP Server startup speed from Andrew Matheson
  have been incorporated.

- Failover pairs now implement 'MAC Affinity' on leases moving from the
  active to free states.  Leases that belonged to the failover secondary
  are moved to BACKUP state rather than FREE upon exiting EXPIRED state.
  If lease rebalancing must move leases, it tries first to move leases
  that belong to the peer in need.

- The server no longer sends POOLREQ messages unless the pool is severely
  misbalanced in the peer's favor (see 'man dhcpd.conf' for more details).

- Pool rebalance events no longer happen upon successfully allocating a
  lease.  Instead, they happen on a schedule.  See 'man dhcpd.conf' for the
  min-balance and max-balance statements for more information.

- The DHCP Relay Agent Information Option / Link Selection Sub-Option
  is now supported.  (See RFC3527 for details).

- A new DDNS related server option, update-conflict-detection, has been
  added.  If this option is enabled, dhcpd will perform normal DHCID
  conflict resolution (the default).  If this option is disabled, it will
  instead trust the assigned name implicitly (removing any other bindings
  on that name).  This option has not been made available in dhclient.

- In those cases where the DHCP software manufactures an IP header (to
  transmit via bpf, lpf, etc), the IP TTL the software selects has been
  increased from 16 to 128.  This is intended to match Microsoft Windows
  DHCP Client behaviour, to increase compatibility.

- 'ignore client-updates;' now has behaviour that is different from
  'deny client-updates;'.  The client's request is not truly ignored,
  rather it is encouraged.  Should this value be configured, the server
  updates DNS as though client-updates were set to 'deny'.  That is, it
  enters into DNS whatever it is configured to do already, provided it is
  configured to.  Then it sends a response to the client that lets the
  client believe it is performing client updates (which it will), probably
  for a different name.  In essence, this lets the client do as it will,
  ignoring this aspect of their request.

- Support for compressed 'domain name list' style DHCP option contents, and
  in particular the domain search option (#119) was added.

- The DHCP LEASEQUERY protocol as defined in RFC4388 is now implemented.
  LEASEQUERY lets you query the DHCP server for information about a lease,
  using either an IP address, MAC address, or client identifier.  Thanks
  to a patch from Justin Haddad.

- DHCPD is now RFC2131 section 4.1 compliant (broadcast to all-ones ip and
  ethernet mac address) on the SCO platform specifically without any strange
  ifconfig hacks.  Many thanks go to the Kroger Co. for donating the
  hardware and funding the development.

- A new common configuration executable statement, execute(), has been
  added.  This permits dhcpd or dhclient to execute a named external
  program with command line arguments specified from other configuration
  language.  Thanks to a patch written by Mattias Ronnblom, gotten to us
  via Robin Breathe.

- A new dhcp server option 'adaptive-lease-time-threshold' has been added
  which causes the server to substantially reduce lease-times if there are
  few (configured percentage) remaining leases.  Thanks to a patch submitted
  from Christof Chen.

- Encapsulated option spaces within encapsulated option spaces is now
  formally supported.

-- 
Evan Hunt -- evan_hunt at isc.org
Internet Systems Consortium, Inc.
-----------------------------------------------------------------------
To unsubscribe from this list, visit http://www.isc.org/dhcp-lists.html
or send mail to dhcp-announce-request at isc.org with the subject line of
'unsubscribe'.
-----------------------------------------------------------------------


More information about the dhcp-announce mailing list