David Hankins [Wed, 17 Jun 2009 22:08:42 +0000 (22:08 +0000)]
- A new failover configuration parameter has been introduced for those
environments where DHCP servers can be reasonably guaranteed to be
"down" when the failover TCP socket is severed, "auto-partner-down".
This parameter is not generally safe, and by default is disabled, so
please carefully review the documentation of this parameter in the
dhcpd.conf(5) manpage before determining to use it yourself.
[ISC-Bugs #19600]
David Hankins [Wed, 20 May 2009 23:58:53 +0000 (23:58 +0000)]
- Fixed a bug where an OMAPI socket disconnection message would not result
in scheduling a failover reconnection, if the link had not negotiated a
failover connect yet (e.g.: connection refused, asynch socket connect()
timeouts). [ISC-Bugs #19684]
David Hankins [Thu, 30 Apr 2009 18:42:52 +0000 (18:42 +0000)]
- Compilation on Solaris with USE_SOCKETS defined in includes/site.h has
been repaired. Other USE_ overrides should work better. [ISC-Bugs #19434]
- A check for the local flavor of IFNAMSIZ had a broken 'else' condition,
that probably still resulted in the correct behaviour (but wouldn't use
a larger defined value provided by the host OS). [ISC-Bugs #19434]
David Hankins [Tue, 7 Apr 2009 19:55:52 +0000 (19:55 +0000)]
- Memory leak in the load_balance_mine() function is fixed. This would
leak ~20-30 octets per DHCPDISCOVER packet while failover was in use
and in normal state. [ISC-Bugs #19548]
- Various compilation fixes have been included for the memory related
DEBUG #defines in includes/site.h. [ISC-Bugs #19548]
David Hankins [Thu, 26 Mar 2009 17:20:23 +0000 (17:20 +0000)]
- The update-conflict-detection feature would leave an FQDN updated without
a DHCID (still currently implemented as a TXT RR). This would cause later
expiration or release events to fail to remove the domain name. The feature
now also inserts the client's up to date DHCID record, so records may safely
be removed at expiration or release time. Thanks to a patch submitted by
Christof Chen. [ISC-Bugs #19500]
David Hankins [Tue, 24 Mar 2009 18:33:52 +0000 (18:33 +0000)]
- A bug in DLPI packet transmission (Solaris, HP/UX) that caused the server
to stop receiving packets is fixed. The same fix also means that the MAC
address will no longer appear 'bogus' on DLPI-based systems.
[ISC-Bugs #19186]
- A bug in select handling was discovered where the results of one select()
call were discarded, causing the server to process the next select() call
and use more system calls than required. This has been repaired - the
sockets will be handled after the first return from select(), resulting in
fewer system calls. [ISC-Bugs #19186]
David Hankins [Fri, 13 Mar 2009 21:41:45 +0000 (21:41 +0000)]
- If configured, dhclient may now transmit to an anycast MAC address,
rather than using a broadcast address. Thanks to a patch from David
Cantrell at Red Hat. [ISC-Bugs #17740]
David Hankins [Tue, 10 Mar 2009 20:54:02 +0000 (20:54 +0000)]
- Fixed a cosmetic bug where pretty-printing valid domain-search options would
result in an erroneous error log message ('garbage in format string').
[ISC-Bugs #19327]
David Hankins [Fri, 20 Feb 2009 18:20:00 +0000 (18:20 +0000)]
- Failover port configuration can now be left to defaults (port 647) as
described in the -12 revision of the Failover draft (and assigned by
IANA). [ISC-Bugs #17738]
David Hankins [Thu, 12 Feb 2009 00:15:33 +0000 (00:15 +0000)]
- DDNS removal routines were updated so that the DHCID is not removed until
the client has been deprived of all A and AAAA records (not only the last
one of either of those). This resolves a bug where dual stack clients
would not be able to regain their names after either expiration event.
[ISC-Bugs #18716]
David Hankins [Fri, 30 Jan 2009 22:31:22 +0000 (22:31 +0000)]
- Using reserved leases no longer results in 'lease with binding state
free not on its queue' error messages, thanks to a patch from Frode
Nordahl. [ISC-Bugs #19274]
David Hankins [Wed, 7 Jan 2009 20:12:03 +0000 (20:12 +0000)]
- A bug was fixed that caused the server not to answer some valid Solicit
and Request packets, if the dynamic range covering any requested addresses
had been deleted from configuration. [ISC-Bugs #19134]
David Hankins [Wed, 7 Jan 2009 19:54:06 +0000 (19:54 +0000)]
- The notorious 'option <unknown> ... larger than buffer' log line,
which is seen in some malformed DHCP client packets, was modified.
It now logs the universe name, and does not log the length values
(which are bogus corruption read from the packet anyway). It also
carries a hopefully more useful explanation. [ISC-Bugs #18241]
David Hankins [Mon, 3 Nov 2008 18:13:58 +0000 (18:13 +0000)]
- Delayed-ack is now a compile-time option, compiled out by default.
This feature is simply too experimental for right now, and causes
some problems to some failover installations. We will revisit this
in future releases. [ISC-Bugs #18832]
David Hankins [Thu, 11 Sep 2008 16:11:46 +0000 (16:11 +0000)]
- A cosmetic bug in DHCPDECLINE processing was fixed which caused all
successful DHCPDECLINEs to be logged as "not found" rather than
"abandoned". [ISC-Bugs #18605]
David Hankins [Fri, 29 Aug 2008 17:48:57 +0000 (17:48 +0000)]
- The v6 BSD socket method was updated to use a single UDP BSD socket
no matter how many interfaces are involved, differentiating the
interfaces the packets were received on by the interface index supplied
by the OS.
- The relay agent no longer listens to the All DHCP Servers Multicast
address.
- A bug was fixed in data_string_sprintfa() where va_start was only called
once for two invocations of vsprintf() variants.
[ISC-Bugs #17610b]
David Hankins [Tue, 19 Aug 2008 18:00:24 +0000 (18:00 +0000)]
- A partner-down failover server no longer emits 'peer holds all free leases'
if it is able to newly-allocate one of the peer's leases. [ISC-Bugs #18437]
David Hankins [Tue, 19 Aug 2008 17:55:57 +0000 (17:55 +0000)]
- A bug in subnet6 parsing where options contained in subnet6 clauses would
not be applied to clients addressed within that network was repaired.
- When configuring a "subnet {}" or "subnet6 {}" without an explicit
shared-network enclosing it, the DHCP software would synthesize a
shared-network to contain the subnet. However, all configuration
parameters within the subnet more intuitively belong "to any client
on that interface", or rather the synthesized shared-network. So,
when a shared-network is synthesized, it is used to contain the
configuration present inside the subnet {} clause. This means that
the configuration will be valid for all clients on that network, not
just those addressed out of the stated subnet. If you intended the
opposite, the workaround is to explicitly configure an empty
shared-network.
- A bug was fixed where Information-Request processing was not sourcing
configured option values.
- A warning was added since the DHCPv6 processing software does not yet
support class statements.