Author: glen Date: Wed Feb 8 12:42:05 2012 GMT Module: packages Tag: PHP_5_2 ---- Log message: - update php 5.2 backports from http://centos.alt.ru/repository/centos/5/SRPMS/php-5.2.17-10.el5.src.rpm this includes CVE-2011-0421 CVE-2011-4566 CVE-2012-0830
---- Files affected: packages/php: php.spec (1.805.2.97 -> 1.805.2.98) , php-5.2.17-CVE-2011-0421.patch (NONE -> 1.1.2.1) (NEW), php-5.2.17-CVE-2011-4566.patch (NONE -> 1.1.2.1) (NEW), php-5.2.17-bug-323007-2.patch (NONE -> 1.1.2.1) (NEW), php-5.2.17-bug-43200.patch (NONE -> 1.1.2.1) (NEW), php-5.2.17-bug-52461.patch (NONE -> 1.1.2.1) (NEW), php-5.2.17-bug-52624.patch (NONE -> 1.1.2.1) (NEW), php-5.2.17-bug-54682.patch (NONE -> 1.1.2.1) (NEW), php-5.2.17-bug-55273.patch (NONE -> 1.1.2.1) (NEW), php-5.2.17-bug-55366.patch (NONE -> 1.1.2.1) (NEW), php-5.2.17-bug-55478.patch (NONE -> 1.1.2.1) (NEW), php-5.2.17-bug-55504.patch (NONE -> 1.1.2.1) (NEW), php-5.2.17-bug-55509.patch (NONE -> 1.1.2.1) (NEW), php-5.2.17-bug-55674.patch (NONE -> 1.1.2.1) (NEW), php-5.2.17-bug-60120.patch (NONE -> 1.1.2.1) (NEW), php-5.2.17-bug-60138.patch (NONE -> 1.1.2.1) (NEW), php-5.2.17-bug-60183.patch (NONE -> 1.1.2.1) (NEW), php-5.2.17-bug-60206.patch (NONE -> 1.1.2.1) (NEW), php-5.2.17-bug-60455.patch (NONE -> 1.1.2.1) (NEW), php-5.2.17-max-input-vars.patch (NONE -> 1.1.2.1) (NEW) ---- Diffs: ================================================================ Index: packages/php/php.spec diff -u packages/php/php.spec:1.805.2.97 packages/php/php.spec:1.805.2.98 --- packages/php/php.spec:1.805.2.97 Fri Nov 18 10:13:43 2011 +++ packages/php/php.spec Wed Feb 8 13:41:59 2012 @@ -114,7 +114,7 @@ Summary(uk.UTF-8): PHP Версії 5 - мова препроцесування HTML-файлів, виконувана на сервері Name: php Version: 5.2.17 -Release: 9 +Release: 10 Epoch: 4 License: PHP Group: Libraries @@ -203,6 +203,8 @@ Patch203: php-5.2.17-CVE-2011-1148.patch Patch204: php-5.2.17-CVE-2011-0708.patch Patch205: php-5.2.17-CVE-2011-1092.patch +Patch206: php-5.2.17-CVE-2011-0421.patch + # Backport from 5.3.6 Patch301: php-5.3.6-bug-54055.patch Patch302: php-5.3.6-bug-53577.patch @@ -259,6 +261,27 @@ Patch356: php-5.3.7-bug-54312.patch Patch357: php-5.3.7-bug-51958.patch Patch358: php-5.3.7-bug-54946.patch +# 5.3.9 backport +Patch359: php-5.2.17-CVE-2011-4566.patch +Patch360: php-5.2.17-bug-60206.patch +Patch361: php-5.2.17-bug-60138.patch +Patch362: php-5.2.17-bug-60120.patch +Patch363: php-5.2.17-bug-55674.patch +Patch364: php-5.2.17-bug-55509.patch +Patch365: php-5.2.17-bug-55504.patch +Patch366: php-5.2.17-bug-52461.patch +Patch367: php-5.2.17-bug-55366.patch +Patch368: php-5.2.17-bug-55273.patch +Patch369: php-5.2.17-bug-52624.patch +Patch370: php-5.2.17-bug-43200.patch +Patch371: php-5.2.17-bug-54682.patch +Patch372: php-5.2.17-bug-60455.patch +Patch373: php-5.2.17-bug-60183.patch +Patch374: php-5.2.17-bug-55478.patch + +#php-5.2-max-input-vars patch +Patch400: php-5.2.17-max-input-vars.patch +Patch401: php-5.2.17-bug-323007-2.patch URL: http://www.php.net/ %{?with_interbase:%{!?with_interbase_inst:BuildRequires: Firebird-devel >= 1.0.2.908-2}} %{?with_pspell:BuildRequires: aspell-devel >= 2:0.50.0} @@ -1947,6 +1970,7 @@ %patch203 -p1 -b .CVE-2011-1148 %patch204 -p1 -b .CVE-2011-0708 %patch205 -p1 -b .CVE-2011-1092 +%patch206 -p1 -b .CVE-2011-0421 # Bugfix backport from 5.3.6 %patch301 -p1 -b .bug-54055 @@ -2004,6 +2028,25 @@ %patch356 -p1 -b .bug-54312 %patch357 -p1 -b .bug-51958 %patch358 -p1 -b .bug-54946 +%patch359 -p1 -b .CVE-2011-4566 +%patch360 -p1 -b .bug-60206 +%patch361 -p1 -b .bug-60138 +%patch362 -p1 -b .bug-60120 +%patch363 -p1 -b .bug-55674 +%patch364 -p1 -b .bug-55509 +%patch365 -p1 -b .bug-55504 +%patch366 -p1 -b .bug-52461 +%patch367 -p1 -b .bug-55366 +%patch368 -p1 -b .bug-55273 +%patch369 -p1 -b .bug-52624 +%patch370 -p1 -b .bug-43200 +%patch371 -p1 -b .bug-54682 +%patch372 -p1 -b .bug-60455 +%patch373 -p1 -b .bug-60183 +%patch374 -p1 -b .bug-55478 + +%patch400 -p1 -b .php-5.2-max-input-vars +%patch401 -p1 -b .bug-323007 # conflict seems to be resolved by recode patches rm -f ext/recode/config9.m4 @@ -3252,6 +3295,15 @@ %{php_data_dir}/tests/php/quicktester.inc %attr(755,root,root) %{php_data_dir}/tests/php/run-tests.php +# random junk, didn't check, maybe can be just removed +%{php_data_dir}/tests/php/bin-info.inc +%{php_data_dir}/tests/php/foo* +%{php_data_dir}/tests/php/odbc*.php +%{php_data_dir}/tests/php/recurse +%{php_data_dir}/tests/php/run.* +%{php_data_dir}/tests/php/scan_cases +%{php_data_dir}/tests/php/test* + %if %{with tidy} %files tidy %defattr(644,root,root,755) @@ -3314,6 +3366,10 @@ All persons listed below can be reached at <cvs_login>@pld-linux.org $Log$ +Revision 1.805.2.98 2012/02/08 12:41:59 glen +- update php 5.2 backports from http://centos.alt.ru/repository/centos/5/SRPMS/php-5.2.17-10.el5.src.rpm + this includes CVE-2011-0421 CVE-2011-4566 CVE-2012-0830 + Revision 1.805.2.97 2011/11/18 09:13:43 arekm - rel 9; disable external libzip as it causes segfaults (follow php 5.3 from HEAD) ================================================================ Index: packages/php/php-5.2.17-CVE-2011-0421.patch diff -u /dev/null packages/php/php-5.2.17-CVE-2011-0421.patch:1.1.2.1 --- /dev/null Wed Feb 8 13:42:05 2012 +++ packages/php/php-5.2.17-CVE-2011-0421.patch Wed Feb 8 13:41:59 2012 @@ -0,0 +1,13 @@ +--- PHP_5_3/ext/zip/lib/zip_name_locate.c 2011/01/30 22:16:39 307866 ++++ PHP_5_3/ext/zip/lib/zip_name_locate.c 2011/01/30 22:28:57 307867 +@@ -60,6 +60,10 @@ + return -1; + } + ++ if((flags & ZIP_FL_UNCHANGED) && !za->cdir) { ++ return -1; ++ } ++ + cmp = (flags & ZIP_FL_NOCASE) ? strcmpi : strcmp; + + n = (flags & ZIP_FL_UNCHANGED) ? za->cdir->nentry : za->nentry; ================================================================ Index: packages/php/php-5.2.17-CVE-2011-4566.patch diff -u /dev/null packages/php/php-5.2.17-CVE-2011-4566.patch:1.1.2.1 --- /dev/null Wed Feb 8 13:42:05 2012 +++ packages/php/php-5.2.17-CVE-2011-4566.patch Wed Feb 8 13:41:59 2012 @@ -0,0 +1,17 @@ +diff -up php-5.2.17/ext/exif/exif.c.CVE-2011-4566 php-5.2.17/ext/exif/exif.c +--- php-5.2.17/ext/exif/exif.c.CVE-2011-4566 2012-01-11 15:00:23.000000000 +0700 ++++ php-5.2.17/ext/exif/exif.c 2012-01-11 15:02:25.000000000 +0700 +@@ -2873,11 +2873,11 @@ static int exif_process_IFD_TAG(image_in + offset_val = php_ifd_get32u(dir_entry+8, ImageInfo->motorola_intel); + /* If its bigger than 4 bytes, the dir entry contains an offset. */ + value_ptr = offset_base+offset_val; +- if (offset_val+byte_count > IFDlength || value_ptr < dir_entry) { ++ if (byte_count > IFDlength || offset_val > IFDlength-byte_count || value_ptr < dir_entry) { + /* It is important to check for IMAGE_FILETYPE_TIFF + * JPEG does not use absolute pointers instead its pointers are + * relative to the start of the TIFF header in APP1 section. */ +- if (offset_val+byte_count>ImageInfo->FileSize || (ImageInfo->FileType!=IMAGE_FILETYPE_TIFF_II && ImageInfo->FileType!=IMAGE_FILETYPE_TIFF_MM && ImageInfo->FileType!=IMAGE_FILETYPE_JPEG)) { ++ if (byte_count > ImageInfo->FileSize || offset_val>ImageInfo->FileSize-byte_count || (ImageInfo->FileType!=IMAGE_FILETYPE_TIFF_II && ImageInfo->FileType!=IMAGE_FILETYPE_TIFF_MM && ImageInfo->FileType!=IMAGE_FILETYPE_JPEG)) { + if (value_ptr < dir_entry) { + /* we can read this if offset_val > 0 */ + /* some files have their values in other parts of the file */ ================================================================ Index: packages/php/php-5.2.17-bug-323007-2.patch diff -u /dev/null packages/php/php-5.2.17-bug-323007-2.patch:1.1.2.1 --- /dev/null Wed Feb 8 13:42:05 2012 +++ packages/php/php-5.2.17-bug-323007-2.patch Wed Feb 8 13:41:59 2012 @@ -0,0 +1,24 @@ +diff -up php-5.2.17/main/php_variables.c.bug-323007 php-5.2.17/main/php_variables.c +--- php-5.2.17/main/php_variables.c.bug-323007 2012-02-03 12:12:09.000000000 +0700 ++++ php-5.2.17/main/php_variables.c 2012-02-03 13:17:16.000000000 +0700 +@@ -187,12 +187,17 @@ PHPAPI void php_register_variable_ex(cha + } + if (zend_symtable_find(symtable1, escaped_index, index_len + 1, (void **) &gpc_element_p) == FAILURE + || Z_TYPE_PP(gpc_element_p) != IS_ARRAY) { +- if (zend_hash_num_elements(symtable1) >= PG(max_input_vars)) { +- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Input variables exceeded %ld. To increase the limit change max_input_vars in php.ini.", PG(max_input_vars)); +- } ++ if (zend_hash_num_elements(symtable1) <= PG(max_input_vars)) { ++ if (zend_hash_num_elements(symtable1) == PG(max_input_vars)) { ++ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Input variables exceeded %ld. To increase the limit change max_input_vars in php.ini.", PG(max_input_vars)); ++ } + MAKE_STD_ZVAL(gpc_element); + array_init(gpc_element); + zend_symtable_update(symtable1, escaped_index, index_len + 1, &gpc_element, sizeof(zval *), (void **) &gpc_element_p); ++ } else { ++ efree(var_orig); ++ return; ++ } + } + if (index != escaped_index) { + efree(escaped_index); ================================================================ Index: packages/php/php-5.2.17-bug-43200.patch diff -u /dev/null packages/php/php-5.2.17-bug-43200.patch:1.1.2.1 --- /dev/null Wed Feb 8 13:42:05 2012 +++ packages/php/php-5.2.17-bug-43200.patch Wed Feb 8 13:41:59 2012 @@ -0,0 +1,13 @@ +diff -up php-5.2.17/Zend/zend_compile.c.bug-43200 php-5.2.17/Zend/zend_compile.c +--- php-5.2.17/Zend/zend_compile.c.bug-43200 2012-01-12 11:26:42.000000000 +0700 ++++ php-5.2.17/Zend/zend_compile.c 2012-01-12 11:26:51.000000000 +0700 +@@ -2080,7 +2080,8 @@ static zend_bool do_inherit_method_check + return 1; /* method doesn't exist in child, copy from parent */ + } + +- if (parent->common.fn_flags & ZEND_ACC_ABSTRACT ++ if ((parent->common.scope->ce_flags & ZEND_ACC_INTERFACE) == 0 ++ && parent->common.fn_flags & ZEND_ACC_ABSTRACT + && parent->common.scope != (child->common.prototype ? child->common.prototype->common.scope : child->common.scope) + && child->common.fn_flags & (ZEND_ACC_ABSTRACT|ZEND_ACC_IMPLEMENTED_ABSTRACT)) { + zend_error(E_COMPILE_ERROR, "Can't inherit abstract function %s::%s() (previously declared abstract in %s)", ================================================================ Index: packages/php/php-5.2.17-bug-52461.patch diff -u /dev/null packages/php/php-5.2.17-bug-52461.patch:1.1.2.1 --- /dev/null Wed Feb 8 13:42:05 2012 +++ packages/php/php-5.2.17-bug-52461.patch Wed Feb 8 13:41:59 2012 @@ -0,0 +1,12 @@ +diff -up php-5.2.17/ext/standard/info.c.bug-52461 php-5.2.17/ext/standard/info.c +--- php-5.2.17/ext/standard/info.c.bug-52461 2012-01-12 10:23:00.000000000 +0700 ++++ php-5.2.17/ext/standard/info.c 2012-01-12 10:23:27.000000000 +0700 +@@ -415,7 +415,7 @@ PHPAPI void php_print_info_htmlhead(TSRM + + + PUTS("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"DTD/xhtml1-transitional.dtd\">\n"); +- PUTS("<html>"); ++ PUTS("<html xmlns=\"http://www.w3.org/1999/xhtml\">>"); + PUTS("<head>\n"); + php_info_print_style(TSRMLS_C); + PUTS("<title>phpinfo()</title>"); ================================================================ Index: packages/php/php-5.2.17-bug-52624.patch diff -u /dev/null packages/php/php-5.2.17-bug-52624.patch:1.1.2.1 --- /dev/null Wed Feb 8 13:42:05 2012 +++ packages/php/php-5.2.17-bug-52624.patch Wed Feb 8 13:41:59 2012 @@ -0,0 +1,12 @@ +diff -up php-5.2.17/ext/standard/file.c.bug-52624 php-5.2.17/ext/standard/file.c +--- php-5.2.17/ext/standard/file.c.bug-52624 2012-01-12 11:20:05.000000000 +0700 ++++ php-5.2.17/ext/standard/file.c 2012-01-12 11:21:32.000000000 +0700 +@@ -842,7 +842,7 @@ PHP_FUNCTION(tempnam) + p[63] = '\0'; + } + +- if ((fd = php_open_temporary_fd(d, p, &opened_path TSRMLS_CC)) >= 0) { ++ if ((fd = php_open_temporary_fd_ex(d, p, &opened_path,1 TSRMLS_CC)) >= 0) { + close(fd); + RETVAL_STRING(opened_path, 0); + } else { ================================================================ Index: packages/php/php-5.2.17-bug-54682.patch diff -u /dev/null packages/php/php-5.2.17-bug-54682.patch:1.1.2.1 --- /dev/null Wed Feb 8 13:42:05 2012 +++ packages/php/php-5.2.17-bug-54682.patch Wed Feb 8 13:41:59 2012 @@ -0,0 +1,12 @@ +diff -up php-5.2.17/ext/tidy/tidy.c.bug-54682 php-5.2.17/ext/tidy/tidy.c +--- php-5.2.17/ext/tidy/tidy.c.bug-54682 2012-01-12 11:42:01.000000000 +0700 ++++ php-5.2.17/ext/tidy/tidy.c 2012-01-12 11:42:17.000000000 +0700 +@@ -1178,7 +1178,7 @@ static PHP_FUNCTION(tidy_diagnose) + { + TIDY_FETCH_OBJECT; + +- if (tidyRunDiagnostics(obj->ptdoc->doc) >= 0) { ++ if (tidyStatus(obj->ptdoc->doc) != 0 && tidyRunDiagnostics(obj->ptdoc->doc) >= 0) { + tidy_doc_update_properties(obj TSRMLS_CC); + RETURN_TRUE; + } ================================================================ Index: packages/php/php-5.2.17-bug-55273.patch diff -u /dev/null packages/php/php-5.2.17-bug-55273.patch:1.1.2.1 --- /dev/null Wed Feb 8 13:42:05 2012 +++ packages/php/php-5.2.17-bug-55273.patch Wed Feb 8 13:41:59 2012 @@ -0,0 +1,20 @@ +diff -up php-5.2.17/ext/standard/base64.c.bug-55273 php-5.2.17/ext/standard/base64.c +--- php-5.2.17/ext/standard/base64.c.bug-55273 2012-01-12 10:45:40.000000000 +0700 ++++ php-5.2.17/ext/standard/base64.c 2012-01-12 10:47:32.000000000 +0700 +@@ -154,7 +154,15 @@ PHPAPI unsigned char *php_base64_decode_ + /* run through the whole string, converting as we go */ + while ((ch = *current++) != '\0' && length-- > 0) { + if (ch == base64_pad) { +- if (*current != '=' && (i % 4) == 1) { ++ if (*current != '=' && ((i % 4) == 1 || (strict && length > 0))) { ++ if ((i % 4) != 1) { ++ while (isspace(*(++current))) { ++ continue; ++ } ++ if (*current == '\0') { ++ continue; ++ } ++ } + efree(result); + return NULL; + } ================================================================ Index: packages/php/php-5.2.17-bug-55366.patch diff -u /dev/null packages/php/php-5.2.17-bug-55366.patch:1.1.2.1 --- /dev/null Wed Feb 8 13:42:05 2012 +++ packages/php/php-5.2.17-bug-55366.patch Wed Feb 8 13:41:59 2012 @@ -0,0 +1,29 @@ +diff -up php-5.2.17/ext/standard/string.c.bug-55366 php-5.2.17/ext/standard/string.c +--- php-5.2.17/ext/standard/string.c.bug-55366 2012-01-12 10:35:09.000000000 +0700 ++++ php-5.2.17/ext/standard/string.c 2012-01-12 10:36:38.000000000 +0700 +@@ -2462,6 +2462,10 @@ PHP_FUNCTION(substr_replace) + RETURN_STRINGL(Z_STRVAL_PP(str), Z_STRLEN_PP(str), 1); + } + } else { /* str is array of strings */ ++ char *str_index = NULL; ++ uint str_index_len; ++ ulong num_index; ++ + array_init(return_value); + + if (Z_TYPE_PP(from) == IS_ARRAY) { +@@ -2599,7 +2603,13 @@ PHP_FUNCTION(substr_replace) + } + + result[result_len] = '\0'; +- add_next_index_stringl(return_value, result, result_len, 0); ++ ++ if (zend_hash_get_current_key_ex(Z_ARRVAL_PP(str), &str_index, &str_index_len, &num_index, 0, &pos_str) == HASH_KEY_IS_STRING) { ++ add_assoc_stringl_ex(return_value, str_index, str_index_len, result, result_len, 0); ++ } else { ++ add_index_stringl(return_value, num_index, result, result_len, 0); ++ } ++ + if(Z_TYPE_PP(tmp_str) != IS_STRING) { + zval_dtor(orig_str); + } ================================================================ Index: packages/php/php-5.2.17-bug-55478.patch diff -u /dev/null packages/php/php-5.2.17-bug-55478.patch:1.1.2.1 --- /dev/null Wed Feb 8 13:42:05 2012 +++ packages/php/php-5.2.17-bug-55478.patch Wed Feb 8 13:41:59 2012 @@ -0,0 +1,12 @@ +diff -up php-5.2.17/ext/filter/logical_filters.c.bug-55478 php-5.2.17/ext/filter/logical_filters.c +--- php-5.2.17/ext/filter/logical_filters.c.bug-55478 2012-01-12 12:35:32.000000000 +0700 ++++ php-5.2.17/ext/filter/logical_filters.c 2012-01-12 12:36:11.000000000 +0700 +@@ -522,7 +522,7 @@ void php_filter_validate_email(PHP_INPUT + * Feel free to use and redistribute this code. But please keep this copyright notice. + * + */ +- const char regexp[] = "/^(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){255,})(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){65,}@)(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22))(?:\\.(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-[a-z0-9]+)*\\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-[a-z0-9]+)*)|(?:\\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\\]))$/iD"; ++ const char regexp[] = "/^(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){255,})(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){65,}@)(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22))(?:\\.(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-+[a-z0-9]+)*\\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-+[a-z0-9]+)*)|(?:\\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\\]))$/iD"; + + pcre *re = NULL; + pcre_extra *pcre_extra = NULL; ================================================================ Index: packages/php/php-5.2.17-bug-55504.patch diff -u /dev/null packages/php/php-5.2.17-bug-55504.patch:1.1.2.1 --- /dev/null Wed Feb 8 13:42:05 2012 +++ packages/php/php-5.2.17-bug-55504.patch Wed Feb 8 13:41:59 2012 @@ -0,0 +1,12 @@ +diff -up php-5.2.17/main/rfc1867.c.bug-55504 php-5.2.17/main/rfc1867.c +--- php-5.2.17/main/rfc1867.c.bug-55504 2012-01-12 10:13:38.000000000 +0700 ++++ php-5.2.17/main/rfc1867.c 2012-01-12 10:14:14.000000000 +0700 +@@ -817,7 +817,7 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_ + } + } else { + /* search for the end of the boundary */ +- boundary_end = strchr(boundary, ','); ++ boundary_end = strpbrk(boundary, ",;"); + } + if (boundary_end) { + boundary_end[0] = '\0'; ================================================================ Index: packages/php/php-5.2.17-bug-55509.patch diff -u /dev/null packages/php/php-5.2.17-bug-55509.patch:1.1.2.1 --- /dev/null Wed Feb 8 13:42:05 2012 +++ packages/php/php-5.2.17-bug-55509.patch Wed Feb 8 13:41:59 2012 @@ -0,0 +1,12 @@ +diff -up php-5.2.17/Zend/zend_alloc.c.bug-55509 php-5.2.17/Zend/zend_alloc.c +--- php-5.2.17/Zend/zend_alloc.c.bug-55509 2012-01-12 09:58:25.000000000 +0700 ++++ php-5.2.17/Zend/zend_alloc.c 2012-01-12 09:59:26.000000000 +0700 +@@ -491,7 +491,7 @@ static unsigned int _zend_mm_cookie = 0; + #define ZEND_MM_IS_GUARD_BLOCK(b) (((b)->info._size & ZEND_MM_TYPE_MASK) == ZEND_MM_GUARD_BLOCK) + + #define ZEND_MM_NEXT_BLOCK(b) ZEND_MM_BLOCK_AT(b, ZEND_MM_BLOCK_SIZE(b)) +-#define ZEND_MM_PREV_BLOCK(b) ZEND_MM_BLOCK_AT(b, -(int)((b)->info._prev & ~ZEND_MM_TYPE_MASK)) ++#define ZEND_MM_PREV_BLOCK(b) ZEND_MM_BLOCK_AT(b, -(ssize_t)((b)->info._prev & ~ZEND_MM_TYPE_MASK)) + + #define ZEND_MM_PREV_BLOCK_IS_FREE(b) (!((b)->info._prev & ZEND_MM_USED_BLOCK)) + ================================================================ Index: packages/php/php-5.2.17-bug-55674.patch diff -u /dev/null packages/php/php-5.2.17-bug-55674.patch:1.1.2.1 --- /dev/null Wed Feb 8 13:42:05 2012 +++ packages/php/php-5.2.17-bug-55674.patch Wed Feb 8 13:41:59 2012 @@ -0,0 +1,12 @@ +diff -up php-5.2.17/ext/standard/file.c.bug-55674 php-5.2.17/ext/standard/file.c +--- php-5.2.17/ext/standard/file.c.bug-55674 2012-01-12 09:39:13.000000000 +0700 ++++ php-5.2.17/ext/standard/file.c 2012-01-12 09:39:28.000000000 +0700 +@@ -2156,7 +2156,7 @@ PHPAPI void php_fgetcsv(php_stream *stre + inc_len = (bptr < limit ? (*bptr == '\0' ? 1: php_mblen(bptr, limit - bptr)): 0); + if (inc_len == 1) { + char *tmp = bptr; +- while (isspace((int)*(unsigned char *)tmp)) { ++ while ((*tmp != delimiter) && isspace((int)*(unsigned char *)tmp)) { + tmp++; + } + if (*tmp == enclosure) { ================================================================ Index: packages/php/php-5.2.17-bug-60120.patch diff -u /dev/null packages/php/php-5.2.17-bug-60120.patch:1.1.2.1 --- /dev/null Wed Feb 8 13:42:05 2012 +++ packages/php/php-5.2.17-bug-60120.patch Wed Feb 8 13:41:59 2012 @@ -0,0 +1,12 @@ +diff -up php-5.2.17/ext/standard/proc_open.c.bug-60120 php-5.2.17/ext/standard/proc_open.c +--- php-5.2.17/ext/standard/proc_open.c.bug-60120 2012-01-12 09:22:27.000000000 +0700 ++++ php-5.2.17/ext/standard/proc_open.c 2012-01-12 09:22:47.000000000 +0700 +@@ -453,7 +453,7 @@ PHP_FUNCTION(proc_get_status) + + /* {{{ handy definitions for portability/readability */ + #ifdef PHP_WIN32 +-# define pipe(pair) (CreatePipe(&pair[0], &pair[1], &security, 2048L) ? 0 : -1) ++# define pipe(pair) (CreatePipe(&pair[0], &pair[1], &security, 0) ? 0 : -1) + + # define COMSPEC_NT "cmd.exe" + # define COMSPEC_9X "command.com" ================================================================ Index: packages/php/php-5.2.17-bug-60138.patch diff -u /dev/null packages/php/php-5.2.17-bug-60138.patch:1.1.2.1 --- /dev/null Wed Feb 8 13:42:05 2012 +++ packages/php/php-5.2.17-bug-60138.patch Wed Feb 8 13:41:59 2012 @@ -0,0 +1,19 @@ +diff -up php-5.2.17/Zend/zend_execute_API.c.bug-60138 php-5.2.17/Zend/zend_execute_API.c +--- php-5.2.17/Zend/zend_execute_API.c.bug-60138 2012-01-12 09:18:41.000000000 +0700 ++++ php-5.2.17/Zend/zend_execute_API.c 2012-01-12 09:19:13.000000000 +0700 +@@ -935,10 +935,11 @@ int zend_call_function(zend_fcall_info * + && (EX(function_state).function->common.fn_flags & ZEND_ACC_CALL_VIA_HANDLER) == 0 + && !ARG_SHOULD_BE_SENT_BY_REF(EX(function_state).function, i + 1) + && PZVAL_IS_REF(*fci->params[i])) { +- SEPARATE_ZVAL(fci->params[i]); +- } +- +- if (ARG_SHOULD_BE_SENT_BY_REF(EX(function_state).function, i+1) ++ ALLOC_ZVAL(param); ++ *param = **(fci->params[i]); ++ INIT_PZVAL(param); ++ zval_copy_ctor(param); ++ } else if (ARG_SHOULD_BE_SENT_BY_REF(EX(function_state).function, i + 1) + && !PZVAL_IS_REF(*fci->params[i])) { + if ((*fci->params[i])->refcount>1) { + zval *new_zval; ================================================================ Index: packages/php/php-5.2.17-bug-60183.patch diff -u /dev/null packages/php/php-5.2.17-bug-60183.patch:1.1.2.1 --- /dev/null Wed Feb 8 13:42:06 2012 +++ packages/php/php-5.2.17-bug-60183.patch Wed Feb 8 13:41:59 2012 @@ -0,0 +1,13 @@ +diff -up php-5.2.17/ext/ftp/ftp.c.bug-60183 php-5.2.17/ext/ftp/ftp.c +--- php-5.2.17/ext/ftp/ftp.c.bug-60183 2012-01-12 12:04:18.000000000 +0700 ++++ php-5.2.17/ext/ftp/ftp.c 2012-01-12 12:04:40.000000000 +0700 +@@ -1122,6 +1122,9 @@ ftp_putcmd(ftpbuf_t *ftp, const char *cm + + data = ftp->outbuf; + ++ /* Clear the extra-lines buffer */ ++ ftp->extra = NULL; ++ + if (my_send(ftp, ftp->fd, data, size) != size) { + return 0; + } ================================================================ Index: packages/php/php-5.2.17-bug-60206.patch diff -u /dev/null packages/php/php-5.2.17-bug-60206.patch:1.1.2.1 --- /dev/null Wed Feb 8 13:42:06 2012 +++ packages/php/php-5.2.17-bug-60206.patch Wed Feb 8 13:41:59 2012 @@ -0,0 +1,48 @@ +diff -up php-5.2.17/sapi/apache2filter/sapi_apache2.c.bug-60206 php-5.2.17/sapi/apache2filter/sapi_apache2.c +--- php-5.2.17/sapi/apache2filter/sapi_apache2.c.bug-60206 2012-01-12 09:06:47.000000000 +0700 ++++ php-5.2.17/sapi/apache2filter/sapi_apache2.c 2012-01-12 09:06:59.000000000 +0700 +@@ -404,7 +404,7 @@ static void php_apache_request_ctor(ap_f + efree(content_type); + + content_length = (char *) apr_table_get(f->r->headers_in, "Content-Length"); +- SG(request_info).content_length = (content_length ? atoi(content_length) : 0); ++ SG(request_info).content_length = (content_length ? atol(content_length) : 0); + + apr_table_unset(f->r->headers_out, "Content-Length"); + apr_table_unset(f->r->headers_out, "Last-Modified"); +diff -up php-5.2.17/sapi/apache2handler/sapi_apache2.c.bug-60206 php-5.2.17/sapi/apache2handler/sapi_apache2.c +--- php-5.2.17/sapi/apache2handler/sapi_apache2.c.bug-60206 2012-01-12 09:07:37.000000000 +0700 ++++ php-5.2.17/sapi/apache2handler/sapi_apache2.c 2012-01-12 09:07:46.000000000 +0700 +@@ -454,7 +454,7 @@ static int php_apache_request_ctor(reque + r->no_local_copy = 1; + + content_length = (char *) apr_table_get(r->headers_in, "Content-Length"); +- SG(request_info).content_length = (content_length ? atoi(content_length) : 0); ++ SG(request_info).content_length = (content_length ? atol(content_length) : 0); + + apr_table_unset(r->headers_out, "Content-Length"); + apr_table_unset(r->headers_out, "Last-Modified"); +diff -up php-5.2.17/sapi/apache_hooks/mod_php5.c.bug-60206 php-5.2.17/sapi/apache_hooks/mod_php5.c +--- php-5.2.17/sapi/apache_hooks/mod_php5.c.bug-60206 2012-01-12 09:08:19.000000000 +0700 ++++ php-5.2.17/sapi/apache_hooks/mod_php5.c 2012-01-12 09:08:26.000000000 +0700 +@@ -571,7 +571,7 @@ static void init_request_info(TSRMLS_D) + SG(request_info).request_method = (char *)r->method; + SG(request_info).proto_num = r->proto_num; + SG(request_info).content_type = (char *) table_get(r->subprocess_env, "CONTENT_TYPE"); +- SG(request_info).content_length = (content_length ? atoi(content_length) : 0); ++ SG(request_info).content_length = (content_length ? atol(content_length) : 0); + SG(sapi_headers).http_response_code = r->status; + + if (r->headers_in) { +diff -up php-5.2.17/sapi/apache/mod_php5.c.bug-60206 php-5.2.17/sapi/apache/mod_php5.c +--- php-5.2.17/sapi/apache/mod_php5.c.bug-60206 2012-01-12 09:05:59.000000000 +0700 ++++ php-5.2.17/sapi/apache/mod_php5.c 2012-01-12 09:06:19.000000000 +0700 +@@ -513,7 +513,7 @@ static void init_request_info(TSRMLS_D) + SG(request_info).request_uri = r->uri; + SG(request_info).request_method = (char *)r->method; + SG(request_info).content_type = (char *) table_get(r->subprocess_env, "CONTENT_TYPE"); +- SG(request_info).content_length = (content_length ? atoi(content_length) : 0); ++ SG(request_info).content_length = (content_length ? atol(content_length) : 0); + SG(sapi_headers).http_response_code = r->status; + SG(request_info).proto_num = r->proto_num; + ================================================================ Index: packages/php/php-5.2.17-bug-60455.patch diff -u /dev/null packages/php/php-5.2.17-bug-60455.patch:1.1.2.1 --- /dev/null Wed Feb 8 13:42:06 2012 +++ packages/php/php-5.2.17-bug-60455.patch Wed Feb 8 13:41:59 2012 @@ -0,0 +1,12 @@ +diff -up php-5.2.17/main/streams/streams.c.bug-60455 php-5.2.17/main/streams/streams.c +--- php-5.2.17/main/streams/streams.c.bug-60455 2012-01-12 11:50:11.000000000 +0700 ++++ php-5.2.17/main/streams/streams.c 2012-01-12 11:50:55.000000000 +0700 +@@ -879,7 +879,7 @@ PHPAPI char *php_stream_get_record(php_s + just_read = (stream->writepos - stream->readpos) - len; + len += just_read; + +- if (just_read < toread) { ++ if (just_read == 0) { + break; + } + } ================================================================ Index: packages/php/php-5.2.17-max-input-vars.patch diff -u /dev/null packages/php/php-5.2.17-max-input-vars.patch:1.1.2.1 --- /dev/null Wed Feb 8 13:42:06 2012 +++ packages/php/php-5.2.17-max-input-vars.patch Wed Feb 8 13:41:59 2012 @@ -0,0 +1,45 @@ +diff -u -r php-5.2.17/main/main.c php-5.2.17-patched/main/main.c +--- php-5.2.17/main/main.c 2010-06-20 04:47:24.000000000 +0800 ++++ php-5.2.17-patched/main/main.c 2011-12-31 09:59:05.000000000 +0800 +@@ -457,6 +457,7 @@ + + STD_PHP_INI_BOOLEAN("allow_url_fopen", "1", PHP_INI_SYSTEM, OnUpdateBool, allow_url_fopen, php_core_globals, core_globals) + STD_PHP_INI_BOOLEAN("allow_url_include", "0", PHP_INI_SYSTEM, OnUpdateBool, allow_url_include, php_core_globals, core_globals) ++ STD_PHP_INI_ENTRY("max_input_vars", "1000", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateLongGEZero, max_input_vars, php_core_globals, core_globals) + STD_PHP_INI_BOOLEAN("always_populate_raw_post_data", "0", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateBool, always_populate_raw_post_data, php_core_globals, core_globals) + + STD_PHP_INI_ENTRY("realpath_cache_size", "16K", PHP_INI_SYSTEM, OnUpdateLong, realpath_cache_size_limit, virtual_cwd_globals, cwd_globals) +diff -u -r php-5.2.17/main/php_globals.h php-5.2.17-patched/main/php_globals.h +--- php-5.2.17/main/php_globals.h 2010-01-03 17:23:27.000000000 +0800 ++++ php-5.2.17-patched/main/php_globals.h 2011-12-31 09:59:05.000000000 +0800 +@@ -160,6 +160,7 @@ + zend_bool com_initialized; + #endif + long max_input_nesting_level; ++ long max_input_vars; + zend_bool in_user_include; + zend_bool in_error_log; + }; +diff -u -r php-5.2.17/main/php_variables.c php-5.2.17-patched/main/php_variables.c +--- php-5.2.17/main/php_variables.c 2010-01-03 17:23:27.000000000 +0800 ++++ php-5.2.17-patched/main/php_variables.c 2011-12-31 09:59:05.000000000 +0800 +@@ -187,6 +187,9 @@ + } + if (zend_symtable_find(symtable1, escaped_index, index_len + 1, (void **) &gpc_element_p) == FAILURE + || Z_TYPE_PP(gpc_element_p) != IS_ARRAY) { ++ if (zend_hash_num_elements(symtable1) >= PG(max_input_vars)) { ++ php_error_docref(NULL TSRMLS_CC, E_ERROR, "Input variables exceeded %ld. To increase the limit change max_input_vars in php.ini.", PG(max_input_vars)); ++ } + MAKE_STD_ZVAL(gpc_element); + array_init(gpc_element); + zend_symtable_update(symtable1, escaped_index, index_len + 1, &gpc_element, sizeof(zval *), (void **) &gpc_element_p); +@@ -232,6 +235,9 @@ + zend_symtable_exists(symtable1, escaped_index, index_len + 1)) { + zval_ptr_dtor(&gpc_element); + } else { ++ if (zend_hash_num_elements(symtable1) >= PG(max_input_vars)) { ++ php_error_docref(NULL TSRMLS_CC, E_ERROR, "Input variables exceeded %ld. To increase the limit change max_input_vars in php.ini.", PG(max_input_vars)); ++ } + zend_symtable_update(symtable1, escaped_index, index_len + 1, &gpc_element, sizeof(zval *), (void **) &gpc_element_p); + } + if (escaped_index != index) { ================================================================ ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/php/php.spec?r1=1.805.2.97&r2=1.805.2.98&f=u _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
