X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fsocket.c;h=31adcf81a99e5080ccd7ea7af3e80be8c0bee1f4;hb=bb142eb202fda78982305d8aeffc4ae5c16ab1ae;hp=c6b670bc0c15401ac76acda1b20a693af0e4294d;hpb=ba51d86d35c7686fe64e861e14177bec0a993e42;p=catta diff --git a/src/socket.c b/src/socket.c index c6b670b..31adcf8 100644 --- a/src/socket.c +++ b/src/socket.c @@ -21,6 +21,8 @@ #include #endif +#define __APPLE_USE_RFC_2292 + #include #include #include @@ -615,6 +617,11 @@ int catta_send_dns_packet_ipv6( msg.msg_iovlen = 1; msg.msg_flags = 0; +// TODO: don't ask me why, but Win8.1 64bit WSASendMsg() fails with an InvalidArgument error 10022 when IPv6 source address is specified ( everHannes / hannes.ahrens@everbase.net ) +#ifdef _WIN32 + msg.msg_control = NULL; + msg.msg_controllen = 0; +#else if (iface > 0 || src_address) { struct in6_pktinfo *pkti; @@ -638,6 +645,7 @@ int catta_send_dns_packet_ipv6( msg.msg_control = NULL; msg.msg_controllen = 0; } +#endif return sendmsg_loop(fd, &msg, 0); }