laruence Mon, 22 Aug 2011 11:55:41 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=315278
Log: Fixed #55463 (cli-server missing _SERVER[REMOTE_ADDR]) Bug: https://bugs.php.net/55463 (Analyzed) cli-server missing _SERVER[ REMOTE_ADDR ] Changed paths: U php/php-src/branches/PHP_5_4/NEWS U php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c U php/php-src/trunk/NEWS U php/php-src/trunk/sapi/cli/php_cli_server.c Modified: php/php-src/branches/PHP_5_4/NEWS =================================================================== --- php/php-src/branches/PHP_5_4/NEWS 2011-08-22 11:48:51 UTC (rev 315277) +++ php/php-src/branches/PHP_5_4/NEWS 2011-08-22 11:55:41 UTC (rev 315278) @@ -324,6 +324,7 @@ - Fixed bug #52211 (iconv() returns part of string on error). (Felipe) - Fixed bug #55450 (Built in web server not accepting file uploads). (Laruence) - Fixed bug #55471 (ZTS build broken with dtrace). (Laruence) +- Fixed bug #55463 (cli-server missing _SERVER[REMOTE_ADDR]). (Laruence) 28 Jul 2011, PHP 5.3.7 RC4 - Improved core functions: Modified: php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c =================================================================== --- php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c 2011-08-22 11:48:51 UTC (rev 315277) +++ php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c 2011-08-22 11:55:41 UTC (rev 315278) @@ -496,6 +496,20 @@ sapi_cli_server_register_variable(track_vars_array, "HTTP_REFERER", *val TSRMLS_CC); } } + { + char *tmp; + if ((tmp = strrchr(client->addr_str, ':'))) { + char addr[64], port[8]; + strncpy(port, tmp + 1, 8); + port[7] = '\0'; + strncpy(addr, client->addr_str, tmp - client->addr_str); + addr[tmp - client->addr_str] = '\0'; + sapi_cli_server_register_variable(track_vars_array, "REMOTE_ADDR", addr TSRMLS_CC); + sapi_cli_server_register_variable(track_vars_array, "REMOTE_PORT", port TSRMLS_CC); + } else { + sapi_cli_server_register_variable(track_vars_array, "REMOTE_ADDR", client->addr_str TSRMLS_CC); + } + } sapi_cli_server_register_variable(track_vars_array, "REQUEST_URI", client->request.request_uri TSRMLS_CC); sapi_cli_server_register_variable(track_vars_array, "REQUEST_METHOD", SG(request_info).request_method TSRMLS_CC); sapi_cli_server_register_variable(track_vars_array, "PHP_SELF", client->request.vpath TSRMLS_CC); Modified: php/php-src/trunk/NEWS =================================================================== --- php/php-src/trunk/NEWS 2011-08-22 11:48:51 UTC (rev 315277) +++ php/php-src/trunk/NEWS 2011-08-22 11:55:41 UTC (rev 315278) @@ -248,5 +248,6 @@ - Fixed bug #52211 (iconv() returns part of string on error). (Felipe) - Fixed bug #55450 (Built in web server not accepting file uploads). (Laruence) - Fixed bug #55471 (ZTS build broken with dtrace). (Laruence) +- Fixed bug #55463 (cli-server missing _SERVER[REMOTE_ADDR]). (Laruence) <<< NOTE: Insert NEWS from last stable release here prior to actual release! >>> Modified: php/php-src/trunk/sapi/cli/php_cli_server.c =================================================================== --- php/php-src/trunk/sapi/cli/php_cli_server.c 2011-08-22 11:48:51 UTC (rev 315277) +++ php/php-src/trunk/sapi/cli/php_cli_server.c 2011-08-22 11:55:41 UTC (rev 315278) @@ -496,6 +496,20 @@ sapi_cli_server_register_variable(track_vars_array, "HTTP_REFERER", *val TSRMLS_CC); } } + { + char *tmp; + if ((tmp = strrchr(client->addr_str, ':'))) { + char addr[64], port[8]; + strncpy(port, tmp + 1, 8); + port[7] = '\0'; + strncpy(addr, client->addr_str, tmp - client->addr_str); + addr[tmp - client->addr_str] = '\0'; + sapi_cli_server_register_variable(track_vars_array, "REMOTE_ADDR", addr TSRMLS_CC); + sapi_cli_server_register_variable(track_vars_array, "REMOTE_PORT", port TSRMLS_CC); + } else { + sapi_cli_server_register_variable(track_vars_array, "REMOTE_ADDR", client->addr_str TSRMLS_CC); + } + } sapi_cli_server_register_variable(track_vars_array, "REQUEST_URI", client->request.request_uri TSRMLS_CC); sapi_cli_server_register_variable(track_vars_array, "REQUEST_METHOD", SG(request_info).request_method TSRMLS_CC); sapi_cli_server_register_variable(track_vars_array, "PHP_SELF", client->request.vpath TSRMLS_CC);
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php