diff options
1949 files changed, 142055 insertions, 98494 deletions
@@ -37,9 +37,60 @@ end define dump_bt set $t = $arg0 while $t - printf "[0x%08x] ", $t + printf "[%p] ", $t if $t->function_state.function->common.function_name - printf "%s() ", $t->function_state.function->common.function_name + if $t->function_state.arguments + set $count = (int)*($t->function_state.arguments) + printf "%s(", $t->function_state.function->common.function_name + while $count > 0 + set $zvalue = *(zval **)($t->function_state.arguments - $count) + set $type = $zvalue->type + if $type == 0 + printf "NULL" + end + if $type == 1 + printf "%ld", $zvalue->value.lval + end + if $type == 2 + printf "%lf", $zvalue->value.dval + end + if $type == 3 + if $zvalue->value.lval + printf "true" + else + printf "false" + end + end + if $type == 4 + printf "array(%d)[%p]", $zvalue->value.ht->nNumOfElements, $zvalue + end + if $type == 5 + printf "object[%p]", $zvalue + end + if $type == 6 + ____print_str $zvalue->value.str.val $zvalue->value.str.len + end + if $type == 7 + printf "resource(#%d)", $zvalue->value.lval + end + if $type == 8 + printf "constant" + end + if $type == 9 + printf "const_array" + end + if $type > 9 + printf "unknown type %d", $type + end + set $count = $count -1 + if $count > 0 + printf ", " + end + end + printf ") " + else + printf "%s() ", $t->function_state.function->common.function_name + end else printf "??? " end @@ -167,7 +218,7 @@ define ____printzv ____executor_globals set $zvalue = $arg0 - printf "[0x%08x] ", $zvalue + printf "[%p] ", $zvalue if $zvalue == $eg.uninitialized_zval_ptr printf "*uninitialized* " @@ -208,7 +259,7 @@ end define print_const_table set $ind = 1 - printf "[0x%08x] {\n", $arg0 + printf "[%p] {\n", $arg0 ____print_const_table $arg0 printf "}\n" end @@ -248,7 +299,7 @@ end define print_ht set $ind = 1 - printf "[0x%08x] {\n", $arg0 + printf "[%p] {\n", $arg0 ____print_ht $arg0 1 printf "}\n" end @@ -259,7 +310,7 @@ end define print_htptr set $ind = 1 - printf "[0x%08x] {\n", $arg0 + printf "[%p] {\n", $arg0 ____print_ht $arg0 0 printf "}\n" end @@ -270,7 +321,7 @@ end define print_htstr set $ind = 1 - printf "[0x%08x] {\n", $arg0 + printf "[%p] {\n", $arg0 ____print_ht $arg0 2 printf "}\n" end @@ -306,7 +357,7 @@ end define print_ft set $ind = 1 - printf "[0x%08x] {\n", $arg0 + printf "[%p] {\n", $arg0 ____print_ft $arg0 printf "}\n" end @@ -383,7 +434,7 @@ end define print_pi set $pi = $arg0 - printf "[0x%08x] {\n", $pi + printf "[%p] {\n", $pi printf " h = %lu\n", $pi->h printf " flags = %d (", $pi->flags if $pi->flags & 0x100 @@ -439,7 +490,7 @@ define printzn set $optype = "IS_UNUSED" end - printf "[0x%08x] %s", $znode, $optype + printf "[%p] %s", $znode, $optype if $znode->op_type == 1 printf ": " @@ -519,7 +570,7 @@ define zmemcheck else set $filename = $filename + 1 end - printf " 0x%08x ", $aptr + printf " %p ", $aptr if $p->size == sizeof(struct _zval_struct) && ((struct _zval_struct *)$aptr)->type >= 0 && ((struct _zval_struct *)$aptr)->type < 10 printf "ZVAL?(%-2d) ", $p->size else @@ -549,7 +600,7 @@ define zmemcheck end end if $not_found - printf "no such block that begins at 0x%08x.\n", $aptr + printf "no such block that begins at %p.\n", $aptr end if $arg0 == 0 printf "-------------------------------------------------------------------------------\n" diff --git a/.gitattributes b/.gitattributes index d53e569..1f4a719 100644 --- a/.gitattributes +++ b/.gitattributes @@ -22,152 +22,153 @@ sapi/continuity/capi.c ident Zend/RFCs/002.txt ident Zend/RFCs/003.txt ident NEWS merge=NEWS -/ext/bz2/tests/005.phpt -crlf -/ext/dom/tests/dom005.phpt -crlf -/ext/dom/tests/DOMImplementation_createDocumentType_basic.phpt -crlf -/ext/ereg/tests/009.phpt -crlf -/ext/iconv/tests/eucjp2sjis.phpt -crlf -/ext/iconv/tests/eucjp2utf8.phpt -crlf -/ext/iconv/tests/iconv_stream_filter_delimiter.phpt -crlf -/ext/iconv/tests/iconv_stream_filter.phpt -crlf -/ext/mbstring/tests/mb_split-compat-01.phpt -crlf -/ext/phar/tests/005.phpt -crlf -/ext/phar/tests/phar_commitwrite.phpt -crlf -/ext/phar/tests/phar_create_in_cwd.phpt -crlf -/ext/phar/tests/phar_mount.phpt -crlf -/ext/reflection/tests/009.phpt -crlf -/ext/reflection/tests/025.phpt -crlf -/ext/standard/tests/general_functions/highlight_heredoc.phpt -crlf -/ext/standard/tests/general_functions/parse_ini_file.phpt -crlf -/ext/standard/tests/general_functions/parse_ini_string_002.phpt -crlf -/ext/standard/tests/strings/006.phpt -crlf -/ext/standard/tests/strings/addslashes_variation2.phpt -crlf -/ext/standard/tests/strings/addslashes_variation3.phpt -crlf -/ext/standard/tests/strings/bug21453.phpt -crlf -/ext/standard/tests/strings/chop_variation3.phpt -crlf -/ext/standard/tests/strings/chunk_split_variation11.phpt -crlf -/ext/standard/tests/strings/chunk_split_variation12.phpt -crlf -/ext/standard/tests/strings/chunk_split_variation4.phpt -crlf -/ext/standard/tests/strings/crc32_variation2.phpt -crlf -/ext/standard/tests/strings/crc32_variation3.phpt -crlf -/ext/standard/tests/strings/crc32_variation4.phpt -crlf +/ext/bz2/tests/with_strings.phpt -crlf +/ext/dom/tests/bug40836.phpt -crlf +/ext/dom/tests/domelement.phpt -crlf +/ext/ereg/tests/eregi_basic_002.phpt -crlf +/ext/iconv/tests/iconv004.phpt -crlf +/ext/iconv/tests/iconv_basic.phpt -crlf +/ext/iconv/tests/iconv_strpos.phpt -crlf +/ext/iconv/tests/iconv_strpos_variation2.phpt -crlf +/ext/mbstring/tests/mb_strtoupper_error2.phpt -crlf +/ext/phar/tests/delete_in_phar_confirm.phpt -crlf +/ext/phar/tests/frontcontroller12.phpt -crlf +/ext/phar/tests/security.phpt -crlf +/ext/phar/tests/test_signaturealgos.phpt -crlf +/ext/reflection/tests/ReflectionMethod_invokeArgs_basic.phpt -crlf +/ext/reflection/tests/ReflectionProperty_getModifiers_basic.phpt -crlf +/ext/spl/tests/dllist_007.phpt -crlf +/ext/spl/tests/iterator_012.phpt -crlf +/ext/spl/tests/SplArray_fromArray.phpt -crlf +/ext/standard/tests/dir/scandir_variation3.phpt -crlf +/ext/standard/tests/general_functions/escapeshellcmd-win32.phpt -crlf +/ext/standard/tests/general_functions/set_magic_quotes_runtime_error.phpt -crlf +/ext/standard/tests/strings/bug26817.phpt -crlf +/ext/standard/tests/strings/bug26973.phpt -crlf +/ext/standard/tests/strings/bug27457.phpt -crlf +/ext/standard/tests/strings/bug28386.phpt -crlf +/ext/standard/tests/strings/bug37262.phpt -crlf +/ext/standard/tests/strings/bug40637.phpt -crlf +/ext/standard/tests/strings/bug40915.phpt -crlf +/ext/standard/tests/strings/bug61374.phpt -crlf +/ext/standard/tests/strings/chop_error.phpt -crlf +/ext/standard/tests/strings/chop_variation2.phpt -crlf +/ext/standard/tests/strings/chunk_split_variation10.phpt -crlf +/ext/standard/tests/strings/chunk_split_variation8.phpt -crlf +/ext/standard/tests/strings/count_chars_variation2.phpt -crlf +/ext/standard/tests/strings/dirname_error.phpt -crlf +/ext/standard/tests/strings/fprintf_variation_007_64bit.phpt -crlf /ext/standard/tests/strings/highlight_file.phpt -crlf -/ext/standard/tests/strings/htmlentities_html4.phpt -crlf -/ext/standard/tests/strings/lcfirst.phpt -crlf -/ext/standard/tests/strings/ltrim.phpt -crlf -/ext/standard/tests/strings/nl2br_variation2.phpt -crlf -/ext/standard/tests/strings/php_strip_whitespace.phpt -crlf +/ext/standard/tests/strings/htmlentities03.phpt -crlf +/ext/standard/tests/strings/htmlentities04.phpt -crlf +/ext/standard/tests/strings/htmlentities08.phpt -crlf +/ext/standard/tests/strings/htmlentities15.phpt -crlf +/ext/standard/tests/strings/http_build_query.phpt -crlf +/ext/standard/tests/strings/metaphone.phpt -crlf +/ext/standard/tests/strings/ord_error.phpt -crlf +/ext/standard/tests/strings/printf_basic2.phpt -crlf +/ext/standard/tests/strings/printf_variation2.phpt -crlf +/ext/standard/tests/strings/quoted_printable_decode_basic.phpt -crlf /ext/standard/tests/strings/rtrim.phpt -crlf -/ext/standard/tests/strings/sprintf_f_2.phpt -crlf -/ext/standard/tests/strings/sprintf_variation15.phpt -crlf -/ext/standard/tests/strings/strcspn_variation6.phpt -crlf -/ext/standard/tests/strings/strcspn_variation7.phpt -crlf -/ext/standard/tests/strings/strcspn_variation8.phpt -crlf -/ext/standard/tests/strings/stripos_variation1.phpt -crlf -/ext/standard/tests/strings/stripos_variation3.phpt -crlf -/ext/standard/tests/strings/stripos_variation4.phpt -crlf -/ext/standard/tests/strings/stripos_variation5.phpt -crlf -/ext/standard/tests/strings/stripos_variation6.phpt -crlf +/ext/standard/tests/strings/setlocale_variation1.phpt -crlf +/ext/standard/tests/strings/sha1_basic.phpt -crlf +/ext/standard/tests/strings/similar_text_basic.phpt -crlf +/ext/standard/tests/strings/soundex.phpt -crlf +/ext/standard/tests/strings/sprintf_basic1.phpt -crlf +/ext/standard/tests/strings/sprintf_basic4.phpt -crlf +/ext/standard/tests/strings/sprintf_basic7.phpt -crlf +/ext/standard/tests/strings/sprintf_variation12.phpt -crlf +/ext/standard/tests/strings/sprintf_variation28.phpt -crlf +/ext/standard/tests/strings/sprintf_variation29.phpt -crlf +/ext/standard/tests/strings/sprintf_variation30.phpt -crlf +/ext/standard/tests/strings/sprintf_variation31.phpt -crlf +/ext/standard/tests/strings/sprintf_variation38.phpt -crlf +/ext/standard/tests/strings/sprintf_variation42.phpt -crlf +/ext/standard/tests/strings/sprintf_variation6.phpt -crlf +/ext/standard/tests/strings/sscanf_basic2.phpt -crlf +/ext/standard/tests/strings/sscanf_basic3.phpt -crlf +/ext/standard/tests/strings/str_getcsv_001.phpt -crlf +/ext/standard/tests/strings/stripcslashes_basic.phpt -crlf +/ext/standard/tests/strings/stripos_variation11.phpt -crlf +/ext/standard/tests/strings/stripos_variation13.phpt -crlf +/ext/standard/tests/strings/stripslashes_variation1.phpt -crlf /ext/standard/tests/strings/stripslashes_variation2.phpt -crlf -/ext/standard/tests/strings/stripslashes_variation3.phpt -crlf -/ext/standard/tests/strings/stripslashes_variation4.phpt -crlf -/ext/standard/tests/strings/stripslashes_variation5.phpt -crlf -/ext/standard/tests/strings/str_ireplace.phpt -crlf -/ext/standard/tests/strings/strnatcmp_basic.phpt -crlf -/ext/standard/tests/strings/strncasecmp_variation9.phpt -crlf -/ext/standard/tests/strings/strpos.phpt -crlf -/ext/standard/tests/strings/strrchr_variation1.phpt -crlf -/ext/standard/tests/strings/strrchr_variation2.phpt -crlf -/ext/standard/tests/strings/strrchr_variation3.phpt -crlf -/ext/standard/tests/strings/strrchr_variation4.phpt -crlf -/ext/standard/tests/strings/strrchr_variation6.phpt -crlf -/ext/standard/tests/strings/strrchr_variation7.phpt -crlf -/ext/standard/tests/strings/str_replace.phpt -crlf -/ext/standard/tests/strings/strrev_variation3.phpt -crlf -/ext/standard/tests/strings/strrev_variation4.phpt -crlf -/ext/standard/tests/strings/strripos_variation1.phpt -crlf -/ext/standard/tests/strings/strripos_variation2.phpt -crlf -/ext/standard/tests/strings/strripos_variation3.phpt -crlf -/ext/standard/tests/strings/strripos_variation4.phpt -crlf -/ext/standard/tests/strings/strripos_variation5.phpt -crlf -/ext/standard/tests/strings/strrpos_variation1.phpt -crlf -/ext/standard/tests/strings/strrpos_variation2.phpt -crlf -/ext/standard/tests/strings/strrpos_variation3.phpt -crlf +/ext/standard/tests/strings/stristr_error.phpt -crlf +/ext/standard/tests/strings/strnatcasecmp_basic.phpt -crlf +/ext/standard/tests/strings/strncasecmp_variation6.phpt -crlf +/ext/standard/tests/strings/strncasecmp_variation7.phpt -crlf +/ext/standard/tests/strings/strncasecmp_variation8.phpt -crlf +/ext/standard/tests/strings/strrchr_error.phpt -crlf +/ext/standard/tests/strings/strrchr.phpt -crlf +/ext/standard/tests/strings/strrchr_variation11.phpt -crlf +/ext/standard/tests/strings/strrpos_error.phpt -crlf /ext/standard/tests/strings/strrpos_variation4.phpt -crlf -/ext/standard/tests/strings/strrpos_variation5.phpt -crlf -/ext/standard/tests/strings/strrpos_variation6.phpt -crlf -/ext/standard/tests/strings/strspn_variation5.phpt -crlf -/ext/standard/tests/strings/strspn_variation6.phpt -crlf -/ext/standard/tests/strings/strspn_variation7.phpt -crlf -/ext/standard/tests/strings/strspn_variation8.phpt -crlf -/ext/standard/tests/strings/strstr.phpt -crlf -/ext/standard/tests/strings/strtok_variation1.phpt -crlf -/ext/standard/tests/strings/strtok_variation3.phpt -crlf -/ext/standard/tests/strings/strtr_variation1.phpt -crlf -/ext/standard/tests/strings/strtr_variation2.phpt -crlf -/ext/standard/tests/strings/str_word_count.phpt -crlf -/ext/standard/tests/strings/trim1.phpt -crlf -/ext/standard/tests/strings/ucfirst.phpt -crlf -/ext/standard/tests/strings/vfprintf_variation10.phpt -crlf +/ext/standard/tests/strings/strrpos_variation8.phpt -crlf +/ext/standard/tests/strings/strstr2.phpt -crlf +/ext/standard/tests/strings/strtok_error.phpt -crlf +/ext/standard/tests/strings/strtok_variation2.phpt -crlf +/ext/standard/tests/strings/strtolower-win32.phpt -crlf +/ext/standard/tests/strings/substr_compare.phpt -crlf +/ext/standard/tests/strings/ucwords_variation1.phpt -crlf +/ext/standard/tests/strings/unpack.phpt -crlf +/ext/standard/tests/strings/vfprintf_basic7_64bit.phpt -crlf +/ext/standard/tests/strings/vfprintf_variation11_64bit.phpt -crlf +/ext/standard/tests/strings/vfprintf_variation12_64bit.phpt -crlf /ext/standard/tests/strings/vfprintf_variation12.phpt -crlf -/ext/standard/tests/strings/vfprintf_variation16.phpt -crlf -/ext/standard/tests/strings/vfprintf_variation18.phpt -crlf -/ext/standard/tests/strings/vfprintf_variation4.phpt -crlf -/ext/standard/tests/strings/vfprintf_variation6.phpt -crlf +/ext/standard/tests/strings/vfprintf_variation13_64bit.phpt -crlf /ext/standard/tests/strings/vfprintf_variation7.phpt -crlf -/ext/standard/tests/strings/vfprintf_variation8.phpt -crlf +/ext/standard/tests/strings/vprintf_basic2.phpt -crlf +/ext/standard/tests/strings/vprintf_basic7_64bit.phpt -crlf /ext/standard/tests/strings/vprintf_variation10.phpt -crlf -/ext/standard/tests/strings/vprintf_variation12.phpt -crlf -/ext/standard/tests/strings/vprintf_variation14.phpt -crlf -/ext/standard/tests/strings/vprintf_variation18.phpt -crlf +/ext/standard/tests/strings/vprintf_variation14_64bit.phpt -crlf +/ext/standard/tests/strings/vprintf_variation17.phpt -crlf /ext/standard/tests/strings/vprintf_variation4.phpt -crlf -/ext/standard/tests/strings/vprintf_variation6.phpt -crlf -/ext/standard/tests/strings/vprintf_variation7.phpt -crlf -/ext/standard/tests/strings/vprintf_variation8.phpt -crlf -/ext/standard/tests/strings/vsprintf_variation10.phpt -crlf -/ext/standard/tests/strings/vsprintf_variation12.phpt -crlf -/ext/standard/tests/strings/vsprintf_variation14.phpt -crlf -/ext/standard/tests/strings/vsprintf_variation16.phpt -crlf -/ext/standard/tests/strings/vsprintf_variation4.phpt -crlf -/ext/standard/tests/strings/vsprintf_variation6.phpt -crlf +/ext/standard/tests/strings/vsprintf_basic4.phpt -crlf +/ext/standard/tests/strings/vsprintf_basic8.phpt -crlf +/ext/standard/tests/strings/vsprintf_variation12_64bit.phpt -crlf +/ext/standard/tests/strings/vsprintf_variation13_64bit.phpt -crlf +/ext/standard/tests/strings/vsprintf_variation15_64bit.phpt -crlf +/ext/standard/tests/strings/vsprintf_variation17.phpt -crlf +/ext/standard/tests/strings/vsprintf_variation4_64bit.phpt -crlf /ext/standard/tests/strings/vsprintf_variation7.phpt -crlf -/ext/standard/tests/strings/vsprintf_variation8.phpt -crlf /ext/standard/tests/strings/wordwrap.phpt -crlf -/ext/tidy/tests/010.phpt -crlf -/ext/tidy/tests/012.phpt -crlf -/ext/tidy/tests/025.phpt -crlf -/ext/tidy/tests/030.phpt -crlf +/ext/standard/tests/strings/wordwrap_variation5.phpt -crlf +/ext/standard/tests/url/rawurldecode_variation_001.phpt -crlf +/ext/tidy/tests/009.phpt -crlf +/ext/tidy/tests/013.phpt -crlf +/ext/tidy/tests/021.phpt -crlf +/ext/tidy/tests/tidy_error.phpt -crlf +/ext/tokenizer/tests/002.phpt -crlf /ext/tokenizer/tests/bug26463.phpt -crlf +/ext/tokenizer/tests/token_get_all_error.phpt -crlf +/ext/tokenizer/tests/token_get_all_variation11.phpt -crlf /ext/tokenizer/tests/token_get_all_variation12.phpt -crlf /ext/tokenizer/tests/token_get_all_variation13.phpt -crlf /ext/tokenizer/tests/token_get_all_variation14.phpt -crlf /ext/tokenizer/tests/token_get_all_variation15.phpt -crlf -/ext/tokenizer/tests/token_get_all_variation16.phpt -crlf -/ext/tokenizer/tests/token_get_all_variation17.phpt -crlf /ext/tokenizer/tests/token_get_all_variation18.phpt -crlf /ext/tokenizer/tests/token_get_all_variation19.phpt -crlf -/ext/tokenizer/tests/token_get_all_variation4.phpt -crlf +/ext/tokenizer/tests/token_get_all_variation1.phpt -crlf +/ext/tokenizer/tests/token_get_all_variation2.phpt -crlf +/ext/tokenizer/tests/token_get_all_variation3.phpt -crlf /ext/tokenizer/tests/token_get_all_variation5.phpt -crlf -/ext/tokenizer/tests/token_get_all_variation6.phpt -crlf -/ext/tokenizer/tests/token_get_all_variation7.phpt -crlf /ext/tokenizer/tests/token_get_all_variation8.phpt -crlf -/ext/tokenizer/tests/token_get_all_variation9.phpt -crlf -/ext/xml/tests/bug26614_libxml.phpt -crlf -/ext/xmlwriter/tests/004.phpt -crlf -/ext/xmlwriter/tests/OO_004.phpt -crlf -/ext/zlib/tests/005.phpt -crlf -/ext/zlib/tests/gzfile_basic2.phpt -crlf -/ext/zlib/tests/gzfile_basic.phpt -crlf -/ext/zlib/tests/gzfilegzreadfile.phpt -crlf -/ext/zlib/tests/readgzfile_basic2.phpt -crlf -/ext/zlib/tests/readgzfile_basic.phpt -crlf -/sapi/cli/tests/014.phpt -crlf -/tests/run-test/test010.phpt -crlf -/Zend/tests/bug35655.phpt -crlf -/Zend/tests/bug48930.phpt -crlf -/Zend/tests/bug61095.phpt -crlf -/Zend/tests/heredoc_017.phpt -crlf -/Zend/tests/heredoc_018.phpt -crlf -/Zend/tests/nowdoc_013.phpt -crlf -/Zend/tests/nowdoc_014.phpt -crlf -/Zend/tests/nowdoc_015.phpt -crlf +/ext/xml/tests/bug32001b.phpt -crlf +/ext/xmlwriter/tests/OO_003.phpt -crlf +/ext/xmlwriter/tests/xmlwriter_write_attribute_ns_error_001.phpt -crlf +/ext/zlib/tests/008.phpt -crlf +/ext/zlib/tests/gzopen_variation4.phpt -crlf +/ext/zlib/tests/gzrewind_error.phpt -crlf +/ext/zlib/tests/readgzfile_variation7.phpt -crlf +/ext/zlib/tests/readgzfile_variation8.phpt -crlf +/ext/zlib/tests/zlib_scheme_stat_basic.phpt -crlf +/sapi/cli/tests/006.phpt -crlf +/tests/run-test/test009.phpt -crlf +/Zend/tests/012.phpt -crlf +/Zend/tests/bug28072.phpt -crlf +/Zend/tests/bug38624.phpt -crlf +/Zend/tests/bug40784.phpt -crlf +/Zend/tests/bug43053.phpt -crlf +/Zend/tests/bug51176.phpt -crlf +/Zend/tests/each_003.phpt -crlf +/Zend/tests/errmsg_006.phpt -crlf @@ -497,8 +497,8 @@ STATUS: Working SINCE: 4.0.3 ------------------------------------------------------------------------------- EXTENSION: snmp -PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>, Pierre-Alain Joye <pajoye@php.net> -MAINTENANCE: Odd Fixes +PRIMARY MAINTAINER: Boris Lytochkin <lytboris@php.net>, Rasmus Lerdorf <rasmus@php.net>, Pierre-Alain Joye <pajoye@php.net> +MAINTENANCE: Maintained STATUS: Working ------------------------------------------------------------------------------- EXTENSION: sockets diff --git a/Makefile.global b/Makefile.global index 8dad0e4..b30c318 100644 --- a/Makefile.global +++ b/Makefile.global @@ -13,6 +13,8 @@ all: $(all_targets) build-modules: $(PHP_MODULES) $(PHP_ZEND_EX) +build-binaries: $(PHP_BINARIES) + libphp$(PHP_MAJOR_VERSION).la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ -@$(LIBTOOL) --silent --mode=install cp $@ $(phptempdir)/$@ >/dev/null 2>&1 @@ -35,6 +37,8 @@ install-sapi: $(OVERALL_TARGET) fi @$(INSTALL_IT) +install-binaries: build-binaries $(install_binary_targets) + install-modules: build-modules @test -d modules && \ $(mkinstalldirs) $(INSTALL_ROOT)$(EXTENSION_DIR) @@ -79,7 +83,7 @@ PHP_TEST_SHARED_EXTENSIONS = ` \ . $$i; $(top_srcdir)/build/shtool echo -n -- " -d $(ZEND_EXT_TYPE)=$(top_builddir)/modules/$$dlname"; \ done; \ fi` -PHP_DEPRECATED_DIRECTIVES_REGEX = '^(define_syslog_variables|register_(globals|long_arrays)?|safe_mode|magic_quotes_(gpc|runtime|sybase)?|(zend_)?extension(_debug)?(_ts)?)[\t\ ]*=' +PHP_DEPRECATED_DIRECTIVES_REGEX = '^(magic_quotes_(gpc|runtime|sybase)?|(zend_)?extension(_debug)?(_ts)?)[\t\ ]*=' test: all -@if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \ @@ -1,58 +1,56 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -?? ??? 2012, PHP 5.3.12 +?? ??? 2012, PHP 5.4.1 RC1 + +- CLI Server: + . Fixed bug #61461 (missing checks around malloc() calls). (Ilia) + . Implemented FR #60850 (Built in web server does not set + $_SERVER['SCRIPT_FILENAME'] when using router). (Laruence) + . "Connection: close" instead of "Connection: closed" (Gustavo) - JSON . Fixed bug #61537 (json_encode() incorrectly truncates/discards information). (Adam) ?? ??? 2012, PHP 5.3.11 -- Iconv extension: - . Fixed a bug that iconv extension fails to link to the correct library - when another extension makes use of a library that links to the iconv - library. See https://bugs.gentoo.org/show_bug.cgi?id=364139 for detail. - (Moriyoshi) (merge after 5.3.11 release) - Core: - . Fixed bug #61605 (header_remove() does not remove all headers). - (Laruence) - . Fixed bug #61541 (Segfault when using ob_* in output_callback). - (reeze.xia@gmail.com) - . Fixed bug #61273 (call_user_func_array with more than 16333 arguments + . Fixed bug #61660 (bin2hex(hex2bin($data)) != $data). (Nikita Popov) + . Fixed bug #61650 (ini parser crashes when using ${xxxx} ini variables + (without apache2)). (Laruence) + . Fixed bug #61605 (header_remove() does not remove all headers). (Laruence) + . Fixed bug #61374 (html_entity_decode tries to decode code points that don't + exist in ISO-8859-1). (Gustavo) + . Fixed bug #61273 (call_user_func_array with more than 16333 arguments leaks / crashes). (Laruence) + . Fixed bug #61225 (Incorrect lexing of 0b00*+<NUM>). (Pierrick) . Fixed bug #61165 (Segfault - strip_tags()). (Laruence) - . Improved max_input_vars directive to check nested variables (Dmitry). - . Fixed bug #61095 (Incorect lexing of 0x00*+<NUM>). (Etienne) + . Fixed bug #61106 (Segfault when using header_register_callback). (Nikita + Popov) . Fixed bug #61087 (Memory leak in parse_ini_file when specifying invalid scanner mode). (Nikic, Laruence) . Fixed bug #61072 (Memory leak when restoring an exception handler). (Nikic, Laruence) . Fixed bug #61058 (array_fill leaks if start index is PHP_INT_MAX). (Laruence) - . Fixed bug #61043 (Regression in magic_quotes_gpc fix for CVE-2012-0831). - (Ondřej Surý) - . Fixed bug #61000 (Exceeding max nesting level doesn't delete numerical + . Fixed bug #61052 (Missing error check in trait 'insteadof' clause). (Stefan) + . Fixed bug #61011 (Crash when an exception is thrown by __autoload + accessing a static property). (Laruence) + . Fixed bug #61000 (Exceeding max nesting level doesn't delete numerical vars). (Laruence) - . Fixed bug #60895 (Possible invalid handler usage in windows random - functions). (Pierre) - . Fixed bug #60825 (Segfault when running symfony 2 tests). - (Dmitry, Laruence) + . Fixed bug #60978 (exit code incorrect). (Laruence) + . Fixed bug #60911 (Confusing error message when extending traits). (Stefan) . Fixed bug #60801 (strpbrk() mishandles NUL byte). (Adam) + . Fixed bug #60717 (Order of traits in use statement can cause a fatal + error). (Stefan) + . Fixed bug #60573 (type hinting with "self" keyword causes weird errors). + (Laruence) . Fixed bug #60569 (Nullbyte truncates Exception $message). (Ilia) - . Fixed bug #60227 (header() cannot detect the multi-line header with CR). - (rui, Gustavo) - . Fixed bug #60222 (time_nanosleep() does validate input params). (Ilia) - . Fixed bug #54374 (Insufficient validating of upload name leading to - corrupted $_FILES indices). (CVE-2012-1172). (Stas, lekensteyn at - gmail dot com, Pierre) . Fixed bug #52719 (array_walk_recursive crashes if third param of the function is by reference). (Nikita Popov) - . Fixed bug #51860 (Include fails with toplevel symlink to /). (Dmitry) - -- DOM - . Added debug info handler to DOM objects. (Gustavo, Joey Smith) + . Improve performance of set_exception_handler while doing reset (Laruence) - FPM . Fixed bug #61430 (Transposed memset() params in sapi/fpm/fpm/fpm_shm.c). @@ -65,59 +63,34 @@ PHP NEWS - Installation . Fixed bug #61172 (Add Apache 2.4 support). (Chris Jones) -- Fileinfo - . Fixed bug #61173 (Unable to detect error from finfo constructor). (Gustavo) - -- Firebird Database extension (ibase): - . Fixed bug #60802 (ibase_trans() gives segfault when passing params). +- Intl: + . Fixed bug #61487 (Incorrent bounds checking in grapheme_strpos). + (Stas) - Libxml: . Fixed bug #61617 (Libxml tests failed(ht is already destroyed)). (Laruence) - . Fixed bug #61367 (open_basedir bypass using libxml RSHUTDOWN). - (Tim Starling) + +- mbstring: + . MFH mb_ereg_replace_callback() for security enhancements. (Rui) - mysqli . Fixed bug #61003 (mysql_stat() require a valid connection). (Johannes). -- PDO_mysql - . Fixed bug #61207 (PDO::nextRowset() after a multi-statement query doesn't - always work). (Johannes) - . Fixed bug #61194 (PDO should export compression flag with myslqnd). +- mysqlnd + . Fixed bug #60948 (mysqlnd FTBFS when -Wformat-security is enabled). (Johannes) -- PDO_odbc - . Fixed bug #61212 (PDO ODBC Segfaults on SQL_SUCESS_WITH_INFO). (Ilia) - -- PDO_pgsql - . Fixed bug #61267 (pdo_pgsql's PDO::exec() returns the number of SELECTed - rows on postgresql >= 9). (ben dot pineau at gmail dot com) - -- PDO_Sqlite extension: - . Add createCollation support. (Damien) - -- Phar: - . Fixed bug #61184 (Phar::webPhar() generates headers with trailing NUL - bytes). (Nikic) - -- PHP-FPM SAPI: - . Fixed bug #60811 (php-fpm compilation problem). (rasmus) - - Readline: . Fixed bug #61088 (Memory leak in readline_callback_handler_install). (Nikic, Laruence) - . Add open_basedir checks to readline_write_history and readline_read_history. - (Rasmus, reported by Mateusz Goik) -- Reflection: - . Fixed bug #61388 (ReflectionObject:getProperties() issues invalid reads - when get_properties returns a hash table with (inaccessible) dynamic - numeric properties). (Gustavo) - . Fixed bug #60968 (Late static binding doesn't work with - ReflectionMethod::invokeArgs()). (Laruence) +- Session + . Fixed bug #60634 (Segmentation fault when trying to die() in + SessionHandler::write()). (Ilia) - SOAP - . Fixed basic HTTP authentication for WSDL sub requests. (Dmitry) + . Fixed bug #61423 (gzip compression fails). (Ilia) . Fixed bug #60887 (SoapClient ignores user_agent option and sends no User-Agent header). (carloschilazo at gmail dot com) . Fixed bug #60842, #51775 (Chunked response parsing error when @@ -125,48 +98,482 @@ PHP NEWS . Fixed bug #49853 (Soap Client stream context header option ignored). (Dmitry) -- SPL - . Fixed memory leak when calling SplFileInfo's constructor twice. (Felipe) - . Fixed bug #61418 (Segmentation fault when DirectoryIterator's or - FilesystemIterator's iterators are requested more than once without - having had its dtor callback called in between). (Gustavo) - . Fixed bug #61347 (inconsistent isset behavior of Arrayobject). (Laruence) - . Fixed bug #61326 (ArrayObject comparison). (Gustavo) +- PDO + . Fixed bug #61292 (Segfault while calling a method on an overloaded PDO + object). (Laruence) -- SQLite3 extension: - . Add createCollation() method. (Brad Dewar) +- PDO_mysql + . Fixed bug #61207 (PDO::nextRowset() after a multi-statement query doesn't + always work). (Johannes) + . Fixed bug #61194 (PDO should export compression flag with myslqnd). + (Johannes) -- Session: - . Fixed bug #60860 (session.save_handler=user without defined function core - dumps). (Felipe) - . Fixed bug #60634 (Segmentation fault when trying to die() in - SessionHandler::write()). (Ilia) +- PDO_odbc + . Fixed bug #61212 (PDO ODBC Segfaults on SQL_SUCESS_WITH_INFO). (Ilia) -- Streams: - . Fixed bug #61371 (stream_context_create() causes memory leaks on use - streams_socket_create). (Gustavo) - . Fixed bug #61253 (Wrappers opened with errors concurrency problem on ZTS). +- Phar + . Fixed bug #61184 (Phar::webPhar() generates headers with trailing NUL + bytes). (Nikita Popov) + +- Reflection: + . Fixed bug #60968 (Late static binding doesn't work with + ReflectionMethod::invokeArgs()). (Laruence) + +- SPL: + . Fixed bug #61453 (SplObjectStorage does not identify objects correctly). (Gustavo) - . Fixed bug #61115 (stream related segfault on fatal error in - php_stream_context_link). (Gustavo) - . Fixed bug #60817 (stream_get_line() reads from stream even when there is - already sufficient data buffered). stream_get_line() now behaves more like - fgets(), as is documented. (Gustavo) - . Further fix for bug #60455 (stream_get_line misbehaves if EOF is not - detected together with the last read). (Gustavo) - . Fixed bug #60106 (stream_socket_server silently truncates long unix - socket paths). (Ilia) + . Fixed bug #61347 (inconsistent isset behavior of Arrayobject). (Laruence) -- Tidy: - . Fixed bug #54682 (tidy null pointer dereference). (Tony, David Soria Parra) +- Standard: + . Fixed memory leak in substr_replace. (Pierrick) + . Make max_file_uploads ini directive settable outside of php.ini (Rasmus) + . Fixed bug #61409 (Bad formatting on phpinfo()). (Jakub Vrana) + . Fixed bug #60222 (time_nanosleep() does validate input params). (Ilia) + . Fixed bug #60106 (stream_socket_server silently truncates long unix socket + paths). (Ilia) - XMLRPC: . Fixed bug #61264 (xmlrpc_parse_method_descriptions leaks temporary variable). (Nikita Popov) - . Fixed bug #61097 (Memory leak in xmlrpc functions copying zvals). (Nikic) + . Fixed bug #61097 (Memory leak in xmlrpc functions copying zvals). (Nikita + Popov) - Zlib: - . Fixed bug #61139 (gzopen leaks when specifying invalid mode). (Nikic) + . Fixed bug #61306 (initialization of global inappropriate for ZTS). (Gustavo) + . Fixed bug #61287 (A particular string fails to decompress). (Mike) + . Fixed bug #61139 (gzopen leaks when specifying invalid mode). (Nikita Popov) + +01 Mar 2012, PHP 5.4.0 + +- Installation: + . autoconf 2.59+ is now supported (and required) for generating the + configure script with ./buildconf. Autoconf 2.60+ is desirable + otherwise the configure help order may be incorrect. (Rasmus, Chris Jones) + +- Removed legacy features: + . break/continue $var syntax. (Dmitry) + . Safe mode and all related php.ini options. (Kalle) + . register_globals and register_long_arrays php.ini options. (Kalle) + . import_request_variables(). (Kalle) + . allow_call_time_pass_reference. (Pierrick) + . define_syslog_variables php.ini option and its associated function. (Kalle) + . highlight.bg php.ini option. (Kalle) + . safe_mode, safe_mode_gid, safe_mode_include_dir, + safe_mode_exec_dir, safe_mode_allowed_env_vars and + safe_mode_protected_env_vars php.ini options. + . zend.ze1_compatibility_mode php.ini option. + . Session bug compatibility mode (session.bug_compat_42 and + session.bug_compat_warn php.ini options). (Kalle) + . session_is_registered(), session_register() and session_unregister() + functions. (Kalle) + . y2k_compliance php.ini option. (Kalle) + . magic_quotes_gpc, magic_quotes_runtime and magic_quotes_sybase + php.ini options. get_magic_quotes_gpc, get_magic_quotes_runtime are kept + but always return false, set_magic_quotes_runtime raises an + E_CORE_ERROR. (Pierrick, Pierre) + . Removed support for putenv("TZ=..") for setting the timezone. (Derick) + . Removed the timezone guessing algorithm in case the timezone isn't set with + date.timezone or date_default_timezone_set(). Instead of a guessed + timezone, "UTC" is now used instead. (Derick) + +- Moved extensions to PECL: + . ext/sqlite. (Note: the ext/sqlite3 and ext/pdo_sqlite extensions are + not affected) (Johannes) + +- General improvements: + . Added short array syntax support ([1,2,3]), see UPGRADING guide for full + details. (rsky0711 at gmail . com, sebastian.deutsch at 9elements . com, + Pierre) + . Added binary number format (0b001010). (Jonah dot Harris at gmail dot com) + . Added support for Class::{expr}() syntax (Pierrick) + . Added multibyte support by default. Previously PHP had to be compiled + with --enable-zend-multibyte. Now it can be enabled or disabled through + the zend.multibyte directive in php.ini. (Dmitry) + . Removed compile time dependency from ext/mbstring (Dmitry) + . Added support for Traits. (Stefan, with fixes by Dmitry and Laruence) + . Added closure $this support back. (Stas) + . Added array dereferencing support. (Felipe) + . Added callable typehint. (Hannes) + . Added indirect method call through array. FR #47160. (Felipe) + . Added DTrace support. (David Soria Parra) + . Added class member access on instantiation (e.g. (new foo)->bar()) support. + (Felipe) + . <?= is now always available regardless of the short_open_tag setting. (Rasmus) + . Implemented Zend Signal Handling (configurable option --enable-zend-signals, + off by default). (Lucas Nealan, Arnaud Le Blanc, Brian Shire, Ilia) + . Improved output layer, see README.NEW-OUTPUT-API for internals. (Mike) + . Improved UNIX build system to allow building multiple PHP binary SAPIs and + one SAPI module the same time. FR #53271, FR #52419. (Jani) + . Implemented closure rebinding as parameter to bindTo. (Gustavo Lopes) + . Improved the warning message of incompatible arguments. (Laruence) + . Improved ternary operator performance when returning arrays. (Arnaud, Dmitry) + . Changed error handlers to only generate docref links when the docref_root + php.ini setting is not empty. (Derick) + . Changed silent conversion of array to string to produce a notice. (Patrick) + . Changed default encoding from ISO-8859-1 to UTF-8 when not specified in + htmlspecialchars and htmlentities. (Rasmus) + . Changed casting of null/''/false into an Object when adding a property + from E_STRICT into a warning. (Scott) + . Changed E_ALL to include E_STRICT. (Stas) + . Disabled Windows CRT warning by default, can be enabled again using the + php.ini directive windows_show_crt_warnings. (Pierre) + . Fixed bug #55378: Binary number literal returns float number though its + value is small enough. (Derick) + +- Improved Zend Engine memory usage: (Dmitry) + . Improved parse error messages. (Felipe) + . Replaced zend_function.pass_rest_by_reference by + ZEND_ACC_PASS_REST_BY_REFERENCE in zend_function.fn_flags. + . Replaced zend_function.return_reference by ZEND_ACC_RETURN_REFERENCE + in zend_function.fn_flags. + . Removed zend_arg_info.required_num_args as it was only needed for internal + functions. Now the first arg_info for internal functions (which has special + meaning) is represented by the zend_internal_function_info structure. + . Moved zend_op_array.size, size_var, size_literal, current_brk_cont, + backpatch_count into CG(context) as they are used only during compilation. + . Moved zend_op_array.start_op into EG(start_op) as it's used only for + 'interactive' execution of a single top-level op-array. + . Replaced zend_op_array.done_pass_two by ZEND_ACC_DONE_PASS_TWO in + zend_op_array.fn_flags. + . op_array.vars array is trimmed (reallocated) during pass_two. + . Replaced zend_class_entry.constants_updated by ZEND_ACC_CONSTANTS_UPDATED + in zend_class_entry.ce_flags. + . Reduced the size of zend_class_entry by sharing the same memory space + by different information for internal and user classes. + See zend_class_entry.info union. + . Reduced size of temp_variable. + +- Improved Zend Engine - performance tweaks and optimizations: (Dmitry) + . Inlined most probable code-paths for arithmetic operations directly into + executor. + . Eliminated unnecessary iterations during request startup/shutdown. + . Changed $GLOBALS into a JIT autoglobal, so it's initialized only if used. + (this may affect opcode caches!) + . Improved performance of @ (silence) operator. + . Simplified string offset reading. Given $str="abc" then $str[1][0] is now + a legal construct. + . Added caches to eliminate repeatable run-time bindings of functions, + classes, constants, methods and properties. + . Added concept of interned strings. All strings constants known at compile + time are allocated in a single copy and never changed. + . ZEND_RECV now always has IS_CV as its result. + . ZEND_CATCH now has to be used only with constant class names. + . ZEND_FETCH_DIM_? may fetch array and dimension operands in different order. + . Simplified ZEND_FETCH_*_R operations. They can't be used with the + EXT_TYPE_UNUSED flag any more. This is a very rare and useless case. + ZEND_FREE might be required after them instead. + . Split ZEND_RETURN into two new instructions ZEND_RETURN and + ZEND_RETURN_BY_REF. + . Optimized access to global constants using values with pre-calculated + hash_values from the literals table. + . Optimized access to static properties using executor specialization. + A constant class name may be used as a direct operand of ZEND_FETCH_* + instruction without previous ZEND_FETCH_CLASS. + . zend_stack and zend_ptr_stack allocation is delayed until actual usage. + +- Other improvements to Zend Engine: + . Added an optimization which saves memory and emalloc/efree calls for empty + HashTables. (Stas, Dmitry) + . Added ability to reset user opcode handlers (Yoram). + . Changed the structure of op_array.opcodes. The constant values are moved from + opcode operands into a separate literal table. (Dmitry) + . Fixed (disabled) inline-caching for ZEND_OVERLOADED_FUNCTION methods. + (Dmitry) + +- Improved core functions: + . Enforce an extended class' __construct arguments to match the + abstract constructor in the base class. + . Disallow reusing superglobal names as parameter names. + . Added optional argument to debug_backtrace() and debug_print_backtrace() + to limit the amount of stack frames returned. (Sebastian, Patrick) + . Added hex2bin() function. (Scott) + . number_format() no longer truncates multibyte decimal points and thousand + separators to the first byte. FR #53457. (Adam) + . Added support for object references in recursive serialize() calls. + FR #36424. (Mike) + . Added support for SORT_NATURAL and SORT_FLAG_CASE in array + sort functions (sort, rsort, ksort, krsort, asort, arsort and + array_multisort). FR#55158 (Arpad) + . Added stream metadata API support and stream_metadata() stream class + handler. (Stas) + . User wrappers can now define a stream_truncate() method that responds + to truncation, e.g. through ftruncate(). FR #53888. (Gustavo) + . Improved unserialize() performance. + (galaxy dot mipt at gmail dot com, Kalle) + . Changed array_combine() to return empty array instead of FALSE when both + parameter arrays are empty. FR #34857. (joel.perras@gmail.com) + . Fixed bug #61095 (Incorect lexing of 0x00*+<NUM>). (Etienne) + . Fixed bug #60965 (Buffer overflow on htmlspecialchars/entities with + $double=false). (Gustavo) + . Fixed bug #60895 (Possible invalid handler usage in windows random + functions). (Pierre) + . Fixed bug #60879 (unserialize() Does not invoke __wakeup() on object). + (Pierre, Steve) + . Fixed bug #60825 (Segfault when running symfony 2 tests). + (Dmitry, Laruence) + . Fixed bug #60627 (httpd.worker segfault on startup with php_value). + . Fixed bug #60613 (Segmentation fault with $cls->{expr}() syntax). (Dmitry) + . Fixed bug #60611 (Segmentation fault with Cls::{expr}() syntax). (Laruence) + (Laruence) + . Fixed bug #60558 (Invalid read and writes). (Laruence) + . Fixed bug #60444 (Segmentation fault with include & class extending). + (Laruence, Dmitry). + . Fixed bug #60362 (non-existent sub-sub keys should not have values). + (Laruence, alan_k, Stas) + . Fixed bug #60350 (No string escape code for ESC (ascii 27), normally \e). + (php at mickweiss dot com) + . Fixed bug #60321 (ob_get_status(true) no longer returns an array when + buffer is empty). (Pierrick) + . Fixed bug #60282 (Segfault when using ob_gzhandler() with open buffers). + (Laruence) + . Fixed bug #60240 (invalid read/writes when unserializing specially crafted + strings). (Mike) + . Fixed bug #60227 (header() cannot detect the multi-line header with + CR(0x0D)). (rui) + . Fixed bug #60174 (Notice when array in method prototype error). + (Laruence) + . Fixed bug #60169 (Conjunction of ternary and list crashes PHP). + (Laruence) + . Fixed bug #60038 (SIGALRM cause segfault in php_error_cb). (Laruence) + (klightspeed at netspace dot net dot au) + . Fixed bug #55871 (Interruption in substr_replace()). (Stas) + . Fixed bug #55801 (Behavior of unserialize has changed). (Mike) + . Fixed bug #55758 (Digest Authenticate missed in 5.4) . (Laruence) + . Fixed bug #55748 (multiple NULL Pointer Dereference with zend_strndup()) + (CVE-2011-4153). (Stas) + . Fixed bug #55124 (recursive mkdir fails with current (dot) directory in path). + (Pierre) + . Fixed bug #55084 (Function registered by header_register_callback is + called only once per process). (Hannes) + . Implement FR #54514 (Get php binary path during script execution). + (Laruence) + . Fixed bug #52211 (iconv() returns part of string on error). (Felipe) + . Fixed bug #51860 (Include fails with toplevel symlink to /). (Dmitry) + +- Improved generic SAPI support: + . Added $_SERVER['REQUEST_TIME_FLOAT'] to include microsecond precision. + (Patrick) + . Added header_register_callback() which is invoked immediately + |