Commit eddbbea4 authored by Mark A. Hershberger's avatar Mark A. Hershberger

Imported Upstream version 5.2.3

parent 2d4e5b09
...@@ -8,7 +8,7 @@ define ____executor_globals ...@@ -8,7 +8,7 @@ define ____executor_globals
end end
document ____executor_globals document ____executor_globals
portable way of accessing executor_globals portable way of accessing executor_globals, set $eg
ZTS detection is automatically based on ext/standard module struct ZTS detection is automatically based on ext/standard module struct
end end
...@@ -39,14 +39,18 @@ define printzv ...@@ -39,14 +39,18 @@ define printzv
end end
document printzv document printzv
prints content of zval prints zval contents
end end
define ____printzv_contents define ____printzv_contents
set $zvalue = $arg0 set $zvalue = $arg0
set $type = $zvalue->type set $type = $zvalue->type
printf "(refcount=%d) ", $zvalue->refcount printf "(refcount=%d", $zvalue->refcount
if $zvalue->is_ref
printf ",is_ref"
end
printf ") "
if $type == 0 if $type == 0
printf "NULL" printf "NULL"
end end
...@@ -69,7 +73,7 @@ define ____printzv_contents ...@@ -69,7 +73,7 @@ define ____printzv_contents
if ! $arg1 if ! $arg1
printf "{\n" printf "{\n"
set $ind = $ind + 1 set $ind = $ind + 1
____print_ht $zvalue->value.ht ____print_ht $zvalue->value.ht 1
set $ind = $ind - 1 set $ind = $ind - 1
set $i = $ind set $i = $ind
while $i > 0 while $i > 0
...@@ -103,7 +107,7 @@ define ____printzv_contents ...@@ -103,7 +107,7 @@ define ____printzv_contents
printf "(%d): ", $ht->nNumOfElements printf "(%d): ", $ht->nNumOfElements
printf "{\n" printf "{\n"
set $ind = $ind + 1 set $ind = $ind + 1
____print_ht $ht ____print_ht $ht 1
set $ind = $ind - 1 set $ind = $ind - 1
set $i = $ind set $i = $ind
while $i > 0 while $i > 0
...@@ -188,12 +192,10 @@ define print_const_table ...@@ -188,12 +192,10 @@ define print_const_table
end end
define ____print_ht define ____print_ht
set $ht = $arg0 set $ht = (HashTable*)$arg0
set $p = $ht->pListHead set $p = $ht->pListHead
while $p != 0 while $p != 0
set $zval = *(zval **)$p->pData
set $i = $ind set $i = $ind
while $i > 0 while $i > 0
printf " " printf " "
...@@ -206,8 +208,18 @@ define ____print_ht ...@@ -206,8 +208,18 @@ define ____print_ht
else else
printf "%d => ", $p->h printf "%d => ", $p->h
end end
if $arg1 == 0
printf "%p\n", (void*)$p->pData
end
if $arg1 == 1
set $zval = *(zval **)$p->pData
____printzv $zval 1
end
if $arg1 == 2
printf "%s\n", (char*)$p->pData
end
____printzv $zval 1
set $p = $p->pListNext set $p = $p->pListNext
end end
end end
...@@ -215,7 +227,7 @@ end ...@@ -215,7 +227,7 @@ end
define print_ht define print_ht
set $ind = 1 set $ind = 1
printf "[0x%08x] {\n", $arg0 printf "[0x%08x] {\n", $arg0
____print_ht $arg0 ____print_ht $arg0 1
printf "}\n" printf "}\n"
end end
...@@ -223,6 +235,28 @@ document print_ht ...@@ -223,6 +235,28 @@ document print_ht
dumps elements of HashTable made of zval dumps elements of HashTable made of zval
end end
define print_htptr
set $ind = 1
printf "[0x%08x] {\n", $arg0
____print_ht $arg0 0
printf "}\n"
end
document print_htptr
dumps elements of HashTable made of pointers
end
define print_htstr
set $ind = 1
printf "[0x%08x] {\n", $arg0
____print_ht $arg0 2
printf "}\n"
end
document print_htstr
dumps elements of HashTable made of strings
end
define ____print_ft define ____print_ft
set $ht = $arg0 set $ht = $arg0
set $p = $ht->pListHead set $p = $ht->pListHead
......
...@@ -3,21 +3,21 @@ ...@@ -3,21 +3,21 @@
# Zend # Zend
# #
$(builddir)/zend_language_scanner.lo: $(builddir)/zend_language_parser.h $(builddir)/zend_language_scanner.lo: $(srcdir)/zend_language_parser.h
$(builddir)/zend_ini_scanner.lo: $(builddir)/zend_ini_parser.h $(builddir)/zend_ini_scanner.lo: $(srcdir)/zend_ini_parser.h
$(builddir)/zend_language_scanner.c: $(srcdir)/zend_language_scanner.l $(srcdir)/zend_language_scanner.c: $(srcdir)/zend_language_scanner.l
@$(LEX) -Pzend -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_language_scanner.l @$(LEX) -Pzend -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_language_scanner.l
$(builddir)/zend_language_parser.h: $(builddir)/zend_language_parser.c $(srcdir)/zend_language_parser.h: $(srcdir)/zend_language_parser.c
$(builddir)/zend_language_parser.c: $(srcdir)/zend_language_parser.y $(srcdir)/zend_language_parser.c: $(srcdir)/zend_language_parser.y
@$(YACC) -p zend -v -d $(srcdir)/zend_language_parser.y -o $@ @$(YACC) -p zend -v -d $(srcdir)/zend_language_parser.y -o $@
$(builddir)/zend_ini_parser.h: $(builddir)/zend_ini_parser.c $(srcdir)/zend_ini_parser.h: $(srcdir)/zend_ini_parser.c
$(builddir)/zend_ini_parser.c: $(srcdir)/zend_ini_parser.y $(srcdir)/zend_ini_parser.c: $(srcdir)/zend_ini_parser.y
@$(YACC) -p ini_ -v -d $(srcdir)/zend_ini_parser.y -o $@ @$(YACC) -p ini_ -v -d $(srcdir)/zend_ini_parser.y -o $@
$(builddir)/zend_ini_scanner.c: $(srcdir)/zend_ini_scanner.l $(srcdir)/zend_ini_scanner.c: $(srcdir)/zend_ini_scanner.l
@$(LEX) -Pini_ -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_ini_scanner.l @$(LEX) -Pini_ -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_ini_scanner.l
$(builddir)/zend_indent.lo $(builddir)/zend_highlight.lo $(builddir)/zend_compile.lo: $(builddir)/zend_language_parser.h $(builddir)/zend_indent.lo $(builddir)/zend_highlight.lo $(builddir)/zend_compile.lo: $(srcdir)/zend_language_parser.h
PHP NEWS PHP NEWS
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
31 May 2007, PHP 5.2.3
- Changed CGI install target to php-cgi and 'make install' to install CLI
when CGI is selected. (Jani)
- Changed JSON maximum nesting depth from 20 to 128. (Rasmus)
- Improved compilation of heredocs and interpolated strings. (Matt, Dmitry)
- Optimized out a couple of per-request syscalls. (Rasmus)
- Optimized digest generation in md5() and sha1() functions. (Ilia)
- Upgraded bundled SQLite 3 to version 3.3.17. (Ilia)
- Addded "max_input_nesting_level" php.ini option to limit nesting level of
input variables. Fix for MOPB-03-2007. (Stas)
- Added a 4th parameter flag to htmlspecialchars() and htmlentities() that
makes the function not encode existing html entities. (Ilia)
- Added PDO::FETCH_KEY_PAIR mode that will fetch a 2 column result set into
an associated array. (Ilia)
- Added CURLOPT_TIMEOUT_MS and CURLOPT_CONNECTTIMEOUT_MS cURL constants. (Sara)
- Added --ini switch to CLI that prints out configuration file names. (Marcus)
- Added mysql_set_charset() to allow runtime altering of connection encoding.
(Scott)
- Implemented FR #41416 (getColumnMeta() should also return table name). (Tony)
- Fixed an interger overflow inside chunk_split(), identified by Gerhard
Wagner (Ilia)
- Fixed SOAP extension's handler() to work even when
"always_populate_raw_post_data" is off. (Ilia)
- Fixed possible infinite loop in imagecreatefrompng. (libgd #86)
(by Xavier Roche, CVE-2007-2756). (Pierre)
- Fixed ext/filter Email Validation Vulnerability (MOPB-45 by Stefan Esser).
(Ilia)
- Fixed altering $this via argument named "this". (Dmitry)
- Fixed PHP CLI usage of php.ini from the binary location. (Hannes)
- Fixed segfault in strripos(). (Tony, Joxean Koret)
- Fixed bug #41525 (ReflectionParameter::getPosition() not available). (Marcus)
- Fixed bug #41511 (Compile failure under IRIX 6.5.30 building md5.c). (Jani)
- Fixed bug #41504 (json_decode() incorrectly decodes JSON arrays with empty
string keys). (Ilia)
- Fixed bug #41492 (open_basedir/safe_mode bypass inside realpath()). (Ilia)
- Fixed bug #41477 (no arginfo about SoapClient::__soapCall()). (Ilia)
- Fixed bug #41455 (ext/dba/config.m4 pollutes global $LIBS and $LDFLAGS).
(mmarek at suse dot cz, Tony)
- Fixed bug #41442 (imagegd2() under output control). (Tony)
- Fixed bug #41430 (Fatal error with negative values of maxlen parameter of
file_get_contents()). (Tony)
- Fixed bug #41423 (PHP assumes wrongly that certain ciphers are enabled in
OpenSSL). (Pierre)
- Fixed bug #41421 (Uncaught exception from a stream wrapper segfaults).
(Tony, Dmitry)
- Fixed bug #41403 (json_decode cannot decode floats if localeconv
decimal_point is not '.'). (Tony)
- Fixed bug #41401 (wrong unary operator precedence). (Stas)
- Fixed bug #41394 (dbase_create creates file with corrupted header). (Tony)
- Fixed bug #41390 (Clarify error message with invalid protocol scheme).
(Scott)
- Fixed bug #41378 (fastcgi protocol lacks support for Reason-Phrase in
"Status:" header). (anight at eyelinkmedia dot com, Dmitry)
- Fixed bug #41374 (whole text concats values of wrong nodes). (Rob)
- Fixed bug #41358 (configure cannot determine SSL lib with libcurl >= 7.16.2).
(Mike)
- Fixed bug #41353 (crash in openssl_pkcs12_read() on invalid input). (Ilia)
- Fixed bug #41351 (Invalid opcode with foreach ($a[] as $b)). (Dmitry, Tony)
- Fixed bug #41347 (checkdnsrr() segfaults on empty hostname). (Scott)
- Fixed bug #41337 (WSDL parsing doesn't ignore non soap bindings). (Dmitry)
- Fixed bug #41326 (Writing empty tags with Xmlwriter::WriteElement[ns])
(Pierre)
- Fixed bug #41321 (downgrade read errors in getimagesize() to E_NOTICE).
(Ilia)
- Fixed bug #41304 (compress.zlib temp files left). (Dmitry)
- Fixed bug #41293 (Fixed creation of HTTP_RAW_POST_DATA when there is no
default post handler). (Ilia)
- Fixed bug #41291 (FastCGI does not set SO_REUSEADDR).
(fmajid at kefta dot com, Dmitry)
- Fixed gd build when used with freetype 1.x (Pierre, Tony)
- Fixed bug #41287 (Namespace functions don't allow xmlns definition to be
optional). (Rob)
- Fixed bug #41285 (Improved fix for CVE-2007-1887 to work with non-bundled
sqlite2 lib). (Ilia)
- Fixed bug #41283 (Bug with deserializing array key that are doubles or
floats in wddx). (Ilia)
- Fixed bug #41257 (lookupNamespaceURI does not work as expected). (Rob)
- Fixed bug #41236 (Regression in timeout handling of non-blocking SSL
connections during reads and writes). (Ilia)
- Fixed bug #41134 (zend_ts_hash_clean not thread-safe).
(marco dot cova at gmail dot com, Tony)
- Fixed bug #41097 (ext/soap returning associative array as indexed without
using WSDL). (Dmitry)
- Fixed bug #41004 (minOccurs="0" and null class member variable). (Dmitry)
- Fixed bug #39542 (Behavior of require/include different to < 5.2.0).
(Dmitry)
03 May 2007, PHP 5.2.2 03 May 2007, PHP 5.2.2
- Improved bundled GD - Improved bundled GD
. Sync to 2.0.35 . Sync to 2.0.35
...@@ -211,8 +302,6 @@ PHP NEWS ...@@ -211,8 +302,6 @@ PHP NEWS
(jdolecek at netbsd dot org, Nuno) (jdolecek at netbsd dot org, Nuno)
- Fixed PECL bug #10194 (crash in Oracle client when memory limit reached in - Fixed PECL bug #10194 (crash in Oracle client when memory limit reached in
the callback). (Tony) the callback). (Tony)
- Limit nesting level of input variables with max_input_nesting_level
as fix for MOPB-03-2007 (Stas)
- Fixed substr_compare and substr_count information leak (MOPB-14) (Stas, Ilia) - Fixed substr_compare and substr_count information leak (MOPB-14) (Stas, Ilia)
- Fixed crash on op-assign where argument is string offset (Brian, Stas) - Fixed crash on op-assign where argument is string offset (Brian, Stas)
- Fixed bug #38710 (data leakage because of nonexisting boundary checking in - Fixed bug #38710 (data leakage because of nonexisting boundary checking in
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+ +----------------------------------------------------------------------+
*/ */
/* $Id: tsrm_virtual_cwd.c,v 1.74.2.9.2.26 2007/04/12 15:28:58 dmitry Exp $ */ /* $Id: tsrm_virtual_cwd.c,v 1.74.2.9.2.29 2007/05/30 10:50:47 tony2001 Exp $ */
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
...@@ -518,7 +518,7 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func ...@@ -518,7 +518,7 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
} }
if (use_cache) { if (use_cache) {
t = CWDG(realpath_cache_ttl)?time(NULL):0; t = CWDG(realpath_cache_ttl)?time(0):0;
if ((bucket = realpath_cache_find(path, path_length, t TSRMLS_CC)) != NULL) { if ((bucket = realpath_cache_find(path, path_length, t TSRMLS_CC)) != NULL) {
int len = bucket->realpath_len; int len = bucket->realpath_len;
...@@ -1009,7 +1009,7 @@ CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC) ...@@ -1009,7 +1009,7 @@ CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC)
int retval; int retval;
CWD_STATE_COPY(&new_state, &CWDG(cwd)); CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH)) { if (virtual_file_ex(&new_state, path, NULL, CWD_EXPAND)) {
CWD_STATE_FREE(&new_state); CWD_STATE_FREE(&new_state);
return -1; return -1;
} }
......
--TEST-- --TEST--
adding numbers to strings adding numbers to strings
--INI--
precision=14
--FILE-- --FILE--
<?php <?php
......
--TEST-- --TEST--
bug #22725 (A derived class can call a parent's protected method that calls a private method) Bug #22725 (A derived class can call a parent's protected method that calls a private method)
--SKIPIF-- --SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?> <?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
--FILE-- --FILE--
......
--TEST-- --TEST--
Bug #27304 Bug #27304 (Static functions don't function properly)
--FILE-- --FILE--
<?php <?php
......
--TEST-- --TEST--
Bug #29104 Function declaration in method doesn't work Bug #29104 (Function declaration in method doesn't work)
--FILE-- --FILE--
<?php <?php
class A class A
......
--TEST-- --TEST--
Bug #29210 Function: is_callable - no support for private and protected classes Bug #29210 (Function is_callable does not support private and protected methods)
--FILE-- --FILE--
<?php <?php
class test_class { class test_class {
......
--TEST-- --TEST--
Bug #30519 Interface not existing says Class not found Bug #30519 (Interface not existing says Class not found)
--FILE-- --FILE--
<?php <?php
class test implements a { class test implements a {
......
--TEST-- --TEST--
Bug #30702 cannot initialize class variable from class constant Bug #30702 (cannot initialize class variable from class constant)
--FILE-- --FILE--
<?php <?php
class foo { class foo {
......
--TEST-- --TEST--
Bug #30791 magic methods (__sleep/__wakeup/__toString) call __call if object is overloaded Bug #30791 (magic methods (__sleep/__wakeup/__toString) call __call if object is overloaded)
--FILE-- --FILE--
<?php <?php
......
--TEST-- --TEST--
Bug #30889 Conflict between __get/__set and ++ operator Bug #30889 (Conflict between __get/__set and ++ operator)
--FILE-- --FILE--
<?php <?php
class overloaded class overloaded
......
--TEST-- --TEST--
Bug #32296 get_class_methods output has changed between 5.0.2 and 5.0.3 Bug #32296 (get_class_methods output has changed between 5.0.2 and 5.0.3)
--FILE-- --FILE--
<?php <?php
abstract class space{ abstract class space{
......
--TEST-- --TEST--
Bug #32427 Interfaces are not allowed 'static' access modifier Bug #32427 (Interfaces are not allowed 'static' access modifier)
--FILE-- --FILE--
<?php <?php
......