File dhcpv6-1.0.22-remove-released-leases.bnc524687.diff of Package dhcpv6
--- src/lease_token.l
+++ src/lease_token.l 2010/02/22 09:49:51
@@ -279,7 +279,11 @@ do_iaidaddr_hash(lease_rec, key)
dhcpv6_dprintf(LOG_INFO, "This lease addr %s/%d is invalid. Removing.",
in6addr2str(&lease_rec->lease_addr.addr, 0),
lease_rec->lease_addr.plen);
- found_lease = hash_search(lease_hash_table, &lease_rec->lease_addr);
+ if (dhcp6_mode == DHCP6_MODE_CLIENT) {
+ found_lease = dhcp6_find_lease(&client6_iaidaddr, &lease_rec->lease_addr);
+ } else {
+ found_lease = hash_search(lease_hash_table, &lease_rec->lease_addr);
+ }
/* remove the previous old lease */
if(found_lease) {
remove_lease(found_lease);