]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix ip-transparent for ipv6 on FreeBSD.
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Wed, 16 Mar 2016 07:20:35 +0000 (07:20 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Wed, 16 Mar 2016 07:20:35 +0000 (07:20 +0000)
git-svn-id: file:///svn/unbound/trunk@3675 be551aaa-1e26-0410-a405-d3ace91eadb9

doc/Changelog
services/listen_dnsport.c

index 9024031fbf09f3c5c0ff8c8a405129b5728a86bf..83401e3fab5d2be7d11d8af65dfac2701455dda9 100644 (file)
@@ -1,3 +1,6 @@
+16 March 2016: Wouter
+       - Fix ip-transparent for ipv6 on FreeBSD.
+
 15 March 2016: Wouter
        - ip_freebind: yesno option in unbound.conf sets IP_FREEBIND for
          binding to an IP address while the interface or address is down.
index 6b844b0c9a8340352e633eff61f81e435d6de89e..0aa3a3c982a572a9c481829a1edaef04c9a10805 100644 (file)
@@ -202,9 +202,10 @@ create_udp_sock(int family, int socktype, struct sockaddr* addr,
 #elif defined(IP_BINDANY)
                if (transparent &&
                    setsockopt(s, (family==AF_INET6? IPPROTO_IPV6:IPPROTO_IP),
-                   IP_BINDANY, (void*)&on, (socklen_t)sizeof(on)) < 0) {
-                       log_warn("setsockopt(.. IP_BINDANY ..) failed: %s",
-                       strerror(errno));
+                   (family == AF_INET6? IPV6_BINDANY:IP_BINDANY),
+                   (void*)&on, (socklen_t)sizeof(on)) < 0) {
+                       log_warn("setsockopt(.. IP%s_BINDANY ..) failed: %s",
+                       (family==AF_INET6?"V6":""), strerror(errno));
                }
 #endif /* IP_TRANSPARENT || IP_BINDANY */
        }