David Hankins [Fri, 1 Jun 2007 22:26:01 +0000 (22:26 +0000)]
- 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).
[ISC-Bugs #16910]
- The 'pool' log line has been split into two messages, one before the
rebalance run, and one after.
[ISC-Bugs #16910]
- Any queued BNDACKs are transmitted before transmitting new BNDUPDs.
This enforces the correct sequence of events for the remote server
processing these messages.
[ISC-Bugs #16910]
David Hankins [Fri, 1 Jun 2007 22:11:49 +0000 (22:11 +0000)]
- A bug was fixed in interface discovery wherein an error identifying
a server-configured interface with no IPv4 addresses would SEGV.
[ISC-Bugs #16896]
David Hankins [Tue, 22 May 2007 22:56:21 +0000 (22:56 +0000)]
- A flaw in failover startup sequences was repaired that sometimes left
the primary DHCP server's pool rebalance schedules unscheduled.
[ISC-Bugs #16621]
David Hankins [Mon, 21 May 2007 22:09:07 +0000 (22:09 +0000)]
- 'dhcp.c(3953): non-null pointer' has been repaired. This fixes a flaw
wherein the DHCPv4 server may use seemingly random source addresses.
[ISC-Bugs #16897]
David Hankins [Mon, 21 May 2007 18:16:54 +0000 (18:16 +0000)]
- 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.
[ISC-Bugs #16882]
David Hankins [Sat, 19 May 2007 16:14:48 +0000 (16:14 +0000)]
Conditionally include ifaddrs.h if USE_BPF_RECEIVE is defined. 'struct
ifaddr' is only used if this method is being used for receive, and not all
systems have ifaddrs.h. [ISC Bugs #16865-p1].
David Hankins [Fri, 18 May 2007 17:21:46 +0000 (17:21 +0000)]
- DHCPv4 I/O methods that failed to sense hardware address were corrected.
[ISC-Bugs #16881]
- DHCPv4 is now the default (as documented) rather than DHCPv6. The default
was set to DHCPv6 to facilitate ease early development, and forgotten.
[ISC-Bugs #16881]
- Corrected a segmentation violation in DHCPv4 socket processing.
[ISC-Bugs #16881]
Assorted fixes for broken network devices: IP header length field is now
determined from payload, because some NIC drivers return more data than
they actually recived; IP and UDP packets now stored in aligned data
structures; outgoing packet TTL increased from 16 to 128. [rt15583]
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. [rt16624]
David Hankins [Thu, 26 Apr 2007 20:06:25 +0000 (20:06 +0000)]
- The server's "by client-id" and "by hardware address" hash table lists
are now sorted according to the preference to re-allocate that lease to
returning clients. This should eliminate pool starvation problems
arising when "INIT" clients were given new leases rather than presently
active ones. [ISC-Bugs #16831]
David Hankins [Fri, 20 Apr 2007 15:25:26 +0000 (15:25 +0000)]
- Some bugs were fixed in the 'emergency relay agent options hologram'
which is used to retain relay agent option contents from when the
client was in INIT or REBIND states. This should solve problems where
relay agent options were not echoed from the server, even when giaddr
was set. [ISC-Bugs #16787]
David Hankins [Thu, 19 Apr 2007 21:35:12 +0000 (21:35 +0000)]
- Several spelling typos were repaired, and some cross-references to other
relevant documents were included in the manpages, thanks to a patch
by Andrew Pollock which got to us via Tomas Pospisek. [ISC-Bugs #16731]
David Hankins [Mon, 16 Apr 2007 17:32:02 +0000 (17:32 +0000)]
- Timestamp parsing errors that indicated missing "minutes" fields rather
than the actually missing "seconds" fields have been repaired thanks to
a patch from Kevin Steves. [ISC_Bugs #16505]
David Hankins [Tue, 3 Apr 2007 16:46:03 +0000 (16:46 +0000)]
- 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.
[ISC-Bugs #16781]
David Hankins [Tue, 3 Apr 2007 14:57:53 +0000 (14:57 +0000)]
- A bug was fixed where the BOOTP header 'sname' field had a value, the
copy written to persistent storage was actually the contents of the
'file' field. [ISC-Bugs #16784]
David Hankins [Tue, 27 Mar 2007 03:48:06 +0000 (03:48 +0000)]
- In the case where an "L2" DHCP Relay Agent (one that does not set giaddr)
was directly attached to the same broadcast domain as the DHCP server,
the RFC3046 relay agent information option was not being returned to the
relay in the server's replies. This was fixed; the dhcp server no longer
requires the giaddr to reply with relay agent information. Note that
this also improves compatibility with L2 devices that "intercept" DHCP
packets and expect relay agent information even in unicast (renewal)
replies. [ISC-Bugs #16762]
David Hankins [Tue, 7 Nov 2006 23:40:14 +0000 (23:40 +0000)]
- A logic error in omapi interface code was repaired that might result in
incorrectly indicating 'up' state when any flags were set, rather than
specifically the INTERFACE_REQUESTED flag. [ISC-Bugs #16431]
David Hankins [Fri, 27 Oct 2006 22:54:13 +0000 (22:54 +0000)]
- 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.
David Hankins [Wed, 27 Sep 2006 18:27:27 +0000 (18:27 +0000)]
- The servers now try harder to transmit pending binding updates when
entering normal state. [ISC-Bugs #16412]
- UPDREQ/UPDREQALL handling was optimized - it no longer dequeues and
requeues all pending updates. This should reduce the number of spurious
'xid mismatch' log mesasges. [ISC-Bugs #16412]