mirror of
git://git.code.sf.net/p/dhcpd-pools/code
synced 2025-12-17 00:06:59 +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. */
|
* Please do not commit less readable indentation. */
|
||||||
static const char *prefixes[2][NUM_OF_PREFIX] = {
|
static const char *prefixes[2][NUM_OF_PREFIX] = {
|
||||||
[VERSION_4] = {
|
[VERSION_4] = {
|
||||||
[PREFIX_LEASE] = "lease ",
|
[PREFIX_LEASE] = "lease ",
|
||||||
[PREFIX_BINDING_STATE_FREE] = " binding state free",
|
[PREFIX_BINDING_STATE_FREE] = " binding state free",
|
||||||
[PREFIX_BINDING_STATE_ACTIVE] = " binding state active",
|
[PREFIX_BINDING_STATE_ABANDONED] = " binding state abandoned",
|
||||||
[PREFIX_BINDING_STATE_BACKUP] = " binding state backup",
|
[PREFIX_BINDING_STATE_EXPIRED] = " binding state expired",
|
||||||
[PREFIX_HARDWARE_ETHERNET] = " hardware ethernet"
|
[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] = {
|
[VERSION_6] = {
|
||||||
[PREFIX_LEASE] = " iaaddr ",
|
[PREFIX_LEASE] = " iaaddr ",
|
||||||
[PREFIX_BINDING_STATE_FREE] = " binding state free",
|
[PREFIX_BINDING_STATE_FREE] = " binding state free",
|
||||||
[PREFIX_BINDING_STATE_ACTIVE] = " binding state active",
|
[PREFIX_BINDING_STATE_ABANDONED] = " binding state abandoned",
|
||||||
[PREFIX_BINDING_STATE_BACKUP] = " binding state backup",
|
[PREFIX_BINDING_STATE_EXPIRED] = " binding state expired",
|
||||||
[PREFIX_HARDWARE_ETHERNET] = " hardware ethernet"
|
[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 {
|
enum prefix_t {
|
||||||
PREFIX_LEASE,
|
PREFIX_LEASE,
|
||||||
PREFIX_BINDING_STATE_FREE,
|
PREFIX_BINDING_STATE_FREE,
|
||||||
|
PREFIX_BINDING_STATE_ABANDONED,
|
||||||
|
PREFIX_BINDING_STATE_EXPIRED,
|
||||||
|
PREFIX_BINDING_STATE_RELEASED,
|
||||||
PREFIX_BINDING_STATE_ACTIVE,
|
PREFIX_BINDING_STATE_ACTIVE,
|
||||||
PREFIX_BINDING_STATE_BACKUP,
|
PREFIX_BINDING_STATE_BACKUP,
|
||||||
PREFIX_HARDWARE_ETHERNET,
|
PREFIX_HARDWARE_ETHERNET,
|
||||||
|
|
|
||||||
|
|
@ -124,7 +124,10 @@ int parse_leases(void)
|
||||||
parse_ipaddr(ipstring, &addr);
|
parse_ipaddr(ipstring, &addr);
|
||||||
continue;
|
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 */
|
/* remove old entry, if exists */
|
||||||
if ((lease = find_lease(&addr)) != NULL) {
|
if ((lease = find_lease(&addr)) != NULL) {
|
||||||
delete_lease(lease);
|
delete_lease(lease);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue