diff options
author | trawick <trawick@13f79535-47bb-0310-9956-ffa450edef68> | 2004-05-21 22:10:51 +0000 |
---|---|---|
committer | trawick <trawick@13f79535-47bb-0310-9956-ffa450edef68> | 2004-05-21 22:10:51 +0000 |
commit | 2f1ef7e7c30c40ffb0de78ce8579e6762f6a7cbe (patch) | |
tree | 5e013d605816d24cfe8d639f7c902ab71fb9fe68 /build | |
parent | 5f416d65ea5ad23b3f39d4b934fc8366c358eecc (diff) | |
download | libapr-2f1ef7e7c30c40ffb0de78ce8579e6762f6a7cbe.tar.gz |
backport this from 1.0-dev
Don't assume getnameinfo() can handle IPv4-mapped IPv6 addresses
on any platforms.
Submitted by: Jeff Trawick, Joe Orton, Colm MacC�rthaigh <colm stdlib.net>
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/branches/APR_0_9_BRANCH@65106 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'build')
-rw-r--r-- | build/apr_network.m4 | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/build/apr_network.m4 b/build/apr_network.m4 index caf52a8fa..58ae115d4 100644 --- a/build/apr_network.m4 +++ b/build/apr_network.m4 @@ -141,80 +141,6 @@ fi ]) dnl -dnl check for getnameinfo() that properly resolves IPv4-mapped IPv6 addresses -dnl -dnl Darwin is known not to map them correctly -dnl -AC_DEFUN(APR_CHECK_GETNAMEINFO_IPV4_MAPPED,[ - AC_CACHE_CHECK(whether getnameinfo resolves IPv4-mapped IPv6 addresses, - ac_cv_getnameinfo_ipv4_mapped,[ - AC_TRY_RUN( [ -#ifdef HAVE_NETDB_H -#include <netdb.h> -#endif -#ifdef HAVE_STRING_H -#include <string.h> -#endif -#ifdef HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif -#ifdef HAVE_SYS_SOCKET_H -#include <sys/socket.h> -#endif -#ifdef HAVE_NETINET_IN_H -#include <netinet/in.h> -#endif -#ifdef HAVE_ARPA_INET_H -#include <arpa/inet.h> -#endif - -void main(void) { - struct sockaddr_in6 sa = {0}; - struct in_addr ipv4; -#if defined(NI_MAXHOST) - char hbuf[NI_MAXHOST]; -#else - char hbuf[256]; -#endif - unsigned int *addr32; - int error; - - ipv4.s_addr = inet_addr("127.0.0.1"); - - sa.sin6_family = AF_INET6; - sa.sin6_port = 0; - - addr32 = (unsigned int *)&sa.sin6_addr; - addr32[2] = htonl(0x0000FFFF); - addr32[3] = ipv4.s_addr; - -#ifdef SIN6_LEN - sa.sin6_len = sizeof(sa); -#endif - - error = getnameinfo((const struct sockaddr *)&sa, sizeof(sa), - hbuf, sizeof(hbuf), NULL, 0, - NI_NAMEREQD); - if (error) { - exit(1); - } else { - exit(0); - } -} -],[ - ac_cv_getnameinfo_ipv4_mapped="yes" -],[ - ac_cv_getnameinfo_ipv4_mapped="no" -],[ - ac_cv_getnameinfo_ipv4_mapped="yes" -])]) -if test "$ac_cv_getnameinfo_ipv4_mapped" = "no"; then - AC_DEFINE(GETNAMEINFO_IPV4_MAPPED_FAILS, 1, - [Define if getnameinfo does not map IPv4 address correctly]) -fi -]) - -dnl dnl check for presence of retrans/retry variables in the res_state structure dnl AC_DEFUN(APR_CHECK_RESOLV_RETRANS,[ |