David Hankins [Thu, 13 Dec 2007 16:59:10 +0000 (16:59 +0000)]
- A cosmetic bug during potential-conflict recovery that caused the peer's
'conflict-done' state message to be logged as 'unknown-state' has been
repaired. It is now logged correctly. [ISC-Bugs #17204]
David Hankins [Thu, 13 Dec 2007 16:50:17 +0000 (16:50 +0000)]
- The warning logged when an address range doesn't fit in the subnets
they were declared has been updated to be more helpful and identify the
typo in configuration that created the spanning addresses.
[ISC-Bugs #17270]
David Hankins [Tue, 11 Dec 2007 00:11:22 +0000 (00:11 +0000)]
- The reverse dns name for PTR updates on IPv6 addresses has been fixed to
use ip6.arpa. rather than default to in-addr.arpa and require user
configuration. [ISC-Bugs #17356]
Evan Hunt [Sat, 8 Dec 2007 19:36:00 +0000 (19:36 +0000)]
dhc6_lease_destroy() and dhc6_ia_destroy() now set lease and IA
pointers to NULL after freeing, to prevent subsequent accesses to freed
memory. [rt17352]
David Hankins [Thu, 6 Dec 2007 00:08:44 +0000 (00:08 +0000)]
- A bug was fixed where the DHCPv6 server puts the NoAddrsAvail status
code in the IA_NA was fixed. The status code now appears in the root
level. [ISC-Bugs #17316b]
David Hankins [Wed, 5 Dec 2007 19:41:29 +0000 (19:41 +0000)]
- ./configure now autodetects local database locations rather than trying
to put dhcpd.leases and dhclient.leases in /usr/local/var/db, which no
one ever has. [ISC-Bugs #17268]
David Hankins [Tue, 20 Nov 2007 18:34:37 +0000 (18:34 +0000)]
- The server now limits clients that request multiple addresses to one
address per IA by default, which can be adjusted through the
"limit-addrs-per-ia" configuration option. [ISC-Bugs #17271]
David Hankins [Tue, 20 Nov 2007 18:33:07 +0000 (18:33 +0000)]
- If the client had multiple addresses, and one expired (was not renewed
by the server), the client would continue to attempt to renew the same
old address over and over. Now, the client will omit any expired
addresses from future Confirm, Renew, or Rebind messages. [ISC-Bugs #17266]
- dhclient -6 will now select renew/rebind timers based upon the longest
address expiration time rather than the shortest expiration time, in
order to avoid cascading renewals in the event a server elects not to
extend one of multiple IAADDR leases. [ISC-Bugs #17266]
David Hankins [Wed, 14 Nov 2007 23:44:46 +0000 (23:44 +0000)]
- The server will now include multiple IA_NA's and multiple IAADDRs within
them, if advertised by the client. It still only seeks to allocate one
new address. [ISC-Bugs #17254]
David Hankins [Wed, 31 Oct 2007 19:13:33 +0000 (19:13 +0000)]
- Relative time may now be used as a qualifier for 'allow' and 'deny' access
control lists. These directives may be used to assist in re-addressing
address pools without having to constantly reconfigure the server. Please
see 'man dhcpd.conf' for more information on allow/deny 'after time' syntax.
Thanks to a patch from Christof Chen. [ISC-Bugs #17110]
Evan Hunt [Sat, 27 Oct 2007 19:15:37 +0000 (19:15 +0000)]
Use different paths for PID and lease files when running in DHCPv4 or
DHCPv6 mode, so that servers for both protcols can be run simultaneously on
a single interface. [rt17227]
Evan Hunt [Fri, 26 Oct 2007 22:46:50 +0000 (22:46 +0000)]
- Reworked cons_options() and store_options() to fix a buffer
overflow that could result in a DoS (CVS 2007-0062). Also general
code tidying. [rt17090]
- Also fixed a spurious error message on the client. [rt17250]
David Hankins [Wed, 24 Oct 2007 00:54:12 +0000 (00:54 +0000)]
- The client leasing subsystem was streamlined and corrected to account
more closely for changes in client link attachment selection.
[ISC-Bugs #17198]
David Hankins [Tue, 23 Oct 2007 21:39:56 +0000 (21:39 +0000)]
- sendmsg()/recvmsg() control buffers are now declared in such a way to
ensure they are correctly aligned on all (esp. 64-bit) architectures.
[ISC-Bugs #17087b]
David Hankins [Tue, 9 Oct 2007 22:32:49 +0000 (22:32 +0000)]
- The peer_wants_leases() changes pulled up from 3.1.0 were corrected,
'never used' leases will no longer consistently shift between servers
on every pool rebalance run. [ISC-Bugs #17211]
David Hankins [Fri, 5 Oct 2007 22:29:51 +0000 (22:29 +0000)]
- DDNS updates state information are now stored in 'binding scopes' that
follow the leases through their lifecycles. This enables DDNS teardowns
on leases that are assigned and expired inbetween a server restart (the
state is recovered from dhcpd.leases). Arbitrary user-specified binding
scopes ('set var = "value";') are not yet supported.
David Hankins [Fri, 5 Oct 2007 15:57:48 +0000 (15:57 +0000)]
- DHCPv6 server Confirm message processing has been enhanced - it no
longer replies only to clients with host {} records, it now replies
as directed in RFC3315 section 18.2.2 - that is, to all clients
regardless of the existence of bindings. [ISC-Bugs #17183]
David Hankins [Wed, 3 Oct 2007 20:24:27 +0000 (20:24 +0000)]
- Fixed a ./configure bug where compile tests were failing due to
"-Werror" (unused variable) rather than the actual test failure. Lead
to inconsistent and unworkable auto-configurations. [ISC-Bugs #17177]