Commit aa3e348e authored by David Hankins's avatar David Hankins
Browse files

- An assertion in lease counting relating to reserved leases was repaired.

  [ISC-Bugs #17130]
parent 5eab8594
...@@ -223,6 +223,8 @@ suggested fixes to <dhcp-users@isc.org>. ...@@ -223,6 +223,8 @@ suggested fixes to <dhcp-users@isc.org>.
identifier was sometimes mishashed to the peer. Load balancing during identifier was sometimes mishashed to the peer. Load balancing during
runtime and pool rebalancing were opposing. runtime and pool rebalancing were opposing.
- An assertion in lease counting relating to reserved leases was repaired.
Changes since 3.1.0rc1 Changes since 3.1.0rc1
- The parse warning that 'deny dyanmic bootp;' must be configured for - The parse warning that 'deny dyanmic bootp;' must be configured for
......
...@@ -2515,13 +2515,13 @@ void expire_all_pools () ...@@ -2515,13 +2515,13 @@ void expire_all_pools ()
if (l->binding_state == FTS_FREE) { if (l->binding_state == FTS_FREE) {
if (i == FREE_LEASES) if (i == FREE_LEASES)
p->free_leases++; p->free_leases++;
else else if (i != RESERVED_LEASES)
log_fatal("Impossible case " log_fatal("Impossible case "
"at %s:%d.", MDL); "at %s:%d.", MDL);
} else if (l->binding_state == FTS_BACKUP) { } else if (l->binding_state == FTS_BACKUP) {
if (i == BACKUP_LEASES) if (i == BACKUP_LEASES)
p->backup_leases++; p->backup_leases++;
else else if (i != RESERVED_LEASES)
log_fatal("Impossible case " log_fatal("Impossible case "
"at %s:%d.", MDL); "at %s:%d.", MDL);
} }
...@@ -2759,7 +2759,7 @@ void free_everything () ...@@ -2759,7 +2759,7 @@ void free_everything ()
pool_reference (&pn, nc -> pools, MDL); pool_reference (&pn, nc -> pools, MDL);
do { do {
struct lease **lptr[RESERVED_LEASES+1]; struct lease **lptr[RESERVED_LEASES+1];
if (pn) { if (pn) {
pool_reference (&pc, pn, MDL); pool_reference (&pc, pn, MDL);
pool_dereference (&pn, MDL); pool_dereference (&pn, MDL);
...@@ -2768,7 +2768,7 @@ void free_everything () ...@@ -2768,7 +2768,7 @@ void free_everything ()
pool_reference (&pn, pc -> next, MDL); pool_reference (&pn, pc -> next, MDL);
pool_dereference (&pc -> next, MDL); pool_dereference (&pc -> next, MDL);
} }
lptr [FREE_LEASES] = &pc -> free; lptr [FREE_LEASES] = &pc -> free;
lptr [ACTIVE_LEASES] = &pc -> active; lptr [ACTIVE_LEASES] = &pc -> active;
lptr [EXPIRED_LEASES] = &pc -> expired; lptr [EXPIRED_LEASES] = &pc -> expired;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment