diff options
Diffstat (limited to 'contrib/ntp/lib/isc/unix')
-rw-r--r-- | contrib/ntp/lib/isc/unix/file.c | 6 | ||||
-rw-r--r-- | contrib/ntp/lib/isc/unix/ifiter_getifaddrs.c | 3 | ||||
-rw-r--r-- | contrib/ntp/lib/isc/unix/ifiter_ioctl.c | 18 | ||||
-rw-r--r-- | contrib/ntp/lib/isc/unix/net.c | 3 |
4 files changed, 24 insertions, 6 deletions
diff --git a/contrib/ntp/lib/isc/unix/file.c b/contrib/ntp/lib/isc/unix/file.c index 3b59e86..9eda4a3 100644 --- a/contrib/ntp/lib/isc/unix/file.c +++ b/contrib/ntp/lib/isc/unix/file.c @@ -508,7 +508,7 @@ isc_file_safecreate(const char *filename, FILE **fp) { } isc_result_t -isc_file_splitpath(isc_mem_t *mctx, char *path, char **dirname, char **basename) +isc_file_splitpath(isc_mem_t *mctx, char *path, char **dirnam, char **basenam) { char *dir, *file, *slash; @@ -537,8 +537,8 @@ isc_file_splitpath(isc_mem_t *mctx, char *path, char **dirname, char **basename) return (ISC_R_INVALIDFILE); } - *dirname = dir; - *basename = file; + *dirnam = dir; + *basenam = file; return (ISC_R_SUCCESS); } diff --git a/contrib/ntp/lib/isc/unix/ifiter_getifaddrs.c b/contrib/ntp/lib/isc/unix/ifiter_getifaddrs.c index c2e4044..425b9b4 100644 --- a/contrib/ntp/lib/isc/unix/ifiter_getifaddrs.c +++ b/contrib/ntp/lib/isc/unix/ifiter_getifaddrs.c @@ -212,6 +212,9 @@ internal_current(isc_interfaceiter_t *iter) { get_addr(family, &iter->current.broadcast, ifa->ifa_broadaddr, ifa->ifa_name); +#ifdef ISC_PLATFORM_HAVEIFNAMETOINDEX + iter->current.ifindex = if_nametoindex(iter->current.name); +#endif return (ISC_R_SUCCESS); } diff --git a/contrib/ntp/lib/isc/unix/ifiter_ioctl.c b/contrib/ntp/lib/isc/unix/ifiter_ioctl.c index a684867..c8e4970 100644 --- a/contrib/ntp/lib/isc/unix/ifiter_ioctl.c +++ b/contrib/ntp/lib/isc/unix/ifiter_ioctl.c @@ -109,6 +109,10 @@ struct isc_interfaceiter { #endif #endif +/* Silence a warning when this file is #included */ +int +isc_ioctl(int fildes, int req, char *arg); + int isc_ioctl(int fildes, int req, char *arg) { int trys; @@ -588,6 +592,9 @@ internal_current4(isc_interfaceiter_t *iter) { } iter->current.netmask.type.in6.s6_addr[i] = (~0 << bits) & 0xff; } +#ifdef ISC_PLATFORM_HAVEIFNAMETOINDEX + iter->current.ifindex = if_nametoindex(iter->current.name); +#endif return (ISC_R_SUCCESS); inet: @@ -664,6 +671,9 @@ internal_current4(isc_interfaceiter_t *iter) { } get_addr(family, &iter->current.netmask, (struct sockaddr *)&ifreq.ifr_addr, ifreq.ifr_name); +#ifdef ISC_PLATFORM_HAVEIFNAMETOINDEX + iter->current.ifindex = if_nametoindex(iter->current.name); +#endif return (ISC_R_SUCCESS); } @@ -704,7 +714,6 @@ internal_current6(isc_interfaceiter_t *iter) { get_addr(family, &iter->current.address, (struct sockaddr *)&lifreq.lifr_addr, lifreq.lifr_name); - iter->current.ifindex = lifreq.lifr_index; if (isc_netaddr_islinklocal(&iter->current.address)) isc_netaddr_setzone(&iter->current.address, (isc_uint32_t)lifreq.lifr_index); @@ -844,7 +853,9 @@ internal_current6(isc_interfaceiter_t *iter) { iter->current.netmask.type.in6.s6_addr[i / 8] = (~0 << bits) & 0xff; } - +#ifdef ISC_PLATFORM_HAVEIFNAMETOINDEX + iter->current.ifindex = if_nametoindex(iter->current.name); +#endif return (ISC_R_SUCCESS); } #endif @@ -867,6 +878,9 @@ internal_current6(isc_interfaceiter_t *iter) { get_addr(family, &iter->current.netmask, (struct sockaddr *)&lifreq.lifr_addr, lifreq.lifr_name); +#ifdef ISC_PLATFORM_HAVEIFNAMETOINDEX + iter->current.ifindex = if_nametoindex(iter->current.name); +#endif return (ISC_R_SUCCESS); } #endif diff --git a/contrib/ntp/lib/isc/unix/net.c b/contrib/ntp/lib/isc/unix/net.c index 2ba17d16..7056668 100644 --- a/contrib/ntp/lib/isc/unix/net.c +++ b/contrib/ntp/lib/isc/unix/net.c @@ -106,7 +106,8 @@ const struct in6_addr isc_net_in6addrloop = IN6ADDR_LOOPBACK_INIT; static isc_once_t once_ipv6only = ISC_ONCE_INIT; # endif -# if defined(ISC_PLATFORM_HAVEIN6PKTINFO) +# if defined(ISC_PLATFORM_HAVEIPV6) && \ + defined(WANT_IPV6) && defined(ISC_PLATFORM_HAVEIN6PKTINFO) static isc_once_t once_ipv6pktinfo = ISC_ONCE_INIT; # endif #endif /* ISC_PLATFORM_HAVEIPV6 */ |