diff options
author | Mikael Magnusson <mikma@users.sourceforge.net> | 2019-03-08 17:45:35 +0100 |
---|---|---|
committer | Mikael Magnusson <mikma@users.sourceforge.net> | 2019-03-08 17:45:35 +0100 |
commit | 4f93aab39571bedabf72f6561cb9462af1c5433d (patch) | |
tree | b99f500607cd62a3459713e6be001578ce7490cd | |
parent | 71b92fee23cfc75e042a008cf5debd70e37c265f (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 |