From 9ff53d57863e26b8dfa2bef0f189f68931d91efa Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 10 May 2024 17:28:58 +0100 Subject: [PATCH] unbound-dhcp-leases-bridge: Remove leases to keep the store up to date Signed-off-by: Michael Tremer --- config/unbound/unbound-dhcp-leases-bridge | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/config/unbound/unbound-dhcp-leases-bridge b/config/unbound/unbound-dhcp-leases-bridge index 40b6c2943..64a8eef21 100644 --- a/config/unbound/unbound-dhcp-leases-bridge +++ b/config/unbound/unbound-dhcp-leases-bridge @@ -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) -- 2.39.5