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 /network_io | |
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 'network_io')
-rw-r--r-- | network_io/unix/sockaddr.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/network_io/unix/sockaddr.c b/network_io/unix/sockaddr.c index 281c89d9f..614ffb813 100644 --- a/network_io/unix/sockaddr.c +++ b/network_io/unix/sockaddr.c @@ -603,11 +603,10 @@ APR_DECLARE(apr_status_t) apr_getnameinfo(char **hostname, * a numeric address string if it fails to resolve the host name; * that is *not* what we want here * - * Additionally, if we know getnameinfo() doesn't handle IPv4-mapped - * IPv6 addresses correctly, drop down to IPv4 before calling - * getnameinfo(). + * For IPv4-mapped IPv6 addresses, drop down to IPv4 before calling + * getnameinfo() to avoid getnameinfo bugs (MacOS X, glibc). */ -#ifdef GETNAMEINFO_IPV4_MAPPED_FAILS +#if APR_HAVE_IPV6 if (sockaddr->family == AF_INET6 && IN6_IS_ADDR_V4MAPPED(&sockaddr->sa.sin6.sin6_addr)) { struct apr_sockaddr_t tmpsa; |