From: Sara Golemon Date: Tue, 8 Jul 2003 05:00:13 +0000 (+0000) Subject: gethostbyname2() not thread safe. Use getaddrinfo() or nothing at all. X-Git-Tag: BEFORE_ARG_INFO~333 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6cb8ce2880058836d17ba24ffde439f6afa4a08e;p=php gethostbyname2() not thread safe. Use getaddrinfo() or nothing at all. --- diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c index 5421195739..9b1d3ad0d8 100644 --- a/ext/sockets/sockets.c +++ b/ext/sockets/sockets.c @@ -381,8 +381,6 @@ static int php_set_inet6_addr(struct sockaddr_in6 *sin6, char *string, php_socke #ifdef HAVE_GETADDRINFO struct addrinfo hints; struct addrinfo *addrinfo = NULL; -#elif defined(HAVE_GETHOSTBYNAME2) - struct hostent *host_entry; #endif if (inet_pton(AF_INET6, string, &tmp)) { @@ -410,25 +408,9 @@ static int php_set_inet6_addr(struct sockaddr_in6 *sin6, char *string, php_socke memcpy(&(sin6->sin6_addr.s6_addr), ((struct sockaddr_in6*)(addrinfo->ai_addr))->sin6_addr.s6_addr, sizeof(struct in6_addr)); freeaddrinfo(addrinfo); -#elif defined(HAVE_GETHOSTBYNAME2) - - if (! (host_entry = gethostbyname2(string, AF_INET6))) { -#ifdef PHP_WIN32 - PHP_SOCKET_ERROR(php_sock, "Host lookup failed", WSAGetLastError()); -#else - PHP_SOCKET_ERROR(php_sock, "Host lookup failed", (-10000 - h_errno)); -#endif - return 0; - } - if (host_entry->h_addrtype != AF_INET6) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Host lookup failed: Non AF_INET6 domain returned on AF_INET6 socket"); - return 0; - } - memcpy(&(sin6->sin6_addr.s6_addr), host_entry->h_addr_list[0], host_entry->h_length); - #else /* No IPv6 specific hostname resolution is available on this system? */ - php_error_docref(NULL TSRMLS_CC, E_WARNING, "No IPv6 compatable hostname resolution available on system."); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Host lookup failed: getaddrinfo() not available on system."); reurn 0; #endif