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. [ISC-Bugs #15409]
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.
[ISC-Bugs #13308]
(classes with lease limitations) was fixed. Non-active leases OFFERed
to clients are no longer billed (but billing is checked before offering).
[ISC-Bugs #16168]
misapplied to server values rather than client values. The server no longer
advertises 8-byte lease-time options when on 64-bit platforms.
[ISC-Bugs #16036]
applications (particularly the dhcrelay) can discern between what frames
were tranmsitted to it, and what frames are being carried through it which
it should not intercept. [ISC-Bugs #15573]
not specified. (Before, it would always return 0 if commit was not
given.) Fixed up the one call to supersede_lease() which expected
the old behavior.
Added a check to supersede_lease() to return an error if the pimmediate
flag is given, and commit is not. (You should never be sending information
on an uncommitted lease to a peer.)
Separated the failover queue update (the propogate flag) test from
the commit test in supersede_lease(), so that you can now enqueue an
update on an uncommitted lease.
<draft-ietf-dhc-dhcp-dns-12.txt>.
common/options.c, common/tables.c, includes/dhcp.h:
Split the fqdn.name option into fqdn.hostname and fqdn.domainname.
includes/dhcpd.h, server/Makefile.dist, server/ddns.c, server/dhcp.c,
server/mdb.c, server/stables.c:
Added a new file (server/ddns.c) containing the DDNS updates code.
This file exports two functions: ddns_updates() and ddns_removals().
ddns_updates() is called when a lease is granted, and ddns_removals()
is called when the lease expires or is released.
server/dhcpd.c:
Remove the previous DDNS update code, and add default code for the
ddns-hostname, ddns-domainname, ddns-ttl, and ddns-rev-domainname
server options.