summaryrefslogtreecommitdiff
path: root/network_io
diff options
context:
space:
mode:
authortrawick <trawick@13f79535-47bb-0310-9956-ffa450edef68>2004-05-21 22:10:51 +0000
committertrawick <trawick@13f79535-47bb-0310-9956-ffa450edef68>2004-05-21 22:10:51 +0000
commit2f1ef7e7c30c40ffb0de78ce8579e6762f6a7cbe (patch)
tree5e013d605816d24cfe8d639f7c902ab71fb9fe68 /network_io
parent5f416d65ea5ad23b3f39d4b934fc8366c358eecc (diff)
downloadlibapr-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.c7
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;