[PHP-CVS] cvs: php-src(PHP_5_2) / NEWS /sapi/cgi cgi_main.c
dmitry Mon Sep 24 11:40:06 2007 UTC Modified files: (Branch: PHP_5_2) /php-srcNEWS /php-src/sapi/cgi cgi_main.c Log: Fixed bug #42699 (PHP_SELF duplicates path) http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.961r2=1.2027.2.547.2.962diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.961 php-src/NEWS:1.2027.2.547.2.962 --- php-src/NEWS:1.2027.2.547.2.961 Sun Sep 23 15:19:21 2007 +++ php-src/NEWSMon Sep 24 11:40:05 2007 @@ -32,6 +32,7 @@ - Fixed bug #42739 (mkdir() doesnt like a trailing slash when safe_mode is enabled). (Ilia) +- Fixed bug #42699 (PHP_SELF duplicates path). (Dmitry) - Fixed bug #42643 (CLI segfaults if using ATTR_PERSISTENT). (Ilia) - Fixed bug #42629 (Dynamically loaded PHP extensions need symbols exported on MacOSX). (jdolecek at NetBSD dot org) http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/cgi_main.c?r1=1.267.2.15.2.49r2=1.267.2.15.2.50diff_format=u Index: php-src/sapi/cgi/cgi_main.c diff -u php-src/sapi/cgi/cgi_main.c:1.267.2.15.2.49 php-src/sapi/cgi/cgi_main.c:1.267.2.15.2.50 --- php-src/sapi/cgi/cgi_main.c:1.267.2.15.2.49 Mon Sep 10 10:55:26 2007 +++ php-src/sapi/cgi/cgi_main.c Mon Sep 24 11:40:05 2007 @@ -21,7 +21,7 @@ +--+ */ -/* $Id: cgi_main.c,v 1.267.2.15.2.49 2007/09/10 10:55:26 dmitry Exp $ */ +/* $Id: cgi_main.c,v 1.267.2.15.2.50 2007/09/24 11:40:05 dmitry Exp $ */ #include php.h #include php_globals.h @@ -522,29 +522,44 @@ static void sapi_cgi_register_variables(zval *track_vars_array TSRMLS_DC) { - char *script_name = SG(request_info).request_uri; - unsigned int script_name_len = script_name ? strlen(script_name) : 0; - char *path_info = sapi_cgibin_getenv(PATH_INFO, sizeof(PATH_INFO)-1 TSRMLS_CC); - unsigned int path_info_len = path_info ? strlen(path_info) : 0; - unsigned int php_self_len = script_name_len + path_info_len; - char *php_self = emalloc(php_self_len + 1); - - if (script_name) { - memcpy(php_self, script_name, script_name_len + 1); - } - if (path_info) { - memcpy(php_self + script_name_len, path_info, path_info_len + 1); - } + unsigned int php_self_len; + char *php_self; /* In CGI mode, we consider the environment to be a part of the server * variables */ php_import_environment_variables(track_vars_array TSRMLS_CC); - /* Build the special-case PHP_SELF variable for the CGI version */ + +#if ENABLE_PATHINFO_CHECK + if (CGIG(fix_pathinfo)) { + char *script_name = SG(request_info).request_uri; + unsigned int script_name_len = script_name ? strlen(script_name) : 0; + char *path_info = sapi_cgibin_getenv(PATH_INFO, sizeof(PATH_INFO)-1 TSRMLS_CC); + unsigned int path_info_len = path_info ? strlen(path_info) : 0; + + php_self_len = script_name_len + path_info_len; + php_self = emalloc(php_self_len + 1); + if (script_name) { + memcpy(php_self, script_name, script_name_len + 1); + } + if (path_info) { + memcpy(php_self + script_name_len, path_info, path_info_len + 1); + } + + /* Build the special-case PHP_SELF variable for the CGI version */ + if (sapi_module.input_filter(PARSE_SERVER, PHP_SELF, php_self, php_self_len, php_self_len TSRMLS_CC)) { + php_register_variable_safe(PHP_SELF, php_self, php_self_len, track_vars_array TSRMLS_CC); + } + efree(php_self); + return; + } +#endif + + php_self = SG(request_info).request_uri ? SG(request_info).request_uri : ; + php_self_len = strlen(php_self); if (sapi_module.input_filter(PARSE_SERVER, PHP_SELF, php_self, php_self_len, php_self_len TSRMLS_CC)) { php_register_variable_safe(PHP_SELF, php_self, php_self_len, track_vars_array TSRMLS_CC); } - efree(php_self); } static void sapi_cgi_log_message(char *message) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /sapi/cgi cgi_main.c
dmitry Mon Sep 24 11:43:02 2007 UTC Modified files: /php-src/sapi/cgi cgi_main.c Log: Fixed bug #42699 (PHP_SELF duplicates path) http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/cgi_main.c?r1=1.334r2=1.335diff_format=u Index: php-src/sapi/cgi/cgi_main.c diff -u php-src/sapi/cgi/cgi_main.c:1.334 php-src/sapi/cgi/cgi_main.c:1.335 --- php-src/sapi/cgi/cgi_main.c:1.334 Mon Sep 10 10:55:41 2007 +++ php-src/sapi/cgi/cgi_main.c Mon Sep 24 11:43:02 2007 @@ -21,7 +21,7 @@ +--+ */ -/* $Id: cgi_main.c,v 1.334 2007/09/10 10:55:41 dmitry Exp $ */ +/* $Id: cgi_main.c,v 1.335 2007/09/24 11:43:02 dmitry Exp $ */ #include php.h #include php_globals.h @@ -498,29 +498,42 @@ static void sapi_cgi_register_variables(zval *track_vars_array TSRMLS_DC) { - char *script_name = SG(request_info).request_uri; - unsigned int script_name_len = script_name ? strlen(script_name) : 0; - char *path_info = sapi_cgibin_getenv(PATH_INFO, sizeof(PATH_INFO)-1 TSRMLS_CC); - unsigned int path_info_len = path_info ? strlen(path_info) : 0; - unsigned int php_self_len = script_name_len + path_info_len; - char *php_self = emalloc(php_self_len + 1); - - if (script_name) { - memcpy(php_self, script_name, script_name_len + 1); - } - if (path_info) { - memcpy(php_self + script_name_len, path_info, path_info_len + 1); - } + unsigned int php_self_len; + char *php_self; /* In CGI mode, we consider the environment to be a part of the server * variables */ php_import_environment_variables(track_vars_array TSRMLS_CC); - /* Build the special-case PHP_SELF variable for the CGI version */ - if (sapi_module.input_filter(PARSE_SERVER, PHP_SELF, php_self, php_self_len, php_self_len TSRMLS_CC)) { - php_register_variable_safe(PHP_SELF, php_self, php_self_len, track_vars_array TSRMLS_CC); + + if (CGIG(fix_pathinfo)) { + char *script_name = SG(request_info).request_uri; + unsigned int script_name_len = script_name ? strlen(script_name) : 0; + char *path_info = sapi_cgibin_getenv(PATH_INFO, sizeof(PATH_INFO)-1 TSRMLS_CC); + unsigned int path_info_len = path_info ? strlen(path_info) : 0; + + php_self_len = script_name_len + path_info_len; + php_self = emalloc(php_self_len + 1); + + if (script_name) { + memcpy(php_self, script_name, script_name_len + 1); + } + if (path_info) { + memcpy(php_self + script_name_len, path_info, path_info_len + 1); + } + + /* Build the special-case PHP_SELF variable for the CGI version */ + if (sapi_module.input_filter(PARSE_SERVER, PHP_SELF, php_self, php_self_len, php_self_len TSRMLS_CC)) { + php_register_variable_safe(PHP_SELF, php_self, php_self_len, track_vars_array TSRMLS_CC); + } + efree(php_self); + } else { + php_self = SG(request_info).request_uri ? SG(request_info).request_uri : ; + php_self_len = strlen(php_self); + if (sapi_module.input_filter(PARSE_SERVER, PHP_SELF, php_self, php_self_len, php_self_len TSRMLS_CC)) { + php_register_variable_safe(PHP_SELF, php_self, php_self_len, track_vars_array TSRMLS_CC); + } } - efree(php_self); } static void sapi_cgi_log_message(char *message) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/mbstring mbstring.c /ext/mbstring/libmbfl/mbfl mbfilter.h mbfl_convert.c
hirokawaMon Sep 24 11:50:55 2007 UTC Modified files: /php-src/ext/mbstring/libmbfl/mbfl mbfilter.h mbfl_convert.c /php-src/ext/mbstring mbstring.c Log: added support entity as substitute_character settin accoding to bug #39404 http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/libmbfl/mbfl/mbfilter.h?r1=1.6r2=1.7diff_format=u Index: php-src/ext/mbstring/libmbfl/mbfl/mbfilter.h diff -u php-src/ext/mbstring/libmbfl/mbfl/mbfilter.h:1.6 php-src/ext/mbstring/libmbfl/mbfl/mbfilter.h:1.7 --- php-src/ext/mbstring/libmbfl/mbfl/mbfilter.h:1.6Tue Mar 21 02:11:55 2006 +++ php-src/ext/mbstring/libmbfl/mbfl/mbfilter.hMon Sep 24 11:50:54 2007 @@ -104,6 +104,7 @@ #define MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE 0 #define MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR 1 #define MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG 2 +#define MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY 3 /* * buffering converter http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/libmbfl/mbfl/mbfl_convert.c?r1=1.7r2=1.8diff_format=u Index: php-src/ext/mbstring/libmbfl/mbfl/mbfl_convert.c diff -u php-src/ext/mbstring/libmbfl/mbfl/mbfl_convert.c:1.7 php-src/ext/mbstring/libmbfl/mbfl/mbfl_convert.c:1.8 --- php-src/ext/mbstring/libmbfl/mbfl/mbfl_convert.c:1.7Thu Dec 21 17:37:53 2006 +++ php-src/ext/mbstring/libmbfl/mbfl/mbfl_convert.cMon Sep 24 11:50:54 2007 @@ -386,9 +386,14 @@ ret = (*filter-filter_function)(filter-illegal_substchar, filter); break; case MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG: + case MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY: if (c = 0) { if (c MBFL_WCSGROUP_UCS4MAX) {/* unicode */ - ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)U+); + if (mode_backup == MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG) { + ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)U+); + } else { /* entity */ + ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)#); + } } else { if (c MBFL_WCSGROUP_WCHARMAX) { m = c ~MBFL_WCSPLANE_MASK; @@ -432,6 +437,9 @@ if (m == 0 ret = 0) { ret = (*filter-filter_function)(mbfl_hexchar_table[0], filter); } + if (mode_backup == MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY) { + ret = mbfl_convert_filter_strcat(filter, (const unsigned char *);); + } } } break; http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/mbstring.c?r1=1.270r2=1.271diff_format=u Index: php-src/ext/mbstring/mbstring.c diff -u php-src/ext/mbstring/mbstring.c:1.270 php-src/ext/mbstring/mbstring.c:1.271 --- php-src/ext/mbstring/mbstring.c:1.270 Thu Jul 12 15:28:37 2007 +++ php-src/ext/mbstring/mbstring.c Mon Sep 24 11:50:54 2007 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: mbstring.c,v 1.270 2007/07/12 15:28:37 masugata Exp $ */ +/* $Id: mbstring.c,v 1.271 2007/09/24 11:50:54 hirokawa Exp $ */ /* * PHP 4 Multibyte String module mbstring @@ -716,6 +716,9 @@ } else if (strcasecmp(long, new_value) == 0) { MBSTRG(filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG; MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG; + } else if (strcasecmp(entity, new_value) == 0) { + MBSTRG(filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY; + MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY; } else { MBSTRG(filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR; MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR; @@ -1328,6 +1331,8 @@ RETVAL_STRING(none, 1); } else if (MBSTRG(current_filter_illegal_mode) == MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG) { RETVAL_STRING(long, 1); + } else if (MBSTRG(current_filter_illegal_mode) == MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY) { + RETVAL_STRING(entity, 1); } else { RETVAL_LONG(MBSTRG(current_filter_illegal_substchar)); } @@ -1339,6 +1344,8 @@ MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE; } else if (strcasecmp(long, Z_STRVAL_PP(arg1)) == 0) {
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/mbstring mbstring.c /ext/mbstring/libmbfl/mbfl mbfilter.h mbfl_convert.c
hirokawaMon Sep 24 11:51:36 2007 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/mbstring/libmbfl/mbfl mbfilter.h mbfl_convert.c /php-src/ext/mbstring mbstring.c Log: MFH: added support entity as substitute_character settin accoding to bug #39404 http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/libmbfl/mbfl/mbfilter.h?r1=1.4.2.2r2=1.4.2.2.2.1diff_format=u Index: php-src/ext/mbstring/libmbfl/mbfl/mbfilter.h diff -u php-src/ext/mbstring/libmbfl/mbfl/mbfilter.h:1.4.2.2 php-src/ext/mbstring/libmbfl/mbfl/mbfilter.h:1.4.2.2.2.1 --- php-src/ext/mbstring/libmbfl/mbfl/mbfilter.h:1.4.2.2Tue Mar 21 01:58:27 2006 +++ php-src/ext/mbstring/libmbfl/mbfl/mbfilter.hMon Sep 24 11:51:36 2007 @@ -104,6 +104,7 @@ #define MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE 0 #define MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR 1 #define MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG 2 +#define MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY 3 /* * buffering converter http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/libmbfl/mbfl/mbfl_convert.c?r1=1.5.2.1.2.2r2=1.5.2.1.2.3diff_format=u Index: php-src/ext/mbstring/libmbfl/mbfl/mbfl_convert.c diff -u php-src/ext/mbstring/libmbfl/mbfl/mbfl_convert.c:1.5.2.1.2.2 php-src/ext/mbstring/libmbfl/mbfl/mbfl_convert.c:1.5.2.1.2.3 --- php-src/ext/mbstring/libmbfl/mbfl/mbfl_convert.c:1.5.2.1.2.2Mon Jan 29 22:53:47 2007 +++ php-src/ext/mbstring/libmbfl/mbfl/mbfl_convert.cMon Sep 24 11:51:36 2007 @@ -387,9 +387,14 @@ ret = (*filter-filter_function)(filter-illegal_substchar, filter); break; case MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG: + case MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY: if (c = 0) { if (c MBFL_WCSGROUP_UCS4MAX) {/* unicode */ - ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)U+); + if (mode_backup == MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG) { + ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)U+); + } else { /* entity */ + ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)#); + } } else { if (c MBFL_WCSGROUP_WCHARMAX) { m = c ~MBFL_WCSPLANE_MASK; @@ -433,6 +438,9 @@ if (m == 0 ret = 0) { ret = (*filter-filter_function)(mbfl_hexchar_table[0], filter); } + if (mode_backup == MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY) { + ret = mbfl_convert_filter_strcat(filter, (const unsigned char *);); + } } } break; http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/mbstring.c?r1=1.224.2.22.2.24r2=1.224.2.22.2.25diff_format=u Index: php-src/ext/mbstring/mbstring.c diff -u php-src/ext/mbstring/mbstring.c:1.224.2.22.2.24 php-src/ext/mbstring/mbstring.c:1.224.2.22.2.25 --- php-src/ext/mbstring/mbstring.c:1.224.2.22.2.24 Thu Jul 12 15:31:54 2007 +++ php-src/ext/mbstring/mbstring.c Mon Sep 24 11:51:36 2007 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: mbstring.c,v 1.224.2.22.2.24 2007/07/12 15:31:54 masugata Exp $ */ +/* $Id: mbstring.c,v 1.224.2.22.2.25 2007/09/24 11:51:36 hirokawa Exp $ */ /* * PHP 4 Multibyte String module mbstring @@ -712,6 +712,9 @@ } else if (strcasecmp(long, new_value) == 0) { MBSTRG(filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG; MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG; + } else if (strcasecmp(entity, new_value) == 0) { + MBSTRG(filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY; + MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY; } else { MBSTRG(filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR; MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR; @@ -1329,6 +1332,8 @@ RETVAL_STRING(none, 1); } else if (MBSTRG(current_filter_illegal_mode) == MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG) { RETVAL_STRING(long, 1); + } else if (MBSTRG(current_filter_illegal_mode) == MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY) { + RETVAL_STRING(entity, 1); } else { RETVAL_LONG(MBSTRG(current_filter_illegal_substchar)); } @@ -1340,6 +1345,8 @@
[PHP-CVS] cvs: php-src(PHP_5_2) /main main.c
dmitry Mon Sep 24 11:53:40 2007 UTC Modified files: (Branch: PHP_5_2) /php-src/main main.c Log: Fixed crash on POST request after dl(mbstring.so) http://cvs.php.net/viewvc.cgi/php-src/main/main.c?r1=1.640.2.23.2.56r2=1.640.2.23.2.57diff_format=u Index: php-src/main/main.c diff -u php-src/main/main.c:1.640.2.23.2.56 php-src/main/main.c:1.640.2.23.2.57 --- php-src/main/main.c:1.640.2.23.2.56 Fri Sep 21 14:12:52 2007 +++ php-src/main/main.c Mon Sep 24 11:53:40 2007 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: main.c,v 1.640.2.23.2.56 2007/09/21 14:12:52 tony2001 Exp $ */ +/* $Id: main.c,v 1.640.2.23.2.57 2007/09/24 11:53:40 dmitry Exp $ */ /* {{{ includes */ @@ -1299,6 +1299,8 @@ retval = FAILURE; } zend_end_try(); + SG(sapi_started) = 1; + return retval; } # else -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /main main.c
dmitry Mon Sep 24 11:53:57 2007 UTC Modified files: /php-src/main main.c Log: Fixed crash on POST request after dl(mbstring.so) http://cvs.php.net/viewvc.cgi/php-src/main/main.c?r1=1.748r2=1.749diff_format=u Index: php-src/main/main.c diff -u php-src/main/main.c:1.748 php-src/main/main.c:1.749 --- php-src/main/main.c:1.748 Fri Sep 21 14:11:45 2007 +++ php-src/main/main.c Mon Sep 24 11:53:57 2007 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: main.c,v 1.748 2007/09/21 14:11:45 tony2001 Exp $ */ +/* $Id: main.c,v 1.749 2007/09/24 11:53:57 dmitry Exp $ */ /* {{{ includes */ @@ -1407,6 +1407,8 @@ retval = FAILURE; } zend_end_try(); + SG(sapi_started) = 1; + return retval; } # else -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) / NEWS
iliaa Mon Sep 24 23:33:24 2007 UTC Modified files: (Branch: PHP_5_2) /php-srcNEWS Log: Fixed typo http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.962r2=1.2027.2.547.2.963diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.962 php-src/NEWS:1.2027.2.547.2.963 --- php-src/NEWS:1.2027.2.547.2.962 Mon Sep 24 11:40:05 2007 +++ php-src/NEWSMon Sep 24 23:33:24 2007 @@ -30,7 +30,7 @@ Reported by Laurent gaffie. (Ilia) - Fixed imagerectangle regression with 1x1 rectangle (libgd #106). (Pierre) -- Fixed bug #42739 (mkdir() doesnt like a trailing slash when safe_mode is +- Fixed bug #42739 (mkdir() doesn't like a trailing slash when safe_mode is enabled). (Ilia) - Fixed bug #42699 (PHP_SELF duplicates path). (Dmitry) - Fixed bug #42643 (CLI segfaults if using ATTR_PERSISTENT). (Ilia) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php