mirror of
git://git.code.sf.net/p/dhcpd-pools/code
synced 2025-12-16 15:57:00 +00:00
getdata: treat binding states abandoned, expired and release like free
This commit is contained in:
parent
cdf2c81f31
commit
b858a4778b
3 changed files with 23 additions and 11 deletions
|
|
@ -59,18 +59,24 @@ static const unsigned int SHARED_NETWORKS = 8192;
|
|||
* Please do not commit less readable indentation. */
|
||||
static const char *prefixes[2][NUM_OF_PREFIX] = {
|
||||
[VERSION_4] = {
|
||||
[PREFIX_LEASE] = "lease ",
|
||||
[PREFIX_BINDING_STATE_FREE] = " binding state free",
|
||||
[PREFIX_BINDING_STATE_ACTIVE] = " binding state active",
|
||||
[PREFIX_BINDING_STATE_BACKUP] = " binding state backup",
|
||||
[PREFIX_HARDWARE_ETHERNET] = " hardware ethernet"
|
||||
[PREFIX_LEASE] = "lease ",
|
||||
[PREFIX_BINDING_STATE_FREE] = " binding state free",
|
||||
[PREFIX_BINDING_STATE_ABANDONED] = " binding state abandoned",
|
||||
[PREFIX_BINDING_STATE_EXPIRED] = " binding state expired",
|
||||
[PREFIX_BINDING_STATE_RELEASED] = " binding state released",
|
||||
[PREFIX_BINDING_STATE_ACTIVE] = " binding state active",
|
||||
[PREFIX_BINDING_STATE_BACKUP] = " binding state backup",
|
||||
[PREFIX_HARDWARE_ETHERNET] = " hardware ethernet"
|
||||
},
|
||||
[VERSION_6] = {
|
||||
[PREFIX_LEASE] = " iaaddr ",
|
||||
[PREFIX_BINDING_STATE_FREE] = " binding state free",
|
||||
[PREFIX_BINDING_STATE_ACTIVE] = " binding state active",
|
||||
[PREFIX_BINDING_STATE_BACKUP] = " binding state backup",
|
||||
[PREFIX_HARDWARE_ETHERNET] = " hardware ethernet"
|
||||
[PREFIX_LEASE] = " iaaddr ",
|
||||
[PREFIX_BINDING_STATE_FREE] = " binding state free",
|
||||
[PREFIX_BINDING_STATE_ABANDONED] = " binding state abandoned",
|
||||
[PREFIX_BINDING_STATE_EXPIRED] = " binding state expired",
|
||||
[PREFIX_BINDING_STATE_RELEASED] = " binding state released",
|
||||
[PREFIX_BINDING_STATE_ACTIVE] = " binding state active",
|
||||
[PREFIX_BINDING_STATE_BACKUP] = " binding state backup",
|
||||
[PREFIX_HARDWARE_ETHERNET] = " hardware ethernet"
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -85,6 +85,9 @@ enum dhcp_version {
|
|||
enum prefix_t {
|
||||
PREFIX_LEASE,
|
||||
PREFIX_BINDING_STATE_FREE,
|
||||
PREFIX_BINDING_STATE_ABANDONED,
|
||||
PREFIX_BINDING_STATE_EXPIRED,
|
||||
PREFIX_BINDING_STATE_RELEASED,
|
||||
PREFIX_BINDING_STATE_ACTIVE,
|
||||
PREFIX_BINDING_STATE_BACKUP,
|
||||
PREFIX_HARDWARE_ETHERNET,
|
||||
|
|
|
|||
|
|
@ -124,7 +124,10 @@ int parse_leases(void)
|
|||
parse_ipaddr(ipstring, &addr);
|
||||
continue;
|
||||
}
|
||||
if (HAS_PREFIX(line, PREFIX_BINDING_STATE_FREE)) {
|
||||
if (HAS_PREFIX(line, PREFIX_BINDING_STATE_FREE) ||
|
||||
HAS_PREFIX(line, PREFIX_BINDING_STATE_ABANDONED) ||
|
||||
HAS_PREFIX(line, PREFIX_BINDING_STATE_EXPIRED) ||
|
||||
HAS_PREFIX(line, PREFIX_BINDING_STATE_RELEASED)) {
|
||||
/* remove old entry, if exists */
|
||||
if ((lease = find_lease(&addr)) != NULL) {
|
||||
delete_lease(lease);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue