From 20428bc5d6923d1531bf0b2409fe3f9a5538ecd4 Mon Sep 17 00:00:00 2001 From: Linus Nordberg Date: Thu, 12 Dec 2019 14:01:36 +0100 Subject: Do remove expired leases from allowedips --- lease.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lease.c b/lease.c index fd51817..de16cab 100644 --- a/lease.c +++ b/lease.c @@ -331,11 +331,15 @@ int leases_refresh() BUG_ON(!lease); time_t expires = lease->start_mono + lease->leasetime; if (cur_time >= expires) { - if (lease->ipv4.s_addr) + if (lease->ipv4.s_addr) { ipp_del_v4(&ipns, &lease->ipv4, 32); + memset(&lease->ipv4, 0, sizeof(lease->ipv4)); + } - if (!IN6_IS_ADDR_UNSPECIFIED(&lease->ipv6)) + if (!IN6_IS_ADDR_UNSPECIFIED(&lease->ipv6)) { ipp_del_v6(&ipns, &lease->ipv6, 128); + memset(&lease->ipv6, 0, sizeof(lease->ipv6)); + } memcpy(updates[i].peer_pubkey, kh_key(leases_ht, k), sizeof(wg_key)); -- cgit v1.2.3-59-g8ed1b