diff options
author | Mikael Magnusson <mikma@users.sourceforge.net> | 2019-03-08 17:45:35 +0100 |
---|---|---|
committer | Mikael Magnusson <mikma@users.sourceforge.net> | 2019-04-02 00:27:38 +0200 |
commit | c5b96c77aa0aeb33173b2b27d9e3f00a6aa2eed3 (patch) | |
tree | 5bc6b630159236e75176fc7073014d38f265108d | |
parent | 8447779a129576504af2865bd3f7205796a0b79d (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 |