diff --git a/configure b/configure index c219bf1b17..ea02de09a0 100755 --- a/configure +++ b/configure @@ -739,15 +739,9 @@ ISC_IRS_GETNAMEINFOSOCKLEN ISC_IRS_NEEDADDRINFO ISC_PLATFORM_HAVETFO ISC_PLATFORM_NEEDPORTT -ISC_PLATFORM_MSGHDRFLAVOR ISC_PLATFORM_HAVESALEN -ISC_EXTRA_SRCS -ISC_EXTRA_OBJS -ISC_PLATFORM_NEEDPTON -ISC_PLATFORM_NEEDNTOP ISC_PLATFORM_HAVEIF_LADDRCONF ISC_PLATFORM_HAVEIF_LADDRREQ -ISC_PLATFORM_HAVESOCKADDRSTORAGE BIND9_CO_RULE LIBTOOL_ALLOW_UNDEFINED LIBTOOL_MODE_UNINSTALL @@ -17844,6 +17838,7 @@ main () struct sockaddr_in6 sin6; struct in6_addr in6; struct in6_pktinfo in6_pi; + struct sockaddr_storage storage; in6 = in6addr_any; in6 = in6addr_loopback; sin6.sin6_scope_id = 0; @@ -17864,35 +17859,6 @@ See \`config.log' for more details" "$LINENO" 5; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct sockaddr_storage" >&5 -$as_echo_n "checking for struct sockaddr_storage... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include - -int -main () -{ -struct sockaddr_storage storage; return (0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -ISC_PLATFORM_HAVESOCKADDRSTORAGE="#define ISC_PLATFORM_HAVESOCKADDRSTORAGE 1" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -ISC_PLATFORM_HAVESOCKADDRSTORAGE="#undef ISC_PLATFORM_HAVESOCKADDRSTORAGE" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct if_laddrreq" >&5 $as_echo_n "checking for struct if_laddrreq... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -17951,92 +17917,6 @@ rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -# -# Check for network functions that are often missing. We do this -# after the libtool checking, so we can put the right suffix on -# the files. It also needs to come after checking for a Kame add-on, -# which provides some (all?) of the desired functions. -# - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inet_ntop with IPv6 support" >&5 -$as_echo_n "checking for inet_ntop with IPv6 support... " >&6; } -if test "$cross_compiling" = yes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: assuming inet_ntop not needed" >&5 -$as_echo "assuming inet_ntop not needed" >&6; } - ISC_PLATFORM_NEEDNTOP="#undef ISC_PLATFORM_NEEDNTOP" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include -#include -main() { -char a[16],b[64]; return(inet_ntop(AF_INET6, a, b, sizeof(b)) == (char*)0);} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - ISC_PLATFORM_NEEDNTOP="#undef ISC_PLATFORM_NEEDNTOP" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS inet_ntop.$O" - ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_ntop.c" - ISC_PLATFORM_NEEDNTOP="#define ISC_PLATFORM_NEEDNTOP 1" -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - - -# On NetBSD 1.4.2 and maybe others, inet_pton() incorrectly accepts -# addresses with less than four octets, like "1.2.3". Also leading -# zeros should also be rejected. - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working inet_pton with IPv6 support" >&5 -$as_echo_n "checking for working inet_pton with IPv6 support... " >&6; } -if test "$cross_compiling" = yes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: assuming inet_pton needed" >&5 -$as_echo "assuming inet_pton needed" >&6; } - ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS inet_pton.$O" - ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_pton.c" - ISC_PLATFORM_NEEDPTON="#define ISC_PLATFORM_NEEDPTON 1" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include -#include -main() { char a[16]; return (inet_pton(AF_INET, "1.2.3", a) == 1 ? 1 : - inet_pton(AF_INET, "1.2.3.04", a) == 1 ? 1 : - (inet_pton(AF_INET6, "::1.2.3.4", a) != 1)); } -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - ISC_PLATFORM_NEEDPTON="#undef ISC_PLATFORM_NEEDPTON" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS inet_pton.$O" - ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_pton.c" - ISC_PLATFORM_NEEDPTON="#define ISC_PLATFORM_NEEDPTON 1" -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sa_len in struct sockaddr" >&5 $as_echo_n "checking for sa_len in struct sockaddr... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -18064,36 +17944,6 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# -# Look for a 4.4BSD or 4.3BSD struct msghdr -# -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct msghdr flavor" >&5 -$as_echo_n "checking for struct msghdr flavor... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -int -main () -{ -struct msghdr msg; msg.msg_flags = 0; return (0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: 4.4BSD" >&5 -$as_echo "4.4BSD" >&6; } - ISC_PLATFORM_MSGHDRFLAVOR="#define ISC_NET_BSD44MSGHDR 1" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: 4.3BSD" >&5 -$as_echo "4.3BSD" >&6; } - ISC_PLATFORM_MSGHDRFLAVOR="#define ISC_NET_BSD43MSGHDR 1" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - - # # Look for in_port_t. # diff --git a/configure.in b/configure.in index d8550c6ff8..b419d1fcec 100644 --- a/configure.in +++ b/configure.in @@ -1988,20 +1988,6 @@ AC_TRY_COMPILE([ ISC_PLATFORM_HAVESALEN="#undef ISC_PLATFORM_HAVESALEN"]) AC_SUBST(ISC_PLATFORM_HAVESALEN) -# -# Look for a 4.4BSD or 4.3BSD struct msghdr -# -AC_MSG_CHECKING(for struct msghdr flavor) -AC_TRY_COMPILE([ -#include -#include ], -[struct msghdr msg; msg.msg_flags = 0; return (0);], - [AC_MSG_RESULT(4.4BSD) - ISC_PLATFORM_MSGHDRFLAVOR="#define ISC_NET_BSD44MSGHDR 1"], - [AC_MSG_RESULT(4.3BSD) - ISC_PLATFORM_MSGHDRFLAVOR="#define ISC_NET_BSD43MSGHDR 1"]) -AC_SUBST(ISC_PLATFORM_MSGHDRFLAVOR) - # # Look for in_port_t. # diff --git a/lib/isc/include/isc/platform.h.in b/lib/isc/include/isc/platform.h.in index 18cec640ce..985e08b53d 100644 --- a/lib/isc/include/isc/platform.h.in +++ b/lib/isc/include/isc/platform.h.in @@ -58,11 +58,6 @@ */ @ISC_PLATFORM_HAVEIF_LADDRREQ@ -/*! \brief - * Define either ISC_PLATFORM_BSD44MSGHDR or ISC_PLATFORM_BSD43MSGHDR. - */ -@ISC_PLATFORM_MSGHDRFLAVOR@ - /*! \brief * Define if the system supports if_nametoindex. */ diff --git a/lib/isc/unix/net.c b/lib/isc/unix/net.c index 60c3f0c42b..e62cbbaf61 100644 --- a/lib/isc/unix/net.c +++ b/lib/isc/unix/net.c @@ -364,8 +364,7 @@ isc_net_probe_ipv6pktinfo(void) { return (ipv6pktinfo_result); } -#if ISC_CMSG_IP_TOS || \ - defined(ISC_NET_BSD44MSGHDR) && defined(IPV6_TCLASS) +#if ISC_CMSG_IP_TOS || defined(IPV6_TCLASS) static inline ISC_SOCKADDR_LEN_T cmsg_len(ISC_SOCKADDR_LEN_T len) { @@ -411,7 +410,6 @@ cmsg_space(ISC_SOCKADDR_LEN_T len) { #endif } -#ifdef ISC_NET_BSD44MSGHDR /* * Make a fd non-blocking. */ @@ -574,7 +572,6 @@ cmsgsend(int s, int level, int type, struct addrinfo *res) { return (true); } #endif -#endif static void try_dscp_v4(void) { @@ -624,15 +621,11 @@ try_dscp_v4(void) { dscp_result |= ISC_NET_DSCPRECVV4; #endif /* IP_RECVTOS */ -#ifdef ISC_NET_BSD44MSGHDR - #if ISC_CMSG_IP_TOS if (cmsgsend(s, IPPROTO_IP, IP_TOS, res0)) dscp_result |= ISC_NET_DSCPPKTV4; #endif /* ISC_CMSG_IP_TOS */ -#endif /* ISC_NET_BSD44MSGHDR */ - freeaddrinfo(res0); close(s); @@ -685,10 +678,8 @@ try_dscp_v6(void) { dscp_result |= ISC_NET_DSCPRECVV6; #endif /* IPV6_RECVTCLASS */ -#ifdef ISC_NET_BSD44MSGHDR if (cmsgsend(s, IPPROTO_IPV6, IPV6_TCLASS, res0)) dscp_result |= ISC_NET_DSCPPKTV6; -#endif /* ISC_NET_BSD44MSGHDR */ freeaddrinfo(res0); close(s); diff --git a/lib/isc/unix/socket.c b/lib/isc/unix/socket.c index 526f7ff8da..f20702d4aa 100644 --- a/lib/isc/unix/socket.c +++ b/lib/isc/unix/socket.c @@ -1244,14 +1244,12 @@ cmsg_space(ISC_SOCKADDR_LEN_T len) { */ static void process_cmsg(isc__socket_t *sock, struct msghdr *msg, isc_socketevent_t *dev) { -#ifdef ISC_NET_BSD44MSGHDR #ifdef USE_CMSG struct cmsghdr *cmsgp; struct in6_pktinfo *pktinfop; #ifdef SO_TIMESTAMP void *timevalp; #endif -#endif #endif /* @@ -1264,8 +1262,6 @@ process_cmsg(isc__socket_t *sock, struct msghdr *msg, isc_socketevent_t *dev) { UNUSED(msg); UNUSED(dev); -#ifdef ISC_NET_BSD44MSGHDR - #ifdef MSG_TRUNC if ((msg->msg_flags & MSG_TRUNC) == MSG_TRUNC) dev->attributes |= ISC_SOCKEVENTATTR_TRUNC; @@ -1350,8 +1346,6 @@ process_cmsg(isc__socket_t *sock, struct msghdr *msg, isc_socketevent_t *dev) { cmsgp = CMSG_NXTHDR(msg, cmsgp); } #endif /* USE_CMSG */ - -#endif /* ISC_NET_BSD44MSGHDR */ } /* @@ -1375,9 +1369,7 @@ build_msghdr_send(isc__socket_t *sock, char* cmsgbuf, isc_socketevent_t *dev, isc_region_t used; size_t write_count; size_t skip_count; -#ifdef ISC_NET_BSD44MSGHDR struct cmsghdr *cmsgp; -#endif memset(msg, 0, sizeof(*msg)); @@ -1439,8 +1431,6 @@ build_msghdr_send(isc__socket_t *sock, char* cmsgbuf, isc_socketevent_t *dev, config: msg->msg_iov = iov; msg->msg_iovlen = iovcount; - -#ifdef ISC_NET_BSD44MSGHDR msg->msg_control = NULL; msg->msg_controllen = 0; msg->msg_flags = 0; @@ -1572,10 +1562,6 @@ build_msghdr_send(isc__socket_t *sock, char* cmsgbuf, isc_socketevent_t *dev, } #endif #endif /* USE_CMSG */ -#else /* ISC_NET_BSD44MSGHDR */ - msg->msg_accrights = NULL; - msg->msg_accrightslen = 0; -#endif /* ISC_NET_BSD44MSGHDR */ if (write_countp != NULL) *write_countp = write_count; @@ -1690,7 +1676,6 @@ build_msghdr_recv(isc__socket_t *sock, char *cmsgbuf, isc_socketevent_t *dev, msg->msg_iov = iov; msg->msg_iovlen = iovcount; -#ifdef ISC_NET_BSD44MSGHDR #if defined(USE_CMSG) msg->msg_control = cmsgbuf; msg->msg_controllen = RECVCMSGBUFLEN; @@ -1699,10 +1684,6 @@ build_msghdr_recv(isc__socket_t *sock, char *cmsgbuf, isc_socketevent_t *dev, msg->msg_controllen = 0; #endif /* USE_CMSG */ msg->msg_flags = 0; -#else /* ISC_NET_BSD44MSGHDR */ - msg->msg_accrights = NULL; - msg->msg_accrightslen = 0; -#endif /* ISC_NET_BSD44MSGHDR */ if (read_countp != NULL) *read_countp = read_count; @@ -1774,10 +1755,8 @@ dump_msg(struct msghdr *msg) { printf("\t\t%u\tbase %p, len %ld\n", i, msg->msg_iov[i].iov_base, (long) msg->msg_iov[i].iov_len); -#ifdef ISC_NET_BSD44MSGHDR printf("\tcontrol %p, controllen %ld\n", msg->msg_control, (long) msg->msg_controllen); -#endif } #endif