iliaa Mon May 4 13:09:15 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/main network.c Log: Fixed bug #48131 (Don't try to bind ipv4 addresses to ipv6 ips via bindto) http://cvs.php.net/viewvc.cgi/php-src/main/network.c?r1=1.118.2.2.2.6.2.14&r2=1.118.2.2.2.6.2.15&diff_format=u Index: php-src/main/network.c diff -u php-src/main/network.c:1.118.2.2.2.6.2.14 php-src/main/network.c:1.118.2.2.2.6.2.15 --- php-src/main/network.c:1.118.2.2.2.6.2.14 Sat Jan 3 00:06:33 2009 +++ php-src/main/network.c Mon May 4 13:09:15 2009 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: network.c,v 1.118.2.2.2.6.2.14 2009/01/03 00:06:33 felipe Exp $ */ +/* $Id: network.c,v 1.118.2.2.2.6.2.15 2009/05/04 13:09:15 iliaa Exp $ */ /*#define DEBUG_MAIN_NETWORK 1*/ @@ -792,9 +792,14 @@ switch (sa->sa_family) { #if HAVE_GETADDRINFO && HAVE_IPV6 case AF_INET6: - ((struct sockaddr_in6 *)sa)->sin6_family = sa->sa_family; - ((struct sockaddr_in6 *)sa)->sin6_port = htons(port); - socklen = sizeof(struct sockaddr_in6); + if (strstr(bindto, ':')) { + ((struct sockaddr_in6 *)sa)->sin6_family = sa->sa_family; + ((struct sockaddr_in6 *)sa)->sin6_port = htons(port); + socklen = sizeof(struct sockaddr_in6); + } else { + socklen = 0; + sa = NULL; + } break; #endif case AF_INET: @@ -814,7 +819,7 @@ if (bindto) { struct sockaddr *local_address = NULL; int local_address_len = 0; - + if (sa->sa_family == AF_INET) { struct sockaddr_in *in4 = emalloc(sizeof(struct sockaddr_in));
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php