]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Try to fix udpfromto for IPv6
authorAlan T. DeKok <aland@freeradius.org>
Thu, 10 Feb 2011 12:34:20 +0000 (13:34 +0100)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 10 Feb 2011 12:34:20 +0000 (13:34 +0100)
src/lib/udpfromto.c

index c0f2ebb6effa86ebc0b83ef97dc9236ebff3d86c..9dc1d3366c41f122adf5d990ac5fb890e0714744 100644 (file)
@@ -62,7 +62,7 @@ RCSID("$Id$")
 #  if defined IPV6_RECVPKTINFO
 #    include <linux/version.h>
 #    if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
-#      if defined IPV6_RECVPKTINFO && defined IPV6_2292PKTINFO
+#      if defined IPV6_2292PKTINFO
 #        undef IPV6_RECVPKTINFO
 #        undef IPV6_PKTINFO
 #        define IPV6_RECVPKTINFO IPV6_2292PKTINFO
@@ -115,8 +115,16 @@ int udpfromto_init(int s)
                 *      This should actually be standard IPv6
                 */
                proto = IPPROTO_IPV6;
+#ifdef __linux__
+               /*
+                *      Requires this for "setsockopt" but not for
+                *      recv/sendmsg() <sigh>
+                */
+               flag = IPV6_RECVPKTINFO
+#else
                flag = IPV6_PKTINFO;
 #endif
+#endif
 #endif
        } else {
                /*