When trying to find the group to use as a scope boundary for
a prefix from a host declaration relax the requirement that the
prefix be within a subnet. We now look for the subnet based on
the prefix, if that fails we look for a subnet based on the host
address if it exists and if that fails we use the one from the
shared network we found for the client.
Add support for manipluating the queues holding leaes for time
based events (free, backup, active, expired, abandoned and reserved)
via a binary search instead of walking through the linked list.
[rt38078] Move the check for another server to be earlier
Move the code that checks if there is already a server
running to be executed earlier in the process. This
puts it before the server touches the database which
should avoid problems with rewriting a database from
under a running server.
Patch for 36810 & 20352
This coves several related problems
1) When the primary is in conflict done it allows the secondary to
transition around resolution interrupted and potentical conflict previously
the primary would die on an illegal state.
2) It allows the servers to restart a bind update request. Previously if
one of the servers sent an udpate request and there died (or had the communications
interrupted) in some states the first server wouldn't retransmit a new
update request and the other server wouldn't send any bind updates. This
was noticed in potential conflict.
3) Updated the state transitions to move the leases on the ack queue
back to the update queue in case of conflict-done as we might need to
retransmit them all.
4) Updated a transition from startup to potentical conflict instead
of resolution interrupted when the servers reconnect during the startup
phase in order to avoid a diffferent dead lock.
Add a define to disable the gentle shutdown feature by default.
The feature has some effects (recover-wait in failvoer pairs)
and release in clients that are always desired. We plan to
revisit this in order to make it easier to use but with the
define it can be enabled if necessary.
Remove the text about use-host-decl-names within DDNS.
This appears to have been correct when describing the
ad-hoc DDNS option but not the interim or standard
options. In the future we may choose to enhance
the latter two but for now we shouldn't claim we do
things we don't.