DHCP 3.0.4 has been released!
David W. Hankins
David_Hankins at isc.org
Fri May 5 19:54:08 UTC 2006
*** From dhcp-announce -- To unsubscribe, see the end of this message. ***
ISC DHCP 3.0.4 is now available. This Release has had only cosmetic
(manual page) changes since the most recent Release Candidate (3.0.4rc1).
The 3.0.4 release engineering has corrected several bugs present in
versions 3.0.3 and prior.
Note that significant changes were made in this 3.0.4 release engineering
to the failover protocol, and you should read the RELNOTES carefully in
regards to the new 'atsfp' values placed upon leases and what they mean
to operators utilizing failover.
For a complete list of changes from any previous release, please
consult the RELNOTES file within the source distribution, or on our
website:
http://www.isc.org/sw/dhcp/dhcp_rel.php
This release, and its OpenPGP-signatures are available now from:
ftp://ftp.isc.org/isc/dhcp/dhcp-3.0.4.tar.gz
ftp://ftp.isc.org/isc/dhcp/dhcp-3.0.4.tar.gz.sha512.asc
ftp://ftp.isc.org/isc/dhcp/dhcp-3.0.4.tar.gz.sha256.asc
ftp://ftp.isc.org/isc/dhcp/dhcp-3.0.4.tar.gz.sha1.asc
ISC's Release Signing Key can be obtained at:
http://www.isc.org/about/openpgp/
Changes since 3.0.4rc1
- The dhcp-options.5 manpage was updated to correct indentation errors
thanks to a patch from Jean Delvare.
Changes since 3.0.4b3
- Some manual pages were clarified pursuant to discussion on the dhcp-server
mailing list.
Changes since 3.0.4b2
- Null-termination sensing for certain clients that unfortunatley require
it in DHCPINFORM processing was repaired.
- The host-name option and a few others were moved from "X" format to "t"
format to be compatible with new NULL handling functions.
- DHCPINFORM processing is a little more careful about return addressing
its responses, or if responding via a relay. The INFORM related
messages also log the 'effective client ip address' rather than the
client's supplied ciaddr (since some clients produce null ciaddrs).
- The server was inappropriately sending leases to the RESET state in the
event that multiple active leases were found to match a singly-identified
client. This was changed to RELEASED (by accepting a different, ACTIVE
binding, the client is implicitly releasing its lease). This repairs a
bug wherein secondary servers in failover pairs detecting this condition
move leases to RESET, and primaries refuse to accept that state
transition (properly).
- The memset-after-dmalloc() changes made in 3.0.4b1 have been backed out.
Changes since 3.0.4b1
- Command line parsing in omshell was repaired - it no longer closes
STDIN after reading one line.
- The resolver library no longer closes the /etc/resolv.conf file
descriptor it opened twice.
- Changes to trailing NULL removal in 't' option-atoms has been rethought,
it now includes 'd' (domain name) types, and tries hard not to rewind an
option beyond the start of the text field it is un-terminating.
Changes since 3.0.3
- A DDNS update handling function was misusing the DNS error codes, rather
than the internal generic result enumeration. The result is a confusing
syslog line, logging the wrong condition.
- The DHCP Server was not checking pool balance in the case where it brought
a non-ACTIVE lease out of storage for a client that was returning to use
a lease it once had long ago, and had since expired.
- Failover peers no longer bother to look for free leases to allocate when
they already found the client's ACTIVE lease. DISCOVERs are load balanced
wether freely-allocated or not, unless the server doubts the peer has
leases to allocate.
- Fixed a bug in dhcrelay agent addition code that suppressed trailing
PAD options - it was suppressing only one trailng PAD option, rather
than the entire block of them.
! Fixed some unlikely overlapping-region memcpy() bugs in dhcrelay agent
option addition and stripping code. Added a few sanity checks. Although
highly improbable, due to requiring the reception of a DHCP datagram well
in excess of all known to be used physical MTU limitations, it is possible
this may have been used in a stack overflow security vulnerability. Thanks
to a patch from infamous42md.
! Added some sanity checks to OMAPI connection/authentication code.
Although highly improbable, due to having to deliver in excess of 2^32
bytes of data via the OMAPI channel, not to mention requiring dhcpd to
be able to malloc() a memory region 2^32 bytes in size, it was possible
this might have resulted in a heap overflow security vulnerability.
Thanks to a patch from infamous42md.
- dmalloc() memset()'s the non-debug (data) portion of the allocated
memory to zero. Code that memset()'s the result returned by dmalloc() to
zero is redundant. These redundancies were removed.
- Some type declaration corrections to u_int16_t were made in common/tr.c
(Token Ring support) thanks to a patch from Jason Vas Dias at RedHat.
- A failover bug that was allowing leases that EXPIRED or were RELEASED
where tsfp and tstp are identical timestamps to languish in these
transitional states has been repaired. As a side effect, lease
databases should be kept more consistent overall, not just for these
transitional states.
- If the lease db is deleted out from under the daemon, and it moves to rewrite
the db, it will go ahead with the operation and move the new db into place
once it detects the old db does not exist.
- dhclient now ignores IRDA, SIT, and IEEE1394 network interfaces, as it
is either nonsensical or (in the case of IEEE1394) is not known to support
these interfaces. Thanks to Marius Gedminas and Andrew Pollock of Debian.
- Some previously undocumented reasons for dhclient-script invoking has
been doucmented in the dhclient-script.8 manpage.
- Failover potential expiry calculations (TSTP) have been corrected. Results
should be substantially more consistent, and proper given the constraints.
- Adjusted lease state validation checks in potential-conflict, to
account for possible clock skew similarly to normal state, and several
previously illegal transitions were made legal (ex: active->released).
- An impossible sanity check was removed from omapi/buffer.c, thanks to a
patch from 'infamous42md'.
- An OMAPI host/network byte order problem in lease time values has been
repaired.
- Several minor bugs, largely relating to treating 8-byte time values as
4-byte entities, have been repaired after careful review of the FreeBSD
ports collection's patch set. Thanks to the nameless entities who have
contributed to the FreeBSD ports.
- When writing a trace file, the file is now created with permissions 0600,
to help administrators avoid accidentally publicising sensitive config
data.
- The calculation of the maximum size of DHCP packets no longer includes
Ethernet framing overhead. The result is that the 'Maximum Message
Size' option advertised by clients, or the default value 576, is no
longer reduced by 14 bytes, and instead directly reflects the IP level
MTU (and the default, minimum allowed IP MTU of 576).
- The special status of RELEASED/EXPIRED/RESET leases when a server
is operating in partner-down was fixed. It no longer requires a
lease be twice the MCLT beyond STOS to 'reallocate', and the expiry
event to turn these into FREE leases without peer acknowledgement
(after STOS+MCLT) has been repaired.
- Compilation on older Solaris systems (lacking /usr/include/sys/int_types.h)
has been repaired.
- "append"ing a string onto the end of a "t" type option (such as the
domain-name field) that had been improperly NULL-terminated by the
DHCP server will no longer result in a truncated string containing
only the option from the server, and not the expected appended value.
Thanks to a patch from Jason Vas Dias at RedHat.
- File handlers on configuration state (config files and lease dbs) should
be treated consistently, regardless of wether TRACING is defined or not.
- The linux build environment has had some minor improvements - better
sensing of 64-bit pointer sizes (only used for establishing an icmp_id),
and corrections to #if operators regarding LINUX_MAJOR should it ever
move to 3.[01].x.
- The server now tries harder to survive the condition where it is unable
to open a new lease file to rewrite the lease state database.
--
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 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