mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-10 11:05:54 +02:00
unbound-dhcp-leases-bridge: Remove leases to keep the store up to date
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
@@ -236,6 +236,7 @@ class UnboundDHCPLeasesBridge(object):
|
||||
|
||||
# Remove the old lease first
|
||||
self.unbound.remove_lease(old_lease)
|
||||
self._remove_lease(old_lease)
|
||||
|
||||
# Apply the lease
|
||||
self.unbound.apply_lease(lease)
|
||||
@@ -253,6 +254,7 @@ class UnboundDHCPLeasesBridge(object):
|
||||
|
||||
# Remove the lease
|
||||
self.unbound.remove_lease(lease)
|
||||
self._remove_lease(lease)
|
||||
|
||||
# Raise an error if the event is not supported
|
||||
else:
|
||||
@@ -296,6 +298,9 @@ class UnboundDHCPLeasesBridge(object):
|
||||
elif not lease.active or lease.expired:
|
||||
return
|
||||
|
||||
# Remove any previous leases
|
||||
self._remove_lease(lease)
|
||||
|
||||
# Store the lease
|
||||
self.leases.add(lease)
|
||||
|
||||
@@ -310,6 +315,12 @@ class UnboundDHCPLeasesBridge(object):
|
||||
if lease.ipaddr == ipaddr:
|
||||
return lease
|
||||
|
||||
def _remove_lease(self, lease):
|
||||
try:
|
||||
self.leases.remove(lease)
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
def read_static_hosts(self):
|
||||
log.info("Reading static hosts from %s" % self.hosts_file)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user