On Fri, May 06, 2011 at 05:55:20PM +0200, Alan T DeKok wrote:
> Josip Rodin wrote:
> > % sudo strace freeradius -X
> > [...]
> > socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 5
> > getsockname(5, {sa_family=AF_INET6, sin6_port=htons(0), inet_pton(AF_INET6, 
> > "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [28]) = 0
> > setsockopt(5, SOL_IPV6, IPV6_PKTINFO, [1], 4) = -1 EINVAL (Invalid argument)
> 
>   <sigh>  Linux is irritating.  The setsockopt() call apparently
> requires IPV6_RECVPKTINFO, instead of IPV6_PKTINFO.
> 
>   The #ifdef's at the top of src/lib/udpfromto.c *should* set that
> option correctly.

After a bit more digging, it seems you need a simple:

% diff -wu src/lib/udpfromto.c{~,}
--- src/lib/udpfromto.c~        2010-09-28 13:03:56.000000000 +0200
+++ src/lib/udpfromto.c 2011-05-06 18:00:20.000000000 +0200
@@ -87,7 +87,7 @@
                 *      This should actually be standard IPv6
                 */
                proto = IPPROTO_IPV6;
-               flag = IPV6_PKTINFO;
+               flag = IPV6_RECVPKTINFO;
 #endif
 #endif
        } else {

This seems to be so per RFC 3542 from 2003, which obsoletes RFC 2292
from 1998.

-- 
     2. That which causes joy or happiness.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to