diff options
author | Mikael Magnusson <mikma@users.sourceforge.net> | 2019-03-08 17:45:35 +0100 |
---|---|---|
committer | Mikael Magnusson <mikma@users.sourceforge.net> | 2020-05-08 18:52:55 +0200 |
commit | 4ad9ec6810a4604a844fda0179e666cdf9aa6a46 (patch) | |
tree | 627a98c5913a642e84554fd24fb5d10c1247ae21 | |
parent | 508c2fc5aa3ff3d69a2f82cd88d660cde6b83df3 (diff) |
Wireguard: Fixes
-rw-r--r-- | proto/wireguard/wireguard.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/proto/wireguard/wireguard.c b/proto/wireguard/wireguard.c index e60a0b97..2882c862 100644 --- a/proto/wireguard/wireguard.c +++ b/proto/wireguard/wireguard.c @@ -87,14 +87,14 @@ int decode_remote_ep(void *p, size_t sub_tlv_len, u32 *as4, ip_addr *remote_ep) *as4 = get_u32(p); u16 af = get_u16(p + 4); switch (af) { - case AF_INET: + case NET_IP4: if (sub_tlv_len != 10) { log(L_TRACE "WG: IPv4 len error %d", sub_tlv_len); return -1; } *remote_ep = ipa_from_ip4(get_ip4(p + 6)); return 0; - case AF_INET6: + case NET_IP6: if (sub_tlv_len != 22) { log(L_TRACE "WG: IPv6 len error %d", sub_tlv_len); return -1; @@ -461,8 +461,10 @@ wg_rt_notify(struct proto *P, struct channel *ch UNUSED, struct network *n, if (!previp) { debug("WG: remove first\n"); peer->first_allowedip = ip->next_allowedip; - if (peer->last_allowedip == ip) + if (peer->last_allowedip == ip) { peer->last_allowedip = NULL; + peer->first_allowedip = NULL; + } } else { debug("WG: remove middle\n"); // Remove |