Oops, please have a look at the correct diff :) http://pastie.org/2138369
--- sapi/cli/php_cli_server.c.old 2011-06-29 09:08:28.971479778 +0200 +++ sapi/cli/php_cli_server.c 2011-06-28 19:43:23.123167815 +0200 @@ -1799,13 +1799,28 @@ } { - char *p = strchr(host, ':'); - if (p) { + char *p = strrchr(host, ':'); + char *end = strchr(host, ']'); + if (p && (end == NULL || p > end)) { *p++ = '\0'; port = strtol(p, &p, 10); + if (port < 0 || port > 65535) { + printf(stderr, "Invalid built-in web-server addr:port argument\n"); + return FAILURE; + } } } + if (*host == '[' && host[strlen(host)-1] == ']') { + char v6address[40]; + int success = sscanf(host, "\[%39[^]]\]", v6address); + if (success != 1) { + php_cli_server_logf("Failed to listen on %s:%d (reason: %s)" TSRMLS_CC, host, port, errstr ? errstr: "?"); + return FAILURE; + } + host = pestrdup(v6address, 1); + } + server_sock = php_network_listen_socket(host, &port, SOCK_STREAM, &server->address_family, &server->socklen, &errstr TSRMLS_CC); if (server_sock == SOCK_ERR) { php_cli_server_logf("Failed to listen on %s:%d (reason: %s)" TSRMLS_CC, host, port, errstr ? errstr: "?"); -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php