From: Marko Karppinen Date: Fri, 24 Oct 2003 17:09:36 +0000 (+0000) Subject: Workaround for bug #25955 X-Git-Tag: RELEASE_2_0_0RC1~111 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=074ca4539964d736f3a31a4fb10f4eabd77addfa;p=php Workaround for bug #25955 Generalized a Darwin check in dns.c to a check for inet_pton() (kalowsky) --- diff --git a/configure.in b/configure.in index cd3aeeebd5..425334169e 100644 --- a/configure.in +++ b/configure.in @@ -189,6 +189,7 @@ case $host_alias in CPPFLAGS="$CPPFLAGS -D_BSD_TIMEOFDAY_FLAVOR";; *darwin*|*rhapsody*) CPPFLAGS="$CPPFLAGS -no-cpp-precomp" + AC_DEFINE(BIND_8_COMPAT, 1, [Enabling BIND8 compatibility for Panther]) php_multiple_shlib_versions_ok=yes;; *beos*) beos_threads=1 @@ -480,6 +481,7 @@ gettimeofday \ gmtime_r \ inet_ntoa \ inet_ntop \ +inet_pton \ isascii \ link \ localtime_r \ diff --git a/ext/standard/dns.c b/ext/standard/dns.c index eddb67ed43..64b563096a 100644 --- a/ext/standard/dns.c +++ b/ext/standard/dns.c @@ -90,9 +90,7 @@ PHP_FUNCTION(gethostbyaddr) addr = php_gethostbyaddr(Z_STRVAL_PP(arg)); if(addr == NULL) { -#if HAVE_IPV6 && !defined(__MacOSX__) -/* MacOSX at this time has support for IPv6, but not inet_pton() - * so disabling IPv6 until further notice. MacOSX 10.1.2 (kalowsky) */ +#if HAVE_IPV6 && HAVE_INET_PTON php_error_docref(NULL TSRMLS_CC, E_WARNING, "Address is not a valid IPv4 or IPv6 address"); #else php_error_docref(NULL TSRMLS_CC, E_WARNING, "Address is not in a.b.c.d form"); @@ -107,17 +105,13 @@ PHP_FUNCTION(gethostbyaddr) /* {{{ php_gethostbyaddr */ static char *php_gethostbyaddr(char *ip) { -#if HAVE_IPV6 && !defined(__MacOSX__) -/* MacOSX at this time has support for IPv6, but not inet_pton() - * so disabling IPv6 until further notice. MacOSX 10.1.2 (kalowsky) */ +#if HAVE_IPV6 && HAVE_INET_PTON struct in6_addr addr6; #endif struct in_addr addr; struct hostent *hp; -#if HAVE_IPV6 && !defined(__MacOSX__) -/* MacOSX at this time has support for IPv6, but not inet_pton() - * so disabling IPv6 until further notice. MacOSX 10.1.2 (kalowsky) */ +#if HAVE_IPV6 && HAVE_INET_PTON if (inet_pton(AF_INET6, ip, &addr6)) { hp = gethostbyaddr((char *) &addr6, sizeof(addr6), AF_INET6); } else if (inet_pton(AF_INET, ip, &addr)) {