diff options
author | Babak Farrokhi <farrokhi@FreeBSD.org> | 2020-04-09 20:31:45 +0000 |
---|---|---|
committer | Babak Farrokhi <farrokhi@FreeBSD.org> | 2020-04-09 20:31:45 +0000 |
commit | 773d8b5852d19af8278787257ed051b3f2349eaf (patch) | |
tree | 4004ab01ace61400e1ef8bc7f5a1295bd358e51b /net/radvd/files/patch-device-bsd44.c | |
parent | security/n2n: Update to 2.6 (diff) |
net/radvd: fix group join fail on multiple tries
PR: 245393
Submitted by: Franco Fichtner <franco@opnsense.org>
Notes
Notes:
svn path=/head/; revision=531270
Diffstat (limited to 'net/radvd/files/patch-device-bsd44.c')
-rw-r--r-- | net/radvd/files/patch-device-bsd44.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/net/radvd/files/patch-device-bsd44.c b/net/radvd/files/patch-device-bsd44.c index 79c0c84c1cc5..395bb3614b9d 100644 --- a/net/radvd/files/patch-device-bsd44.c +++ b/net/radvd/files/patch-device-bsd44.c @@ -1,6 +1,6 @@ ---- device-bsd44.c.orig 2017-06-29 04:32:29 UTC +--- device-bsd44.c.orig 2018-02-18 22:45:02 UTC +++ device-bsd44.c -@@ -126,7 +126,28 @@ ret: +@@ -126,7 +126,31 @@ ret: return -1; } @@ -18,7 +18,10 @@ + flog(LOG_ERR, "inet_pton failed"); + return (-1); + } -+ ++ ++ /* if we leave unconditionally the join cannot fail */ ++ setsockopt(sock, IPPROTO_IPV6, IPV6_LEAVE_GROUP, &mreq, sizeof(mreq)); ++ + if (setsockopt(sock, IPPROTO_IPV6, IPV6_JOIN_GROUP, + &mreq, sizeof(mreq)) < 0) { + flog(LOG_ERR, "can't join ipv6-allrouters on %s", iface->props.name); @@ -30,3 +33,10 @@ int set_interface_linkmtu(const char *iface, uint32_t mtu) { +@@ -161,5 +185,5 @@ int check_ip6_forwarding(void) + int check_ip6_iface_forwarding(const char *iface) + { + dlog(LOG_DEBUG, 4, "checking ipv6 forwarding of interface not supported"); +- return -1; ++ return 1; + } |