diff options
author | Steven Barth <steven@midlink.org> | 2014-08-23 14:32:00 +0200 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2014-08-23 14:32:00 +0200 |
commit | 24452e1e3e9adfd9d8e183db1aa589f77727f5a7 (patch) | |
tree | 4fea757815abbea7b7f92dbe9177927e486eeaef | |
parent | 710744ecea73b6a3cf560776e298741b04fb727a (diff) |
odhcpd: don't kill static lease entries
-rw-r--r-- | src/dhcpv4.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/dhcpv4.c b/src/dhcpv4.c index 89750b2..fdf5f68 100644 --- a/src/dhcpv4.c +++ b/src/dhcpv4.c @@ -611,10 +611,9 @@ static struct dhcpv4_assignment* dhcpv4_lease(struct interface *iface, if (assigned && a) lease = a; } else if (msg == DHCPV4_MSG_RELEASE) { - if (a) { + if (a && a->valid_until != LONG_MAX) a->valid_until = 0; - } - } else if (msg == DHCPV4_MSG_DECLINE) { + } else if (msg == DHCPV4_MSG_DECLINE && a->valid_until != LONG_MAX) { memset(a->hwaddr, 0, sizeof(a->hwaddr)); a->valid_until = now + 3600; // Block address for 1h } |