Check if struct in6_pktinfo is usable
This commit is contained in:
parent
b485051b65
commit
6673cadfa2
2 changed files with 6 additions and 3 deletions
5
configure
vendored
5
configure
vendored
|
@ -373,13 +373,16 @@ if [ $feat_ipv6 = "1" ] && \
|
||||||
return !inet_ntop(AF_INET6, &n.sin6_addr.s6_addr, p, sizeof(p));'
|
return !inet_ntop(AF_INET6, &n.sin6_addr.s6_addr, p, sizeof(p));'
|
||||||
then
|
then
|
||||||
add_def HAVE_IPV6
|
add_def HAVE_IPV6
|
||||||
if ! test_code 'in6_pktinfo' 'sys/socket.h netinet/in.h' '' '' '
|
if test_code 'in6_pktinfo' 'sys/socket.h netinet/in.h' '' '' '
|
||||||
return sizeof(struct in6_pktinfo);'
|
return sizeof(struct in6_pktinfo);'
|
||||||
then
|
then
|
||||||
|
add_def HAVE_IN6_PKTINFO
|
||||||
|
else
|
||||||
if test_code 'in6_pktinfo with _GNU_SOURCE' 'sys/socket.h netinet/in.h' \
|
if test_code 'in6_pktinfo with _GNU_SOURCE' 'sys/socket.h netinet/in.h' \
|
||||||
'-D_GNU_SOURCE' '' 'return sizeof(struct in6_pktinfo);'
|
'-D_GNU_SOURCE' '' 'return sizeof(struct in6_pktinfo);'
|
||||||
then
|
then
|
||||||
add_def _GNU_SOURCE
|
add_def _GNU_SOURCE
|
||||||
|
add_def HAVE_IN6_PKTINFO
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
4
ntp_io.c
4
ntp_io.c
|
@ -355,7 +355,7 @@ read_from_socket(void *anything)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef IPV6_PKTINFO
|
#if defined(IPV6_PKTINFO) && defined(HAVE_IN6_PKTINFO)
|
||||||
if (cmsg->cmsg_level == IPPROTO_IPV6 && cmsg->cmsg_type == IPV6_PKTINFO) {
|
if (cmsg->cmsg_level == IPPROTO_IPV6 && cmsg->cmsg_type == IPV6_PKTINFO) {
|
||||||
struct in6_pktinfo ipi;
|
struct in6_pktinfo ipi;
|
||||||
|
|
||||||
|
@ -462,7 +462,7 @@ send_packet(void *packet, int packetlen, NTP_Remote_Address *remote_addr)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef IPV6_PKTINFO
|
#if defined(IPV6_PKTINFO) && defined(HAVE_IN6_PKTINFO)
|
||||||
if (remote_addr->local_ip_addr.family == IPADDR_INET6) {
|
if (remote_addr->local_ip_addr.family == IPADDR_INET6) {
|
||||||
struct cmsghdr *cmsg;
|
struct cmsghdr *cmsg;
|
||||||
struct in6_pktinfo *ipi;
|
struct in6_pktinfo *ipi;
|
||||||
|
|
Loading…
Reference in a new issue