From: Alan T. DeKok Date: Thu, 10 Feb 2011 12:34:20 +0000 (+0100) Subject: Try to fix udpfromto for IPv6 X-Git-Tag: release_2_1_11~130 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bde21b220350647e72b0ee9dfa7f279a8ac21d27;p=thirdparty%2Ffreeradius-server.git Try to fix udpfromto for IPv6 --- diff --git a/src/lib/udpfromto.c b/src/lib/udpfromto.c index c0f2ebb6eff..9dc1d3366c4 100644 --- a/src/lib/udpfromto.c +++ b/src/lib/udpfromto.c @@ -62,7 +62,7 @@ RCSID("$Id$") # if defined IPV6_RECVPKTINFO # include # 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() + */ + flag = IPV6_RECVPKTINFO +#else flag = IPV6_PKTINFO; #endif +#endif #endif } else { /*