[Midnightbsd-cvs] src [6480] trunk/contrib/mDNSResponder/mDNSPosix: fix ipv6 properties to avoid freakouts
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Wed Dec 11 21:35:25 EST 2013
Revision: 6480
http://svnweb.midnightbsd.org/src/?rev=6480
Author: laffer1
Date: 2013-12-11 21:35:25 -0500 (Wed, 11 Dec 2013)
Log Message:
-----------
fix ipv6 properties to avoid freakouts
Modified Paths:
--------------
trunk/contrib/mDNSResponder/mDNSPosix/mDNSPosix.c
trunk/contrib/mDNSResponder/mDNSPosix/mDNSUNP.h
Modified: trunk/contrib/mDNSResponder/mDNSPosix/mDNSPosix.c
===================================================================
--- trunk/contrib/mDNSResponder/mDNSPosix/mDNSPosix.c 2013-12-12 02:35:03 UTC (rev 6479)
+++ trunk/contrib/mDNSResponder/mDNSPosix/mDNSPosix.c 2013-12-12 02:35:25 UTC (rev 6480)
@@ -514,6 +514,7 @@
numOfServers++;
}
}
+ fclose(fp);
return (numOfServers > 0) ? 0 : -1;
}
@@ -719,9 +720,15 @@
{
struct ipv6_mreq imr6;
struct sockaddr_in6 bindAddr6;
- #if defined(IPV6_PKTINFO)
+ #if defined(IPV6_RECVPKTINFO)
if (err == 0)
{
+ err = setsockopt(*sktPtr, IPPROTO_IPV6, IPV6_RECVPKTINFO, &kOn, sizeof(kOn));
+ if (err < 0) { err = errno; perror("setsockopt - IPV6_RECVPKTINFO"); }
+ }
+ #elif defined(IPV6_PKTINFO)
+ if (err == 0)
+ {
err = setsockopt(*sktPtr, IPPROTO_IPV6, IPV6_2292_PKTINFO, &kOn, sizeof(kOn));
if (err < 0) { err = errno; perror("setsockopt - IPV6_PKTINFO"); }
}
@@ -728,9 +735,15 @@
#else
#warning This platform has no way to get the destination interface information for IPv6 -- will only work for single-homed hosts
#endif
- #if defined(IPV6_HOPLIMIT)
+ #if defined(IPV6_RECVHOPLIMIT)
if (err == 0)
{
+ err = setsockopt(*sktPtr, IPPROTO_IPV6, IPV6_RECVHOPLIMIT, &kOn, sizeof(kOn));
+ if (err < 0) { err = errno; perror("setsockopt - IPV6_RECVHOPLIMIT"); }
+ }
+ #elif defined(IPV6_HOPLIMIT)
+ if (err == 0)
+ {
err = setsockopt(*sktPtr, IPPROTO_IPV6, IPV6_2292_HOPLIMIT, &kOn, sizeof(kOn));
if (err < 0) { err = errno; perror("setsockopt - IPV6_HOPLIMIT"); }
}
Modified: trunk/contrib/mDNSResponder/mDNSPosix/mDNSUNP.h
===================================================================
--- trunk/contrib/mDNSResponder/mDNSPosix/mDNSUNP.h 2013-12-12 02:35:03 UTC (rev 6479)
+++ trunk/contrib/mDNSResponder/mDNSPosix/mDNSUNP.h 2013-12-12 02:35:25 UTC (rev 6480)
@@ -25,14 +25,14 @@
#ifdef HAVE_LINUX
#include <linux/socket.h>
-#define IPV6_2292_PKTINFO IPV6_2292PKTINFO
-#define IPV6_2292_HOPLIMIT IPV6_2292HOPLIMIT
+#define IPV6_2292_PKTINFO IPV6_PKTINFO
+#define IPV6_2292_HOPLIMIT IPV6_HOPLIMIT
#else
// The following are the supported non-linux posix OSes -
// netbsd, freebsd and openbsd.
#if HAVE_IPV6
-#define IPV6_2292_PKTINFO 19
-#define IPV6_2292_HOPLIMIT 20
+#define IPV6_2292_PKTINFO IPV6_PKTINFO
+#define IPV6_2292_HOPLIMIT IPV6_HOPLIMIT
#endif
#endif
More information about the Midnightbsd-cvs
mailing list