Compare commits

...
1072 Commits
Author SHA1 Message Date
Stanislav Malyshev 7df3c767b8 credits update 2012-10-16 13:05:41 +03:00
Stanislav Malyshev fc17700db0 5.4.8 2012-10-16 13:04:42 +03:00
Stanislav Malyshev 3ff75ba858 5.4.8RC1 2012-10-02 23:23:22 -07:00
Anatoliy Belsky 26e492f2f3 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  reverted the previous fix for libpng include
2012-10-02 10:00:09 +02:00
Anatoliy Belsky 92a46fe07e reverted the previous fix for libpng include 2012-10-02 09:57:44 +02:00
Anatoliy Belsky 45351eaab4 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fixed include checks for libpng under win
2012-10-02 09:40:42 +02:00
Anatoliy Belsky 0165eec1ea fixed include checks for libpng under win 2012-10-02 09:39:34 +02:00
Xinchen Hui 60a280936e Merge branch 'PHP-5.3' into PHP-5.4 2012-10-02 00:30:49 +08:00
Xinchen Hui 4f860a4412 Avoding superfluous function call 2012-10-02 00:28:38 +08:00
Xinchen Hui af0c22537a Add test for #35895 2012-10-02 00:27:35 +08:00
Xinchen Hui 8e9805bb79 Now we can set the tsrm_ls manually
get(ZTS build):
(gdb) zbacktrace
You can't do that without a process to debug.
(gdb) set_ts 0x4112500
(gdb) zbacktrace
[0x2b232e83a1d8] call_user_func(array(2)[0x2b232e879528],
array(1)[0x2b232e878fa0]) /tmp/1.php:4
[0x7fffcb2efd80] A->__call("xxx", array(1)[0x2b232e878fa0])
2012-10-02 00:02:08 +08:00
Xinchen Hui 139ac42bec Fixed bug #63184 test (ext/spl/tests/RecursiveDirectoryIterator_getSubPathname_basic.phpt failed) 2012-10-01 22:42:22 +08:00
Stanislav Malyshev c95fd5f758 Merge branch 'pull-request/209' into PHP-5.4
* pull-request/209:
  Eliminate process running requirement of dump_bt in .gdbinit
  Add missing ____executor_globals in dump_bt if needed
  Implemented FR #63188 (Display class name when debugging with gdb macro zbacktrace)
2012-09-30 20:31:36 -07:00
Stanislav Malyshev 40bb9254c5 Merge branch 'pull-request/210' into PHP-5.4
* pull-request/210:
  Fix bugs 62561,62896 (Modifying DateTime::__construct,date_create adds an hour) Prevent a unix timestamp, which is always GMT when being parsed, from taking on the local timezones DST flag.
2012-09-30 20:19:36 -07:00
Stanislav Malyshev d3c37f0937 add news for --offline 2012-09-30 19:41:41 -07:00
Remi Collet dd093ac12a add --offline option to run-tests command 2012-09-30 19:40:57 -07:00
Remi Collet 79db2855f7 Bug #63147: SKIP_ONLINE_TESTS, for getmxrr 2012-09-30 19:40:52 -07:00
Remi Collet 71c61921f3 Bug #63147: introduce SKIP_ONLINE_TESTS, for gethostbyname 2012-09-30 19:40:43 -07:00
Remi Collet 189b99aee1 gethostbyname_basic002.phpt is a duplicate to gethostbyname_error004.phpt 2012-09-30 19:40:36 -07:00
Stanislav Malyshev 457844a226 add bug #63162 2012-09-30 19:27:12 -07:00
Stanislav Malyshev bf064112b7 fix test and move to proper place 2012-09-30 19:24:42 -07:00
husman ad570991cf synergy ftl. Removed duplicate fields. 2012-09-30 19:20:51 -07:00
husman 6ec6b208e8 adding test phpt 2012-09-30 19:20:44 -07:00
husman 491b1efacb Bug #63162 - parse_url does not matches password component 2012-09-30 19:20:37 -07:00
Stanislav Malyshev f879e1162f fix news 2012-09-30 19:08:24 -07:00
Reeze Xia dedbba4e5b Eliminate process running requirement of dump_bt in .gdbinit
Most of the time scope are avaible, but if not, it will be hard to get them,
since we can't call function if no proccess running. try to get class name
if we can.
2012-10-01 03:10:15 +08:00
Xinchen Hui 175a9de47f Fix test 2012-10-01 00:15:47 +08:00
Reeze Xia 752280d4d2 Add missing ____executor_globals in dump_bt if needed 2012-09-30 23:05:03 +08:00
Lonny Kapelushnik b3469560f3 Fix bugs 62561,62896 (Modifying DateTime::__construct,date_create adds an hour)
Prevent a unix timestamp, which is always GMT when being parsed, from taking on
the local timezones DST flag.
2012-09-30 04:31:29 +00:00
Reeze Xia 613674c7a2 Implemented FR #63188 (Display class name when debugging with gdb macro zbacktrace) 2012-09-30 03:16:26 +08:00
Xinchen Hui 36c10242cd Remove meaningless md5 string && Attempt to fix #63184 2012-09-29 14:38:29 +08:00
Pierrick Charron f495e93057 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Update NEWS
2012-09-28 15:28:37 -04:00
Pierrick Charron ec36192390 Update NEWS 2012-09-28 15:26:53 -04:00
Pierrick Charron a2a8220127 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  FD_ZERO file descriptors before calling curl_multi_fdset
2012-09-28 15:21:33 -04:00
Pierrick Charron 936553d666 FD_ZERO file descriptors before calling curl_multi_fdset
As per curl documentation http://curl.haxx.se/libcurl/c/curl_multi_fdset.html
we need to FD_ZERO file descriptors before calling the curl_multi_fdset function
2012-09-28 15:21:03 -04:00
Jerome Loyet 34c3985979 Add missing NEWS entry 2012-09-28 11:22:16 +02:00
Jerome Loyet b530f53c67 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #62216
2012-09-28 11:21:12 +02:00
Jerome Loyet 4358e90a8f Merge branch 'bug62216' into PHP-5.3
* bug62216:
  Fixed bug #62216
2012-09-28 11:20:47 +02:00
Jerome Loyet bb02fd5772 Fixed bug #62216
Add PID to php-fpm init.d script
2012-09-28 11:18:08 +02:00
Xinchen Hui 61cf929db3 Merge branch 'PHP-5.3' into PHP-5.4 2012-09-28 15:03:52 +08:00
Jerome Loyet 9ef925b351 - Fixed bug #62887 (Only /status?plain&full gives "last request cpu") 2012-09-28 01:25:51 +02:00
Jerome Loyet 151b16cf7f - Fixed bug #62887 (Only /status?plain&full gives "last request cpu") 2012-09-28 01:24:52 +02:00
Jerome Loyet be043ab6d0 Merge branch 'fuckgit' into PHP-5.4
* fuckgit:
  - Fixed bug #62947 (Unneccesary warnings on FPM)
  - Fixed bug #63085 (Systemd integration and daemonize)

Conflicts:
	sapi/fpm/config.m4
2012-09-28 01:19:01 +02:00
Jerome Loyet 72f3457161 - Fixed bug #62947 (Unneccesary warnings on FPM) 2012-09-28 01:08:48 +02:00
Jerome Loyet e31553c204 - Fixed bug #62947 (Unneccesary warnings on FPM) 2012-09-28 01:08:08 +02:00
Jerome Loyet 64a0e7cdc2 - Fixed bug #63085 (Systemd integration and daemonize) 2012-09-28 00:53:05 +02:00
Jerome Loyet 2259a8f18b - add missing php-fpm.service.in 2012-09-28 00:47:56 +02:00
Jerome Loyet b2f4e686f0 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Fixed bug #63085 (Systemd integration and daemonize)
  - Fixed bug #62954 (startup problems fpm / php-fpm) - Fixed bug #62886 (PHP-FPM may segfault/hang on startup)

Conflicts:
	sapi/fpm/config.m4
2012-09-28 00:39:29 +02:00
Jerome Loyet 851a04bb7b - Fixed bug #63085 (Systemd integration and daemonize) 2012-09-28 00:33:05 +02:00
Jerome Loyet b5eb1456aa - Fixed bug #62954 (startup problems fpm / php-fpm)
- Fixed bug #62886 (PHP-FPM may segfault/hang on startup)
2012-09-28 00:05:48 +02:00
Jerome Loyet 0bffdd723f Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4
* 'PHP-5.4' of git.php.net:php-src: (367 commits)
  fix unix/win dir separators
  Fix bug #63173: Crash when invoking invalid array callback
  Correct the test summary
  Fixed bug #60723 (error_log error time has changed to UTC ignoring default timezo)
  Fixed bug #60723 (error_log error time has changed to UTC ignoring default timezo)
  Avoid calling select if maxfd returned by curl_multi_fdset is -1
  Fixing NEWS file
  Fixed bug #63111 (is_callable() lies for abstract static method)
  updated lib versions
  Fix folding
  fix bug #63015 (Incorrect arginfo for DOMErrorHandler)
  Bug #63000: MCAST_JOIN_GROUP on OSX is broken
  Fixed bug #61442 (exception threw in __autoload can not be catched)
  Merging PR #116
  Merged GitHub PR #190: Support for the HTTP PATCH method in CLI webserver
  updated libary versions
  split tests for the new zlib version on win
  Fixed Bug #63103 (ext\curl\tests\bug62839.phpt broken)
  update news
  Support building PHP with the native client toolchain.
  ...
2012-09-27 23:57:06 +02:00
Jerome Loyet 75c63c5503 - Fixed bug #62954 (startup problems fpm / php-fpm)
- Fixed bug #62886 (PHP-FPM may segfault/hang on startup)
2012-09-27 23:54:35 +02:00
Anatoliy Belsky 6a50a8640c fix unix/win dir separators 2012-09-27 19:52:34 +02:00
Nikita Popov 592b232e83 Fix bug #63173: Crash when invoking invalid array callback
The code did not check whether the zend_hash_index_find calls succeded,
so PHP crashed when an array callback was called that contains two elements
which don't have the indices 0 and 1.
2012-09-27 18:40:00 +02:00
Jerome Loyet a9db9efa0c Merge branch 'PHP-5.3' of git.php.net:php-src into PHP-5.3
* 'PHP-5.3' of git.php.net:php-src: (29 commits)
  Correct the test summary
  Fixed bug #60723 (error_log error time has changed to UTC ignoring default timezo)
  Avoid calling select if maxfd returned by curl_multi_fdset is -1
  Fixed bug #63111 (is_callable() lies for abstract static method)
  updated lib versions
  Fixed bug #61442 (exception threw in __autoload can not be catched)
  updated libary versions
  split tests for the new zlib version on win
  Fixed Bug #63103 (ext\curl\tests\bug62839.phpt broken)
  test should fail
  Fixed bug #63093 (Segfault while load extension failed in zts-build).
  Add XFAIL test for bug #62852
  Revert "Fixed bug #62852 (Unserialize invalid DateTime causes crash)"
  Change package.xml fix description
  Fixed bug #60901 (Improve "tail" syntax for AIX installation)
  This will become 5.3.18
  Update RELEASE PROCESS
  fix NEWS after releses
  Fix doc bug #63032 (Number of release in documentation).
  - Fixed bug #61767 (Shutdown functions not called in certain error situation) - Fixed bug #60909 (custom error handler throwing Exception + fatal error = no shutdown function)
  ...
2012-09-26 20:18:21 +02:00
Xinchen Hui 8cdd6bc1e7 Merge branch 'PHP-5.3' into PHP-5.4 2012-09-24 19:47:28 +08:00
Xinchen Hui 2cbc4053ae Correct the test summary 2012-09-24 19:46:40 +08:00
Xinchen Hui d9ad532050 Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	ext/standard/tests/general_functions/bug60723.phpt
2012-09-24 11:00:58 +08:00
Xinchen Hui 923511d364 Fixed bug #60723 (error_log error time has changed to UTC ignoring default timezo)
Cherry pick to 5.3
2012-09-24 10:59:06 +08:00
Xinchen Hui 395d77c540 Fixed bug #60723 (error_log error time has changed to UTC ignoring default timezo) 2012-09-23 22:59:31 +08:00
Pierrick Charron c8687ee63b Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Avoid calling select if maxfd returned by curl_multi_fdset is -1
2012-09-22 10:18:44 -04:00
Pierrick Charron 2e8ab65270 Avoid calling select if maxfd returned by curl_multi_fdset is -1
As per libcurl documentation :

When libcurl returns -1 in max_fd, it is because libcurl currently
does something that isn't possible for your application to monitor
with a socket and unfortunately you can then not know exactly when
the current action is completed using select().
2012-09-22 10:15:40 -04:00
Lars Strojny 734bda7a2d Fixing NEWS file 2012-09-21 13:22:53 +02:00
Dmitry Stogov 46458c2c65 Merge branch 'PHP-5.3' of git.php.net:php-src into PHP-5.3
* 'PHP-5.3' of git.php.net:php-src:
  updated lib versions
2012-09-21 15:17:21 +04:00
Dmitry Stogov b69068705e Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4
* 'PHP-5.4' of git.php.net:php-src:
  updated lib versions
2012-09-21 15:16:57 +04:00
Dmitry Stogov ed3a2eec9c Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #63111 (is_callable() lies for abstract static method)

Conflicts:
	NEWS
2012-09-21 14:18:37 +04:00
Dmitry Stogov 4db74b7f19 Fixed bug #63111 (is_callable() lies for abstract static method) 2012-09-21 13:07:14 +04:00
Anatoliy Belsky 6c1f5eb215 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  updated lib versions
2012-09-21 09:58:16 +02:00
Anatoliy Belsky d59c1371c2 updated lib versions 2012-09-21 09:57:22 +02:00
Rasmus Lerdorf f037ddc859 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2012-09-20 14:22:55 -04:00
Rasmus Lerdorf 2322be0fab Fix folding 2012-09-20 14:22:15 -04:00
Rob Richards ffa72707c8 fix bug #63015 (Incorrect arginfo for DOMErrorHandler) 2012-09-20 02:34:07 -04:00
Lars Strojny dd6b7ea7bd Merge branch 'PHP-5.4' of git://github.com/php/php-src into PHP-5.4 2012-09-19 22:18:16 +02:00
Lars Strojny 188c124a57 Bug #63000: MCAST_JOIN_GROUP on OSX is broken
The multicast support in PHP 5.4 makes use of MCAST_JOIN_GROUP if it is present.
The problem is that OSX 10.7 added the constant, but did not correctly implement
the feature. This causes the setsockopt call to fail.

The solution to the problem is to not use MCAST_JOIN_GROUP on OSX.

For reference, this was also done in VLC:

* http://trac.videolan.org/vlc/ticket/6104#comment:19
2012-09-19 22:17:35 +02:00
Xinchen Hui 4571d7824a Merge branch 'PHP-5.3' into PHP-5.4 2012-09-19 19:44:18 +08:00
Xinchen Hui fd0b3ea663 Fixed bug #61442 (exception threw in __autoload can not be catched) 2012-09-19 19:40:59 +08:00
Lars Strojny ee172ce3cc Merging PR #116 2012-09-18 23:15:03 +02:00
Lars Strojny aa133ea282 Merged GitHub PR #190: Support for the HTTP PATCH method in CLI webserver 2012-09-18 22:16:51 +02:00
Anatoliy Belsky 1e1db9d9bb Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  updated libary versions

Conflicts:
	win32/build/libs_version.txt
2012-09-18 10:20:05 +02:00
Anatoliy Belsky 6752f38ccc updated libary versions 2012-09-18 10:18:26 +02:00
Anatoliy Belsky bb276c6155 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  split tests for the new zlib version on win
2012-09-18 10:02:05 +02:00
Anatoliy Belsky 3ad033ffba split tests for the new zlib version on win 2012-09-18 09:59:49 +02:00
Xinchen Hui e2d1eecf99 Merge branch 'PHP-5.3' into PHP-5.4 2012-09-18 10:48:16 +08:00
Xinchen Hui e66a5ce56f Fixed Bug #63103 (ext\curl\tests\bug62839.phpt broken) 2012-09-18 10:46:58 +08:00
Stanislav Malyshev d0ab22e829 update news 2012-09-17 15:58:27 -07:00
Stuart Langley 2e24d9a2b3 Support building PHP with the native client toolchain.
The native client compiler defines the C macro __x86_64__, but the size
of an unsigned int is only 4 bytes. This causes the compile to fail
because the inline asm code compiled is for an 8 byte unsigned int. Add
the correct defines to fix this.

As detailed in:
http://code.google.com/p/nativeclient/issues/detail?id=2255
2012-09-17 15:52:55 -07:00
Xinchen Hui 6096988704 Merge branch 'PHP-5.3' into PHP-5.4 2012-09-17 11:21:14 +08:00
Xinchen Hui eb881a1dd1 test should fail 2012-09-17 11:20:24 +08:00
Niklas Lindgren 27542db4e7 Respond with 501 to unknown request methods
Fixed typo

Moved 501 response from dispatch to event_read_request

Return return value of send_error_page
2012-09-15 23:11:12 -07:00
Stanislav Malyshev 56425ee610 news for bug #61421 2012-09-15 23:02:10 -07:00
Mark Jones 84202c367e commit for php bug 61421
enabling SHA2 and RMD160 for openssl signature verification
2012-09-15 22:59:34 -07:00
Xinchen Hui ee620e9673 Merge branch 'PHP-5.3' into PHP-5.4 2012-09-15 11:51:25 +08:00
Xinchen Hui 4c6678d605 Fixed bug #63093 (Segfault while load extension failed in zts-build). 2012-09-15 11:50:16 +08:00
Xinchen Hui 7609fb433a Remove bug fixed entry 2012-09-15 11:32:44 +08:00
Xinchen Hui 2eff69f402 Merge branch 'PHP-5.3' into PHP-5.4 2012-09-15 11:32:08 +08:00
Xinchen Hui 1b13ff6ec7 Add XFAIL test for bug #62852 2012-09-15 11:29:47 +08:00
Xinchen Hui e766f85405 Revert "Fixed bug #62852 (Unserialize invalid DateTime causes crash)"
see: http://news.php.net/php.bugs/173451

This reverts commit 46a3f25772.
2012-09-15 11:26:21 +08:00
Christopher Jones 3b38d14caf Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Change package.xml fix description
  Fixed bug #60901 (Improve "tail" syntax for AIX installation)
2012-09-13 22:44:12 -07:00
Christopher Jones 30981836fa Merge branch 'bug60901' into PHP-5.3
* bug60901:
  Change package.xml fix description
  Fixed bug #60901 (Improve "tail" syntax for AIX installation)
2012-09-13 22:43:37 -07:00
Christopher Jones 9f44844d7c Change package.xml fix description 2012-09-13 22:43:10 -07:00
Christopher Jones bbf5978e26 Fixed bug #60901 (Improve "tail" syntax for AIX installation) 2012-09-13 22:40:55 -07:00
Christopher Jones 1677551386 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  This will become 5.3.18
  Update RELEASE PROCESS
2012-09-13 18:09:12 -07:00
Johannes Schlüter d2bee32dfc Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	configure.in
	main/php_version.h
2012-09-13 23:10:22 +02:00
Johannes Schlüter 9e91d621e3 This will become 5.3.18 2012-09-13 23:08:30 +02:00
David Soria Parra 1f9a1c1cf3 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Update RELEASE PROCESS
2012-09-13 20:23:05 +02:00
David Soria Parra 33fcec5c4f Update RELEASE PROCESS
Some parts of the release process are outdated, not needed anymore
or still reference cvs.
2012-09-13 20:19:23 +02:00
Christopher Jones 33bea8471c Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  fix NEWS after releses
  Merge 5.3.16 NEWS in.
2012-09-12 18:14:33 -07:00
Johannes Schlüter b93675d60b Merge branch 'PHP-5.3' into PHP-5.4 2012-09-12 23:35:29 +02:00
Johannes Schlüter 0cc0f73fc3 fix NEWS after releses 2012-09-12 23:35:05 +02:00
Johannes Schlüter fa014e07bf Merge branch 'PHP-5.4' of git.php.net:/php-src into PHP-5.4 2012-09-12 23:05:24 +02:00
Christopher Jones c36d927331 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  regenerate patch, and save a strlen
  Fix the wrong use of snprintf which is introduced in 1d2f619049
  Fixed unintendent clearance of PHP_OUTPUT_ACTIVATED flag
2012-09-11 16:39:39 -07:00
Xinchen Hui 328a3d9f13 regenerate patch, and save a strlen 2012-09-11 11:43:47 +08:00
Xinchen Hui 0a25a0241e Fix the wrong use of snprintf which is introduced in 1d2f619049 2012-09-10 23:08:54 +08:00
Dmitry Stogov 62d86209cf Fixed unintendent clearance of PHP_OUTPUT_ACTIVATED flag 2012-09-10 14:54:18 +04:00
Christopher Jones bdf2379400 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src: (54 commits)
  Fix doc bug #63032 (Number of release in documentation).
  fixed test for bug #52944 also for darwin
  - Fixed bug #61767 (Shutdown functions not called in certain error situation) - Fixed bug #60909 (custom error handler throwing Exception + fatal error = no shutdown function)
  year++
  correct PHP version & year++
  Correct PHP version
  year++
  - fix build, there was no tsrm context there, doing a fetch but this is horribly slow, this fix needs improvement (or simply add a TSRM context in the signature in master
  Fixed bug #62907 (Double free when use traits)
  forked two tests for windows
  Fixed bug #50997 (SOAP Error when trying to submit 2nd Element of a choice).
  Fixed bug #50997 (SOAP Error when trying to submit 2nd Element of a choice).
  Fixed bug #50997 (SOAP Error when trying to submit 2nd Element of a choice)
  Bug #49510: Boolean validation fails with FILTER_NULL_ON_FAILURE with empty string or false
  Allow null as a default value for length in mb_substr() and mb_strcut()
  folder
  Initializing optional argument description in assert()
  fix NEWS
  Remove extra blank in notice message, should act as same as vm
  Fixed bug #62987 (Assigning to ArrayObject[null][something] overrides all undefined variables)
  ...
2012-09-10 00:04:38 -07:00
Adam Harvey 58d6a42528 Merge branch 'PHP-5.3' into PHP-5.4 2012-09-10 10:06:10 +08:00
Adam Harvey f66642aae1 Fix doc bug #63032 (Number of release in documentation).
Also add a bonus grammar fix.
2012-09-10 10:05:15 +08:00
Reeze Xia 57bebfcbdc fixed test for bug #52944 also for darwin 2012-09-09 23:02:50 +02:00
Dmitry Stogov 6ba376f552 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Fixed bug #61767 (Shutdown functions not called in certain error situation) - Fixed bug #60909 (custom error handler throwing Exception + fatal error = no shutdown function)

Conflicts:
	NEWS
	Zend/zend_object_handlers.c
2012-09-06 12:14:29 +04:00
Dmitry Stogov b29dc146b9 - Fixed bug #61767 (Shutdown functions not called in certain error situation)
- Fixed bug #60909 (custom error handler throwing Exception + fatal error = no shutdown function)
2012-09-06 11:26:40 +04:00
Xinchen Hui a43c45ea7d Merge branch 'PHP-5.3' into PHP-5.4 2012-09-05 23:48:27 +08:00
Xinchen Hui 94582f9398 year++
missed the .re files in 5.3
2012-09-05 23:47:51 +08:00
Xinchen Hui a3d078bd8f correct PHP version & year++ 2012-09-05 23:43:59 +08:00
Xinchen Hui b9dec59b07 Merge branch 'PHP-5.3' into PHP-5.4 2012-09-05 23:42:45 +08:00
Xinchen Hui 5f9023ca38 Correct PHP version 2012-09-05 23:41:42 +08:00
Xinchen Hui 9d44ff640c Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	ext/interbase/interbase.rc
2012-09-05 23:11:19 +08:00
Xinchen Hui d64d9e3351 year++ 2012-09-05 23:08:05 +08:00
Pierre Joye 954e7a3b3c - fix build, there was no tsrm context there, doing a fetch but this is horribly slow, this fix needs improvement (or simply add a TSRM context in the signature in master 2012-09-05 13:00:04 +02:00
Dmitry Stogov 6c0508f8d5 Fixed bug #62907 (Double free when use traits) 2012-09-05 09:58:22 +04:00
Anatoliy Belsky ff0aa24054 forked two tests for windows
* bug55544.phpt - VT vs. EXT at the start of the data block,
but the data can still be decoded correctly
* bug_52944.phpt works with the corrupted data and has some
different out

Most likely the ASM optimization under windows is responsible
for this behaviour.
2012-09-03 13:37:34 +02:00
Dmitry Stogov 33db8c0ef6 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #50997 (SOAP Error when trying to submit 2nd Element of a choice).
2012-09-03 11:51:17 +04:00
Dmitry Stogov 0ab27c35a4 Fixed bug #50997 (SOAP Error when trying to submit 2nd Element of a choice). 2012-09-03 11:51:08 +04:00
Dmitry Stogov 485c09a376 Fixed bug #50997 (SOAP Error when trying to submit 2nd Element of a choice). 2012-09-03 11:49:58 +04:00
Dmitry Stogov 38476a1543 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #50997 (SOAP Error when trying to submit 2nd Element of a choice)
2012-09-03 11:47:59 +04:00
Dmitry Stogov 7e816c0921 Fixed bug #50997 (SOAP Error when trying to submit 2nd Element of a choice) 2012-09-03 11:46:47 +04:00
Lars Strojny a26390ef0c Bug #49510: Boolean validation fails with FILTER_NULL_ON_FAILURE with empty string or false 2012-09-02 22:10:23 +02:00
Lars Strojny d371a306a2 Merge branch 'PHP-5.4' of git://github.com/php/php-src into PHP-5.4 2012-09-02 14:53:52 +02:00
Lars Strojny 133f610bb1 Allow null as a default value for length in mb_substr() and mb_strcut() 2012-09-02 14:52:05 +02:00
Xinchen Hui 069c448623 folder 2012-09-02 16:52:53 +08:00
Lars Strojny 89948c7fbe Initializing optional argument description in assert() 2012-09-02 08:01:32 +02:00
Stanislav Malyshev f7d51df5c6 fix NEWS 2012-09-01 16:57:29 -07:00
Xinchen Hui f3108b5f81 Remove extra blank in notice message, should act as same as vm 2012-09-01 14:37:45 +08:00
Xinchen Hui 863e7e0acb Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	ext/spl/spl_array.c
2012-09-01 14:27:09 +08:00
Xinchen Hui 67d7d03f00 Fixed bug #62987 (Assigning to ArrayObject[null][something] overrides all undefined variables)
The get_zval_ptr_ptr of spl_array handler should act as same as the vm's
2012-09-01 14:21:34 +08:00
Lars Strojny e658a91b3d assert() user message
Added 2nd, optional, param to assert. When passed in it will be added
to the printed warnings and passed as a 4th param to a callback. PR 150
by Lonny Kapelushnik
2012-08-31 19:04:53 +02:00
Xinchen Hui 66fad45724 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-31 11:24:10 +08:00
Xinchen Hui 5dc2cef370 Fixed bug #62976 (Notice: could not be converted to int when comparing some builtin classes) 2012-08-31 11:22:43 +08:00
Johannes Schlüter dafad1e663 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-30 22:30:37 +02:00
Johannes Schlüter 59263e386f Merge branch 'PHP-5.3' of git.php.net:/php-src into PHP-5.3 2012-08-30 21:54:13 +02:00
Felipe Pena 8afb848e18 - BFN 2012-08-30 09:33:35 -03:00
Felipe Pena eb8d603d46 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Fixed bug #62955 (Only one directive is loaded from "Per Directory Values" Windows registry)
2012-08-30 09:32:26 -03:00
Felipe Pena de884997e0 - Fixed bug #62955 (Only one directive is loaded from "Per Directory Values" Windows registry) 2012-08-30 09:32:13 -03:00
Jerome Loyet 557200b472 Merge branch 'PHP-5.3' of git.php.net:php-src into PHP-5.3
* 'PHP-5.3' of git.php.net:php-src: (59 commits)
  Fixed defective cloning in ext/intl classes
  Fixed bug (segfault while build with zts and GOTO vm-kind)
  better fix
  Fix test
  Fixed bug #62904 (Crash when cloning an object which inherits SplFixedArray)
  ZTS fix introduced by Felipe must also go into 5.3
  Updated INSTALL. Generated from the XML Docs.
  Update NEWS given a5d0c1e2
  Fix handling of several uinitialized intl objects
  Fixed bug #62885 (mysqli_poll - Segmentation fault)
  - Removed PHP 6 checks
  skip test properly
  Added test for bug #51353. It'll be skipped by default and must be activated manually.
  Move test files to tests dir
  skip test for bug 43130 on firebird , not relevant
  - Value stored to var is never used
  - Value stored to var is never used
  - Value stored to var is never used
  - Value stored to var is never used
  - Value stored to var is never used
  ...
2012-08-30 08:53:36 +02:00
Anatoliy Belsky 677de8568a updated mpir version 2012-08-29 17:49:02 +02:00
Gustavo André dos Santos Lopes 521ab78788 Merge 5.3 with strategy ours
* origin/PHP-5.3:
  Fixed defective cloning in ext/intl classes
2012-08-29 14:30:47 +01:00
Johannes Schlüter 602bb125c3 Merge 5.3.16 NEWS in. 2012-08-29 12:33:55 +02:00
Stanislav Malyshev 55b3386a81 update version id too 2012-08-28 22:10:34 -07:00
Stanislav Malyshev 78cffe0c4d 5.4.7 branched 2012-08-28 22:07:08 -07:00
Stanislav Malyshev 8b3c1a380a fix bug #55856: preg_replace should fail on trailing garbage 2012-08-28 21:59:20 -07:00
Lars Strojny f82dd2c774 Bug #62956: fixing private method signature validation
In inheritance, if both methods are private, don not enforce the same
signature.
2012-08-28 14:06:18 +02:00
Gustavo Lopes 0410b4e60f Fixed defective cloning in ext/intl classes
See also bug #62915

Cherry picked from 886a50a (I forgot about 5.3)

Conflicts:
	ext/intl/spoofchecker/spoofchecker_class.c
	ext/intl/transliterator/transliterator_class.c
2012-08-26 23:53:57 +02:00
Gustavo Lopes c11106734d NEWS for 886a50a 2012-08-26 23:47:00 +02:00
Gustavo Lopes 886a50a619 Fixed defective cloning in ext/intl classes
See also bug #62915
2012-08-26 23:42:13 +02:00
Gustavo Lopes 63a1801d19 NEWS for commit 72c807a 2012-08-26 23:39:53 +02:00
Gustavo Lopes 72c807ad67 Allow Spoofchecker to be registered on ICU 49.1 2012-08-26 23:39:04 +02:00
Gustavo Lopes 949f6cd473 Announce on NEWS change in 1ce572c 2012-08-26 22:01:15 +02:00
Gustavo Lopes 1ce572ce2c Bug #62933: compilation error with ICU 3.4 2012-08-26 21:57:53 +02:00
Lars Strojny 8e7081f3ac Merging PR 121 to add support for slow request counting on the PHP-FPM status page 2012-08-26 17:02:39 +02:00
Xinchen Hui e24194d157 Add test for #62907 2012-08-26 18:28:15 +08:00
Xinchen Hui 383eafe482 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-25 21:50:08 +08:00
Xinchen Hui d92a89fe52 Fixed bug (segfault while build with zts and GOTO vm-kind) 2012-08-25 21:47:53 +08:00
Pierrick Charron 4c83ecc754 Fixed bug #62912 (CURLINFO_PRIMARY_IP is not exposed)
CURLINFO_PRIMARY_* and CURLINFO_LOCAL_* where available in curl_getinfo
but the constant itself was not exposed to php userland
2012-08-24 10:16:40 -04:00
Xinchen Hui 2c74536e6e Merge branch 'PHP-5.3' into PHP-5.4 2012-08-24 18:22:11 +08:00
Xinchen Hui 55d680e968 better fix 2012-08-24 18:21:49 +08:00
Xinchen Hui 1701460867 Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	ext/phar/tests/phpinfo_003.phpt
2012-08-24 18:20:35 +08:00
Xinchen Hui 7bedd275eb Fix test 2012-08-24 18:18:38 +08:00
Xinchen Hui 21f085720c Merge branch 'PHP-5.3' into PHP-5.4 2012-08-23 23:28:02 +08:00
Xinchen Hui 13bcf685cb Fixed bug #62904 (Crash when cloning an object which inherits SplFixedArray) 2012-08-23 23:27:16 +08:00
Xinchen Hui 42f91d6ac6 Fixed bug #62904 (Crash when cloning an object which inherits SplFixedArray) 2012-08-23 23:21:25 +08:00
Anatoliy Belsky 9a72b52a1f fixing test for upcoming mpir upgrade
- mpir is going to be upgraded up to 2.5.1 on windows
2012-08-23 17:09:45 +02:00
Anatoliy Belsky e4a3696553 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  ZTS fix introduced by Felipe must also go into 5.3
  Updated INSTALL. Generated from the XML Docs.
  Update NEWS given a5d0c1e2

Conflicts:
	NEWS
2012-08-23 13:35:30 +02:00
Anatoliy Belsky eca4fc6991 ZTS fix introduced by Felipe must also go into 5.3 2012-08-23 13:32:06 +02:00
Gustavo André dos Santos Lopes d212a5d391 Fix SPOOFCHECKER_METHOD_FETCH_OBJECT definition 2012-08-23 10:32:05 +01:00
Xinchen Hui 87785c7d5a tabs 2012-08-23 16:13:34 +08:00
Xinchen Hui d39aa984ad Refix #62358, previous has side-affect 2012-08-23 16:06:17 +08:00
Xinchen Hui 6d1bebfcb0 Fixed bug #62358 (Segfault when using traits a lot) 2012-08-23 15:41:49 +08:00
Philip Olson 64bd4551b4 Updated INSTALL. Generated from the XML Docs. 2012-08-22 23:40:48 -07:00
Philip Olson 6a8db0c081 Updated INSTALL. Generated from the XML Docs. 2012-08-22 23:33:29 -07:00
Felipe Pena b98fc4379f - Fixed ZTS build 2012-08-22 19:39:57 -03:00
Gustavo Lopes ca4dd76160 Update NEWS given a5d0c1e2 2012-08-22 23:04:46 +02:00
Gustavo Lopes cd1f45b3be Fix handling of several uinitialized intl objects
PHP 5.4 specific changes. Not having this in the merge commit helps
porting to pecl/intl
2012-08-22 22:38:31 +02:00
Gustavo Lopes 87803ace94 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix handling of several uinitialized intl objects
2012-08-22 22:37:52 +02:00
Gustavo Lopes a5d0c1e21b Fix handling of several uinitialized intl objects 2012-08-22 22:32:51 +02:00
Felipe Pena fbacf9c237 - Fix NEWS 2012-08-22 11:19:42 -03:00
Felipe Pena b721ed57eb - BFN 2012-08-22 10:54:14 -03:00
Felipe Pena 7a56ac00a0 - Fixed bug #62892 (ReflectionClass::getTraitAliases crashes on importing trait methods as private) 2012-08-22 10:50:50 -03:00
Anatoliy Belsky 22f55d5665 Fixed bug #62313 Zend\tests\errmsg_021.phpt fails 2012-08-22 11:43:12 +02:00
Xinchen Hui 4e561055a4 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-22 13:49:04 +08:00
Xinchen Hui e5bdd2c0ee Fixed bug #62885 (mysqli_poll - Segmentation fault) 2012-08-22 13:41:47 +08:00
Felipe Pena b0dbf71466 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Removed PHP 6 checks
2012-08-21 20:15:48 -03:00
Felipe Pena 85fa4d7747 - Removed PHP 6 checks 2012-08-21 20:15:34 -03:00
Xinchen Hui cd34067aec skip test properly 2012-08-21 22:15:54 +08:00
Xinchen Hui 3d4c9b7655 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-21 22:14:17 +08:00
Xinchen Hui 60ad16e11f skip test properly 2012-08-21 22:11:22 +08:00
Anatoliy Belsky d304527253 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Added test for bug #51353. It'll be skipped by default and must be activated manually.
2012-08-21 13:24:54 +02:00
Anatoliy Belsky 92153dcfe3 Added test for bug #51353. It'll be skipped by default and must be
activated manually.
2012-08-21 13:22:00 +02:00
Lars Strojny 7b6ebd97e7 Merge branch 'PHP-5.4' of git://github.com/php/php-src into PHP-5.4 2012-08-21 10:09:23 +02:00
Lars Strojny aaa2eee4c0 Bug 62462: adjusting test 2012-08-21 10:09:05 +02:00
Xinchen Hui c1284f21a7 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-21 15:23:09 +08:00
Reeze Xia 0cdc1f5626 Move test files to tests dir
There are 7 files duplicated, so those files was deleted
2012-08-21 14:32:39 +08:00
Xinchen Hui 8722173ad5 Implemented FR #62840 (Add sort flag to ArrayObject::ksort) 2012-08-21 13:32:15 +08:00
Lars Strojny c54d73d54c Bug 62462: Prevent multibyte characters from being split between the lines
Merged from https://github.com/php/php-src/pull/120
2012-08-20 23:46:50 +02:00
Xinchen Hui cc5631eca3 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-20 23:44:21 +08:00
Popa Adrian Marius b9a050100c skip test for bug 43130 on firebird , not relevant 2012-08-20 16:56:37 +03:00
Stanislav Malyshev 12ea5c54e5 Fix for #62844 2012-08-19 22:19:57 -07:00
Andrew Faulds 4ec29b945c relative-scheme 2012-08-19 22:16:07 -07:00
Andrew Faulds 36b88d77f2 bug #62844; relative URL schemes in parse_url() 2012-08-19 22:15:58 -07:00
Stanislav Malyshev 675545f042 update NEWS 2012-08-19 20:37:44 -07:00
Felipe Pena 13768f8650 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Value stored to var is never used
2012-08-19 15:09:18 -03:00
Felipe Pena f4054afe40 - Value stored to var is never used 2012-08-19 15:09:14 -03:00
Felipe Pena d6e6db4501 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Value stored to var is never used
2012-08-19 14:50:52 -03:00
Felipe Pena 3dd256a67b - Value stored to var is never used 2012-08-19 14:50:49 -03:00
Felipe Pena 9d8d84ebdf Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Value stored to var is never used
2012-08-19 14:34:42 -03:00
Felipe Pena 50ab6c63a7 - Value stored to var is never used 2012-08-19 14:34:38 -03:00
Felipe Pena 2497bb97e7 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Value stored to var is never used
2012-08-19 12:55:43 -03:00
Felipe Pena 6cd0e446dd - Value stored to var is never used 2012-08-19 12:55:38 -03:00
Felipe Pena 7a72405171 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Value stored to var is never used
2012-08-19 12:44:49 -03:00
Felipe Pena 001966c754 - Value stored to var is never used 2012-08-19 12:44:44 -03:00
Felipe Pena 6513ca85c2 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Value stored to var is never read
2012-08-19 12:13:59 -03:00
Felipe Pena dc1138b102 - Value stored to var is never read 2012-08-19 12:13:48 -03:00
Xinchen Hui 8693bae624 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-19 18:33:37 +08:00
Xinchen Hui 8b87c6df84 Update NEWS 2012-08-19 18:33:06 +08:00
Reeze Xia 46a3f25772 Fixed bug #62852 (Unserialize invalid DateTime causes crash) 2012-08-19 17:57:45 +08:00
Xinchen Hui ebefbdb76d Fix test failed 2012-08-18 12:21:48 +08:00
Anatoliy Belsky 15e31d5720 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  More intl tests extracted from symfony
2012-08-17 20:31:00 +02:00
Matt Ficken 1a23d42909 More intl tests extracted from symfony 2012-08-17 20:29:08 +02:00
Adam Harvey 14847af41d Update version numbers to 5.4.7-dev. 2012-08-17 23:07:54 +08:00
Xinchen Hui 0b23da1c74 Fixed bug #62836 (Seg fault or broken object references on unserialize()) 2012-08-17 18:28:32 +08:00
Pierrick Charron 8ac61a3e60 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #62839
2012-08-16 14:50:06 -04:00
Pierrick Charron 9cf0139460 Fixed bug #62839
curl_copy_handle segfault with CURLOPT_FILE. The refcount was incremented
before the assignement.
2012-08-16 14:48:44 -04:00
Felipe Pena 2e1d31d123 - Fixed bug #62829 (stdint.h included on platform where HAVE_STDINT_H is not set) 2012-08-16 15:45:21 -03:00
Antony Dovgal b5494c5f17 Merge commit '8649e42' into PHP-5.4
* commit '8649e42':
  Fixed bug #62838
2012-08-16 14:34:32 +04:00
Antony Dovgal 8649e4236b Fixed bug #62838
enchant_dict_quick_check() destroys zval, but fails to initialize it
2012-08-16 14:32:55 +04:00
Christopher Jones c9265b1acd Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix skipifs
2012-08-14 14:13:03 -07:00
Christopher Jones 3e0b33ed62 Merge branch 'skipif1' into PHP-5.3
* skipif1:
  Fix skipifs
2012-08-14 14:12:27 -07:00
Christopher Jones 6524a530df Fix skipifs
Skipifs were referencing an unset variable
2012-08-14 14:10:20 -07:00
Christopher Jones 2b934dfdf9 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Small test tidy up
2012-08-14 11:45:24 -07:00
Christopher Jones 8c3bf96022 Small test tidy up
Make some test changes so the tests can be run with the CLI webserver
2012-08-14 11:41:36 -07:00
Xinchen Hui 1a527397cc better fix & this test pass now 2012-08-15 01:25:31 +08:00
Xinchen Hui 6bafbb9abf Merge branch 'PHP-5.3' into PHP-5.4 2012-08-15 01:08:19 +08:00
Xinchen Hui 8848778a59 Merge fix e7535e06e6 to 5.3
thanks for reeze.xia@gmail.com notice this
2012-08-15 01:06:10 +08:00
Xinchen Hui 3ba07c2ca3 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-15 00:47:08 +08:00
Xinchen Hui bec5e10155 update NEWS 2012-08-15 00:46:56 +08:00
Xinchen Hui a5a409ebff Fixed bug (segfault due to retval is not initialized) 2012-08-15 00:44:47 +08:00
Xinchen Hui 9be55beb91 Attempt to fix segfault due to retval is not initialized 2012-08-15 00:31:57 +08:00
Xinchen Hui b2fe342d04 improve the fix 2012-08-15 00:25:06 +08:00
Xinchen Hui da3660a4c4 Fixed bug (segfault due to PS(mod_user_implemented) not be reseted when closing handler call exit) 2012-08-15 00:15:34 +08:00
Nikita Popov 49e91151c0 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-14 17:37:10 +02:00
Nikita Popov e1c610fb44 Fix exif test failure
There are two slightly different error messages for invalid pointers, so
make the pattern slightly less strict to account for both.
2012-08-14 17:33:38 +02:00
Xinchen Hui 8091256948 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-14 14:03:05 +08:00
Xinchen Hui da14cdd6f3 Merge branch 'skip-memory-exhaust-tests' of https://github.com/reeze/php-src into PHP-5.3 2012-08-14 13:58:15 +08:00
Nikita Popov f19351b503 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-13 22:06:18 +02:00
Nikita Popov 7aed239050 Ask for less random data in mcrypt_create_iv
Otherwise the RNG blocks and the test takes a lot of time to run (and
occasionally fails).
2012-08-13 22:01:19 +02:00
Nikita Popov 9bc1af1e58 Rename mcrypt_cbf -> mcrypt_cfb
Also fix ECB -> CFB in the initialization vector size call (not that it
makes a difference, they have the same size).
2012-08-13 22:01:03 +02:00
Xinchen Hui 212cfb95d1 more test script for #62328 2012-08-13 11:03:35 +08:00
Xinchen Hui be818e7ea7 Update NEWS 2012-08-12 20:59:33 +08:00
Xinchen Hui dda0565b53 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-12 20:58:45 +08:00
Xinchen Hui 4970926e45 Fixed bug #62763 (register_shutdown_function and extending class) 2012-08-12 20:58:09 +08:00
Xinchen Hui 786670f536 Update NEWS 2012-08-12 12:00:16 +08:00
Xinchen Hui 7b307fb930 Fixed bug #62328 (implementing __toString and a cast to string fails)
__toString should has a high priority
2012-08-12 11:50:28 +08:00
Xinchen Hui d4f9bbfae2 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-11 16:00:00 +08:00
Xinchen Hui e1180b4f1a Fixed bug #62795 (Zip extension version not defined) 2012-08-11 15:59:06 +08:00
Reeze Xia 0239437903 Skip tests reply on Zend MM turned on
Those two tests have expect memory exhausted fatal error
2012-08-11 00:34:37 +08:00
Xinchen Hui 5ae7540abd Merge branch 'PHP-5.3' into PHP-5.4 2012-08-11 00:24:12 +08:00
Xinchen Hui 7130887719 Fix test, from PR 158 2012-08-11 00:22:52 +08:00
Rob Richards c5a611b257 Merge branch 'PHP-5.3' into PHP-5.4
# By Daniel Veillard
* PHP-5.3:
  Update to work with libxml 2.9.0
2012-08-09 14:24:50 -04:00
Daniel Veillard c4b26cc1b0 Update to work with libxml 2.9.0 2012-08-09 14:02:33 -04:00
Stanislav Malyshev c98a51a169 Merge branch 'bug40459' into PHP-5.4
* bug40459:
  News for bug#40459
  fix bug #40459 - make all stream funcs that create object call ctor
2012-08-09 00:10:31 -07:00
Stanislav Malyshev 128a4bbb0d News for bug#40459 2012-08-07 23:03:33 -07:00
Stanislav Malyshev 4db70fd406 fix bug #40459 - make all stream funcs that create object call ctor 2012-08-07 22:59:12 -07:00
Anatoliy Belsky 55b82abe00 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Added the intl tests extracted from Symfony. These are making the intl ext crash with ICU at least 4.6, but probably with earlier versions too.
2012-08-06 14:12:04 +02:00
Matt Ficken ed793b2a3f Added the intl tests extracted from Symfony. These are making the intl ext crash with ICU at least 4.6, but probably with earlier versions too. 2012-08-06 14:07:42 +02:00
Stanislav Malyshev 01e414bb6f Add #51363 2012-08-05 21:00:04 -07:00
Lonny Kapelushnik 45f3322905 var_export outputs an E_WARNING when recursion is detected 2012-08-05 20:56:06 -07:00
Ryusuke SEKIYAMA 81c6a060a2 Added Bison 2.5.1 to bison_version_list 2012-08-05 20:48:42 -07:00
Brett Bieber 82bc8821f9 Minor spelling corrections 2012-08-05 20:43:22 -07:00
Stanislav Malyshev a65cff9151 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fix for #62460
2012-08-05 20:31:29 -07:00
Stanislav Malyshev a239658b9e fix for #62460 2012-08-05 20:31:08 -07:00
Stanislav Malyshev 2dbd3ac8cd Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #62460 (php binaries installed as binary.dSYM)
  (empty merge for 5.4)
2012-08-05 20:23:53 -07:00
Reeze Xia 07ee764e57 Fixed bug #62460 (php binaries installed as binary.dSYM)
See http://marc.info/?l=php-cvs&m=125961714419896
Mac OS X 10.7&10.8 affected too.
2012-08-05 20:22:07 -07:00
Xinchen Hui 346b3ff094 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-05 12:46:55 +08:00
Xinchen Hui 228c288686 Fix 126 tests failed of phar when --enable-zend-multibyte 2012-08-05 12:40:59 +08:00
Xinchen Hui 7ca0291b94 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-04 11:29:04 +08:00
Xinchen Hui d289efb457 Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	Zend/zend_API.h
2012-08-04 11:14:03 +08:00
Xinchen Hui f4a315fce2 This becomes useless, since we have set that in the INIT macro 2012-08-04 11:03:21 +08:00
Xinchen Hui 03a1fcabf3 Fixed bug #62744 (dangling pointers made by zend_disable_class)
the test will be added while commit the fix for #62737
2012-08-04 10:41:26 +08:00
Xinchen Hui d1f0662e4d Fixed bug #62725 (Calling exit() in a shutdown function does not return the exit value)
The fix is make 5.4 behavior consistent with 5.3
2012-08-02 23:03:38 +08:00
Xinchen Hui 170ee90bf9 Fixed bug that can not get default value of parameter if it's not optional 2012-08-02 22:28:04 +08:00
Xinchen Hui 3b5defd3b0 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-02 22:26:31 +08:00
Xinchen Hui 49b202f2cf Fixed bug that can not get default value of parameter if it's not optional 2012-08-02 22:16:46 +08:00
Xinchen Hui cbf1db38f7 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-02 19:33:27 +08:00
Xinchen Hui 2b6ac9e1a0 Fix test, wrong exepct rule used 2012-08-02 19:31:34 +08:00
Xinchen Hui 417a817f6c Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2012-08-02 19:23:19 +08:00
Xinchen Hui 6fb9a6922d Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	ext/standard/tests/file/realpath_cache.phpt
2012-08-02 19:23:04 +08:00
Xinchen Hui 9a690859f6 fix test due to float value 2012-08-02 19:14:06 +08:00
Nuno Lopes aa8eabddd6 make default_exception_ce and error_exception_ce static 2012-08-02 06:53:09 -04:00
Xinchen Hui 53c8612fe7 Fixed bug #62685 (Wrong return datatype in PDO::inTransaction()) 2012-08-02 12:55:05 +08:00
Xinchen Hui 80520d0903 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-02 12:53:57 +08:00
Xinchen Hui cd896d69d9 Fixed bug #62685 (Wrong return datatype in PDO::inTransaction()) 2012-08-02 12:52:11 +08:00
Xinchen Hui 242658c053 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-02 12:32:44 +08:00
Xinchen Hui 433089ccb4 Fixed bug #62716 (munmap() is called with the incorrect length) 2012-08-02 12:30:07 +08:00
Stanislav Malyshev ce92857131 fix NEWS 2012-08-01 12:21:35 -07:00
Xinchen Hui 36100060b3 Sleep a little bit more, in some slow machine (like gcov), it will take a little more time to setup server 2012-08-01 23:54:01 +08:00
Xinchen Hui 7398029e06 update NEWS 2012-08-01 20:24:53 +08:00
Xinchen Hui 2026e9040f Merge branch 'PHP-5.3' into PHP-5.4 2012-08-01 20:24:14 +08:00
Xinchen Hui 10642aa9e4 Fixed bug #62715 (ReflectionParameter::isDefaultValueAvailable() wrong result) 2012-08-01 20:23:30 +08:00
Stanislav Malyshev ff729aabf7 sync NEWS 2012-07-31 21:51:46 -07:00
Stanislav Malyshev 4d6bae896d skip tests if ibase not present 2012-07-31 21:45:04 -07:00
Xinchen Hui 0988ae3c43 Implemented FR #62700 (have the console output 'Listening on http://localhost:8000') 2012-07-31 22:42:28 +08:00
Xinchen Hui 572d6437bc expect pass for 5.4 2012-07-31 10:51:18 +08:00
Xinchen Hui c730329bb0 Merge branch 'PHP-5.3' into PHP-5.4 2012-07-31 10:51:04 +08:00
Xinchen Hui 645f84e41b Test for bug #62680 2012-07-31 10:49:13 +08:00
Gustavo André dos Santos Lopes 86ca788cc7 Fix test title and limit it to ICU >= 4.8 2012-07-30 11:04:10 +02:00
Gustavo André dos Santos Lopes f8e693248f Remove executable bit from files 2012-07-30 10:32:27 +02:00
Gustavo André dos Santos Lopes dec7bad635 Merge branch '5.3' into 5.4
* 5.3:
  Limit test to ICU 49
  Remove executable bit from files
2012-07-30 10:31:10 +02:00
Gustavo André dos Santos Lopes 7e3e1837c8 Limit test to ICU 49 2012-07-30 10:27:41 +02:00
Gustavo André dos Santos Lopes 9762609cec Remove executable bit from files 2012-07-30 10:25:17 +02:00
Xinchen Hui e0c014dead Merge branch 'PHP-5.3' into PHP-5.4 2012-07-29 14:31:04 +08:00
Xinchen Hui f419d614ba Sike test while there is no zend mm max_size guard 2012-07-29 14:30:01 +08:00
Xinchen Hui c6ad98975e Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Skip test while zend mm is disabled
2012-07-29 13:26:05 +08:00
Xinchen Hui 880a6cee00 Skip test while zend mm is disabled 2012-07-29 13:25:31 +08:00
Xinchen Hui 11e84180ef Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Skip test while zend_mm is disabled
2012-07-29 12:19:28 +08:00
Xinchen Hui 14cebefb05 Merge branch 'PHP-5.3' of git.php.net:php-src into PHP-5.3 2012-07-29 12:18:07 +08:00
Xinchen Hui 015ee3b2c8 Skip test while zend_mm is disabled 2012-07-29 12:17:43 +08:00
Felipe Pena b26749b4e9 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Fixed bug #57933 (Wrong table type used in phpinfo output) patch by: selsky at columbia dot edu
2012-07-28 19:05:46 -03:00
Felipe Pena 068fc008c6 - Fixed bug #57933 (Wrong table type used in phpinfo output) patch by: selsky at columbia dot edu 2012-07-28 19:05:13 -03:00
Xinchen Hui b7d76b41e0 Merge branch 'PHP-5.3' into PHP-5.4 2012-07-28 17:01:29 +08:00
Xinchen Hui b477a84026 Fixed bug #60194 for eavl
same reason here
2012-07-28 17:00:05 +08:00
Xinchen Hui 61d80d75ba Merge branch 'PHP-5.3' into PHP-5.4 2012-07-28 00:54:17 +08:00
Xinchen Hui ef7286a42f Fixed bug #60194 (--with-zend-multibyte and --enable-debug reports LEAK with run-test.php)
It's not a big deal, just because lexer will read the char after cursor before leaving
2012-07-28 00:50:45 +08:00
Gustavo André dos Santos Lopes ccffec74d0 Fix bug #62651: source level BC break
Break for C++ extensions that don't wrap the includes of PHP libraries
in extern "C" {.
2012-07-26 23:37:02 +02:00
Stanislav Malyshev 7d890eef82 update 5.4.5 date 2012-07-25 23:46:15 -07:00
Xinchen Hui 302ad0d648 Fix test, committed in wrong folder 2012-07-26 13:57:04 +08:00
Xinchen Hui eae0610042 Fixed bug #62653: (unset($array[$float]) causes a crash)
the reason why jpauli and I can not reproduce is (it's silly):
I typo "USE_ZEND_ALLOC *&&* valgrind" at the first time, then I always ctrl+r
and jpauli copied my command from the pastbin :)

thanks
2012-07-26 13:53:06 +08:00
Xinchen Hui ba27e0888a Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2012-07-26 12:42:33 +08:00
Xinchen Hui b4b3a65f55 Fixed bug #62661 (Interactive php-cli crashes if include() is used in auto_prepend_file) 2012-07-26 12:40:47 +08:00
Rasmus Lerdorf 5799ebdb0c Fix bug #62654 2012-07-25 02:03:47 +02:00
Rasmus Lerdorf 5f224412fa Fix bug #62654 2012-07-24 16:28:49 -07:00
Felipe Pena 54cba5aa91 - Fixed ZTS build 2012-07-24 10:02:32 -03:00
Florian Anderiasch f2cef8afc4 Updated NES 2012-07-24 14:46:19 +02:00
Florian Anderiasch ddc8d16245 Add syslog support to mail.log #62356
Patch by Michael Orlitzky
2012-07-24 14:31:30 +02:00
Xinchen Hui 9fe8c58130 binary compatibility 2012-07-24 14:45:13 +08:00
Xinchen Hui 4c1e2bbd6f Re-fix bug #55544 2012-07-24 14:43:53 +08:00
Xinchen Hui 2abc4c2f6f Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2012-07-24 13:38:11 +08:00
Xinchen Hui c20b2ab0bd folders 2012-07-24 13:37:44 +08:00
Gustavo André dos Santos Lopes f3f824823d Duplicate test for ICU 49
The output in ICU < 49 actually seems wrong here; ICU 49 seems to
fix the data.
2012-07-23 02:08:12 +02:00
Johannes Schlüter 860b3ffe75 Fix Bug #62612 readline extension compilation fails 2012-07-22 23:28:32 +02:00
Johannes Schlüter 254d299d07 Merge branch 'PHP-5.3' into PHP-5.4 2012-07-22 22:46:09 +02:00
Johannes Schlüter ffa8461bfe merge 5.3.15 NEWS 2012-07-22 22:45:39 +02:00
Xinchen Hui a88eca53f7 Improve error message for ssl request 2012-07-22 19:20:23 +08:00
Xinchen Hui fd50bf2085 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  missed the test script
2012-07-21 23:33:24 +08:00
Xinchen Hui 777b6679a4 missed the test script 2012-07-21 23:30:32 +08:00
Xinchen Hui 52d8779c43 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix test failed
  Fixed bug #62616 (ArrayIterator::count() from IteratorIterator instance gives Segmentation fault)
2012-07-21 23:27:52 +08:00
Xinchen Hui ead076bac6 Fix test failed 2012-07-21 23:27:09 +08:00
Xinchen Hui cc30524c89 Fixed bug #62616 (ArrayIterator::count() from IteratorIterator instance gives Segmentation fault) 2012-07-21 23:26:18 +08:00
Xinchen Hui 0c996613c0 Fixed bug #62616 (ArrayIterator::count() from IteratorIterator instance gives Segmentation fault) 2012-07-21 22:45:16 +08:00
Xinchen Hui a6f1533789 Fixed bug #55544 (ob_gzhandler always conflicts with zlib.output_compression) 2012-07-21 02:57:36 +08:00
Xinchen Hui a2a1cef1a2 Merge branch 'PHP-5.3' into PHP-5.4 2012-07-21 00:47:54 +08:00
Xinchen Hui 683b4f7a2b merge 9eb5cb6571 to 5.3 2012-07-21 00:46:32 +08:00
Xinchen Hui b81b8bf77d this initialization is unnecessary anymore after commit 2d9d2cadad 2012-07-18 21:45:37 +08:00
Xinchen Hui 2d9d2cadad Fixed bug #62597 (segfault in php_stream_wrapper_log_error with ZTS build) 2012-07-18 20:16:27 +08:00
Xinchen Hui 8f89cfb548 Fix test (no charset outputed) 2012-07-18 19:50:30 +08:00
Xinchen Hui 11d0558928 skip for ZTS 2012-07-18 19:47:54 +08:00
Xinchen Hui 282a6659aa fix test (dos2unix, typo) 2012-07-18 19:25:22 +08:00
Xinchen Hui 41a9c681a0 fix test, the key may be a float value 2012-07-18 19:21:25 +08:00
Xinchen Hui 25be12a3bc Fixed bug #62594 (segfault in mysqlnd_res_meta::set_mode) 2012-07-18 19:06:27 +08:00
Xinchen Hui c7c939b5d8 Bug doesn't exists in any release 2012-07-18 18:00:09 +08:00
Gustavo André dos Santos Lopes c7614a8c19 NEWS for b47d6b32 2012-07-17 23:12:25 +02:00
Reeze Xia b47d6b32ba Fix test fails: ext/standard/tests/general_functions/bug27678.phpt
After commit 3e62aae1, number_format() returns string with length,
but _php_math_number_format_ex_len() didn't set string length
on nan and inf. This cause segfault when destruct the return value.
2012-07-17 23:08:11 +02:00
Anatoliy Belsky d0e58bf6eb Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix for bug #62379 was missing in 5.3
2012-07-17 17:52:25 +02:00
Anatoliy Belsky bd39495332 Fix for bug #62379 was missing in 5.3 2012-07-17 17:50:05 +02:00
Hannes Magnusson 5cf4f7395b Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Do not unload shared extensions when checking for leaks
2012-07-17 10:05:42 +01:00
Hannes Magnusson 88f7f3c00f Do not unload shared extensions when checking for leaks 2012-07-17 10:04:56 +01:00
Xinchen Hui c8f285d190 Update libmagic.patch 2012-07-15 18:25:58 +08:00
Stanislav Malyshev f4809424cd Merge branch 'pull-request/96' into PHP-5.4
* pull-request/96:
  Implemented FR #61602 Allow access to name of constant used as default value
2012-07-14 23:08:50 -07:00
Stanislav Malyshev 55dbd8cf46 update NEWS 2012-07-14 22:41:08 -07:00
Stanislav Malyshev a5d45bae85 Fixed bug #61527 (Recursive/ArrayIterator gives misleading notice when array empty or moved to the end) 2012-07-14 22:34:28 -07:00
Stanislav Malyshev cfdccdb805 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Typofix in test-description
2012-07-14 22:08:19 -07:00
Jille Timmermans 86b4252c8e Typofix in test-description 2012-07-14 22:07:50 -07:00
donnut 53ba768ed8 removed unneccesary arrat and ini settings 2012-07-14 19:22:03 -07:00
donnut 4539d799bb addition SplFileObject tests 2012-07-14 19:21:50 -07:00
donnut 2cb7a678a1 new tests from PHP TestFest June 2012 2012-07-14 19:21:34 -07:00
Adam Gegotek 8b70dd202a Fixing up closing tag 2012-07-14 18:59:04 -07:00
Adam Gegotek 152f73f92a Testing variation on input parameters of http_build_query() function 2012-07-14 18:58:52 -07:00
Stanislav Malyshev 1916bb223e Merge branch 'pull-request/91' into PHP-5.4
* pull-request/91:
  Fixed bug #61964 (finfo_open with directory cause invalid free)
2012-07-14 18:52:24 -07:00
Felipe Pena 3728e50e9f Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Fixed bug #62525 (sigabrt while converting floating point to string)
2012-07-14 15:15:24 -03:00
Felipe Pena 63f3962a90 - Fixed bug #62525 (sigabrt while converting floating point to string) 2012-07-14 15:15:11 -03:00
Felipe Pena d640e446ab - Fixed conflict 2012-07-14 13:16:35 -03:00
Felipe Pena 864575251a - Fixed memory leak when extending DOMXPath 2012-07-14 13:13:31 -03:00
Felipe Pena 9c28393067 - BFN 2012-07-14 12:27:44 -03:00
Felipe Pena 0bff7cfadd - Fixed bug #62565 (Crashes due non-initialized internal properties_table) 2012-07-14 12:16:16 -03:00
Felipe Pena 8b093dee21 - Fixed bug #62564 (Extending MessageFormatter and adding property causes crash) 2012-07-14 11:37:08 -03:00
Matt Ficken 10251b20c3 Fixed bug #62379 failing ODBC long column functionality 2012-07-13 15:34:00 +02:00
Anatoliy Belsky d9d21b2037 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #61677 ext\zlib\tests\bug_52944.phpt fails
2012-07-13 11:46:14 +02:00
Anatoliy Belsky 02b8362ec2 Fixed bug #61677 ext\zlib\tests\bug_52944.phpt fails
The test is known to fail on windows with zlib version < 1.2.7 (current dep is 1.2.5),
with 1.2.7 it works. As it's primarily a zlib 1.2.5 issue on windows, skip it for now.
2012-07-13 11:39:57 +02:00
Anatoliy Belsky cf91b163e1 fixed the test for warnings changed 2012-07-12 18:24:38 +02:00
Anatoliy Belsky ec7e479562 reverted news about #62477 2012-07-12 10:57:56 +02:00
Anatoliy Belsky 86428169d3 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  reverted changes for #62477
2012-07-12 10:57:26 +02:00
Anatoliy Belsky ad7eeba3c1 reverted changes for #62477 2012-07-12 10:54:14 +02:00
Anatoliy Belsky be8f089a13 updated NEWS 2012-07-11 22:37:39 +02:00
Anatoliy Belsky 899c8f485a Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  updated NEWS
2012-07-11 22:35:00 +02:00
Anatoliy Belsky 896d0fcd41 updated NEWS 2012-07-11 22:33:42 +02:00
Anatoliy Belsky 40f8010a13 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #62477 LimitIterator int overflow
2012-07-11 22:29:45 +02:00
Anatoliy Belsky b383ddf1e5 Fixed bug #62477 LimitIterator int overflow 2012-07-11 22:25:31 +02:00
Xinchen Hui 977ce78d82 Merge branch 'PHP-5.3' into PHP-5.4 2012-07-10 18:45:16 +08:00
Xinchen Hui bcf5853eaa Fixed Bug #62500 (Segfault in DateInterval class when extended) 2012-07-10 18:43:11 +08:00
Anatoliy Belsky 97b8798520 Fixed test bug #62312 (warnings changed one more time) 2012-07-09 18:21:51 +02:00
andrey 66e1ac23c1 Merge branch 'PHP-5.4' of ssh://git.php.net/php-src into PHP-5.4 2012-07-09 17:59:42 +03:00
andrey 555db7dc4e fix valgrind warning 2012-07-09 17:59:23 +03:00
Anatoliy Belsky 2032470e41 fixed #62433 test for win 2012-07-09 12:42:10 +02:00
Xinchen Hui 4323a7aced update NEWS 2012-07-09 08:44:59 +08:00
Xinchen Hui 0398cc22a9 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #62499 (curl_setopt($ch, CURLOPT_COOKIEFILE, "") returns false)
  appease MSVC (doesnt like unary minus of unsigned ints)

Conflicts:
	ext/curl/interface.c
2012-07-09 08:38:03 +08:00
Xinchen Hui c819cf9d6b Fixed bug #62499 (curl_setopt($ch, CURLOPT_COOKIEFILE, "") returns false)
this bc break is caused by the fix for #61948
2012-07-09 08:32:40 +08:00
Nuno Lopes b2b018d5f7 appease MSVC (doesnt like unary minus of unsigned ints) 2012-07-08 15:28:29 -04:00
Nuno Lopes 5910d8d4f4 appease MSVC (doesnt like unary minus of unsigned ints) 2012-07-08 15:21:18 -04:00
Felipe Pena 2019062cfc - Fixed bug #62507 (['REQUEST_TIME'] under mod_php5 returns miliseconds instead of seconds) 2012-07-08 14:05:28 -03:00
Xinchen Hui e3b9b1e6dc Fixed Bug #62500 (Segfault in DateInterval class when extended)
This fix also fixed bug #62508  (Segfault while access a non-string
property of DateInterval object)
2012-07-09 00:25:48 +08:00
Stanislav Malyshev a213c10ef2 Merge branch 'pull-request/112' into PHP-5.4
* pull-request/112:
  Added in NEWS and UPGRADING for feature 55218
  Adding in test for feature 55218
  Implements feature 55218
2012-07-07 12:51:26 -07:00
Lonny Kapelushnik f0df7dbc8f Added in NEWS and UPGRADING for feature 55218 2012-07-07 09:10:08 -04:00
Anthony Ferrara 79ed100c19 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix two issues with run-tests.php
2012-07-06 22:38:15 -04:00
Anthony Ferrara 26b37f1792 Fix two issues with run-tests.php
1. E_STRICT error due to passing return of array_intersect() into reset() directly
2. Details in junit output can produce invalid UTF-8 and XML due to unescaped characters
2012-07-06 22:37:50 -04:00
Nikita Popov 5cf2f87fa7 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix potential integer overflow in nl2br
  Fix potential integer overflow in bin2hex

Conflicts:
	ext/standard/string.c
2012-07-05 20:59:18 +02:00
Nikita Popov 157ddd9577 Fix potential integer overflow in nl2br
The buffer size was calculated manually, thus creating integer overflows
for very large inputs, e.g. nl2br(str_repeat("\n", 613566757)).

The code now uses safe_emalloc, thus making the code throw an error
instead of crashing.
2012-07-05 20:41:54 +02:00
Nikita Popov 88f46b162b Fix potential integer overflow in bin2hex
The code was already using safe_emalloc but did the multiplication in
the first argument, thus making the use of safe_emalloc pretty useless.

The *2 is now moved to the second argument.
2012-07-05 20:14:49 +02:00
Johannes Schlüter 9a38ca8d50 Merge branch 'PHP-5.3' into PHP-5.4 2012-07-05 01:18:57 +02:00
Johannes Schlüter 6b2b195267 This wil be PHP 5.3.16 2012-07-05 01:15:27 +02:00
johannes bcc87ba68e Revert change 3f3ad30c50: There shouldn't be new features in 5.3, especially
not if they aren't in 5.4, too.
2012-07-05 00:55:47 +02:00
Nuno Lopes 91ce8041a3 fix (signed) integer overflow (part of bug #52550 2012-07-02 01:36:35 -04:00
Nuno Lopes d80ff39189 fix (signed) integer overflow (part of bug #52550 2012-07-02 01:35:28 -04:00
Xinchen Hui be4053cea0 Fixed bug #62433 (Inconsistent behavior of RecursiveDirectoryIterator to dot files). 2012-07-02 11:33:38 +08:00
Nikita Popov ff41bfc878 Fix accidential change of php_version.h
For some reason the merge reverts changed the version :/
2012-07-01 17:05:19 +02:00
Nikita Popov b7903f9778 Revert JSON merges to 5.4
This reverts the following merge commits (-m 1):

405ebfcd18
d372b33c9b
36fa17a5fa
2012-07-01 16:38:26 +02:00
Nikita Popov 9cbd7a24b6 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Revert JSON changes to PHP 5.3
2012-07-01 16:35:43 +02:00
Nikita Popov 250393f925 Revert JSON changes to PHP 5.3
This reverts the following commits:

974324676b
4662151ea7
84fe2cc890

This does not revert the JSON changes released in PHP 5.3.14.
2012-07-01 16:28:57 +02:00
Stanislav Malyshev b741d3315b fix bug #61359: json_encode() calls too many reallocs 2012-06-30 19:14:30 -07:00
Stanislav Malyshev 4420b43907 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  remove duplicates, fix order
2012-06-30 17:37:20 -07:00
Stanislav Malyshev dfce6bf5d6 update NEWS 2012-06-30 17:37:09 -07:00
Stanislav Malyshev 5f31c81f07 remove duplicates, fix order 2012-06-30 17:36:22 -07:00
Marc Easen 896ac689c9 Fixed the common misspelling of the word occurred (occured -> occurred) 2012-06-30 16:54:03 -07:00
Felipe Pena b8d453d8d4 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Fixed bug #62415 (Undefined variable: diff in run-tests.php on line 2093 for successful XFAIL)
2012-06-30 16:29:47 -03:00
Felipe Pena 75d8af715c - Fixed bug #62415 (Undefined variable: diff in run-tests.php on line 2093 for successful XFAIL) 2012-06-30 16:29:30 -03:00
andrey ed1f058591 merge 2012-06-29 16:32:55 +03:00
andrey b7dbcbd41f Merge branch 'PHP-5.3' into PHP-5.4 2012-06-29 14:48:37 +03:00
andrey 8fe87e7fea fix Bug #62273 Segmentation Fault in Mysqli/Mysqlnd 2012-06-29 14:42:36 +03:00
andrey a614f8edea Merge branch 'PHP-5.3' into PHP-5.4 2012-06-29 14:41:11 +03:00
andrey a19d5c520c Merge branch 'PHP-5.4' of ssh://git.php.net/php-src into PHP-5.4 2012-06-29 14:41:01 +03:00
andrey 1ac611f24f Merge branch 'PHP-5.3' of ssh://git.php.net/php-src into PHP-5.3 2012-06-29 14:40:41 +03:00
Nikita Popov d86b6ea35c Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix some lengths in crypt()

Conflicts:
	ext/standard/crypt.c
2012-06-29 13:15:35 +02:00
Nikita Popov e6cf7d7745 Fix some lengths in crypt()
Use salt_len_in instead of strlen(salt) or PHP_MAX_SALT_LEN, otherwise too
much memory will be allocated.

sha512 has a 86 character checksum, not 43. That probably was a copy&paste
from the sha256 code which indeed has 43.

The allocation also was using sizeof(char *), thus allocating 4 or 8 times
as much memory as necessary. The sizeof(char *) was removed in the 5.4
branch in b7a92c9 but forgotten on 5.3.

The memset 0 call was using PHP_MAX_SALT_LEN which can be smaller than the
output buffer and thus not zeroing out everything. Use the size of the
output buffer (needed) instead.
2012-06-29 13:11:43 +02:00
andrey 08f4b3c3ac Merge branch 'PHP-5.3' into PHP-5.4 2012-06-29 12:43:14 +03:00
andrey f826ea093f new charsets 2012-06-29 12:42:54 +03:00
Stanislav Malyshev 8992da2451 fix NEWS order 2012-06-28 18:08:11 -07:00
Anthony Ferrara 34ab5650bc Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #62443 (Crypt SHA256/512 Segfaults With Malformed Salt)
2012-06-28 20:36:21 -04:00
Anthony Ferrara 7e8276ca68 Fixed bug #62443 (Crypt SHA256/512 Segfaults With Malformed Salt)
Fixed a memory allocation bug in crypt() SHA256/512 that can
cause segmentation faults when passed in salts with a null byte
early.
2012-06-28 20:00:03 -04:00
Nikita Popov 405ebfcd18 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Add json_last_error_msg() function
2012-06-28 20:18:19 +02:00
Nikita Popov 974324676b Add json_last_error_msg() function
This replaces json_last_error(true) and is consistent with other custom
error handling functions.
2012-06-28 20:11:27 +02:00
Johannes Schlüter 2996eeeed0 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix #62432 ReflectionMethod random corrupt memory on high concurrent

Conflicts:
	ext/date/php_date.c
	ext/fileinfo/fileinfo.c
	ext/pdo/pdo_dbh.c
	ext/pdo/pdo_stmt.c
	ext/reflection/php_reflection.c
	ext/spl/spl_array.c
	ext/spl/spl_directory.c
	ext/spl/spl_dllist.c
	ext/spl/spl_fixedarray.c
	ext/spl/spl_heap.c
	ext/spl/spl_iterators.c
	ext/spl/spl_observer.c
	ext/sqlite/sqlite.c
	ext/sqlite3/sqlite3.c
	ext/tidy/tidy.c
	ext/xmlreader/php_xmlreader.c
	ext/xmlwriter/php_xmlwriter.c
	ext/xsl/php_xsl.c
	ext/zip/php_zip.c
2012-06-27 23:35:07 +02:00
Johannes Schlüter b025b9d0cf Fix #62432 ReflectionMethod random corrupt memory on high concurrent
This fixes the same issue in multiple extensions. This isn't needed
in later branches as 5.4 introduced object_properties_init()
2012-06-27 23:26:33 +02:00
Nikita Popov d372b33c9b Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Improve JSON error handling

Conflicts:
	ext/json/tests/bug54058.phpt
	ext/json/tests/bug61537.phpt
2012-06-27 12:28:55 +02:00
Nikita Popov 4662151ea7 Improve JSON error handling
json_encode() no longer throws warnings. Instead only the error code for
json_last_error() is set.

As it is hard to debug the error from just an error code an optional
$as_string parameter was added to json_last_error(), which returns an
error message instead of an error code.
2012-06-27 12:21:48 +02:00
Johannes Schlüter 9a86784859 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix memleak in CLI

Conflicts:
	sapi/cli/php_cli.c
2012-06-27 11:46:57 +02:00
Johannes Schlüter bc0972e78d Fix memleak in CLI 2012-06-27 11:42:43 +02:00
Stanislav Malyshev 7a0f4cfdde update NEWS 2012-06-26 21:56:11 -07:00
Stanislav Malyshev ffcfa6f920 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  ws fix
  BFN
  Fix bug #62373 (serialize() generates wrong reference to the object)

Conflicts:
	php.ini-development
	php.ini-production
2012-06-26 21:53:40 -07:00
Stanislav Malyshev ad2bee193d ws fix 2012-06-26 15:22:29 -07:00
Xinchen Hui a44a1dc194 Fixed bug #62357 (compile failure: (S) Arguments missing for built-in function __memcmp).
Any C library function may be a macro, We should avoid using ZEND_STRS(L) as their arguments
2012-06-26 18:42:33 +08:00
Moriyoshi Koizumi ce2082d24f BFN 2012-06-25 19:20:38 +09:00
Moriyoshi Koizumi 91e1df704e Fix bug #62373 (serialize() generates wrong reference to the object) 2012-06-25 19:14:19 +09:00
Moriyoshi Koizumi e427182279 Fix bug #62373 (serialize() generates wrong reference to the object) 2012-06-25 19:13:23 +09:00
Nikita Popov ad641950b3 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix memory allocation checks for base64 encode
2012-06-24 23:56:55 +02:00
Nikita Popov 5b3f4d25ea Fix memory allocation checks for base64 encode
base64_encode used safe_emalloc, but one of the arguments was derived from a
multiplication, thus making the allocation unsafe again.

There was a size check in place, but it was off by a factor of two as it
didn't account for the signedness of the integer type.

The unsafe allocation is not exploitable, but still causes funny behavior
when the sized overflows into a negative number.

To fix the issue the *4 factor is moved into the size argument (where it is
known to be safe), so safe_emalloc can carry out the multiplication.

The size check is removed as it doesn't really make sense once safe_emalloc
works correctly. (Would only cause base64_encode to silently return false
instead of throwing an error. Also could cause problems with other uses of
the base64 encoding API, which all don't check for a NULL return value.)

Furthermore the (length + 2) < 0 check is replaced with just length < 0.
Allowing lengths -2 and -1 doesn't make sense semantically and also is not
honored in the following code (negative length would access unallocated
memory.)

Actually the length < 0 check doesn't make sense altogether, but I left it
there just to be safe.
2012-06-24 23:32:50 +02:00
Nikita Popov 36fa17a5fa Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Improve json_encode error handling
  - BFN

Conflicts:
	ext/json/json.c
2012-06-23 21:14:45 +02:00
Nikita Popov 84fe2cc890 Improve json_encode error handling
json_encode() now returns bool(false) for all possible errors, throws the
respective warning and also sets the respective json_last_error() error
code. Three new error codes have been added:

  * JSON_ERROR_RECURSION
  * JSON_ERROR_INF_OR_NAN
  * JSON_ERROR_UNSUPPORTED_TYPE

To get a partial JSON output instead of bool(false) the option
JSON_PARTIAL_OUTPUT_ON_ERROR can be specified. In this case the invalid
segments will be replaced either by null (for recursion, unsupported type
and invalid JSON) or 0 (for Inf and NaN).

The warning for invalid UTF-8 stays intact and is thrown also with
display_errors = On. If this behavior is undesired this can be remedied
later.
2012-06-23 20:51:52 +02:00
Felipe Pena e886272577 - BFN 2012-06-23 15:21:32 -03:00
Felipe Pena cc90ac54be - BFN 2012-06-23 15:21:20 -03:00
Felipe Pena 5e36306feb Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Improved fix for #62384
2012-06-23 15:16:13 -03:00
Felipe Pena c3f34796a0 - Improved fix for #62384 2012-06-23 15:10:47 -03:00
Johannes Schlüter 2418791731 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Remove unneeded and outdated ChangeLog file
2012-06-22 20:01:06 +02:00
Johannes Schlüter 84b1c568f4 Remove unneeded and outdated ChangeLog file 2012-06-22 20:00:20 +02:00
Johannes Schlüter 5e23a047ac Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Remove extra ;
2012-06-22 17:33:22 +02:00
Johannes Schlüter a62d4e2c43 Remove extra ; 2012-06-22 17:32:46 +02:00
Felipe Pena 4af92aca87 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Fixed bug #62384 (Attempting to invoke a Closure more than once causes segfaul)
2012-06-22 12:05:55 -03:00
Felipe Pena b8e946b02e - Fixed bug #62384 (Attempting to invoke a Closure more than once causes segfaul) 2012-06-22 12:05:29 -03:00
Johannes Schlüter af516750ff Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Improve check for :memory: pseudo-filename in SQlite

Conflicts:
	ext/sqlite3/sqlite3.c
2012-06-22 12:50:30 +02:00
Johannes Schlüter 055ecbc628 Improve check for :memory: pseudo-filename in SQlite 2012-06-22 12:48:39 +02:00
Lonny Kapelushnik 2178b1d02d Adding in test for feature 55218 2012-06-21 23:21:17 -04:00
Lonny Kapelushnik f1ef8b327f Implements feature 55218
Allows you to recursively check namespaces under a child node
instead of from the root of the XML doc
2012-06-21 22:34:46 -04:00
Johannes Schlüter 041dd77135 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Remove outdated and user-specific files
2012-06-20 19:47:44 +02:00
Johannes Schlüter d93892de7a Remove outdated and user-specific files 2012-06-20 19:46:32 +02:00
Nikita Popov 02cda8fd94 Merge branch 'PHP-5.3' into PHP-5.4
I messed up the last merge somehow :/ Merge again.

* PHP-5.3:
  Add NEWS for bug #62262
  Fixed bug RecursiveArrayIterator does not implement Countable

Conflicts:
	ext/spl/spl_array.c
2012-06-19 18:41:49 +02:00
Nikita Popov 5d81fe6f12 Add NEWS for bug #62262 2012-06-19 18:40:46 +02:00
Nikita Popov fed1f2d124 Fixed bug RecursiveArrayIterator does not implement Countable
ArrayIterator implemented Countable only after it was already inherited by
RecursiveArrayIterator. Thus the interface was missing in RAI.
2012-06-19 18:32:44 +02:00
Nikita Popov cce4764f13 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug RecursiveArrayIterator does not implement Countable

Conflicts:
	ext/spl/spl_array.c
2012-06-19 18:08:22 +02:00
Nikita Popov 4cba4c6193 Fixed bug RecursiveArrayIterator does not implement Countable
ArrayIterator implemented Countable only after it was already inherited by
RecursiveArrayIterator. Thus the interface was missing in RAI.
2012-06-19 18:04:14 +02:00
Anatoliy Belsky 34bd1c941b Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  sync zip ext version with pecl
2012-06-19 17:17:11 +02:00
Anatoliy Belsky e793539678 sync zip ext version with pecl 2012-06-19 17:15:56 +02:00
Anatoliy Belsky 5c001d42d4 one more correction for COM upgrading notes 2012-06-19 14:58:06 +02:00
Anatoliy Belsky df138c5719 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  one more correction for COM upgrading notes
2012-06-19 14:51:52 +02:00
Anatoliy Belsky f072662621 one more correction for COM upgrading notes 2012-06-19 14:42:59 +02:00
Anatoliy Belsky 0a65b661e4 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  split gzgetc_basic.phpt for zlib 1.2.7
2012-06-19 14:12:54 +02:00
Anatoliy Belsky a8948d0808 split gzgetc_basic.phpt for zlib 1.2.7 2012-06-19 14:08:34 +02:00
Anatoliy Belsky d8ba49a2c7 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  com ext upgrading correction
2012-06-18 22:08:44 +02:00
Anatoliy Belsky 592917f91f com ext upgrading correction 2012-06-18 22:07:19 +02:00
Anatoliy Belsky 1c4e48650c com ext upgrading infos 2012-06-18 22:04:40 +02:00
Anatoliy Belsky b408028b88 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  com ext upgrading info
2012-06-18 21:59:27 +02:00
Anatoliy Belsky 6176b96a23 com ext upgrading info 2012-06-18 21:56:17 +02:00
Anatoliy Belsky c56ff2bf75 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Reverted the BC fix regarding to #57905, test adopted
2012-06-17 16:10:56 +02:00
Anatoliy Belsky d3780f1f90 Reverted the BC fix regarding to #57905, test adopted
New 0.10.1 has a stronger archive integrity check. Restoring
the old behaviour of libzip < 0.10.1 makes no sense at this
place.
2012-06-17 16:04:36 +02:00
stealth35 11a202ef50 Fix potential leak in cli server 2012-06-16 00:56:54 +03:00
Anatoliy Belsky 280e3a4ec8 Fixed bug #62312 ext\sockets\tests\socket_import_stream-4.phpt fails 2012-06-14 18:02:53 +02:00
Anatoliy Belsky 3faebe2bec Fix bug #62270 Test bug - ext/fileinfo/tests/finfo_open_error-win32 2012-06-14 17:59:39 +02:00
Johannes Schlüter fef691b142 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Merge PHP 5.3.14 NEWS
  re-add 61755 to NEWS
2012-06-13 10:36:49 +02:00
Johannes Schlüter 26cb570615 Merge PHP 5.3.14 NEWS 2012-06-13 10:35:58 +02:00
Stanislav Malyshev 79e44c394f re-add 61755 to NEWS 2012-06-12 11:53:24 -07:00
Stanislav Malyshev f0d6059389 re-add 61755 to NEWS 2012-06-12 11:52:22 -07:00
Stanislav Malyshev c7be96b08f Revert "Add PBKDF2 support via openssl()"
This reverts commit b5b8ea1050.
Looks like we don't have agreement yet on this for 5.4. Let's keep it in 5.5 for now.
2012-06-12 11:22:49 -07:00
Stanislav Malyshev a2bfad051d Revert "Rename openssl_pkcs5_pbkdf2_hmac() to something that doesn't sound like a spell."
This reverts commit bccd1e672f.
Looks like we don't have agreement yet on this for 5.4. Let's keep it in 5.5 for now.
2012-06-12 11:21:54 -07:00
Stanislav Malyshev f8cc363841 add CVE 2012-06-12 11:19:08 -07:00
Scott MacVicar bccd1e672f Rename openssl_pkcs5_pbkdf2_hmac() to something that doesn't sound like a spell.
Summary:
Stas pointed out that this is named pretty poorly. Go for openssl_pbkdf2()
2012-06-11 15:41:41 -07:00
Scott MacVicar b5b8ea1050 Add PBKDF2 support via openssl()
Summary:
No easy way to put these in the hash extension since we don't really support optional
parameters to certain algorithms. Implemented in openssl for now since it has it already
and is pretty stable.

Only SHA1 is confirmed to work as an algorithm but openssl has a parameter so it can be
changed in the future.

Will backport to 5.4 potentially with Stas' approval.

Test Plan:
Ran newly added tests which came from RFC 6070
2012-06-11 13:35:25 -07:00
Matt Ficken a18cede1c5 Fix bug #62271 test bug - ext/wddx/tests/bug48562.phpt 2012-06-11 17:00:36 +02:00
Stanislav Malyshev b55e69285b typo fix 2012-06-10 20:38:22 -07:00
David Soria Parra 51a5e98af6 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Make travis silent
2012-06-10 18:17:49 +04:00
David Soria Parra f464ffd780 Make travis silent
Travis will always build all branches. As we just have a .travis.yml
on master, travis will go ahead and checkout PHP-5.3. It fails and
then sends mails. We really don't want to get spammed, so we add
a .travis.yml that is just silent.
2012-06-10 18:17:37 +04:00
David Soria Parra b9babd22e0 Merge branch 'PHP-5.3' into PHP-5.4
By Stanislav Malyshev (1) and michelangelo (1)
* PHP-5.3:
  Adding a test for ext/posix/tests/posix_getegid_basic.phpt
  typo
2012-06-10 17:08:02 +04:00
michelangelo cda14b995c Adding a test for ext/posix/tests/posix_getegid_basic.phpt 2012-06-10 17:07:49 +04:00
Gustavo André dos Santos Lopes 503358c179 Fix bug #62266
Custom extension segfaults during xmlParseFile with FPM SAPI
because the regular list is not prepared during the MINIT phase
and our custom external entity loader tries to open PHP streams.
2012-06-09 17:29:47 +01:00
Stanislav Malyshev c4cc43169c rearrange news 2012-06-08 13:27:24 -07:00
Stanislav Malyshev ba8333cdb0 typo 2012-06-08 12:23:51 -07:00
Pierrick Charron c467e81c86 NEWS File 2012-06-08 18:02:49 +02:00
Stanislav Malyshev 17c0ff1194 typo 2012-06-08 01:24:49 -07:00
Stanislav Malyshev 59eaa7c877 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  improve overflow checks
  fix potential overflow in _php_stream_scandir
2012-06-08 01:22:46 -07:00
Stanislav Malyshev fc74503792 improve overflow checks 2012-06-08 01:21:37 -07:00
Stanislav Malyshev 0e3a650e74 add NEWS 2012-06-07 23:11:28 -07:00
Stanislav Malyshev 10e8da1738 fix potential overflow in _php_stream_scandir 2012-06-07 23:09:18 -07:00
Stanislav Malyshev 7d04e0fb2e fix potential overflow in _php_stream_scandir 2012-06-07 23:08:35 -07:00
Anatoliy Belsky d24d5b62c1 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  set current versions for libzip and zip ext
2012-06-07 22:37:32 +02:00
Anatoliy Belsky baacc2cb13 set current versions for libzip and zip ext 2012-06-07 22:32:03 +02:00
Anatoliy Belsky 7907dc4d66 updated NEWS 2012-06-07 21:45:30 +02:00
Anatoliy Belsky d206206c10 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  updated NEWS
2012-06-07 21:44:08 +02:00
Anatoliy Belsky 9ecb67d5a4 updated NEWS 2012-06-07 21:43:07 +02:00
Anatoliy Belsky 5ebdc46aa0 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  zip windows fixes
  fixed bc break related to #57905
  fixed a bit overlooked from the last libzip port
  brought the fix for #47667 back
  fixed zip entry freeing
  rechecked the merged libzip, took also the indents from the original to avoid confusion next time
  fixed a double freeing crash
  fixed header include
  initial libzip upgrade patch to 0.10.1
  - BFN

Conflicts:
	NEWS
2012-06-07 21:06:31 +02:00
Anatoliy Belsky bde0e8c2a1 zip windows fixes 2012-06-07 21:01:32 +02:00
Anatoliy Belsky 8ca457f64d fixed bc break related to #57905 2012-06-07 21:01:32 +02:00
Anatoliy Belsky e883892664 fixed a bit overlooked from the last libzip port 2012-06-07 21:01:32 +02:00
Anatoliy Belsky b8cdc731b8 brought the fix for #47667 back 2012-06-07 21:01:32 +02:00
Anatoliy Belsky a37e84e549 fixed zip entry freeing 2012-06-07 21:01:32 +02:00
Anatoliy Belsky f4a44f18b8 rechecked the merged libzip, took also the indents from the original to
avoid confusion next time
2012-06-07 21:01:31 +02:00
Anatoliy Belsky a39bcfc5ee fixed a double freeing crash 2012-06-07 21:01:31 +02:00
Anatoliy Belsky 9a2365412e fixed header include 2012-06-07 21:01:31 +02:00
Anatoliy Belsky 335a11b14b initial libzip upgrade patch to 0.10.1 2012-06-07 21:01:31 +02:00
Felipe Pena 7cae4ff02c - BFN 2012-06-07 14:23:17 -03:00
Felipe Pena 7881158690 - Fix merge 2012-06-07 14:21:10 -03:00
Felipe Pena 018a9b321f Merge commit '15213768e6cc098ab4e53cacc3b5eb86fa85284a' into PHP-5.3 2012-06-07 14:18:34 -03:00
Pierrick Charron c975320eb9 Regenerated files 2012-06-07 18:04:15 +02:00
Pierrick Charron 8e65ce35b9 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Regenerated files
2012-06-07 18:02:49 +02:00
Pierrick Charron 4e6f27f4db Regenerated files 2012-06-07 18:02:27 +02:00
Pierrick Charron 494c170e6f Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #51094 (parse_ini_file() with INI_SCANNER_RAW cuts a value that includes a semi-colon)
2012-06-07 17:45:43 +02:00
Pierrick Charron fed5923dbc Fixed bug #51094 (parse_ini_file() with INI_SCANNER_RAW cuts a value that includes a semi-colon)
Modify the scanner to check if the first char of the raw data is an opening " in which case we
need to find the closing one. Otherwise just search for the next end of value char [\r\n;\000]
2012-06-07 17:44:20 +02:00
David Soria Parra deac80eb9a Merge branch 'PHP-5.3' into PHP-5.4
By Till Klampaeckel
* PHP-5.3:
  Don't depend on a fixed path for PHP shebang but use /usr/bin/env (cherry picked from commit 89c5d981603ed4a2a54f86c20cec4f263c58ded6)
2012-06-07 09:44:59 +02:00
Till Klampaeckel c56ff39c05 Don't depend on a fixed path for PHP shebang but use /usr/bin/env
(cherry picked from commit 89c5d981603ed4a2a54f86c20cec4f263c58ded6)
2012-06-07 09:44:49 +02:00
Xinchen Hui 83542dcf3b Merge branch 'PHP-5.3' into PHP-5.4
By Gustavo André dos Santos Lopes (4) and others
via Felipe Pena (1) and Xinchen Hui (1)
* PHP-5.3:
  Remove unused codes
  based on microsoft's description,the direct convert from FILETIME struct to __int64 is unsafe.
  Fix ext/intl build on ICU < 4.8
  Optimization in ext/intl/msgformat
  Fixed tests in ext/intl
  Changed XFAILed collator_get_sort_key.phpt
2012-06-07 14:32:47 +08:00
Xinchen Hui 6ecc9f1d9d Remove unused codes 2012-06-07 14:31:35 +08:00
slayercat d9810af45a based on microsoft's description,the direct convert from FILETIME struct to __int64 is unsafe.
via http://technet.microsoft.com/en-us/library/ms724284(v=vs.85).aspx

"Do not cast a pointer to a FILETIME structure to either a
ULARGE_INTEGER* or __int64* value because it can cause alignment faults on 64-bit Windows."
2012-06-07 14:28:05 +08:00
Stanislav Malyshev e118a0794a merge 5.3 entries 2012-06-06 23:20:14 -07:00
Stanislav Malyshev db1e425b1a restore NEWS 2012-06-06 23:00:33 -07:00
Gustavo André dos Santos Lopes c1ac325228 Fix ext/intl build on ICU < 4.8 2012-06-06 12:10:00 +02:00
Gustavo André dos Santos Lopes 52d541a314 Optimization in ext/intl/msgformat
Don't transform the string to make it apostrophe friendly in ICU 4.8+
as that it is now the default.
2012-06-06 11:36:00 +02:00
Gustavo André dos Santos Lopes 45b3fa4dee Fixed tests in ext/intl
21 is not a valid value for UNUM_PADDING_POSITION. Changed the test to
use 2 instead.

Remove ICU 4.2- test. No one cares.
2012-06-05 16:47:00 +02:00
Felipe Pena 15213768e6 - Fixed bug #62227 (Invalid phar stream path causes crash) 2012-06-04 20:07:14 -03:00
Gustavo André dos Santos Lopes 9b233b7e5e Changed XFAILed collator_get_sort_key.phpt
Ressurected and limited to ICU 4.8 in the hope that the sort keys
will remain stable in more recent ICU versions. I have only tested
with ICU 4.8 so far.
2012-06-04 10:18:24 +02:00
Felipe Pena 8779a9aad5 Merge commit 'e59b6dc0ae803d49c3f620818285f98dfb61fd57' into PHP-5.4 2012-06-03 19:01:50 -03:00
Felipe Pena 4fc49c04df Merge commit 'e59b6dc0ae803d49c3f620818285f98dfb61fd57' into PHP-5.3 2012-06-03 19:00:49 -03:00
Felipe Pena 60c5f9910f Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Optimize comparison between same HashTable pointer
  - Fixed bug #62205 (php-fpm segfaults (null passed to strstr))
  - fix missing include for unix sockets
  - Comment unused function to avoid warnings
2012-06-03 18:20:26 -03:00
Felipe Pena d57b278ad1 - Optimize comparison between same HashTable pointer 2012-06-03 18:16:57 -03:00
Felipe Pena e59b6dc0ae - Fixed information leak in ext exif (discovered by Martin Noga, Matthew "j00ru" Jurczyk, Gynvael Coldwind) 2012-06-03 15:23:07 -03:00
Jerome Loyet 1fa8ecd082 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4
* 'PHP-5.4' of git.php.net:php-src: (27 commits)
  Fixed Bug #62202 (ReflectionParameter::getDefaultValue() memory leaks with constant)
  sort NEWS
  fix bug #55042 - erealloc without updating pointer
  Fix bug #62186 readline fails to compile
  fix unchecked emalloc (cherry picked from commit 158d8a6b08)
  fix test
  fix test
  Typofix in comment in proc_open.c
  fix CVE-2012-2143
  updated the libmagic patch after Felipes regex fix
  Fix bug #62150 Test Bug - ext/fileinfo/tests/finfo_open_error.phpt
  Bug #62177 deactivate the linux test version on win
  Fix bug #62177 Test Bug - finfo_file_regex.phpt
  Fixed bug #62176 Test Bug - sapi/cli/tests/bug61546.phpt
  fix unchecked emalloc
  add CVE
  add bug 62146
  add bug #62082
  sync with HEAD
  sync with HEAD
  ...
2012-06-01 11:30:49 +02:00
Jerome Loyet 238caeb63c - Fixed bug #62205 (php-fpm segfaults (null passed to strstr)) 2012-06-01 11:23:01 +02:00
Jerome Loyet ec4a1d576b - fix missing include for unix sockets 2012-06-01 11:22:18 +02:00
Jerome Loyet 43ec708882 - Comment unused function to avoid warnings 2012-06-01 11:22:02 +02:00
Jerome Loyet 38ca8cb7a1 - Fixed bug #62205 (php-fpm segfaults (null passed to strstr)) 2012-06-01 11:18:48 +02:00
Jerome Loyet 35abf3f20c - fix missing include for unix sockets 2012-06-01 11:16:53 +02:00
Jerome Loyet 59e0930d37 - Comment unused function to avoid warnings 2012-06-01 11:16:00 +02:00
Xinchen Hui b548d9ad2e Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed Bug #62202 (ReflectionParameter::getDefaultValue() memory leaks with constant)
2012-06-01 15:00:02 +08:00
Xinchen Hui 1f5327a602 Fixed Bug #62202 (ReflectionParameter::getDefaultValue() memory leaks with constant) 2012-06-01 14:57:27 +08:00
Reeze Xia 13a9555342 Implemented FR #61602 Allow access to name of constant used as default value
This is an improved commit for FR #61602, this fixed the previous
commit 054f3e3's C99 compiler compatibility issue
2012-05-31 23:31:00 +08:00
Stanislav Malyshev 5ebb0e520f sort NEWS 2012-05-30 22:34:29 -07:00
Stanislav Malyshev ed6ce83101 fix bug #55042 - erealloc without updating pointer 2012-05-30 22:26:26 -07:00
Johannes Schlüter 303dd7f346 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fix unchecked emalloc (cherry picked from commit 158d8a6b08)
2012-05-31 01:16:42 +02:00
Johannes Schlüter 428dddd3e8 Fix bug #62186 readline fails to compile 2012-05-31 01:15:22 +02:00
Stanislav Malyshev fa05f038cb fix unchecked emalloc
(cherry picked from commit 158d8a6b08)
2012-05-30 21:37:28 +02:00
Stanislav Malyshev 9b98cf7865 fix test 2012-05-29 23:52:47 -07:00
Stanislav Malyshev abe6362716 fix test 2012-05-29 23:52:47 -07:00
Xinchen Hui 7511f972fd Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Typofix in comment in proc_open.c
2012-05-30 14:43:55 +08:00
Jille Timmermans a331f43f8c Typofix in comment in proc_open.c 2012-05-30 14:42:39 +08:00
Stanislav Malyshev 692b3bcd88 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fix CVE-2012-2143
2012-05-29 23:08:04 -07:00
Stanislav Malyshev aab49e934d fix CVE-2012-2143 2012-05-29 23:07:04 -07:00
Anatoliy Belsky 6074da9809 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  updated the libmagic patch after Felipes regex fix
2012-05-29 17:41:57 +02:00
Anatoliy Belsky 8d5e953a19 updated the libmagic patch after Felipes regex fix 2012-05-29 17:38:30 +02:00
Anatoliy Belsky c0e046a130 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #62150 Test Bug - ext/fileinfo/tests/finfo_open_error.phpt
  Bug #62177 deactivate the linux test version on win
  Fix bug #62177 Test Bug - finfo_file_regex.phpt
2012-05-29 16:43:20 +02:00
Matt Ficken ad0371ac7e Fix bug #62150 Test Bug - ext/fileinfo/tests/finfo_open_error.phpt 2012-05-29 16:38:57 +02:00
Matt Ficken b4b0aaae93 Bug #62177 deactivate the linux test version on win 2012-05-29 16:37:19 +02:00
Matt Ficken dbc727373c Fix bug #62177 Test Bug - finfo_file_regex.phpt 2012-05-29 16:31:47 +02:00
Anatoliy Belsky c4f9b01422 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #62176 Test Bug - sapi/cli/tests/bug61546.phpt
  sync with HEAD
  Fixed bug #61218 (the previous patch was not enough restritive on fcgi name string checks)
  Fixed bug #61218 (FPM drops connection while receiving some binary valuesin FastCGI requests)
  - Fixed bug #62033 (USR2 signal was sent even if not catch when daemonize and an error occured)
  - Fixed bug #62160 (Add process.priority to set nice(2) priorities)
  - add missing headers to avoid warnings
  - Fixed bug #62153 (when using unix sockets, multiples FPM instances can be launched without errors)
  - Fixed bug #62033 (php-fpm exits with status 0 on some failures to start)

Conflicts:
	NEWS
	sapi/fpm/fpm/fpm_main.c
2012-05-29 12:19:20 +02:00
Matt Ficken 4054890b26 Fixed bug #62176 Test Bug - sapi/cli/tests/bug61546.phpt 2012-05-29 11:41:44 +02:00
Stanislav Malyshev 158d8a6b08 fix unchecked emalloc 2012-05-28 18:54:15 -07:00
Stanislav Malyshev 213119c83f add CVE 2012-05-28 18:54:02 -07:00
Stanislav Malyshev 0a90643e53 add bug 62146 2012-05-28 17:43:36 -07:00
Stanislav Malyshev 4b04bf8793 add bug #62082 2012-05-28 17:38:33 -07:00
Nuno Lopes 339508d6ac sync with HEAD 2012-05-27 20:14:31 -04:00
Nuno Lopes 72911237b5 sync with HEAD 2012-05-27 20:13:09 -04:00
Jerome Loyet 773e85a788 Fixed bug #61218 (the previous patch was not enough restritive on fcgi name string checks) 2012-05-26 19:37:09 +02:00
Jerome Loyet 2f7bd57f93 Fixed bug #61218 (the previous patch was not enough restritive on fcgi name string checks) 2012-05-26 19:36:01 +02:00
Jerome Loyet 60cca8b9c9 Fixed bug #61218 (FPM drops connection while receiving some binary values in FastCGI requests) 2012-05-26 19:27:45 +02:00
Jerome Loyet e7ff3e839b Fixed bug #61218 (FPM drops connection while receiving some binary valuesin FastCGI requests) 2012-05-26 19:27:02 +02:00
Jerome Loyet e052da3a6b Fixed bug #62033 (USR2 signal was sent even if not catch when daemonize and an error occured) 2012-05-26 18:48:40 +02:00
Jerome Loyet 0298b92b69 - Fixed bug #62033 (USR2 signal was sent even if not catch when daemonize and an error occured) 2012-05-26 18:44:35 +02:00
Jerome Loyet decc394a20 - Fixed bug #62160 (Add process.priority to set nice(2) priorities) 2012-05-26 18:24:08 +02:00
Jerome Loyet f6655b62d8 - Fixed bug #62160 (Add process.priority to set nice(2) priorities) 2012-05-26 18:22:12 +02:00
Jerome Loyet 0037598252 - add missing headers to avoid warnings 2012-05-26 17:38:08 +02:00
Jerome Loyet 63e11f9025 - add missing headers to avoid warnings 2012-05-26 17:37:33 +02:00
Jerome Loyet d90003b549 - Fixed bug #62153 (when using unix sockets, multiples FPM instances can be launched without errors) 2012-05-25 21:22:54 +02:00
Jerome Loyet a7761262f7 - Fixed bug #62153 (when using unix sockets, multiples FPM instances can be launched without errors) 2012-05-25 21:21:44 +02:00
Jerome Loyet c2f33fb129 - Fixed bug #62033 (php-fpm exits with status 0 on some failures to start) 2012-05-25 21:13:57 +02:00
Jerome Loyet bf9120ecae - Fixed bug #62033 (php-fpm exits with status 0 on some failures to start) 2012-05-25 21:10:17 +02:00
Xinchen Hui 91ad40d9bb Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #62128 superfluous ";"
2012-05-25 22:33:17 +08:00
Xinchen Hui c3547f1935 Fixed bug #62128 superfluous ";" 2012-05-25 22:31:49 +08:00
Reeze Xia 1d2f619049 Fixed bug #61964 (finfo_open with directory cause invalid free) 2012-05-25 18:55:34 +08:00
Anatoliy Belsky 16a592b13a Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #62149 Test Bug - ext/curl/tests/bug61948
  Fixed bug #62148 mail_skipif doesn't skip imap tests on Release Build
2012-05-25 10:52:38 +02:00
Matt Ficken 86d2fafded Fixed bug #62149 Test Bug - ext/curl/tests/bug61948 2012-05-25 10:44:59 +02:00
Matt Ficken 4aac4da673 Fixed bug #62148 mail_skipif doesn't skip imap tests on Release Build 2012-05-25 10:34:33 +02:00
Anatoliy Belsky 6fb0e4a401 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #62147 test bug - popen_pclose_basic-win32
2012-05-25 09:55:53 +02:00
Matt Ficken d4d36fba28 Fixed bug #62147 test bug - popen_pclose_basic-win32 2012-05-25 09:53:51 +02:00
Johannes Schlüter 3cd50ca714 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #62146 	com_dotnet cannot be built shared, tested by Anatoliy
  Those changes are in 5.3.15
  - BFN
2012-05-25 00:23:51 +02:00
Johannes Schlüter 8fc9df3f67 Fix bug #62146 com_dotnet cannot be built shared, tested by Anatoliy 2012-05-25 00:22:25 +02:00
Johannes Schlüter cfea8e5d04 Those changes are in 5.3.15 2012-05-25 00:20:29 +02:00
Felipe Pena 6c9056ceb7 Merge branch 'PHP-5.3' of git.php.net:php-src into PHP-5.3 2012-05-24 13:45:36 -03:00
Felipe Pena abe0f17e88 - BFN 2012-05-24 13:45:03 -03:00
Felipe Pena 84b2c39920 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Fixed magic file regex support
2012-05-24 13:43:35 -03:00
Felipe Pena 11b4f3becd - Fixed magic file regex support 2012-05-24 13:42:47 -03:00
Xinchen Hui a10da87c6a Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #62073 (Different ways of iterating over an SplMaxHeap result in different keys)
2012-05-24 23:34:14 +08:00
Xinchen Hui bde86a6639 Fixed bug #62073
(Different ways of iterating over an SplMaxHeap result in in different keys)
2012-05-24 23:31:05 +08:00
Gustavo André dos Santos Lopes 04fd0b1098 Merge branch '5.3' into 5.4 2012-05-24 14:33:24 +02:00
Gustavo André dos Santos Lopes 85c777d2f1 Fixed bug #55610: ResourceBundle and Traversable 2012-05-24 14:33:05 +02:00
Gustavo André dos Santos Lopes 888e77ff73 Fixed last commit on 5.4
There's no change from the intended behavior. If INTL_G(default_locale)
is NULL, the default ICU locale, as given by locale_get_default() in
master, will still be used by ures_open().
2012-05-24 14:17:52 +02:00
Anatoliy Belsky 72c7cfe6f2 Fixed bug #62140 ext\standard\tests\file\tempnam_variation7-win32.phpt fails 2012-05-24 13:58:42 +02:00
Gustavo André dos Santos Lopes 92039fed22 Changed ResourceBundle constructor behavior
null is now accepted for two first (mandatory arguments).

Passing null as the package name causes NULL to be passed to ICU  and
the default ICU data to be loaded.

Passing null as the locale name causes the default locale to be used.
2012-05-24 13:50:59 +02:00
Anatoliy Belsky 0e12a778df Fix bug #62139 ext\standard\tests\file\rename_variation13-win32.phpt fails 2012-05-24 13:26:32 +02:00
Anatoliy Belsky 0dc9b0e708 Fixed bug #62138 ext\standard\tests\dir\dir_variation8-win32.phpt fails 2012-05-24 12:39:00 +02:00
Anatoliy Belsky b5511dcfd7 Fix bug #62137 ext\phar\tests\fatal_error_webphar.phpt fails 2012-05-24 12:04:38 +02:00
Gustavo André dos Santos Lopes f1969d4b4c Update NEWS 2012-05-24 11:14:36 +02:00
Gustavo André dos Santos Lopes e8009e2dca Merge branch '5.3' into 5.4 2012-05-24 11:08:55 +02:00
Gustavo André dos Santos Lopes 2da2de46a8 Fixed bug #60785
Memory leak in IntlDateFormatter constructor.

udat_setCalendar() clones the calendar before it adopts it,
so we were leaking the original calendar.

Also we now validate the calendar type.
2012-05-24 11:06:21 +02:00
Rasmus Lerdorf 523fd2c244 Fix broken apache_request_headers test
This test depends on the default_charset setting, so set it to
UTF-8 for consistent output
2012-05-23 17:38:23 -07:00
Gustavo André dos Santos Lopes acd711685a Fixed bug #62097
This fixes the fix for bug #54547 in 32-bit machines by accepting
float comparisons in 32-bit machines as long as the integer is
not larger than the mantissa.
2012-05-23 18:55:36 -05:00
Gustavo André dos Santos Lopes 0838a2b7c5 Merge branch '5.3' into 5.4 2012-05-23 15:52:32 +02:00
Gustavo André dos Santos Lopes e08566c613 Fixed bug #62017
IntlDateFormatter constructor would release some resources
under certain error conditions.
2012-05-23 15:52:19 +02:00
Reeze Xia 9205c4fd62 Fixed bug #62073 (Different ways of iterating over an SplMaxHeap result in different keys) 2012-05-23 20:42:06 +08:00
Gustavo André dos Santos Lopes c449bf1443 Fixed bug number in NEWS 2012-05-23 13:42:24 +02:00
Gustavo André dos Santos Lopes 1c19146f46 Updated NEWS w.r.t to ext/intl changes 2012-05-23 13:35:11 +02:00
Gustavo André dos Santos Lopes 8ee8ccda19 Merge branch '5.3' into 5.4
Conflicts:
	sapi/fpm/fpm/fpm_main.c
2012-05-23 13:27:21 +02:00
Gustavo André dos Santos Lopes 1eff3b01b8 Fixed bug #6208: memory leak in grapheme_extract() 2012-05-23 13:25:45 +02:00
Gustavo André dos Santos Lopes 86ea921291 Fixed bug #62082
This was a buffer overflow in internal function
get_icu_disp_value_src_php().
2012-05-23 13:25:42 +02:00
Gustavo André dos Santos Lopes 07c0d714a5 Fixed bug #62081
Constructor of IntlDateFormatter would leak if called twice.

Made calling it more than once error out before starting
using resources.
2012-05-23 13:25:37 +02:00
Gustavo André dos Santos Lopes 51286bd8e5 Fixed bug #62070
Collator::getSortKey() was returning an unterminated string
due the length given to RETURN_STRINGL being off by one.
2012-05-23 13:25:32 +02:00
Jerome Loyet 1299503936 - Fixed bug #61026 (FPM pools can listen on the same address) 2012-05-23 11:53:04 +02:00
Jerome Loyet 5d61e56dd7 - Fixed bug #61026 (FPM pools can listen on the same address) 2012-05-23 11:52:04 +02:00
Jerome Loyet d236c1af8a Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4
* 'PHP-5.4' of git.php.net:php-src:
  Fix bug #62112: number_format() is not binary safe
2012-05-23 11:41:29 +02:00
Jerome Loyet 0b44f16ea2 - Fixed bug #61839 (Unable to cross-compile PHP with --enable-fpm) 2012-05-23 11:40:22 +02:00
Gustavo André dos Santos Lopes 3e62aae1b4 Fix bug #62112: number_format() is not binary safe
The bug report actually urges PHP 5.3's behavior to be
reinstated -- that is, make "\0", when used as a separator,
be the same as no separator at all. I believe that is not a
proper course of action and that "\0" being interpreted as
no seperator was a bug in PHP 5.3.

Using "" for no separator, in both 5.3 and 5.4, before and
after this change, causes no separator to be used, so
there is no functionality loss.
2012-05-23 11:37:27 +02:00
Jerome Loyet a07d76c0ba - Fixed bug #61295 (php-fpm should not fail with commented 'user' for non-root start) 2012-05-23 11:31:33 +02:00
Jerome Loyet 812d248193 - Fixed bug #61295 (php-fpm should not fail with commented 'user' for non-root start) 2012-05-23 11:30:27 +02:00
Jerome Loyet f4c38016b6 - Fix help message for '-R' 2012-05-23 10:36:45 +02:00
Jerome Loyet 757e3fc3d5 - fix help message for '-R' 2012-05-23 10:35:37 +02:00
Jerome Loyet 629273d11b - add missing help message for '-R' 2012-05-23 10:34:16 +02:00
Jerome Loyet 06c7c3674b - Fixed bug #61835 (php-fpm is not allowed to run as root) 2012-05-23 10:32:42 +02:00
Jerome Loyet 7b396c078c - Fixed bug #61835 (php-fpm is not allowed to run as root) 2012-05-23 09:49:13 +02:00
Xinchen Hui 8475c5b98d Merge remote-tracking branch 'origin/PHP-5.3' into PHP-5.4 2012-05-23 13:52:36 +08:00
Xinchen Hui 5b8316188c Revert NEWS 2012-05-23 13:52:18 +08:00
Xinchen Hui df481764f3 Revert "Implemented FR #61602 Allow access to name of constant used as default value"
This reverts commit 054f3e3ce5.

See: http://news.php.net/php.cvs/69137 and the author confirmed.
Will commit later after the author fixed this then make a new PR.

Conflicts:

	ext/reflection/php_reflection.c
2012-05-23 13:50:12 +08:00
Xinchen Hui f733173b1f Fix typo while resolving conflicts 2012-05-23 13:43:49 +08:00
Xinchen Hui a7df6ce664 Revert "Implemented FR #61602 Allow access to name of constant used as default value"
This reverts commit 054f3e3ce5.

See: http://news.php.net/php.cvs/69137 and the author confirmed.
Will commit later after the author fixed this then make a new PR.

Conflicts:

	ext/reflection/php_reflection.c
2012-05-23 13:39:00 +08:00
Anatoliy Belsky 29876c5c29 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #62109 tests\basic\bug46313-win.phpt fails
  - Fixed bug #61045 (fpm don't send error log to fastcgi clients)
2012-05-22 18:43:10 +02:00
Anatoliy Belsky 621fddab93 Fix bug #62109 tests\basic\bug46313-win.phpt fails 2012-05-22 18:41:03 +02:00
Jerome Loyet bdf0c9ccbe Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4
* 'PHP-5.4' of git.php.net:php-src:
  add news for new pg_ functions
2012-05-22 08:47:40 +02:00
Jerome Loyet dce259099d - Fixed bug #61045 (fpm don't send error log to fastcgi clients) 2012-05-22 08:40:37 +02:00
Jerome Loyet d1e529c1cb - fix NEWS for bug #61812 2012-05-22 08:38:09 +02:00
Jerome Loyet faca4e08b4 - Fixed bug #61045 (fpm don't send error log to fastcgi clients) 2012-05-22 08:34:27 +02:00
Stanislav Malyshev a472649016 add news for new pg_ functions 2012-05-21 16:15:12 -07:00
Felipe Pena 074d361d64 - Fix the fix (typo s/AIX/_AIX/g) 2012-05-21 08:54:59 -03:00
Xinchen Hui 4c9a11c857 Use free instead of efree 2012-05-21 19:02:45 +08:00
Xinchen Hui bbcea230e1 Use emalloc instead of malloc 2012-05-21 18:58:19 +08:00
Anatoliy Belsky fbb86bd7b3 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #62066 Test Bug - ext/tidy/tests/004.phpt
2012-05-21 12:52:10 +02:00
Matt Ficken c973fef48d Fix bug #62066 Test Bug - ext/tidy/tests/004.phpt 2012-05-21 12:51:24 +02:00
Anatoliy Belsky 77e70b391c Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #62068 Test bug - gmp_nextprime and 022
  Fix: 62067 Moved comments to FILE section
  - BFN

Conflicts:
	NEWS
2012-05-21 12:37:59 +02:00
Matt Ficken 645d65f3e3 Fixed bug #62068 Test bug - gmp_nextprime and 022 2012-05-21 12:31:16 +02:00
Dmitry Stogov 2ae8d2fbfb Fixed bug #61998 (Using traits with method aliases appears to result in crash during execution) 2012-05-21 13:57:41 +04:00
Dmitry Stogov c8f47a8e7c Fixed bug #61998 (Using traits with method aliases appears to result in crash during execution) 2012-05-21 13:46:07 +04:00
Felipe Pena c5fcd9f5af - BFN 2012-05-20 19:41:15 -03:00
Felipe Pena ffe8303f24 - Fixed bug #62025 (__ss_family was changed on AIX 5.3) 2012-05-20 19:37:20 -03:00
zoe slattery 867447f420 Fix: 62067 Moved comments to FILE section 2012-05-19 16:34:16 +01:00
zoe slattery 778d69ddfe Fix: 62067 Moved comments to FILE section 2012-05-19 16:33:36 +01:00
Felipe Pena c9331a3ef2 - BFN 2012-05-18 21:26:24 -03:00
Felipe Pena 79d52503a4 - BFN 2012-05-18 19:38:02 -03:00
Felipe Pena 88275e547f Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Fixed bug #62064 (memory leak in the XML Writer module)
2012-05-18 19:23:42 -03:00
Felipe Pena 6d928fd26d - Fixed bug #62064 (memory leak in the XML Writer module) 2012-05-18 19:23:29 -03:00
Christopher Jones 29a85d49ae Dummy (whitespace) change so Dan Brown can verify snap generation from git
PHP snapshots were still pulling from SVN and were out of date. This
is a dummy PHP 5.4-only commit so Dan can verify what he's updated for
git in the backend.
2012-05-16 10:13:34 -07:00
Johannes Schlüter 89e7a195bc Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  PHP 5.3.15-dev

Conflicts:
	configure.in
	main/php_version.h
2012-05-16 16:50:33 +02:00
Johannes Schlüter 72a9b595ca PHP 5.3.15-dev 2012-05-16 16:49:35 +02:00
Johannes Schlüter 67039363cd Merge branch 'PHP-5.3' of git.php.net:/php-src into PHP-5.3
* 'PHP-5.3' of git.php.net:/php-src:
  Fix for bug#62046
2012-05-16 16:46:08 +02:00
Johannes Schlüter 1f6f619451 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fd fix
  fix bug #61065 (cherry picked from commit a10e778bfb)
2012-05-16 16:40:29 +02:00
Stanislav Malyshev 6e51989501 fd fix 2012-05-16 16:35:16 +02:00
Stanislav Malyshev 4eb802bb14 fix bug #61065
(cherry picked from commit a10e778bfb)
2012-05-16 16:30:29 +02:00
andrey 4d2d8e8717 Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	ext/mysqlnd/mysqlnd_ps.c

merge fix for bug#62046
2012-05-16 15:59:39 +02:00
andrey d4afbd487a Fix for bug#62046
Bug#62046 mysqli@mysqlnd can't iterate over stored sets after call to
mysqli_stmt_reset().

Stmt's state was changed to STMT_PREPARED and leads the driver to think
that the stmt was just prepared. Because result set exist also for only
prepared but not executed sets, the check for stmt->result isn't any good.
There is a result set, because as response for COM_PREPARE the server sends
metadata and metadata is part of a result set. After COM_EXECUTE the server
sends metadata again, which could be different and in this case more correct.
2012-05-16 14:28:55 +02:00
Felipe Pena 1abcd81872 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Fixed bug #55299 (multiple null pointer in win32/registry.c)
2012-05-16 08:40:45 -03:00
Felipe Pena 93c91c733c - Fixed bug #55299 (multiple null pointer in win32/registry.c) 2012-05-16 08:40:12 -03:00
Stanislav Malyshev d84fa39667 Revert "Update test to fix breakage caused by the previous commit."
This reverts commit 05c8d4766c.
Connected to revert 7bbd5521d2.
2012-05-15 23:25:06 -07:00
Stanislav Malyshev e36a5a1197 fix test 2012-05-15 23:09:46 -07:00
Stanislav Malyshev be8b1c74cf to 5.4.5-dev 2012-05-15 22:46:49 -07:00
Stanislav Malyshev df2a38e7f8 fd fix 2012-05-15 22:35:43 -07:00
Stanislav Malyshev a10e778bfb fix bug #61065 2012-05-15 22:34:34 -07:00
zoe slattery 63401268db Changes to remaining two tests, #62022 2012-05-15 14:39:51 +01:00
zoe slattery d99203d44b Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Small fixes to tests, see #62022
2012-05-15 11:43:28 +01:00
zoe slattery e35f09d774 Small fixes to tests, see #62022 2012-05-15 11:42:14 +01:00
zoe slattery 968dfae6d1 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Change impl of GZIP_POST, DEFLATE_POST. See #62021
2012-05-15 11:06:14 +01:00
zoe slattery 1af8b3f883 Change impl of GZIP_POST, DEFLATE_POST. See #62021 2012-05-15 11:05:20 +01:00
Michael Wallner 956d74572a BFN 2012-05-15 11:26:13 +02:00
Sebastian Bergmann 38398529b8 Fix NEWS entry for #61602. 2012-05-15 11:14:36 +02:00
Sebastian Bergmann 83449b48d4 Merge branch 'add-const-name' of git://github.com/reeze/php-src into PHP-5.4 2012-05-15 11:08:08 +02:00
Michael Wallner 0ad53bfd7d fix bug #60761 zlib.output_compression fails on refresh 2012-05-15 09:33:47 +02:00
Christopher Jones d9788dd73f Bump to 5.4.4-dev 2012-05-14 12:43:36 -07:00
Stanislav Malyshev a72b21438d update NEWS/UPGRADING 2012-05-13 14:48:22 -07:00
Stanislav Malyshev a0dff6fdca fix bug #61782 - __clone/__destruct do not match other methods when checking access controls 2012-05-13 14:40:44 -07:00
Stanislav Malyshev 9344bf193c fix bug #54547 2012-05-13 14:40:44 -07:00
Stanislav Malyshev 58482206f5 update NEWS 2012-05-12 19:39:12 -07:00
Xinchen Hui 6a5095582a Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed Bug #62005 (unexpected behavior when incrementally assigning to a member of a null object)
  fix stack overflow in php_intlog10abs()

Conflicts:
	Zend/zend_execute.c
2012-05-12 13:19:55 +08:00
Xinchen Hui 3332943c9d Fixed Bug #62005 (unexpected behavior when incrementally assigning to a member of a null object) 2012-05-12 13:13:44 +08:00
Nuno Lopes 8b4b70df56 fix stack overflow in php_intlog10abs()
bug uncovered by LLVM/clang's new -fbounds-checking switch
this patch fixes a crash in ext/standard/tests/math/round_large_exp.phpt
2012-05-11 13:07:21 -04:00
Nuno Lopes 950d5ee590 fix stack overflow in php_intlog10abs()
bug uncovered by LLVM/clang's new -fbounds-checking switch
this patch fixes a crash in ext/standard/tests/math/round_large_exp.phpt
2012-05-11 13:07:00 -04:00
Anatoliy Belsky 4458f3bcf6 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #61990 ext\spl\examples\tests\dualiterator_001.phpt fails
2012-05-11 14:38:43 +02:00
Anatoliy Belsky 81ba6b14c7 Fix bug #61990 ext\spl\examples\tests\dualiterator_001.phpt fails
This fixes a general issue. In this ticket and not for the first time
is being seen, that people are trying to use data from "examples"
in the tests. When extracting a test pack only "tests" and its siblings
was taken into account. Now "examples" are copied as well.
2012-05-11 14:24:12 +02:00
Xinchen Hui 24e03d875f Merge branch 'remove-useless-func-decleare' of https://github.com/reeze/php-src into PHP-5.4 2012-05-11 20:07:27 +08:00
Reeze Xia 0cb4849e53 Cleanup useless function declaration for traits 2012-05-11 16:52:12 +08:00
Anatoliy Belsky b43d6c8522 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #61992 ext\standard\tests\general_functions\bug44295.phpt fails
2012-05-10 17:32:21 +02:00
Anatoliy Belsky 266578f584 Fix bug #61992 ext\standard\tests\general_functions\bug44295.phpt fails
Exception text differ on windows
2012-05-10 17:07:38 +02:00
Anatoliy Belsky fc0c9054e6 updated NEWS 2012-05-10 15:56:50 +02:00
Anatoliy Belsky 19f85f8676 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  updated NEWS
2012-05-10 15:52:37 +02:00
Anatoliy Belsky 652632a89b updated NEWS 2012-05-10 15:48:56 +02:00
Anatoliy Belsky 10d5f2301a Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug ext\standard\tests\file\realpath_cache_win32.phpt fails
2012-05-10 15:36:47 +02:00
Anatoliy Belsky f7d8b274c7 Fix bug ext\standard\tests\file\realpath_cache_win32.phpt fails
What happens here is trivial long overflow. Despite the bug attracted
attention on windows, the same story is on linux. Just wait for a big
anough bucket->key . The linux test had %i to check the key value
which should be %d all the way.
2012-05-10 15:27:44 +02:00
Anatoliy Belsky f76d7be876 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug 61901 ext\phar\tests\phar_buildfromdirectory2.phpt fails
2012-05-09 13:04:32 +02:00
Anatoliy Belsky 7fb16d5bd9 Fix bug 61901 ext\phar\tests\phar_buildfromdirectory2.phpt fails
Another error message is produced by win specific code
2012-05-09 13:02:33 +02:00
Xinchen Hui d394c17293 Correct test title 2012-05-09 11:28:57 +08:00
Xinchen Hui 1e60d0c105 Implemented FR #61977 (Need CLI web-server support for files with .htm & svg extensions) 2012-05-09 11:27:39 +08:00
Xinchen Hui 7b2ab56997 Fix test failed, the fsockopen will be refused immediately if the server is not set up. 2012-05-09 11:21:24 +08:00
Felipe Pena f46a064760 - BFN 2012-05-08 21:07:29 -03:00
Felipe Pena 92bc49b2b0 - Fixed bug #61978 (Object recursion not detected for classes that implement JsonSerializable) 2012-05-08 21:05:51 -03:00
David Soria Parra 2cb0ed1328 Typo 2012-05-08 22:08:54 +02:00
Anatoliy Belsky 87fa84abde Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug 61746 Failing tests in ext/standard/tests/file/windows_links/*
2012-05-08 19:35:13 +02:00
Matt Ficken c12fdbde5f Fix bug 61746 Failing tests in ext/standard/tests/file/windows_links/*
Fixed that again for systems having their %SYSTEMROOT% not in
c:\windows
2012-05-08 19:31:41 +02:00
Stanislav Malyshev 057f4719d3 c++ comments 2012-05-08 10:19:24 -07:00
Stanislav Malyshev 1919ec5a55 restore BC 2012-05-08 10:19:24 -07:00
Stanislav Malyshev bd8912e47c ws + restore BC to apache_request_headers 2012-05-08 10:19:23 -07:00
Stanislav Malyshev 20364bcff9 fix bug #61807 - Buffer Overflow in apache_request_headers 2012-05-08 10:19:23 -07:00
Anatoliy Belsky 0b4d7a455d Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  updated NEWS
2012-05-08 18:52:48 +02:00
Anatoliy Belsky 838b4b8ff7 updated NEWS 2012-05-08 18:51:49 +02:00
Anatoliy Belsky 4b307984df Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug 61713 check also that mbstring's found any internal_encoding
2012-05-08 18:34:32 +02:00
Anatoliy Belsky d776a933eb Fix bug 61713 check also that mbstring's found any internal_encoding 2012-05-08 18:31:11 +02:00
Anatoliy Belsky 8987ad5cb2 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #61713 ext\standard\tests\strings\htmlentities10.phpt fails
2012-05-08 18:14:38 +02:00
Anatoliy Belsky 3a4a25358f Fix bug #61713 ext\standard\tests\strings\htmlentities10.phpt fails
There is a logic error in charset detection part for htmlentities.
When mbstring is compiled shared and mbstring.internal_encoding
is set to pass, it prevents default_charset from being checked
resulting iso-8859-1 being choosed.
2012-05-08 17:42:01 +02:00
Johannes Schlüter e8e661128a Fix #61704 (Crash apache, phpinfo() threading issue) 2012-05-08 17:30:05 +02:00
Johannes Schlüter fb3b6bcf83 Fix folding marks 2012-05-08 15:18:33 +02:00
Johannes Schlüter 340091469a Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  This will be PHP 5.3.14
  improve fix for CVE-2012-1823
2012-05-08 11:49:50 +02:00
Johannes Schlüter e120a0c7f3 This will be PHP 5.3.14 2012-05-08 11:28:15 +02:00
Stanislav Malyshev b50101764b improve fix for CVE-2012-1823 2012-05-07 12:14:57 -07:00
Stanislav Malyshev 000e84aa88 improve fix for CVE-2012-1823 2012-05-07 12:14:21 -07:00
Anatoliy Belsky 09664063a8 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug 61905 ext\phar\tests\zip\phar_commitwrite.phpt fails
  Fix bug 61903 ext\phar\tests\tar\phar_commitwrite.phpt fails
2012-05-07 15:40:16 +02:00
Anatoliy Belsky 2068419ae5 Fix bug 61905 ext\phar\tests\zip\phar_commitwrite.phpt fails 2012-05-07 15:39:07 +02:00
Anatoliy Belsky ce59121c5f Fix bug 61903 ext\phar\tests\tar\phar_commitwrite.phpt fails 2012-05-07 15:37:29 +02:00
Matt Ficken 87a011d372 Fix bug 61769 Random failure of php_cli_server*phpt tests 2012-05-06 18:05:02 +02:00
Xinchen Hui ad3a42c26c correct variable name 2012-05-06 20:37:03 +08:00
Xinchen Hui 376635cde8 Merge branch 'PHP-5.3' into PHP-5.4 2012-05-06 20:32:15 +08:00
Xinchen Hui 99076bc24f Change the test folder 2012-05-06 20:31:40 +08:00
Xinchen Hui 4cceeb25b7 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #61730 (Segfault from array_walk modifying an array passed by reference)
2012-05-06 20:28:18 +08:00
Xinchen Hui 7ccd594392 Fixed bug #61730 (Segfault from array_walk modifying an array passed by reference) 2012-05-06 20:01:10 +08:00
Nikita Popov bef6111609 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Add NEWS entry for bug #61961
  Fixed Bug #61961 (file_get_content leaks when access empty file with max length)
2012-05-06 13:33:47 +02:00
Nikita Popov 304ac568c5 Add NEWS entry for bug #61961 2012-05-06 13:19:17 +02:00
Nikita Popov 311ee8f69c Merge branch 'pull-request/76' into PHP-5.3 2012-05-06 12:45:45 +02:00
Reeze Xia 3e9923dd8d Fixed Bug #61961 (file_get_content leaks when access empty file with max length) 2012-05-06 18:27:26 +08:00
Xinchen Hui 0747b29bdf Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  correct NEWS
  Fixed bug #61948 (CURLOPT_COOKIEFILE '' raises open_basedir restriction)

Conflicts:
	ext/curl/interface.c
2012-05-06 00:52:51 +08:00
Xinchen Hui 4632fe0eef correct NEWS 2012-05-06 00:51:20 +08:00
Xinchen Hui 19632ae7dc Fixed bug #61948 (CURLOPT_COOKIEFILE '' raises open_basedir restriction) 2012-05-06 00:50:37 +08:00
Xinchen Hui 035ce937e1 Fixed bug #61948 (CURLOPT_COOKIEFILE '' raises open_basedir restriction) 2012-05-06 00:40:49 +08:00
David Soria Parra 948ab62c25 Merge branch 'PHP-5.3' into PHP-5.4
By Rasmus Lerdorf
* PHP-5.3:
  Fix for CVE-2012-1823 (cherry picked from commit 29300b1f9d)
2012-05-05 17:36:55 +02:00
Rasmus Lerdorf 168e8920be Fix for CVE-2012-1823
(cherry picked from commit 29300b1f9d)
2012-05-05 17:34:07 +02:00
Rasmus Lerdorf 0556103f6a Fix for CVE-2012-1823 2012-05-04 11:58:24 -07:00
Anatoliy Belsky f5936cceeb Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #61906 ext\phar\tests\zip\phar_setsignaturealgo2.phpt fails
2012-05-04 11:42:05 +02:00
Anatoliy Belsky 8a10259642 Fix bug #61906 ext\phar\tests\zip\phar_setsignaturealgo2.phpt fails 2012-05-04 11:40:49 +02:00
Anatoliy Belsky 16fdf86ea3 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #61904 ext\phar\tests\tar\phar_setsignaturealgo2.phpt
2012-05-04 11:32:12 +02:00
Anatoliy Belsky 6c12252790 Fix bug #61904 ext\phar\tests\tar\phar_setsignaturealgo2.phpt 2012-05-04 11:29:49 +02:00
Christopher Jones 31ab04ee25 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Bump to next version

Conflicts:
	configure.in
	main/php_version.h
2012-05-03 12:22:39 -07:00
Christopher Jones 0956c00af9 Bump to next version
Bump PHP version number
2012-05-03 12:03:49 -07:00
Xinchen Hui 72f19e9a8b Fixed bug #61922 (ZTS build doesn't accept zend.script_encoding config) 2012-05-03 22:39:53 +08:00
Xinchen Hui d74d88fbb9 Fixed test bug #61892 2012-05-03 19:56:49 +08:00
Xinchen Hui 75d23f5714 Merge remote-tracking branch 'origin/PHP-5.3' into PHP-5.4
* origin/PHP-5.3:
  Fix typo
2012-05-03 18:40:57 +08:00
Xinchen Hui bbf8a50281 Fix typo
picked form pull request of reeze.xia@gmail.com
2012-05-03 18:39:03 +08:00
Anatoliy Belsky cdce62b724 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug 61902 ext\phar\tests\phar_setsignaturealgo2.phpt falis
2012-05-02 21:41:33 +02:00
Anatoliy Belsky 69ed09a31c Fix bug 61902 ext\phar\tests\phar_setsignaturealgo2.phpt falis
openssl needs explicit openssl.cnf on windows
2012-05-02 21:38:32 +02:00
andrey 67419499b2 Merge branch 'PHP-5.3' into PHP-5.4 2012-05-02 15:57:08 +02:00
andrey b42d000471 Fix for bug#61411
Bug #61411 PDO Segfaults with PERSISTENT == TRUE && EMULATE_PREPARES == FALSE
Wrong allocation, that doesn't follow the scheme of using stmt->persistent
was the root cause of the problem and the crash at free.
2012-05-02 15:55:22 +02:00
Stanislav Malyshev e25eea8b83 merge 5.3.11 stuff 2012-05-02 00:08:04 -07:00
Stanislav Malyshev b0e8be8aea organize NEWS 2012-05-02 00:00:59 -07:00
Stanislav Malyshev 7bbd5521d2 Revert "Fix bug #61537 (json_encode() incorrectly truncates/discards information) and"
This reverts commit cb2a1c71c9.
The fix is not correct, not fixed after discussion on github.
Please fix the issues and reapply the patch
2012-05-01 23:54:10 -07:00
Christopher Jones 93192ec56d Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Make output order for dom007.phpt platform independent
2012-05-01 15:49:19 -07:00
Christopher Jones 72507d38fb Merge branch 'bug61810' into PHP-5.3
* bug61810:
  Make output order for dom007.phpt platform independent
2012-05-01 15:47:54 -07:00
Christopher Jones d14f23365c Make output order for dom007.phpt platform independent
This test has long been near the top of the reported output diffs.
For example, on http://qa.php.net/reports/?version=5.4.0 it has diffed
1307 times out of 3543 reports, at time of this commit.  (The second
highest diff has occurred 710 times.)
2012-05-01 15:43:31 -07:00
Christopher Jones cac09f3333 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix masking in bug61115-1.phpt
2012-05-01 14:34:54 -07:00
Christopher Jones 02e25df8b5 Merge branch 'fix-bug61115-1.phpt-for-no-debug' into PHP-5.3
* fix-bug61115-1.phpt-for-no-debug:
  Fix masking in bug61115-1.phpt
2012-05-01 14:33:57 -07:00
Christopher Jones c864b1ca2f Fix masking in bug61115-1.phpt
The test bug61115-1.phpt was diffing for non-debug builds
2012-05-01 14:32:09 -07:00
Felipe Pena 4deb0f1a0a - Regenerated files 2012-04-30 15:57:00 -03:00
Felipe Pena 79961dccab - Fixed Windows build 2012-04-30 15:55:57 -03:00
Anatoliy Belsky 819a7ae6a1 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2012-04-30 17:25:25 +02:00
Anatoliy Belsky 47c8b6039a Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug 61868 ext\dom\tests\DOMDocument_validate_on_parse_variation.phpt fails
2012-04-30 17:25:11 +02:00
Anatoliy Belsky d26e006d7f Fix bug 61868 ext\dom\tests\DOMDocument_validate_on_parse_variation.phpt fails 2012-04-30 17:23:49 +02:00
Felipe Pena 1622843162 - Regenerated files 2012-04-30 10:35:28 -03:00
Felipe Pena 3120387617 - Changed last commit to use VK_ESCAPE on Windows 2012-04-30 10:31:49 -03:00
Anatoliy Belsky fc24e74260 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Additional fixs for bug 61746 - prepare/clean acls
2012-04-30 14:36:42 +02:00
Anatoliy Belsky ec5421d044 Additional fixs for bug 61746 - prepare/clean acls 2012-04-30 14:33:48 +02:00
Anatoliy Belsky 36836f147c Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug 61870 ext\session\tests\bug42596.phpt fails
2012-04-30 12:10:43 +02:00
Anatoliy Belsky 680685127f Fix bug 61870 ext\session\tests\bug42596.phpt fails 2012-04-30 12:06:28 +02:00
Anatoliy Belsky 455040c4ab Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug ext\filter\tests\bug52209.phpt fails
2012-04-30 10:28:00 +02:00
Anatoliy Belsky 8249581a2d Fix bug ext\filter\tests\bug52209.phpt fails 2012-04-30 10:25:54 +02:00
Xinchen Hui 72ccce4b8b Merge remote-tracking branch 'origin/PHP-5.3' into PHP-5.4 2012-04-30 12:35:44 +08:00
Xinchen Hui a601605f14 merge test from PHP-5.4 2012-04-30 12:33:55 +08:00
Xinchen Hui d80a3d9668 Revert "Merge branch 'fix-pro_nice-test' of https://github.com/reeze/php-src into PHP-5.3"
After pushed, I found the test script in 5.4 is already fixed this, so
revert this change, and be consistent with 5.4's test

This reverts commit 24d85e4bd8, reversing
changes made to bae56a87f8.
2012-04-30 12:31:33 +08:00
Xinchen Hui 24d85e4bd8 Merge branch 'fix-pro_nice-test' of https://github.com/reeze/php-src into PHP-5.3 2012-04-30 12:29:15 +08:00
Xinchen Hui fd518ffc7e Merge remote-tracking branch 'origin/PHP-5.3' into PHP-5.4
* origin/PHP-5.3:
  Fixed bug #61546 (functions related to current script failed when chdir() in cli sapi).
  - BFN

Conflicts:
	sapi/cli/php_cli.c
2012-04-30 12:15:43 +08:00
Xinchen Hui bae56a87f8 Fixed bug #61546 (functions related to current script failed when chdir() in cli sapi). 2012-04-30 12:09:22 +08:00
Felipe Pena b336af29e1 - BFN 2012-04-29 19:48:00 -03:00
Felipe Pena 9aff3a1156 - BFN 2012-04-29 19:44:27 -03:00
Felipe Pena cc5b995c78 - Fixed bug #61827 (incorrect \e processing on Windows) patch by: ab@php.net 2012-04-29 19:35:52 -03:00
Felipe Pena 6008f9af8f Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Added missing bound check in iptcparse() (path by chris at chiappa.net)
2012-04-29 19:14:03 -03:00
Felipe Pena d44a383986 - Added missing bound check in iptcparse() (path by chris at chiappa.net) 2012-04-29 19:12:12 -03:00
reeze e52be10b30 Fix test for proc_nice: bsd ps command didn't support option -o "%p %n" 2012-04-30 00:59:54 +08:00
Anatoliy Belsky 6f8fae606b Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug 61685 putenv('TZ=UTC') doesn't update timezone for localtime()
2012-04-28 11:44:54 +02:00
Matt Ficken dc6d283b1c Fix bug 61685 putenv('TZ=UTC') doesn't update timezone for localtime() 2012-04-28 11:42:42 +02:00
Anatoliy Belsky 3dbe48762f Fix bug 61786 Failing tests in ext\session\tests\* 2012-04-26 15:39:45 +02:00
Anatoliy Belsky 94d96f7782 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #61791 ext\sqlite3\tests\sqlite3_15_open_error.phpt fails

Conflicts:
	ext/sqlite3/tests/sqlite3_15_open_error.phpt
2012-04-26 15:17:46 +02:00
Anatoliy Belsky 4daab0abec Fix bug #61791 ext\sqlite3\tests\sqlite3_15_open_error.phpt fails 2012-04-26 15:14:26 +02:00
Anatoliy Belsky 19df3c1b1c Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #61800 ext\standard\tests\streams\bug61371.phpt fails
2012-04-26 13:28:49 +02:00
Anatoliy Belsky 4e9db5ba9f Fix bug #61800 ext\standard\tests\streams\bug61371.phpt fails 2012-04-26 13:27:01 +02:00
Anatoliy Belsky 459e758f03 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Partial fix for bug 61743 to get correct icacls path
2012-04-25 18:46:22 +02:00
Anatoliy Belsky 433290e199 Partial fix for bug 61743 to get correct icacls path 2012-04-25 18:38:27 +02:00
Stanislav Malyshev 7d3d38abec sync version 2012-04-24 16:30:37 -07:00
Michael Wallner ac4d53cf70 fix NEWS order 2012-04-24 21:22:19 +02:00
Michael Wallner 52cb8ed314 BFN 2012-04-24 20:40:19 +02:00
Michael Wallner 7c93a16477 fix bug #61443
Since upgrade to PHP 5.4, we can't change zlib.output_compression on the
fly

the check for PHP_OUTPUT_WRITTEN was over-zealous
2012-04-24 20:35:49 +02:00
Michael Wallner df00b64cb9 fixed bug #61820
using ob_gzhandler will complain about headers already sent
when no compression

the Vary header should only be sent on the PHP_OUTPUT_HANDLER_START
event
2012-04-24 19:50:00 +02:00
Anatoliy Belsky f21376d668 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #61413 ext\openssl\tests\openssl_encrypt_crash.phpt fails 5.3 only
2012-04-24 14:08:26 +02:00
Anatoliy Belsky 270a406ac9 Fix bug #61413 ext\openssl\tests\openssl_encrypt_crash.phpt fails 5.3 only 2012-04-24 14:05:35 +02:00
Anatoliy Belsky c7f9f54a23 Bug 61610 adopted expected warnings for 5.4 2012-04-24 13:36:43 +02:00
Gustavo André dos Santos Lopes 485638a09c Merge branch '5.3' into 5.4 2012-04-23 22:10:23 +01:00
Gustavo André dos Santos Lopes 8d748e5de5 Fixed bug #61764: 'I' unpacks n as signed if n > 2^31-1 on LP64
Also fixed possible invalid read on big endian LP64.
2012-04-23 22:09:38 +01:00
Felipe Pena 883d40667d Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Fixed bug #61829 (Memory leak when calling MessageFormatter's constructor twice)
2012-04-23 15:19:23 -03:00
Felipe Pena c8865e3b84 - Fixed bug #61829 (Memory leak when calling MessageFormatter's constructor twice) 2012-04-23 15:18:12 -03:00
Anatoliy Belsky dd67f066f7 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #61811 three of finfo tests failed, see also #61812.
2012-04-22 19:29:52 +02:00
Anatoliy Belsky da1b534601 Fix bug #61811 three of finfo tests failed, see also #61812.
The remaining two was assidentially merged back from 5.4
2012-04-22 19:26:54 +02:00
Xinchen Hui 0d115ca211 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed warning implicit declaration of function 'file_printedlen'
2012-04-22 19:59:46 +08:00
Xinchen Hui f13b0ede07 Fixed warning implicit declaration of function 'file_printedlen' 2012-04-22 19:52:07 +08:00
Xinchen Hui 3ca1976b3c Update NEWS 2012-04-22 19:39:50 +08:00
Xinchen Hui b225330707 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #61812 (Uninitialised value used in libmagic)
2012-04-22 19:39:02 +08:00
Xinchen Hui c06e92a533 Fixed bug #61812 (Uninitialised value used in libmagic) 2012-04-22 19:38:14 +08:00
Johannes Schlüter a571039870 Merge branch 'PHP-5.4' of git.php.net:/php-src into PHP-5.4
* 'PHP-5.4' of git.php.net:/php-src:
  Fix test
  typo in test
  Make css string constant
  Fixed typo
  Improved performance while sending error page
  - BFN
  - BFN
  - Fixed bug #54197 ([PATH=] sections incompatibility with user_ini.filename set to null) patch by ab@php.net
  - Fixed expected test result (patch by ab@php.net in #61769)
  - Fix test title
  add pg_escape_identifier/pg_escape_literal
  fix RCs
  Update to 5.4.2-dev
  Bug#59597 NumberFormatter::parse() with TYPE_INT64 results in a 32 bit integer
2012-04-22 02:26:07 +02:00
Johannes Schlüter bb2f806534 Fix folding 2012-04-22 02:25:02 +02:00
Xinchen Hui 9a22bc2662 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix test
  - BFN
2012-04-21 16:03:18 +08:00
Xinchen Hui 2e9eb5e32f Fix test
Reported by cjones
2012-04-21 16:02:25 +08:00
Xinchen Hui 8d44b91731 typo in test 2012-04-21 10:15:35 +08:00
Xinchen Hui b999e91f5b Make css string constant 2012-04-21 09:31:00 +08:00
Xinchen Hui da85337d13 Fixed typo
report by reeze.xia@gmail.com
2012-04-21 00:11:06 +08:00
Xinchen Hui cc58373d4d Improved performance while sending error page
this also fixed bug #61785 (Memory leak when access a non-exists file without router)
2012-04-21 00:01:10 +08:00
Felipe Pena bca2d6b985 - BFN 2012-04-19 23:23:59 -03:00
Felipe Pena dd34fe52b9 - BFN 2012-04-19 23:23:46 -03:00
Felipe Pena d2798c6035 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Fixed bug #54197 ([PATH=] sections incompatibility with user_ini.filename set to null) patch by ab@php.net
2012-04-19 23:13:37 -03:00
Felipe Pena c3b0fb4fbe - Fixed bug #54197 ([PATH=] sections incompatibility with user_ini.filename set to null) patch by ab@php.net 2012-04-19 23:12:47 -03:00
Felipe Pena 0a46d63f7e - Fixed expected test result (patch by ab@php.net in #61769) 2012-04-19 20:15:11 -03:00
Felipe Pena d5bd45429c - Fix test title 2012-04-19 20:05:30 -03:00
Yasuo Ohgaki 655245afef add pg_escape_identifier/pg_escape_literal 2012-04-19 13:40:24 -07:00
Stanislav Malyshev 106e0a2e68 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Bug#59597 NumberFormatter::parse() with TYPE_INT64 results in a 32 bit integer
2012-04-19 11:37:31 -07:00
Stanislav Malyshev 5cbf2d6785 Merge branch 'pull-request/61' into PHP-5.3
* pull-request/61:
  Bug#59597 NumberFormatter::parse() with TYPE_INT64 results in a 32 bit integer
2012-04-19 11:28:30 -07:00
Stanislav Malyshev 2b8e9430c8 fix RCs 2012-04-19 10:45:21 -07:00
Christopher Jones 701332ce30 Update to 5.4.2-dev
After PHP-5.4.1 was branched, the PHP-5.4 branch should have been 5.4.2-dev.
2012-04-19 10:45:21 -07:00
Johannes Schlüter 36a5565467 Merge branch 'PHP-5.4' of git.php.net:/php-src into PHP-5.4
* 'PHP-5.4' of git.php.net:/php-src:
2012-04-19 12:48:18 +02:00
Johannes Schlüter 0589b19abf Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Commit generated file
  Fix bug #61755 parsing bug can lead to access violations
  Fix bug 61671 ext\spl\tests\fileobject_003.phpt fails
2012-04-19 12:47:47 +02:00
Johannes Schlüter c06ec6bde4 Commit generated file 2012-04-19 12:47:09 +02:00
Johannes Schlüter 1b78aef426 Fix bug #61755 parsing bug can lead to access violations 2012-04-19 12:46:02 +02:00
Anatoliy Belsky 1f4b4c384e Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug 61671 ext\spl\tests\fileobject_003.phpt fails
2012-04-19 11:36:50 +02:00
Anatoliy Belsky adfb4c62b7 Fix bug 61671 ext\spl\tests\fileobject_003.phpt fails
The solution was already introduced in 5.4 by Etienne Kneuss and
Pierre but wasn't merged back into 5.3 . SplFileObject should
not be used with directories. So just putting together all the
necessary pieces from 5.4
2012-04-19 11:33:12 +02:00
Sherif Ramadan 2827324c7c Bug#59597 NumberFormatter::parse() with TYPE_INT64 results in a 32 bit integer 2012-04-19 04:44:43 -04:00
Johannes Schlüter ff7e1ff677 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Drop old README
2012-04-19 00:30:45 +02:00
Johannes Schlüter 4650b2164b Drop old README 2012-04-19 00:29:24 +02:00
Johannes Schlüter cc85e7c313 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix slight grammar glitch (thanks Dan Brown)
2012-04-19 00:08:36 +02:00
Johannes Schlüter 710021d1d4 Fix slight grammar glitch (thanks Dan Brown) 2012-04-19 00:07:40 +02:00
Johannes Schlüter 900751e8ae Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Update generated file.
  Ensure the SQL parser is regenerated after changes.
2012-04-18 22:50:21 +02:00
Johannes Schlüter e946eaca0b Update generated file. 2012-04-18 22:49:03 +02:00
Johannes Schlüter dda60f3014 Ensure the SQL parser is regenerated after changes. 2012-04-18 22:48:49 +02:00
Xinchen Hui 56d8d35300 Fix NEWS, the previous wrong was introduced in commit cb2a1c71c9
http://git.php.net/?p=php-src.git;a=commitdiff;h=cb2a1c71c96d7c9b2ee03d77beae0c8e0d385f1b
2012-04-18 18:43:46 +08:00
Xinchen Hui 172aa3c6d7 update NEWS 2012-04-18 18:42:39 +08:00
Johannes Schlüter 0618e33b5d Merge branch 'PHP-5.4' of git.php.net:/php-src into PHP-5.4
* 'PHP-5.4' of git.php.net:/php-src:
  Fixed bug #61761 ('Overriding' a private static method with a different signature causes crash)
2012-04-18 12:22:27 +02:00
Yasuo Ohgaki d6394e66a3 Add NEWS 2012-04-18 12:21:05 +02:00
Yasuo Ohgaki cce0f8e507 Implement Request #47570 libpq's PG_VERSION should be exported to userland 2012-04-18 12:20:35 +02:00
Xinchen Hui da6465a268 Fixed bug #61761 ('Overriding' a private static method with a different signature causes crash) 2012-04-18 18:13:27 +08:00
Anatoliy Belsky d55afe4df6 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug 61746 Failing tests in ext/standard/tests/file/windows_links/*
2012-04-16 17:07:33 +02:00
Anatoliy Belsky f3d86b314f Fix bug 61746 Failing tests in ext/standard/tests/file/windows_links/* 2012-04-16 17:06:30 +02:00
Anatoliy Belsky 3d106aeb0d Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug 61720 ext\libxml\tests\bug61367-read.phpt fails
2012-04-16 15:46:02 +02:00
Anatoliy Belsky bceafee879 Fix bug 61720 ext\libxml\tests\bug61367-read.phpt fails 2012-04-16 15:45:03 +02:00
Anatoliy Belsky 4ac6862fc4 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug 61719 ext\soap\tests\bugs\bug31422.phpt fails
2012-04-16 15:40:10 +02:00
Anatoliy Belsky 9c8907ec10 Fix bug 61719 ext\soap\tests\bugs\bug31422.phpt fails 2012-04-16 15:38:46 +02:00
Anatoliy Belsky 5d1565088f Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug 61718 ext\ldap\tests\ldap_set_rebind_proc_error.phpt fails
2012-04-16 15:26:50 +02:00
Anatoliy Belsky 1c435ae498 Fix bug 61718 ext\ldap\tests\ldap_set_rebind_proc_error.phpt fails 2012-04-16 15:25:20 +02:00
Anatoliy Belsky 1a44faf264 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug 61717 ext\ldap\tests\ldap_sasl_bind_basic.phpt fails
2012-04-16 15:21:04 +02:00
Anatoliy Belsky 47e7755785 Fix bug 61717 ext\ldap\tests\ldap_sasl_bind_basic.phpt fails 2012-04-16 15:20:03 +02:00
Anatoliy Belsky 9f42c1890b Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug 61716 tests\basic\021.phpt fails
2012-04-16 15:16:06 +02:00
Anatoliy Belsky 4fa1743009 Fix bug 61716 tests\basic\021.phpt fails 2012-04-16 15:14:26 +02:00
Anatoliy Belsky 45977c6aae Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug 61683 tests\basic\bug20539.phpt fails
2012-04-16 14:39:39 +02:00
Anatoliy Belsky aaed0af418 Fix bug 61683 tests\basic\bug20539.phpt fails 2012-04-16 14:38:16 +02:00
Anatoliy Belsky d588d01b7c Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug 61680 ext\zlib\tests\gzencode_variation1-win32.phpt fails
2012-04-16 14:05:32 +02:00
Anatoliy Belsky 163c1a393f Fix bug 61680 ext\zlib\tests\gzencode_variation1-win32.phpt fails 2012-04-16 14:04:29 +02:00
Anatoliy Belsky ede519d1d6 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug 61676 ext\tidy\tests\bug54682.phpt fails

Conflicts:
	ext/tidy/tests/bug54682.phpt
2012-04-16 13:42:52 +02:00
Anatoliy Belsky c981016e41 Fix bug 61676 ext\tidy\tests\bug54682.phpt fails 2012-04-16 13:38:13 +02:00
Anatoliy Belsky 948f3619f6 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug 61743 tests in ext\standard\tests\file\windows_acls\* fail
2012-04-16 13:33:03 +02:00
Anatoliy Belsky 9a4cb732ed Fix bug 61743 tests in ext\standard\tests\file\windows_acls\* fail 2012-04-16 13:30:58 +02:00
Xinchen Hui ed09d26f94 change the bug summary 2012-04-16 19:23:12 +08:00
Xinchen Hui 3b42f184cd Fixed bug #61728 (php-fpm SIGSEGV running friendica on nginx) 2012-04-15 01:16:34 +08:00
Johannes Schlüter 6ecac26972 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Rename README.SVN-RULES to README.GIT-RULES, here, too
2012-04-14 00:31:00 +02:00
Johannes Schlüter 21d314a767 Rename README.SVN-RULES to README.GIT-RULES, here, too 2012-04-14 00:29:55 +02:00
David Soria Parra de6dfe5bbd Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  configure.in: Check for README.GIT-RULES instead of README.SVN-RULES

Conflicts:
	configure.in
2012-04-13 16:33:25 +02:00
David Soria Parra e9b978c374 configure.in: Check for README.GIT-RULES instead of README.SVN-RULES
We removed the README.SVN-RULES file. Configure checks for this file.
Let's check for the new README.GIT-RULES instead.
2012-04-13 16:32:41 +02:00
Johannes Schlüter 676f0deb38 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Move and update README.SVN-RULES to README.GIT-RULES
2012-04-13 02:15:39 +02:00
Johannes Schlüter e0d5138660 Move and update README.SVN-RULES to README.GIT-RULES 2012-04-13 02:12:47 +02:00
Xinchen Hui 8ceae39d4d Merge branch 'PHP-5.3' into PHP-5.4 2012-04-13 00:11:04 +08:00
Xinchen Hui 8c4294bcb4 Fixed test faild
the sun_path will not be that much long:
 http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/un.h.html
2012-04-13 00:07:07 +08:00
Johannes Schlüter 0a580ac76f Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Remove cherry-picked items for 5.3.11
  Fix bug #61537 (json_encode() incorrectly truncates/discards information) and remove a test case that's now mooted by this fix.

Conflicts:
	ext/json/json.c
	ext/json/php_json.h
2012-04-12 12:02:38 +02:00
Johannes Schlüter 1461a40301 Remove cherry-picked items for 5.3.11 2012-04-12 11:21:41 +02:00
Johannes Schlüter 82c05eeda9 Copy default properties of internal classes for different threads 2012-04-11 19:21:41 -07:00
Adam Harvey 05c8d4766c Update test to fix breakage caused by the previous commit. 2012-04-11 08:29:39 +08:00
Adam Harvey cb2a1c71c9 Fix bug #61537 (json_encode() incorrectly truncates/discards information) and
remove a test case that's now mooted by this fix.
2012-04-11 08:29:39 +08:00
Adam Harvey 3f3ad30c50 Fix bug #61537 (json_encode() incorrectly truncates/discards information) and
remove a test case that's now mooted by this fix.
2012-04-11 08:24:38 +08:00
Gustavo André dos Santos Lopes 112a476b68 Merge .gitattributes EOL commit from 5.3.
This merge commit includes several changes from the 5.3 commit.
This is because of 1) different tests between the two branches
and 2) the svn:eol-style attributes differing between the two
branches.
2012-04-10 19:45:18 +01:00
Gustavo André dos Santos Lopes 1c8fccdf6d Disabled EOL conversions on certain tests 2012-04-10 19:41:07 +01:00
Anatoliy Belsky 9ada49fa1c Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #61669 ext\standard\tests\file\rename_variation7-win32.phpt fails

Conflicts:
	ext/standard/tests/file/rename_variation7-win32.phpt
2012-04-10 15:23:38 +02:00
Anatoliy Belsky ed0ddd20c5 Fixed bug #61669 ext\standard\tests\file\rename_variation7-win32.phpt fails 2012-04-10 15:16:48 +02:00
Anatoliy Belsky a9eace9f6e Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #61668 ext\standard\tests\file\rename_variation13-win32.phpt fails

Conflicts:
	ext/standard/tests/file/rename_variation13-win32.phpt
2012-04-10 15:12:42 +02:00
Anatoliy Belsky b0cb29db87 Fixed bug #61668 ext\standard\tests\file\rename_variation13-win32.phpt fails 2012-04-10 15:09:21 +02:00
Anatoliy Belsky 98001a849b Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #61667 ext\standard\tests\file\glob_variation-win32.phpt fails

Conflicts:
	ext/standard/tests/file/glob_variation-win32.phpt
2012-04-10 15:03:41 +02:00
Anatoliy Belsky b9cbb9e744 Fix bug #61667 ext\standard\tests\file\glob_variation-win32.phpt fails 2012-04-10 15:00:03 +02:00
Anatoliy Belsky 06b2d66ce2 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #61666 ext\standard\tests\file\file_put_contents_variation8-win32.phpt fails

Conflicts:
	ext/standard/tests/file/file_put_contents_variation8-win32.phpt
2012-04-10 14:55:38 +02:00
Anatoliy Belsky fde96342e8 Fixed bug #61666 ext\standard\tests\file\file_put_contents_variation8-win32.phpt fails 2012-04-10 14:13:15 +02:00
Anatoliy Belsky 13211f201a Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #61659 Test ext\spl\tests\bug60082.phpt fails
  Fixed bug #61638 Test ext\sockets\tests\unixloop.phpt fails
  Fixed bug #61637 ext\sockets\tests\socket_sentto_recvfrom_unix.phpt
  Fixed bug #61635 ext\sockets\tests\socket_select-wrongparams-1.phpt

Conflicts:
	ext/spl/tests/bug60082.phpt
2012-04-10 14:05:07 +02:00
Anatoliy Belsky b2f2e1d6cc Fix bug #61659 Test ext\spl\tests\bug60082.phpt fails 2012-04-10 14:03:19 +02:00
Anatoliy Belsky 024cd2a124 Fixed bug #61638 Test ext\sockets\tests\unixloop.phpt fails 2012-04-10 14:00:51 +02:00
Anatoliy Belsky bbab846ada Fixed bug #61637 ext\sockets\tests\socket_sentto_recvfrom_unix.phpt 2012-04-10 14:00:50 +02:00
Anatoliy Belsky 70f2f30e67 Fixed bug #61635 ext\sockets\tests\socket_select-wrongparams-1.phpt 2012-04-10 14:00:50 +02:00
Anatoliy Belsky b3be5d920a Fixed bug #61638 Test ext\sockets\tests\unixloop.phpt fails 2012-04-10 13:58:15 +02:00
Anatoliy Belsky 15e26c6d4a Fixed bug #61637 ext\sockets\tests\socket_sentto_recvfrom_unix.phpt 2012-04-10 13:54:22 +02:00
Anatoliy Belsky af8646c188 Fixed bug #61635 ext\sockets\tests\socket_select-wrongparams-1.phpt 2012-04-10 13:40:20 +02:00
Anatoliy Belsky 006b04da4a Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #61634 Test ext\sockets\tests\socket_listen-wrongparams.phpt fails
  Fixed bug #61633 Test ext\sockets\tests\socket_create_pair-wrongparams.phpt fails
  Fixed bug #61632 Test ext\sockets\tests\socket_create_listen.phpt fails
  Fixed bug 61621 Test fail in ext/standard/tests/dir
2012-04-10 13:09:48 +02:00
Anatoliy Belsky c4676ee99f Fixed bug #61634 Test ext\sockets\tests\socket_listen-wrongparams.phpt fails 2012-04-10 13:08:57 +02:00
Anatoliy Belsky 5b0e7203e6 Fixed bug #61633 Test ext\sockets\tests\socket_create_pair-wrongparams.phpt fails 2012-04-10 13:06:15 +02:00
Anatoliy Belsky 83b48280c7 Fixed bug #61632 Test ext\sockets\tests\socket_create_listen.phpt fails 2012-04-10 13:06:14 +02:00
Anatoliy Belsky 5594fcf423 Fixed bug #61633 Test ext\sockets\tests\socket_create_pair-wrongparams.phpt fails 2012-04-10 13:02:53 +02:00
Anatoliy Belsky 37cb29ae90 Fixed bug #61632 Test ext\sockets\tests\socket_create_listen.phpt fails 2012-04-10 12:57:10 +02:00
Anatoliy Belsky d80e2e069c Fixed bug 61621 Test fail in ext/standard/tests/dir 2012-04-10 12:47:01 +02:00
Anatoliy Belsky 31a3e83190 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #61611 ext\date\tests\date_default_timezone_get-2.phpt fails
  Fixed bug #61631 mbstring mail related tests fail
  Fixed bug #61610 Test ext\date\tests\date_default_timezone_get-1.diff fails
  Fix bug #61609 Test ext\date\tests\bug52062.phpt fails As expressed in the comments http://de.php.net/manual/en/datetime.gettimestamp.php this is the generic 32 bit timestamp issue
2012-04-10 12:37:37 +02:00
Anatoliy Belsky 26dbc5ecb4 Fixed bug #61611 ext\date\tests\date_default_timezone_get-2.phpt fails
The behaviour on windows is to select an arbitrary timezone from the
current system settings. This gives no chance to hardcode the timezone
name, for instance for UTC+1 it could choose from the multiple names
like Europe/Berlin or Europe/Paris . For this reason the test is
parametrized so there is no hardcoded timezone data.

The original test made to be skipped on windows and a duplicate was made
for windows. Tested on debian and win7 both x86.
2012-04-10 12:33:11 +02:00
Anatoliy Belsky 1a0c9ecaee Fixed bug #61631 mbstring mail related tests fail 2012-04-10 12:23:07 +02:00
Anatoliy Belsky fbbad87056 Fixed bug #61610 Test ext\date\tests\date_default_timezone_get-1.diff fails
The behaviour on windows is to select an arbitrary timezone from the current system settings.
This gives no chance to hardcode the timezone name, for instance for UTC+1 it could choose
from the multiple names like Europe/Berlin or Europe/Paris . For this reason the test is
parametrized so there is no hardcoded timezone data.

The original test made to be skipped on windows and a duplicate was made for windows.
2012-04-10 12:20:40 +02:00
Anatoliy Belsky fd68d5b139 Fix bug #61609 Test ext\date\tests\bug52062.phpt fails
As expressed in the comments http://de.php.net/manual/en/datetime.gettimestamp.php
this is the generic 32 bit timestamp issue
2012-04-10 12:20:40 +02:00
Anatoliy Belsky 2ca49d39a3 Fixed bug #61631 mbstring mail related tests fail 2012-04-10 11:47:18 +02:00
Anatoliy Belsky d89b65f985 Fixed bug #61610 Test ext\date\tests\date_default_timezone_get-1.diff fails
The behaviour on windows is to select an arbitrary timezone from the current system settings.
This gives no chance to hardcode the timezone name, for instance for UTC+1 it could choose
from the multiple names like Europe/Berlin or Europe/Paris . For this reason the test is
parametrized so there is no hardcoded timezone data.

The original test made to be skipped on windows and a duplicate was made for windows.
2012-04-10 11:03:41 +02:00
Anatoliy Belsky 4ff55e646a Fix bug #61609 Test ext\date\tests\bug52062.phpt fails
As expressed in the comments http://de.php.net/manual/en/datetime.gettimestamp.php
this is the generic 32 bit timestamp issue
2012-04-10 10:18:10 +02:00
Rui Hirokawa 882dca647a MFH: fixed a mistake on reverting my previous patch. 2012-04-09 23:49:18 +09:00
Nikita Popov 7ae93a2c4c Fix bug #61660: bin2hex(hex2bin($data)) != $data
If the input data has an odd length a warning is thrown and false is returned.
2012-04-08 22:38:21 +02:00
Gustavo André dos Santos Lopes f7d4076785 Merge branch '5.3' into 5.4 2012-04-07 16:34:17 +01:00
Gustavo André dos Santos Lopes 0f180a63eb Fixed bug in new stream_get_line() when using NUL as a delimiter.
This is the issue Derick spotted a few days ago..
2012-04-07 16:32:19 +01:00
Xinchen Hui 014ed76943 Update NEWS 2012-04-06 21:58:28 +08:00
Xinchen Hui b0f09b69d3 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #61650 (ini parser crashes when using ${xxxx} ini variables (without apache2))
2012-04-06 21:57:56 +08:00
Xinchen Hui 9bf8cd4b34 Fixed bug #61650 (ini parser crashes when using ${xxxx} ini variables (without apache2)) 2012-04-06 21:42:40 +08:00
Anatoliy Belsky 69b2570b72 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #61480 test bug - ext/gd/tests/bug48555.phpt
  updated the NEWS with the latest fileinfo changes

Conflicts:
	NEWS
2012-04-04 18:54:03 +02:00
Matt Ficken 381edb425e Fix bug #61480 test bug - ext/gd/tests/bug48555.phpt 2012-04-04 18:39:24 +02:00
Anatoliy Belsky db834fc460 updated the NEWS with the latest fileinfo changes 2012-04-04 12:36:34 +02:00
Xinchen Hui 7cccb6bc5a fix typo 2012-04-04 17:41:25 +08:00
Xinchen Hui 1215665bb4 Update NEWS for #61617 2012-04-04 17:38:43 +08:00
Xinchen Hui 1ff8021519 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #61617 (Libxml tests failed(ht is already destroyed))
  Cherry-pick 4cc74767

Conflicts:
	NEWS
2012-04-04 17:36:18 +08:00
Xinchen Hui 94f1c05ff8 Fixed bug #61617 (Libxml tests failed(ht is already destroyed)) 2012-04-04 17:22:37 +08:00
Gustavo André dos Santos Lopes ca58cd01fc Cherry-pick 4cc74767
Headers: forbid \r and \n also after \0, allow CRLF followed by HT or SP and forbid \0. See bug #60227.

Conflicts:

	ext/standard/tests/general_functions/bug60227.phpt
	ext/standard/tests/general_functions/bug60227_1.phpt
	ext/standard/tests/general_functions/bug60227_2.phpt
	main/SAPI.c
2012-04-04 09:59:51 +01:00
Xinchen Hui 9882358984 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix warning "suggest parentheses around assignment"

Conflicts:
	main/SAPI.c
2012-04-04 16:37:29 +08:00
Xinchen Hui f7bf83546e Fix warning "suggest parentheses around assignment" 2012-04-04 16:35:32 +08:00
Xinchen Hui efd671f242 Fixed bug Fixed bug #61605 (header_remove() does not remove all headers) 2012-04-04 16:14:28 +08:00
Xinchen Hui 3ea9fa1b46 Merge branch 'PHP-5.3' into PHP-5.4 2012-04-04 16:13:02 +08:00
Xinchen Hui 896c4539df Fixed bug #61605 (header_remove() does not remove all headers) 2012-04-04 16:01:43 +08:00
Xinchen Hui bd400829af Merge branch 'PHP-5.3' into PHP-5.4 2012-04-04 15:24:08 +08:00
Xinchen Hui 7b04638c8c Fix test
cherry-pick from php-5.4
2012-04-04 15:20:28 +08:00
reeze 6712d0d20d Fixed CODING_STANDARD and move parameter parse code 2012-04-04 14:06:55 +08:00
Ilia Alshanetsky 9c5ae9954f Fixed bug #61423 (gzip compression fails). 2012-04-03 08:47:00 -04:00
Anatoliy Belsky 827c446b62 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #61460 popen_close_error-win32 expected output is wrong

Conflicts:
	ext/standard/tests/file/popen_pclose_error-win32.phpt
2012-04-03 14:22:59 +02:00
Matt Ficken 438536e45e Fix bug #61460 popen_close_error-win32 expected output is wrong 2012-04-03 14:19:43 +02:00
Anatoliy Belsky 2a8866ba5e Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #61454 ext\standard\tests\general_functions\bug49847.phpt fails
2012-04-03 13:24:31 +02:00
Anatoliy Belsky 14e74aeb57 Fix bug #61454 ext\standard\tests\general_functions\bug49847.phpt fails 2012-04-03 13:23:06 +02:00
Anatoliy Belsky b67a4cc340 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #61481 Test Bug - ext/com_dotnet/tests/bug49192
2012-04-03 13:09:17 +02:00
Anatoliy Belsky 94cefaedaf Fix bug #61481 Test Bug - ext/com_dotnet/tests/bug49192 2012-04-03 13:07:51 +02:00
Anatoliy Belsky 9c81654378 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #61517 random test failure - ext/standard/tests/misc/time_sleep_until_basic.phpt
2012-04-03 11:08:02 +02:00
Anatoliy Belsky 469cd3abf1 Fix bug #61517 random test failure - ext/standard/tests/misc/time_sleep_until_basic.phpt 2012-04-03 11:04:52 +02:00
reeze 054f3e3ce5 Implemented FR #61602 Allow access to name of constant used as default value 2012-04-03 13:51:44 +08:00
Xinchen Hui e7a36ad902 Merge branch 'PHP-5.3' into PHP-5.4 2012-04-03 12:18:42 +08:00
Xinchen Hui 6d97e28e42 Update NEWS for #61541 2012-04-03 12:13:59 +08:00
Moriyoshi Koizumi 43047598c4 Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	NEWS
2012-04-03 02:00:23 +09:00
Moriyoshi Koizumi a6c95c8a00 Reset LIBS temporarily to make sure PHP_CHECK_FUNC will look into libc.
See Gentoo bug #364139. https://bugs.gentoo.org/show_bug.cgi?id=364139
Reported by Naohiro Aota.
2012-04-03 01:51:23 +09:00
Anatoliy Belsky 374646c36b Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  updated the libmagic.patch
  Bug #61566 Fileinfo ext\fileinfo\tests\finfo_file_002.phpt fails
  Fix bug #61565 Fileinfo ext\fileinfo\tests\finfo_file_001.phpt fails
  - update to openssl 0.9.8u

Conflicts:
	ext/fileinfo/tests/finfo_open_001.phpt
	ext/fileinfo/tests/finfo_open_error.phpt
	win32/build/libs_version.txt
2012-04-02 17:36:50 +02:00
Anatoliy Belsky 8684fb7fac updated the libmagic.patch 2012-04-02 17:27:23 +02:00
Anatoliy Belsky 909713e233 Bug #61566 Fileinfo ext\fileinfo\tests\finfo_file_002.phpt fails
This patch fixes the failure caused by the
posix lseek and read versions under windows in cdf_read() .
Additionally all the occurences of lseek and read
was replaced by _lseek and _reed for windows.
2012-04-02 17:22:46 +02:00
Anatoliy Belsky 0cdba53aae Fix bug #61565 Fileinfo ext\fileinfo\tests\finfo_file_001.phpt fails 2012-04-02 17:19:09 +02:00
Pierre Joye 69e0e03457 - update to openssl 0.9.8u 2012-04-02 13:09:19 +02:00
Pierre Joye 55a6f3a12d - update to openssl 0.9.8u 2012-04-02 13:07:59 +02:00
Derick Rethans 6c6bec5760 Merge branch 'PHP-5.3' into PHP-5.4 2012-04-02 10:40:02 +01:00
Derick Rethans 0e53ac49e6 - Updated to version 2012.3 (2012c) 2012-04-02 10:40:01 +01:00
Popa Adrian Marius 4ad9323fa2 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
2012-04-02 10:03:25 +03:00
Popa Adrian Marius 09b303425a Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2012-04-02 10:03:18 +03:00
Popa Adrian Marius 66b3b44fd5 Merge branch 'PHP-5.3' of git.php.net:php-src into PHP-5.3 2012-04-02 10:02:45 +03:00
David Soria Parra 3bf53aa911 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Cleanup Safe Mode related comment in SG(request_info)
2012-03-31 09:34:25 +02:00
reeze ff8be9845f Cleanup Safe Mode related comment in SG(request_info) 2012-03-31 09:34:08 +02:00
Christopher Jones aa774a51d5 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Add php.ini parameter checks for OCI8
2012-03-30 16:17:37 -07:00
Christopher Jones 132d7113ea Merge branch 'add-oci8-ini-tests' into PHP-5.3
* add-oci8-ini-tests:
  Add php.ini parameter checks for OCI8
2012-03-30 16:16:32 -07:00
Christopher Jones c56cfbd234 Add php.ini parameter checks for OCI8
Add tests for OCI8 php.ini parameters particularly to check
which parameters can be changes with ini_set().
2012-03-30 16:12:25 -07:00
Christopher Jones 4e8cab94d3 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  trivial change try to ci a "fake" merge
  Fix test,  parameter signatures was introduced only into 5.4
  fix makedist for new tags
2012-03-30 10:48:45 -07:00
Xinchen Hui 14fdb8bf0a trivial change try to ci a "fake" merge
seems now a empty merge will not be accepted by pre-receive-hook
  "remote: We cannot figure out what you comitted!"
2012-03-30 20:50:45 +08:00
Xinchen Hui e2edc820e0 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix test,  parameter signatures was introduced only into 5.4
2012-03-30 20:45:09 +08:00
Xinchen Hui 6b4112c98a Fix test, parameter signatures was introduced only into 5.4 2012-03-30 20:37:48 +08:00
Stanislav Malyshev 82f166fa73 fix makedist for new tags 2012-03-30 00:01:52 -07:00
Christopher Jones 06235747b1 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Fixed bug61115-1.phpt for debug build version.
  Fixed bug #60718 Complie problem with libpq (PostgreSQL 7.3 or less)
  Fixed bug #60718 Complie problem with libpq (PostgreSQL 7.3 or less)
  This will be PHP 5.3.12
  ext/pcntl/pcntl.c: Fix typo in comment
  Revert "ext/pcntl/pcntl.c: Fix typo in comment" (apply correct workflow)
  Revert "ext/pcntl/pcntl.c: Fix typo in comment" (apply correct workflow)
  ext/pcntl/pcntl.c: Fix typo in comment
  ext/pcntl/pcntl.c: Fix typo in comment
  - fix bug #61541, Segfault when using ob_* in output_callback
  - fix bug #61541, Segfault when using ob_* in output_callback
  update NEWS
  fix bug #61367 - open_basedir bypass using libxml RSHUTDOWN
  open_basedir check for linkinfo
  NEWS entry for readline fix
  NEWS entry for readline fix
  Add open_basedir checks to readline_write_history and readline_read_history
2012-03-29 17:42:40 -07:00
Popa Adrian Marius 5d8a0fd7ec Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix firebird bug #60947 , tested and now it prints the header page information from database
2012-03-29 18:28:22 +03:00
Popa Adrian Marius 97f4fc22c5 Fix firebird bug #60947 , tested and now it prints the header page information from database 2012-03-29 18:28:01 +03:00
Shein Alexey c02aa086c6 Resolved conflict. 2012-03-29 17:03:43 +05:00
Shein Alexey c0f806a69c Merge branch 'fix-debug-build-bug61115-1.phpt' into PHP-5.3
* fix-debug-build-bug61115-1.phpt:
  Fixed bug61115-1.phpt for debug build version.
2012-03-29 17:01:40 +05:00
Shein Alexey e1352b0416 Fixed bug61115-1.phpt for debug build version. 2012-03-29 16:51:45 +05:00
Yasuo Ohgaki 8449e0ca89 Fixed bug #60718 Complie problem with libpq (PostgreSQL 7.3 or less) 2012-03-29 20:04:15 +09:00
Yasuo Ohgaki aecf5485e3 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #60718 Complie problem with libpq (PostgreSQL 7.3 or less)
2012-03-29 19:55:06 +09:00
Yasuo Ohgaki 931831bf75 Fixed bug #60718 Complie problem with libpq (PostgreSQL 7.3 or less) 2012-03-29 19:48:58 +09:00
Johannes Schlüter 1d8664b90b Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  This will be PHP 5.3.12

Conflicts:
	configure.in
	main/php_version.h
2012-03-29 11:43:26 +02:00
Johannes Schlüter fb124764de This will be PHP 5.3.12 2012-03-29 11:22:44 +02:00
Johannes Schlüter 0bca6214c6 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
2012-03-29 10:57:57 +02:00
Johannes Schlüter 21fa9634c1 Merge remote branch 'security/PHP-5.3' into PHP-5.3
* security/PHP-5.3:
  fix bug #61367 - open_basedir bypass using libxml RSHUTDOWN
  open_basedir check for linkinfo
  NEWS entry for readline fix
  Add open_basedir checks to readline_write_history and readline_read_history
2012-03-29 10:54:08 +02:00
Gustavo André dos Santos Lopes f4873c68a6 Merge branch '5.3' into 5.4
Conflicts:
	main/output.c
2012-03-29 08:47:58 +01:00
Gustavo André dos Santos Lopes 67bf07f3e7 Merge rebased pull request #24 onto 5.3 into 5.3 2012-03-29 08:46:37 +01:00
Jille Timmermans 710335b2a3 ext/pcntl/pcntl.c: Fix typo in comment
Signed-off-by: Jille Timmermans <jille@quis.cx>
2012-03-29 08:46:04 +01:00
Gustavo André dos Santos Lopes 616d802974 Revert "ext/pcntl/pcntl.c: Fix typo in comment" (apply correct workflow)
This reverts commit 4aeabaf8e9.
2012-03-29 08:45:00 +01:00
Gustavo André dos Santos Lopes 117cdf384f Revert "ext/pcntl/pcntl.c: Fix typo in comment" (apply correct workflow)
This reverts commit 55b1e61242.
2012-03-29 08:44:19 +01:00
Jille Timmermans 55b1e61242 ext/pcntl/pcntl.c: Fix typo in comment
Signed-off-by: Jille Timmermans <jille@quis.cx>
2012-03-29 09:07:07 +09:00
Yasuo Ohgaki f38ee78344 Merge branch 'pull-request/25' into 5.3
* pull-request/25:
  - fix bug #61541, Segfault when using ob_* in output_callback
2012-03-29 08:51:29 +09:00
Christopher Jones 4b72d505ae Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Refactoring junit logger. Added generation of nested testsuites in junit.xml.
2012-03-28 16:16:20 -07:00
reeze abd2b2ee43 - fix bug #61541, Segfault when using ob_* in output_callback 2012-03-29 06:23:05 +09:00
reeze 9bc91a21db - fix bug #61541, Segfault when using ob_* in output_callback 2012-03-29 00:18:02 +08:00
877 changed files with 16779 additions and 28715 deletions

No files matched your search

+63 -9
View File
@@ -1,6 +1,19 @@
define set_ts
set $tsrm_ls = $arg0
end
document set_ts
set the ts resource, it is impossible for gdb to
call ts_resource_ex while no process is running,
but we could get the resource from the argument
of frame info.
end
define ____executor_globals
if basic_functions_module.zts
set $tsrm_ls = ts_resource_ex(0, 0)
if !$tsrm_ls
set $tsrm_ls = ts_resource_ex(0, 0)
end
set $eg = ((zend_executor_globals*) (*((void ***) $tsrm_ls))[executor_globals_id-1])
set $cg = ((zend_compiler_globals*) (*((void ***) $tsrm_ls))[compiler_globals_id-1])
else
@@ -38,12 +51,53 @@ define dump_bt
set $t = $arg0
while $t
printf "[%p] ", $t
if $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
set $fst = $t->function_state
if $fst.function->common.function_name
if $fst.arguments
set $count = (int)*($fst.arguments)
if $t->object
if $fst.function.common.scope
printf "%s->", $fst.function.common.scope->name
else
if !$eg
____executor_globals
end
set $known_class = 0
if $eg
set $handle = $t->object.value.obj.handle
set $handlers = $t->object.value.obj.handlers
set $zobj = (zend_object *)$eg.objects_store.object_buckets[$handle].bucket.obj.object
if $handlers->get_class_entry == &zend_std_object_get_class
set $known_class = 1
if $handlers.get_class_name
if $handlers.get_class_name != &zend_std_object_get_class_name
set $known_class = 0
end
end
if $known_class
printf "%s->", $zobj->ce.name
end
end
end
if !$known_class
printf "(Unknown)->"
end
end
else
if $fst.function.common.scope
printf "%s::", $fst.function.common.scope->name
end
end
printf "%s(", $fst.function->common.function_name
while $count > 0
set $zvalue = *(zval **)($t->function_state.arguments - $count)
set $zvalue = *(zval **)($fst.arguments - $count)
set $type = $zvalue->type
if $type == 0
printf "NULL"
@@ -73,7 +127,7 @@ define dump_bt
if $type == 7
printf "resource(#%d)", $zvalue->value.lval
end
if $type == 8
if $type == 8
printf "constant"
end
if $type == 9
@@ -89,7 +143,7 @@ define dump_bt
end
printf ") "
else
printf "%s() ", $t->function_state.function->common.function_name
printf "%s() ", $fst.function->common.function_name
end
else
printf "??? "
@@ -600,7 +654,7 @@ define zmemcheck
end
end
if $not_found
printf "no such block that begins at %p.\n", $aptr
printf "no such block that begins at %p.\n", $aptr
end
if $arg0 == 0
printf "-------------------------------------------------------------------------------\n"
+151
View File
@@ -15,6 +15,7 @@ ext/dba/libflatfile/flatfile.c ident
ext/dba/libcdb/cdb_make.c ident
ext/dba/libcdb/cdb.c ident
ext/filter/filter.c ident
ext/zip/php_zip.c ident
README.input_filter ident
run-tests.php ident
sapi/nsapi/nsapi.c ident
@@ -22,3 +23,153 @@ sapi/continuity/capi.c ident
Zend/RFCs/002.txt ident
Zend/RFCs/003.txt ident
NEWS merge=NEWS
/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/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/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/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_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_variation13_64bit.phpt -crlf
/ext/standard/tests/strings/vfprintf_variation7.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_variation14_64bit.phpt -crlf
/ext/standard/tests/strings/vprintf_variation17.phpt -crlf
/ext/standard/tests/strings/vprintf_variation4.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/wordwrap.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_variation18.phpt -crlf
/ext/tokenizer/tests/token_get_all_variation19.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_variation8.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
+10
View File
@@ -0,0 +1,10 @@
language: php
php:
# We only specify one version so we only get one worker
- 5.4
notifications:
email: false
script: exit 0
+3 -3
View File
@@ -2,11 +2,11 @@
PHP Coding Standards
========================
This file lists several standards that any programmer, adding or changing
code in PHP, should follow. Since this file was added at a very late
This file lists several standards that any programmer adding or changing
code in PHP should follow. Since this file was added at a very late
stage of the development of PHP v3.0, the code base does not (yet) fully
follow it, but it's going in that general direction. Since we are now
well into the version 4 releases, many sections have been recoded to use
well into version 5 releases, many sections have been recoded to use
these rules.
Code Implementation
+128 -74
View File
@@ -24,6 +24,7 @@ Installing PHP
+ Installing a PHP extension on Windows
+ Compiling shared PECL extensions with the pecl command
+ Compiling shared PECL extensions with phpize
+ php-config
+ Compiling PECL extensions statically into PHP
* Problems?
+ Read the FAQ
@@ -83,7 +84,7 @@ General Installation Considerations
With PHP you can also write desktop GUI applications using the PHP-GTK
extension. This is a completely different approach than writing web
pages, as you do not output any HTML, but manage windows and objects
within them. For more information about PHP-GTK, please » visit the
within them. For more information about PHP-GTK, please » visit the
site dedicated to this extension. PHP-GTK is not included in the
official PHP distribution.
@@ -92,9 +93,9 @@ General Installation Considerations
will also find information on the command line executable in the
following sections.
PHP source code and binary distributions for Windows can be found at »
http://www.php.net/downloads.php. We recommend you to choose a » mirror
nearest to you for downloading the distributions.
PHP source code and binary distributions for Windows can be found at
» http://www.php.net/downloads.php. We recommend you to choose a
» mirror nearest to you for downloading the distributions.
__________________________________________________________________
__________________________________________________________________
@@ -140,9 +141,9 @@ Table of Contents
* A web server
* Any module specific components (such as GD, PDF libs, etc.)
When building directly from SVN sources or after custom modifications
When building directly from Git sources or after custom modifications
you might also need:
* autoconf: 2.13
* autoconf: 2.13+ (for PHP < 5.4.0), 2.59+ (for PHP >= 5.4.0)
* automake: 1.4+
* libtool: 1.4.x+ (except 1.4.2)
* re2c: Version 0.13.4 or newer
@@ -375,12 +376,12 @@ Apache 2.x on Unix systems
For information on why, read the related FAQ entry on using Apache2
with a threaded MPM
The » Apache Documentation is the most authoritative source of
The » Apache Documentation is the most authoritative source of
information on the Apache 2.x server. More information about
installation options for Apache may be found there.
The most recent version of Apache HTTP Server may be obtained from »
Apache download site, and a fitting PHP version from the above
The most recent version of Apache HTTP Server may be obtained from
» Apache download site, and a fitting PHP version from the above
mentioned places. This quick guide covers only the basics to get
started with Apache 2.x and PHP. For more information read the » Apache
Documentation. The version numbers have been omitted here, to ensure
@@ -498,7 +499,7 @@ service httpd restart
This should not be undertaken without being aware of the consequences
of this decision, and having at least a fair understanding of the
implications. The Apache documentation regarding » MPM-Modules
implications. The Apache documentation regarding » MPM-Modules
discusses MPMs in a great deal more detail.
Note:
@@ -520,7 +521,7 @@ Lighttpd 1.4 on Unix systems
This section contains notes and hints specific to Lighttpd 1.4 installs
of PHP on Unix systems.
Please use the » Lighttpd trac to learn how to install Lighttpd
Please use the » Lighttpd trac to learn how to install Lighttpd
properly before continuing.
Fastcgi is the preferred SAPI to connect PHP and Lighttpd. Fastcgi is
@@ -627,15 +628,15 @@ Sun, iPlanet and Netscape servers on Sun Solaris
current web servers read the note about subrequests.
You can find more information about setting up PHP for the Netscape
Enterprise Server (NES) here: »
http://benoit.noss.free.fr/php/install-php4.html
Enterprise Server (NES) here:
» http://benoit.noss.free.fr/php/install-php4.html
To build PHP with Sun JSWS/Sun ONE WS/iPlanet/Netscape web servers,
enter the proper install directory for the --with-nsapi=[DIR] option.
The default directory is usually /opt/netscape/suitespot/. Please also
read /php-xxx-version/sapi/nsapi/nsapi-readme.txt.
1. Install the following packages from » http://www.sunfreeware.com/
1. Install the following packages from » http://www.sunfreeware.com/
or another download site:
+ autoconf-2.13
+ automake-1.4
@@ -837,7 +838,7 @@ Testing
Using Variables
Some server supplied environment variables are not defined in the
current » CGI/1.1 specification. Only the following variables are
current » CGI/1.1 specification. Only the following variables are
defined there: AUTH_TYPE, CONTENT_LENGTH, CONTENT_TYPE,
GATEWAY_INTERFACE, PATH_INFO, PATH_TRANSLATED, QUERY_STRING,
REMOTE_ADDR, REMOTE_HOST, REMOTE_IDENT, REMOTE_USER, REQUEST_METHOD,
@@ -855,20 +856,20 @@ HP-UX specific installation notes
There are two main options for installing PHP on HP-UX systems. Either
compile it, or install a pre-compiled binary.
Official pre-compiled packages are located here: »
http://software.hp.com/
Official pre-compiled packages are located here:
» http://software.hp.com/
Until this manual section is rewritten, the documentation about
compiling PHP (and related extensions) on HP-UX systems has been
removed. For now, consider reading the following external resource: »
Building Apache and PHP on HP-UX 11.11
removed. For now, consider reading the following external resource:
» Building Apache and PHP on HP-UX 11.11
__________________________________________________________________
__________________________________________________________________
OpenBSD installation notes
This section contains notes and hints specific to installing PHP on »
OpenBSD 3.6.
This section contains notes and hints specific to installing PHP on
» OpenBSD 3.6.
Using Binary Packages
@@ -900,12 +901,12 @@ Using Binary Packages
(install the PEAR libraries)
# pkg_add php4-pear-4.3.8.tgz
Read the » packages(7) manual page for more information about binary
Read the » packages(7) manual page for more information about binary
packages on OpenBSD.
Using Ports
You can also compile up PHP from source using the » ports tree.
You can also compile up PHP from source using the » ports tree.
However, this is only recommended for users familiar with OpenBSD. The
PHP 4 port is split into two sub-directories: core and extensions. The
extensions directory generates sub-packages for all of the supported
@@ -926,7 +927,7 @@ Common Problems
automatically installs into the correct chroot directories, so no
special modification is needed there. More information on the
OpenBSD Apache is available in the » OpenBSD FAQ.
* The OpenBSD 3.6 package for the » gd extension requires XFree86 to
* The OpenBSD 3.6 package for the » gd extension requires XFree86 to
be installed. If you do not wish to use some of the font features
that require X11, install the php4-gd-4.3.8-no_x11.tgz package
instead.
@@ -951,18 +952,26 @@ Required software
Solaris installs often lack C compilers and their related tools. Read
this FAQ for information on why using GNU versions for some of these
tools is necessary. The required software is as follows:
tools is necessary.
For unpacking the PHP distribution you need
* tar
* gzip or
* bzip2
For compiling PHP you need
* gcc (recommended, other C compilers may work)
* make
* flex
* GNU sed
For building extra extensions or hacking the code of PHP you might also
need
* flex (up to PHP 5.2)
* re2c
* bison
* m4
* autoconf
* automake
* perl
* gzip
* tar
* GNU sed
In addition, you will need to install (and possibly compile) any
additional software specific to your configuration, such as Oracle or
@@ -971,14 +980,16 @@ Required software
Using Packages
You can simplify the Solaris install process by using pkgadd to install
most of your needed components.
most of your needed components. The Image Packaging System (IPS) for
Solaris 11 Express also contains most of the required components for
installation using the pkg command.
__________________________________________________________________
__________________________________________________________________
Debian GNU/Linux installation notes
This section contains notes and hints specific to installing PHP on »
Debian GNU/Linux.
This section contains notes and hints specific to installing PHP on
» Debian GNU/Linux.
Warning
Unofficial builds from third-parties are not supported here. Any bugs
@@ -1205,6 +1216,7 @@ Table of Contents
* Installing a PHP extension on Windows
* Compiling shared PECL extensions with the pecl command
* Compiling shared PECL extensions with phpize
* php-config
* Compiling PECL extensions statically into PHP
__________________________________________________________________
@@ -1227,8 +1239,8 @@ Introduction to PECL Installations
To this php.ini file, or through the use of the dl() function.
When building PHP modules, it's important to have known-good versions
of the required tools (autoconf, automake, libtool, etc.) See the »
Anonymous SVN Instructions for details on the required tools, and
of the required tools (autoconf, automake, libtool, etc.) See the
» Anonymous Git Instructions for details on the required tools, and
required versions.
__________________________________________________________________
__________________________________________________________________
@@ -1247,7 +1259,7 @@ Downloading PECL extensions
the PECL web site are available for download and installation using
the » pecl command. Specific revisions may also be specified.
* SVN Most PECL extensions also reside in SVN. A web-based view may
be seen at » http://svn.php.net/viewvc/pecl/. To download straight
be seen at » http://svn.php.net/viewvc/pecl/. To download straight
from SVN, the following sequence of commands may be used:
$ svn checkout http://svn.php.net/repository/pecl/extname/trunk
extname
@@ -1279,7 +1291,7 @@ Where to find an extension?
PHP extensions are usually called "php_*.dll" (where the star
represents the name of the extension) and they are located under the
"PHP\ext" ("PHP\extensions" in PHP4) folder.
"PHP\ext" ("PHP\extensions" in PHP 4) folder.
PHP ships with the extensions most useful to the majority of
developers. They are called "core" extensions.
@@ -1365,7 +1377,7 @@ Resolving problems
Compiling shared PECL extensions with the pecl command
PECL makes it easy to create shared PHP extensions. Using the » pecl
PECL makes it easy to create shared PHP extensions. Using the » pecl
command, do the following:
$ pecl install extname
@@ -1424,6 +1436,51 @@ $ make
__________________________________________________________________
__________________________________________________________________
php-config
php-config is a simple shell script for obtaining information about the
installed PHP configuration.
When compiling extensions, if you have multiple PHP versions installed,
you may specify for which installation you'd like to build by using the
--with-php-config option during configuration, specifying the path of
the respective php-config script.
The list of command line options provided by the php-config script can
be queried anytime by running php-config with the -h switch:
Usage: /usr/local/bin/php-config [OPTION]
Options:
--prefix [...]
--includes [...]
--ldflags [...]
--libs [...]
--extension-dir [...]
--include-dir [...]
--php-binary [...]
--php-sapis [...]
--configure-options [...]
--version [...]
--vernum [...]
CAPTION: Command line options
Option Description
--prefix Directory prefix where PHP is installed, e.g. /usr/local
--includes List of -I options with all include files
--ldflags LD Flags which PHP was compiled with
--libs Extra libraries which PHP was compiled with
--extension-dir Directory where extensions are searched by default
--include-dir Directory prefix where header files are installed by
default
--php-binary Full path to php CLI or CGI binary
--php-sapis Show all SAPI modules available
--configure-options Configure options to recreate configuration of
current PHP installation
--version PHP version
--vernum PHP version as integer
__________________________________________________________________
__________________________________________________________________
Compiling PECL extensions statically into PHP
You might find that you need to build a PECL extension statically into
@@ -1485,11 +1542,11 @@ Other problems
If you are still stuck, someone on the PHP installation mailing list
may be able to help you. You should check out the archive first, in
case someone already answered someone else who had the same problem as
you. The archives are available from the support page on »
http://www.php.net/support.php. To subscribe to the PHP installation
mailing list, send an empty mail to »
php-install-subscribe@lists.php.net. The mailing list address is »
php-install@lists.php.net.
you. The archives are available from the support page on
» http://www.php.net/support.php. To subscribe to the PHP installation
mailing list, send an empty mail to
» php-install-subscribe@lists.php.net. The mailing list address is
» php-install@lists.php.net.
If you want to get help on the mailing list, please try to be precise
and give the necessary details about your environment (which operating
@@ -1504,11 +1561,11 @@ Bug reports
If you think you have found a bug in PHP, please report it. The PHP
developers probably don't know about it, and unless you report it,
chances are it won't be fixed. You can report bugs using the
bug-tracking system at » http://bugs.php.net/. Please do not send bug
bug-tracking system at » http://bugs.php.net/. Please do not send bug
reports in mailing list or personal letters. The bug system is also
suitable to submit feature requests.
Read the » How to report a bug document before submitting any bug
Read the » How to report a bug document before submitting any bug
reports!
__________________________________________________________________
__________________________________________________________________
@@ -1528,14 +1585,14 @@ The configuration file
The configuration file (php.ini) is read when PHP starts up. For the
server module versions of PHP, this happens only once when the web
server is started. For the CGI and CLI version, it happens on every
server is started. For the CGI and CLI versions, it happens on every
invocation.
php.ini is searched in these locations (in order):
php.ini is searched for in these locations (in order):
* SAPI module specific location (PHPIniDir directive in Apache 2, -c
command line option in CGI and CLI, php_ini parameter in NSAPI,
PHP_INI_PATH environment variable in THTTPD)
* The PHPRC environment variable. Before PHP 5.2.0 this was checked
* The PHPRC environment variable. Before PHP 5.2.0, this was checked
after the registry key mentioned below.
* As of PHP 5.2.0, the location of the php.ini file can be set for
different versions of PHP. The following registry keys are examined
@@ -1543,33 +1600,33 @@ The configuration file
[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y] and
[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x], where x, y and z mean the PHP
major, minor and release versions. If there is a value for
IniFilePath in these keys, then the first one found will be used as
the location of the php.ini (Windows only).
IniFilePath in any of these keys, the first one found will be used
as the location of the php.ini (Windows only).
* [HKEY_LOCAL_MACHINE\SOFTWARE\PHP], value of IniFilePath (Windows
only).
* Current working directory (except CLI)
* Current working directory (except CLI).
* The web server's directory (for SAPI modules), or directory of PHP
(otherwise in Windows)
(otherwise in Windows).
* Windows directory (C:\windows or C:\winnt) (for Windows), or
--with-config-file-path compile time option
--with-config-file-path compile time option.
If php-SAPI.ini exists (where SAPI is used SAPI, so the filename is
e.g. php-cli.ini or php-apache.ini), it's used instead of php.ini. SAPI
name can be determined by php_sapi_name().
If php-SAPI.ini exists (where SAPI is the SAPI in use, so, for example,
php-cli.ini or php-apache.ini), it is used instead of php.ini. The SAPI
name can be determined with php_sapi_name().
Note:
The Apache web server changes the directory to root at startup
The Apache web server changes the directory to root at startup,
causing PHP to attempt to read php.ini from the root filesystem if
it exists.
The php.ini directives handled by extensions are documented
respectively on the pages of the extensions themselves. The list of the
core directives is available in the appendix. Probably not all PHP
directives are documented in the manual though. For a complete list of
The php.ini directives handled by extensions are documented on the
respective pages of the extensions themselves. A list of the core
directives is available in the appendix. Not all PHP directives are
necessarily documented in this manual: for a complete list of
directives available in your PHP version, please read your well
commented php.ini file. Alternatively, you may find the » the latest
php.ini from SVN helpful too.
commented php.ini file. Alternatively, you may find » the latest
php.ini from Git helpful too.
Example #1 php.ini example
; any text on a line after an unquoted semicolon (;) is ignored
@@ -1635,12 +1692,13 @@ Where a configuration setting may be set
CAPTION: Definition of PHP_INI_* modes
Mode Value Meaning
PHP_INI_USER 1 Entry can be set in user scripts (like with ini_set())
or in the Windows registry
PHP_INI_PERDIR 6 Entry can be set in php.ini, .htaccess or httpd.conf
PHP_INI_SYSTEM 4 Entry can be set in php.ini or httpd.conf
PHP_INI_ALL 7 Entry can be set anywhere
Mode Meaning
PHP_INI_USER Entry can be set in user scripts (like with ini_set()) or
in the Windows registry. Since PHP 5.3, entry can be set in .user.ini
PHP_INI_PERDIR Entry can be set in php.ini, .htaccess, httpd.conf or
.user.ini (since PHP 5.3)
PHP_INI_SYSTEM Entry can be set in php.ini or httpd.conf
PHP_INI_ALL Entry can be set anywhere
__________________________________________________________________
__________________________________________________________________
@@ -1788,13 +1846,9 @@ Installation
each request to play in, further weaknesses are introduced into
PHP's system.
If you feel you have to use a threaded MPM, look at a FastCGI
If you want to use a threaded MPM, look at a FastCGI
configuration where PHP is running in its own memory space.
And finally, this warning against using a threaded MPM is not as
strong for Windows systems because most libraries on that
platform tend to be threadsafe.
Unix/Windows: Where should my php.ini file be located?
By default on Unix it should be in /usr/local/lib which is
<install-path>/lib. Most people will want to change this at
+636 -18
View File
@@ -1,6 +1,394 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2012, PHP 5.4.1 RC1
18 Oct 2012, PHP 5.4.8
- CLI server:
. Changed response to unknown HTTP method to 501 according to RFC.
(Niklas Lindgren).
. Support HTTP PATCH method. Patch by Niklas Lindgren, GitHub PR #190.
(Lars)
- Core:
. Added optional second argument for assert() to specify custom message. Patch
by Lonny Kapelushnik (lonny@lonnylot.com). (Lars)
. Support building PHP with the native client toolchain. (Stuart Langley)
. Added --offline option for tests. (Remi)
. Fixed bug #63162 (parse_url does not match password component). (husman)
. Fixed bug #63111 (is_callable() lies for abstract static method). (Dmitry)
. Fixed bug #63093 (Segfault while load extension failed in zts-build).
(Laruence)
. Fixed bug #62976 (Notice: could not be converted to int when comparing
some builtin classes). (Laruence)
. Fixed bug #62955 (Only one directive is loaded from "Per Directory Values"
Windows registry). (aserbulov at parallels dot com)
. Fixed bug #62907 (Double free when use traits). (Dmitry)
. Fixed bug #61767 (Shutdown functions not called in certain error
situation). (Dmitry)
. Fixed bug #60909 (custom error handler throwing Exception + fatal error
= no shutdown function). (Dmitry)
. Fixed bug #60723 (error_log error time has changed to UTC ignoring default
timezone). (Laruence)
- cURL:
. Fixed bug #62085 (file_get_contents a remote file by Curl wrapper will
cause cpu Soaring). (Pierrick)
- Date:
. Fixed bug #62896 ("DateTime->modify('+0 days')" modifies DateTime object)
(Lonny Kapelushnik)
. Fixed bug #62561 (DateTime add 'P1D' adds 25 hours). (Lonny Kapelushnik)
- DOM:
. Fixed bug #63015 (Incorrect arginfo for DOMErrorHandler). (Rob)
- FPM:
. Fixed bug #62954 (startup problems fpm / php-fpm). (fat)
. Fixed bug #62886 (PHP-FPM may segfault/hang on startup). (fat)
. Fixed bug #63085 (Systemd integration and daemonize). (remi, fat)
. Fixed bug #62947 (Unneccesary warnings on FPM). (fat)
. Fixed bug #62887 (Only /status?plain&full gives "last request cpu"). (fat)
. Fixed bug #62216 (Add PID to php-fpm init.d script). (fat)
- OpenSSL:
. Implemented FR #61421 (OpenSSL signature verification missing RMD160,
SHA224, SHA256, SHA384, SHA512). (Mark Jones)
- SOAP
. Fixed bug #50997 (SOAP Error when trying to submit 2nd Element of a choice).
(Dmitry)
- SPL:
. Bug #62987 (Assigning to ArrayObject[null][something] overrides all
undefined variables). (Laruence)
- mbstring:
. Allow passing null as a default value to mb_substr() and mb_strcut(). Patch
by Alexander Moskaliov via GitHub PR #133. (Lars)
- Filter extension:
. Bug #49510: Boolean validation fails with FILTER_NULL_ON_FAILURE with empty
string or false. (Lars)
- Sockets
. Fixed bug #63000 (MCAST_JOIN_GROUP on OSX is broken, merge of PR 185 by
Igor Wiedler). (Lars)
13 Sep 2012, PHP 5.4.7
- Core:
. Fixed bug (segfault while build with zts and GOTO vm-kind). (Laruence)
. Fixed bug #62844 (parse_url() does not recognize //). (Andrew Faulds).
. Fixed bug #62829 (stdint.h included on platform where HAVE_STDINT_H is not
set). (Felipe)
. Fixed bug #62763 (register_shutdown_function and extending class).
(Laruence)
. Fixed bug #62725 (Calling exit() in a shutdown function does not return
the exit value). (Laruence)
. Fixed bug #62744 (dangling pointers made by zend_disable_class). (Laruence)
. Fixed bug #62716 (munmap() is called with the incorrect length).
(slangley@google.com)
. Fixed bug #62358 (Segfault when using traits a lot). (Laruence)
. Fixed bug #62328 (implementing __toString and a cast to string fails)
(Laruence)
. Fixed bug #51363 (Fatal error raised by var_export() not caught by error
handler). (Lonny Kapelushnik)
. Fixed bug #40459 (Stat and Dir stream wrapper methods do not call
constructor). (Stas)
- CURL:
. Fixed bug #62912 (CURLINFO_PRIMARY_* AND CURLINFO_LOCAL_* not exposed).
(Pierrick)
. Fixed bug #62839 (curl_copy_handle segfault with CURLOPT_FILE). (Pierrick)
- Intl:
. Fixed Spoofchecker not being registered on ICU 49.1. (Gustavo)
. Fix bug #62933 (ext/intl compilation error on icu 3.4.1). (Gustavo)
. Fix bug #62915 (defective cloning in several intl classes). (Gustavo)
- Installation:
. Fixed bug #62460 (php binaries installed as binary.dSYM). (Reeze Xia)
- PCRE:
. Fixed bug #55856 (preg_replace should fail on trailing garbage).
(reg dot php at alf dot nu)
- PDO:
. Fixed bug #62685 (Wrong return datatype in PDO::inTransaction()). (Laruence)
- Reflection:
. Fixed bug #62892 (ReflectionClass::getTraitAliases crashes on importing
trait methods as private). (Felipe)
. Fixed bug #62715 (ReflectionParameter::isDefaultValueAvailable() wrong
result). (Laruence)
- Session:
. Fixed bug (segfault due to retval is not initialized). (Laruence)
. Fixed bug (segfault due to PS(mod_user_implemented) not be reseted
when close handler call exit). (Laruence)
- SOAP
. Fixed bug #50997 (SOAP Error when trying to submit 2nd Element of a choice).
(Dmitry)
- SPL:
. Fixed bug #62904 (Crash when cloning an object which inherits SplFixedArray)
(Laruence)
. Implemented FR #62840 (Add sort flag to ArrayObject::ksort). (Laruence)
- Standard:
. Fixed bug #62836 (Seg fault or broken object references on unserialize()).
(Laruence)
- FPM:
. Merged PR 121 by minitux to add support for slow request counting on PHP
FPM status page. (Lars)
16 Aug 2012, PHP 5.4.6
- CLI Server:
. Implemented FR #62700 (have the console output 'Listening on
http://localhost:8000'). (pascal.chevrel@free.fr)
- Core:
. Fixed bug #62661 (Interactive php-cli crashes if include() is used in
auto_prepend_file). (Laruence)
. Fixed bug #62653: (unset($array[$float]) causes a crash). (Nikita Popov,
Laruence)
. Fixed bug #62565 (Crashes due non-initialized internal properties_table).
(Felipe)
. Fixed bug #60194 (--with-zend-multibyte and --enable-debug reports LEAK
with run-test.php). (Laruence)
- CURL:
. Fixed bug #62499 (curl_setopt($ch, CURLOPT_COOKIEFILE, "") returns false).
(r.hampartsumyan@gmail.com, Laruence)
- DateTime:
. Fixed Bug #62500 (Segfault in DateInterval class when extended). (Laruence)
- Fileinfo:
. Fixed bug #61964 (finfo_open with directory causes invalid free).
(reeze.xia@gmail.com)
- Intl:
. Fixed bug #62564 (Extending MessageFormatter and adding property causes
crash). (Felipe)
- MySQLnd:
. Fixed bug #62594 (segfault in mysqlnd_res_meta::set_mode). (Laruence)
- readline:
. Fixed bug #62612 (readline extension compilation fails with
sapi/cli/cli.h: No such file). (Johannes)
- Reflection:
. Implemented FR #61602 (Allow access to name of constant used as default
value). (reeze.xia@gmail.com)
- SimpleXML:
. Implemented FR #55218 Get namespaces from current node. (Lonny)
- SPL:
. Fixed bug #62616 (ArrayIterator::count() from IteratorIterator instance
gives Segmentation fault). (Laruence, Gustavo)
. Fixed bug #61527 (ArrayIterator gives misleading notice on next() when
moved to the end). (reeze.xia@gmail.com)
- Streams:
. Fixed bug #62597 (segfault in php_stream_wrapper_log_error with ZTS build).
(Laruence)
- Zlib:
. Fixed bug #55544 (ob_gzhandler always conflicts with
zlib.output_compression). (Laruence)
19 Jul 2012, PHP 5.4.5
- Core:
. Fixed bug #62443 (Crypt SHA256/512 Segfaults With Malformed
Salt). (Anthony Ferrara)
. Fixed bug #62432 (ReflectionMethod random corrupt memory on high
concurrent). (Johannes)
. Fixed bug #62373 (serialize() generates wrong reference to the object).
(Moriyoshi)
. Fixed bug #62357 (compile failure: (S) Arguments missing for built-in
function __memcmp). (Laruence)
. Fixed bug #61998 (Using traits with method aliases appears to result in
crash during execution). (Dmitry)
. Fixed bug #51094 (parse_ini_file() with INI_SCANNER_RAW cuts a value that
includes a semi-colon). (Pierrick)
. Fixed potential overflow in _php_stream_scandir (CVE-2012-2688).
(Jason Powell, Stas)
- EXIF:
. Fixed information leak in ext exif (discovered by Martin Noga,
Matthew "j00ru" Jurczyk, Gynvael Coldwind)
- FPM:
. Fixed bug #62205 (php-fpm segfaults (null passed to strstr)). (fat)
. Fixed bug #62160 (Add process.priority to set nice(2) priorities). (fat)
. Fixed bug #62153 (when using unix sockets, multiples FPM instances
. Fixed bug #62033 (php-fpm exits with status 0 on some failures to start).
(fat)
. Fixed bug #61839 (Unable to cross-compile PHP with --enable-fpm). (fat)
. Fixed bug #61835 (php-fpm is not allowed to run as root). (fat)
. Fixed bug #61295 (php-fpm should not fail with commented 'user'
. Fixed bug #61218 (FPM drops connection while receiving some binary values
in FastCGI requests). (fat)
. Fixed bug #61045 (fpm don't send error log to fastcgi clients). (fat)
for non-root start). (fat)
. Fixed bug #61026 (FPM pools can listen on the same address). (fat)
can be launched without errors). (fat)
- Iconv:
. Fix bug #55042 (Erealloc in iconv.c unsafe). (Stas)
- Intl:
. Fixed bug #62083 (grapheme_extract() memory leaks). (Gustavo)
. ResourceBundle constructor now accepts NULL for the first two arguments.
(Gustavo)
. Fixed bug #62081 (IntlDateFormatter constructor leaks memory when called
twice). (Gustavo)
. Fixed bug #62070 (Collator::getSortKey() returns garbage). (Gustavo)
. Fixed bug #62017 (datefmt_create with incorrectly encoded timezone leaks
pattern). (Gustavo)
. Fixed bug #60785 (memory leak in IntlDateFormatter constructor). (Gustavo)
- JSON:
. Fixed bug #61359 (json_encode() calls too many reallocs). (Stas)
- libxml:
. Fixed bug #62266 (Custom extension segfaults during xmlParseFile with FPM
SAPI). (Gustavo)
- Phar:
. Fixed bug #62227 (Invalid phar stream path causes crash). (Felipe)
- Readline:
. Fixed bug #62186 (readline fails to compile - void function should not
return a value). (Johannes)
- Reflection:
. Fixed bug #62384 (Attempting to invoke a Closure more than once causes
segfault). (Felipe)
. Fixed bug #62202 (ReflectionParameter::getDefaultValue() memory leaks
with constant). (Laruence)
- Sockets:
. Fixed bug #62025 (__ss_family was changed on AIX 5.3). (Felipe)
- SPL:
. Fixed bug #62433 (Inconsistent behavior of RecursiveDirectoryIterator to
dot files). (Laruence)
. Fixed bug #62262 (RecursiveArrayIterator does not implement Countable).
(Nikita Popov)
- XML Writer:
. Fixed bug #62064 (memory leak in the XML Writer module).
(jean-pierre dot lozi at lip6 dot fr)
- Zip:
. Upgraded libzip to 0.10.1 (Anatoliy)
14 Jun 2012, PHP 5.4.4
- COM:
. Fixed bug #62146 com_dotnet cannot be built shared. (Johannes)
- CLI Server:
. Implemented FR #61977 (Need CLI web-server support for files with .htm &
svg extensions). (Sixd, Laruence)
. Improved performance while sending error page, this also fixed
bug #61785 (Memory leak when access a non-exists file without router).
(Laruence)
. Fixed bug #61546 (functions related to current script failed when chdir()
in cli sapi). (Laruence, reeze.xia@gmail.com)
- Core:
. Fixed missing bound check in iptcparse(). (chris at chiappa.net)
. Fixed CVE-2012-2143. (Solar Designer)
. Fixed bug #62097 (fix for for bug #54547). (Gustavo)
. Fixed bug #62005 (unexpected behavior when incrementally assigning to a
member of a null object). (Laruence)
. Fixed bug #61978 (Object recursion not detected for classes that implement
JsonSerializable). (Felipe)
. Fixed bug #61991 (long overflow in realpath_cache_get()). (Anatoliy)
. Fixed bug #61922 (ZTS build doesn't accept zend.script_encoding config).
(Laruence)
. Fixed bug #61827 (incorrect \e processing on Windows) (Anatoliy)
. Fixed bug #61782 (__clone/__destruct do not match other methods when checking
access controls). (Stas)
. Fixed bug #61764 ('I' unpacks n as signed if n > 2^31-1 on LP64). (Gustavo)
. Fixed bug #61761 ('Overriding' a private static method with a different
signature causes crash). (Laruence)
. Fixed bug #61730 (Segfault from array_walk modifying an array passed by
reference). (Laruence)
. Fixed bug #61728 (PHP crash when calling ob_start in request_shutdown
phase). (Laruence)
. Fixed bug #61713 (Logic error in charset detection for htmlentities).
(Anatoliy)
. 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 #54547 (wrong equality of string numbers). (Gustavo)
. Fixed bug #54197 ([PATH=] sections incompatibility with user_ini.filename
set to null). (Anatoliy)
. Changed php://fd to be available only for CLI.
- CURL:
. Fixed bug #61948 (CURLOPT_COOKIEFILE '' raises open_basedir restriction).
(Laruence)
- Fileinfo
. Fixed bug #61812 (Uninitialised value used in libmagic).
(Laruence, Gustavo)
. Fixed bug #61566 failure caused by the posix lseek and read versions
under windows in cdf_read(). (Anatoliy)
. Fixed bug #61565 where php_stream_open_wrapper_ex tries to open a
directory descriptor under windows. (Anatoliy)
- Intl
. Fixed bug #62082 (Memory corruption in internal function
get_icu_disp_value_src_php()). (Gustavo)
- Libxml:
. Fixed bug #61617 (Libxml tests failed(ht is already destroyed)).
(Laruence)
- PDO:
. Fixed bug #61755 (A parsing bug in the prepared statements can lead to
access violations). (Johannes)
- Phar:
. Fixed bug #61065 (Secunia SA44335, CVE-2012-2386). (Rasmus)
- Pgsql:
. Added pg_escape_identifier/pg_escape_literal. (Yasuo Ohgaki)
- Streams:
. Fixed bug #61961 (file_get_contents leaks when access empty file with
maxlen set). (Reeze)
- Zlib:
. Fixed bug #61820 (using ob_gzhandler will complain about headers already
sent when no compression). (Mike)
. Fixed bug #61443 (can't change zlib.output_compression on the fly). (Mike)
. Fixed bug #60761 (zlib.output_compression fails on refresh). (Mike)
08 May 2012, PHP 5.4.3
- CGI
. Re-Fix PHP-CGI query string parameter vulnerability, CVE-2012-1823.
(Stas)
. Fix bug #61807 - Buffer Overflow in apache_request_headers.
(nyt-php at countercultured dot net).
03 May 2012, PHP 5.4.2
- Fix PHP-CGI query string parameter vulnerability, CVE-2012-1823. (Rasmus)
26 Apr 2012, PHP 5.4.1
- CLI Server:
. Fixed bug #61461 (missing checks around malloc() calls). (Ilia)
@@ -9,6 +397,7 @@ PHP NEWS
. "Connection: close" instead of "Connection: closed" (Gustavo)
- Core:
. Fixed crash in ZTS using same class in many threads. (Johannes)
. 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
@@ -40,6 +429,9 @@ PHP NEWS
function is by reference). (Nikita Popov)
. Improve performance of set_exception_handler while doing reset (Laruence)
- fileinfo:
. Fix fileinfo test problems. (Anatoliy Belsky)
- FPM
. Fixed bug #61430 (Transposed memset() params in sapi/fpm/fpm/fpm_shm.c).
(michaelhood at gmail dot com, Ilia)
@@ -62,26 +454,10 @@ PHP NEWS
. Fixed bug #61003 (mysql_stat() require a valid connection). (Johannes).
- mysqlnd
. Fixed bug #61704 (Crash apache, phpinfo() threading issue). (Johannes)
. Fixed bug #60948 (mysqlnd FTBFS when -Wformat-security is enabled).
(Johannes)
- Readline:
. Fixed bug #61088 (Memory leak in readline_callback_handler_install).
(Nikic, Laruence)
- Session
. Fixed bug #60634 (Segmentation fault when trying to die() in
SessionHandler::write()). (Ilia)
- SOAP
. 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
chunksize length line is > 10 bytes). (Ilia)
. Fixed bug #49853 (Soap Client stream context header option ignored).
(Dmitry)
- PDO
. Fixed bug #61292 (Segfault while calling a method on an overloaded PDO
object). (Laruence)
@@ -99,10 +475,29 @@ PHP NEWS
. Fixed bug #61184 (Phar::webPhar() generates headers with trailing NUL
bytes). (Nikita Popov)
- Readline:
. Fixed bug #61088 (Memory leak in readline_callback_handler_install).
(Nikic, Laruence)
- Reflection:
. Implemented FR #61602 (Allow access to the name of constant
used as function/method parameter's default value). (reeze.xia@gmail.com)
. 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 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
chunksize length line is > 10 bytes). (Ilia)
. Fixed bug #49853 (Soap Client stream context header option ignored).
(Dmitry)
- SPL:
. Fixed bug #61453 (SplObjectStorage does not identify objects correctly).
(Gustavo)
@@ -559,6 +954,228 @@ PHP NEWS
. Fixed bug #55544 (ob_gzhandler always conflicts with zlib.output_compression).
(Mike)
14 Jun 2012, PHP 5.3.14
- CLI SAPI:
. Fixed bug #61546 (functions related to current script failed when chdir()
in cli sapi). (Laruence, reeze.xia@gmail.com)
- CURL:
. Fixed bug #61948 (CURLOPT_COOKIEFILE '' raises open_basedir restriction).
(Laruence)
- COM:
. Fixed bug #62146 com_dotnet cannot be built shared. (Johannes)
- Core:
. Fixed CVE-2012-2143. (Solar Designer)
. Fixed missing bound check in iptcparse(). (chris at chiappa.net)
. Fixed bug #62373 (serialize() generates wrong reference to the object).
(Moriyoshi)
. Fixed bug #62005 (unexpected behavior when incrementally assigning to a
member of a null object). (Laruence)
. Fixed bug #61991 (long overflow in realpath_cache_get()). (Anatoliy)
. Fixed bug #61764 ('I' unpacks n as signed if n > 2^31-1 on LP64). (Gustavo)
. Fixed bug #61730 (Segfault from array_walk modifying an array passed by
reference). (Laruence)
. Fixed bug #61713 (Logic error in charset detection for htmlentities).
(Anatoliy)
. Fixed bug #54197 ([PATH=] sections incompatibility with user_ini.filename
set to null). (Anatoliy)
. Changed php://fd to be available only for CLI.
- Fileinfo:
. Fixed bug #61812 (Uninitialised value used in libmagic).
(Laruence, Gustavo)
- 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)
- Intl:
. Fixed bug #62082 (Memory corruption in internal function
get_icu_disp_value_src_php()). (Gustavo)
- JSON
. Fixed bug #61537 (json_encode() incorrectly truncates/discards
information). (Adam)
- PDO:
. Fixed bug #61755 (A parsing bug in the prepared statements can lead to
access violations). (Johannes)
- Phar:
. Fix bug #61065 (Secunia SA44335). (Rasmus)
- Streams:
. Fixed bug #61961 (file_get_contents leaks when access empty file with
maxlen set). (Reeze)
08 May 2012, PHP 5.3.13
- CGI
. Improve fix for PHP-CGI query string parameter vulnerability, CVE-2012-2311.
(Stas)
03 May 2012, PHP 5.3.12
- Fix PHP-CGI query string parameter vulnerability, CVE-2012-1823. (Rasmus)
26 Apr 2012, PHP 5.3.11
- 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
leaks / crashes). (Laruence)
. 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 #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
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 #60801 (strpbrk() mishandles NUL byte). (Adam)
. 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)
- FPM
. Fixed bug #61430 (Transposed memset() params in sapi/fpm/fpm/fpm_shm.c).
(michaelhood at gmail dot com, Ilia)
- Ibase
. Fixed bug #60947 (Segmentation fault while executing ibase_db_info).
(Ilia)
- 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).
- Libxml:
. Fixed bug #61617 (Libxml tests failed(ht is already destroyed)).
(Laruence)
. Fixed bug #61367 (open_basedir bypass using libxml RSHUTDOWN).
(Tim Starling)
- 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).
(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)
- SOAP
. Fixed basic HTTP authentication for WSDL sub requests. (Dmitry)
. 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
chunksize length line is > 10 bytes). (Ilia)
. 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)
- SQLite3 extension:
. Add createCollation() method. (Brad Dewar)
- 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)
- 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).
(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)
- Tidy:
. Fixed bug #54682 (tidy null pointer dereference). (Tony, David Soria Parra)
- XMLRPC:
. Fixed bug #61264 (xmlrpc_parse_method_descriptions leaks temporary
variable). (Nikita Popov)
. Fixed bug #61097 (Memory leak in xmlrpc functions copying zvals). (Nikic)
- Zlib:
. Fixed bug #61139 (gzopen leaks when specifying invalid mode). (Nikic)
02 Feb 2012, PHP 5.3.10
- Core:
@@ -771,6 +1388,7 @@ PHP NEWS
- Postgres:
. Fixed bug #60244 (pg_fetch_* functions do not validate that row param
is >0). (Ilia)
. Added PGSQL_LIBPQ_VERSION/PGSQL_LIBPQ_VERSION_STR constants. (Yasuo)
- Reflection:
. Fixed bug #60367 (Reflection and Late Static Binding). (Laruence)
+124
View File
@@ -0,0 +1,124 @@
====================
Git Commit Rules
====================
This is the first file you should be reading when contributing code via Git.
We'll assume you're basically familiar with Git, but feel free to post
your questions on the mailing list. Please have a look at
http://git-scm.com/ for more detailed information on Git.
PHP is developed through the efforts of a large number of people.
Collaboration is a Good Thing(tm), and Git lets us do this. Thus, following
some basic rules with regards to Git usage will::
a. Make everybody happier, especially those responsible for maintaining
Git itself.
b. Keep the changes consistently well documented and easily trackable.
c. Prevent some of those 'Oops' moments.
d. Increase the general level of good will on planet Earth.
Having said that, here are the organizational rules::
1. Respect other people working on the project.
2. Discuss any significant changes on the list before committing and get
confirmation from the release manager for the given branch.
3. Look at EXTENSIONS file to see who is the primary maintainer of
the code you want to contribute to.
4. If you "strongly disagree" about something another person did, don't
start fighting publicly - take it up in private email.
5. If you don't know how to do something, ask first!
6. Test your changes before committing them. We mean it. Really.
To do so use "make test".
7. For development use the --enable-maintainer-zts switch to ensure your
code handles TSRM correctly and doesn't break for those who need that.
Currently we have the following branches in use::
master The active development branch.
PHP-5.4 Is used to release the PHP 5.4.x series. It still allows for
larger enhancements.
PHP-5.3 Is used to release the PHP 5.3.x series. This is current
stable version and is open for bugfixes only.
PHP-5.2 Is used to release the PHP 5.2.x series. It is closed for
changes now.
PHP-5.1 This branch is closed.
PHP-4.4 This branch is closed.
The next few rules are more of a technical nature::
1. All changes should first go to the lowest branch (i.e. 5.3) and then
get merged up to all other branches. If a change is not needed for
later branches (i.e. fixes for features which where dropped from later
branches) an empty merge should be done.
2. All news updates intended for public viewing, such as new features,
bug fixes, improvements, etc., should go into the NEWS file of the
*first* to be released version with the given change. In other words
any NEWS file change only needs to done in one branch.
3. Do not commit multiple file and dump all messages in one commit. If you
modified several unrelated files, commit each group separately and
provide a nice commit message for each one. See example below.
4. Do write your commit message in such a way that it makes sense even
without the corresponding diff. One should be able to look at it, and
immediately know what was modified. Definitely include the function name
in the message as shown below.
5. In your commit messages, keep each line shorter than 80 characters. And
try to align your lines vertically, if they wrap. It looks bad otherwise.
6. If you modified a function that is callable from PHP, prepend PHP to
the function name as shown below.
The format of the commit messages is pretty simple.
<max 79 characters short description>\n
\n
<long description, 79 chars per line>
\n
An Example from the git project (commit 2b34e486bc):
pack-objects: Fix compilation with NO_PTHREDS
It looks like commit 99fb6e04 (pack-objects: convert to use
parse_options(), 2012-02-01) moved the #ifdef NO_PTHREDS around but
hasn't noticed that the 'arg' variable no longer is available.
If you fix some bugs, you should note the bug ID numbers in your
commit message. Bug ID should be prefixed by "#" for easier access to
bug report when developers are browsing CVS via LXR or Bonsai.
Example::
Fixed bug #14016 (pgsql notice handler double free crash bug.)
When you change the NEWS file for a bug fix, then please keep the bugs
sorted in decreasing order under the fixed version.
You can use OpenGrok (http://lxr.php.net/) and gitweb (http://git.php.net/)
to look at PHP Git repository in various ways.
For further information on the process and further details please refer to
https://wiki.php.net/vcs/gitworkflow and https://wiki.php.net/vcs/gitfaq
Happy hacking,
PHP Team
+17 -24
View File
@@ -58,12 +58,12 @@ Do not use abbreviations for alpha and beta.
5. Commit these changes to the branch with ``git commit -a``.
6. Tag the repository with the version, e.g.:
``git tag -u YOURKEYID PHP-5.4.2-RC2``
``git tag -u YOURKEYID php-5.4.2RC2``
7. Push the changes to the main repo:
``git push --tags origin HEAD``
8. run: ``./makedist 5.4.2-RC2``, this will export the tree, create configure
8. run: ``./makedist 5.4.2RC2``, this will export the tree, create configure
and build two tarballs (one gz and one bz2).
9. Copy those two tarballs to www.php.net, in your homedir there should be a
@@ -127,33 +127,34 @@ Rolling a stable release
2. Bump the version numbers in ``main/php_version.h``, ``configure.in`` and possibly ``NEWS``.
3. **Merge** all related sections in NEWS (f.e. merge the 4.4.1RC1 and 4.4.0 sections)
3. **Merge** all related sections in NEWS (f.e. merge the 5.4.1RC1 and 5.4.0 sections)
4. Commit those changes
5. run the "scripts/dev/credits" script in php-src and commit the changes in the
credits files in ext/standard.
6. tag the repository with the version f.e. "``cvs tag php_4_4_1``"
6. tag the repository with the version f.e. "``git tag -s php-5.4.1``"
(of course, you need to change that to the version you're rolling an RC for).
When making 5.X release, you need to tag the Zend directory separately!!
7. Bump up the version numbers in ``main/php_version.h``, ``configure.in`` and
possibly ``NEWS`` again, to the **next** version. F.e. if the release candidate
was "4.4.1RC1" then the new one should be "4.4.1RC2-dev" - regardless if we get
was "5.4.1RC1" then the new one should be "5.4.1RC2-dev" - regardless if we get
a new RC or not. This is to make sure ``version_compare()`` can correctly work.
8. Commit those changes
9. Log in onto the snaps box and go into the correct tree (f.e. the PHP_4_4
branch if you're rolling 4.4.x releases).
9. Log in onto the snaps box and go into the correct tree (f.e. the PHP-5.4
branch if you're rolling 5.5.x releases).
10. You do not have to update the tree, but of course you can with "``cvs up -dP``".
10. You do not have to update the tree, but of course you can with "``git pull
origin <branch>``".
11. run: ``./makedist php 4.4.1``, this will export the tree, create configure
11. run: ``./makedist php 5.4.1``, this will export the tree, create configure
and build two tarballs (one gz and one bz2).
12. Commit those two tarballs to CVS (phpweb/distributions)
12. Commit those two tarballs to Git (php-distributions.git)
13. Once the release has been tagged, contact the PHP Windows development team
(internals-win@lists.php.net) so that Windows binaries can be created. Once
@@ -171,6 +172,9 @@ Getting the stable release announced
a. ``php bin/bumpRelease 5`` (or ``php bin/bumpRelease 4`` for PHP4)
b. In case multiple PHP minor versions are in active development you have
to manually copy the old information to include/releases.inc
2. Edit ``phpweb/include/version.inc`` and change (X=major release number):
a. ``$PHP_X_VERSION`` to the correct version
@@ -187,7 +191,7 @@ Getting the stable release announced
f. if the windows builds aren't ready yet prefix the "windows" key with a dot (".windows")
3. Update the ChangeLog file for the given major version
f.e. ``ChangeLog-4.php`` from the NEWS file
f.e. ``ChangeLog-5.php`` from the NEWS file
a. go over the list and put every element on one line
@@ -207,9 +211,9 @@ f.e. ``ChangeLog-4.php`` from the NEWS file
V. ``s/FR #\([0-9]\+\)/FR <?php bugl(\1); ?>/``
4. ``cp releases/4_4_0.php releases/4_4_1.php``
4. ``cp releases/5_4_0.php releases/5_4_1.php``
5. ``cvs add releases/4_4_1.php``
5. ``git add releases/5_4_1.php``
6. Update the ``releases/*.php`` file with relevant data. The release
announcement file should list in detail:
@@ -232,17 +236,6 @@ to upgrade.
php-general@lists.php.net and internals@lists.php.net with a text similar to
http://news.php.net/php.internals/17222.
10. Update ``php-bugs-web/include/functions.php`` to include the new version
number, and remove the RC from there.
11. Update ``qaweb/include/release-qa.php``
- Update $QA_RELEASES with the appropriate information, which means bumping
the version number to an upcoming version.
Example: If PHP 5.3.7 is being released, then PHP 5.3.8 is the next QA version,
so replace 5.3.7 with 5.3.8 within $QA_RELEASES.
Re-releasing the same version (or -pl)
--------------------------------------
-151
View File
@@ -1,151 +0,0 @@
====================
SVN Commit Rules
====================
This is the first file you should be reading after you get your SVN account.
We'll assume you're basically familiar with SVN, but feel free to post
your questions on the mailing list. Please have a look at
http://svnbook.red-bean.com/ for more detailed information on SVN.
PHP is developed through the efforts of a large number of people.
Collaboration is a Good Thing(tm), and SVN lets us do this. Thus, following
some basic rules with regards to SVN usage will::
a. Make everybody happier, especially those responsible for maintaining
the SVN itself.
b. Keep the changes consistently well documented and easily trackable.
c. Prevent some of those 'Oops' moments.
d. Increase the general level of good will on planet Earth.
Having said that, here are the organizational rules::
1. Respect other people working on the project.
2. Discuss any significant changes on the list before committing and get
confirmation from the release manager for the given branch.
3. Look at EXTENSIONS file to see who is the primary maintainer of
the code you want to contribute to.
4. If you "strongly disagree" about something another person did, don't
start fighting publicly - take it up in private email.
5. If you don't know how to do something, ask first!
6. Test your changes before committing them. We mean it. Really.
To do so use "make test".
7. For development use the --enable-maintainer-zts switch to ensure your
code handles TSRM correctly and doesn't break for those who need that.
Currently we have the following branches in use::
trunk The active development branch.
branches/PHP_5_4 Is used to release the PHP 5.4.x series. In release
process, only bugfixes and very small changes approved
by RMs are allowed.
branches/PHP_5_3 Is used to release the PHP 5.3.x series. This is current
stable version and is open for bugfixes and small
improvements (check with RMs if in doubt).
branches/PHP_5_2 Is used to release the PHP 5.2.x series. It is closed for
changes now.
branches/PHP_5_1 This branch is closed.
branches/PHP_4_4 This branch is closed.
The next few rules are more of a technical nature::
1. All changes should first go to trunk and then get merged from trunk
(aka MFH'ed) to all other relevant branches.
2. DO NOT TOUCH ChangeLog! It is automagically updated from the commit
messages every day. Woe be to those who attempt to mess with it.
3. All news updates intended for public viewing, such as new features,
bug fixes, improvements, etc., should go into the NEWS file of the
*first* to be released version with the given change. In other words
any NEWS file change only needs to done in one branch.
NB! Lines, starting with @ will go automagically into NEWS file, but
this is NOT recommended, though. Please, add news entries directly to
NEWS file and don't forget to keep them adjusted and sorted.
4. Do not commit multiple file and dump all messages in one commit. If you
modified several unrelated files, commit each group separately and
provide a nice commit message for each one. See example below.
5. Do write your commit message in such a way that it makes sense even
without the corresponding diff. One should be able to look at it, and
immediately know what was modified. Definitely include the function name
in the message as shown below.
6. In your commit messages, keep each line shorter than 80 characters. And
try to align your lines vertically, if they wrap. It looks bad otherwise.
7. If you modified a function that is callable from PHP, prepend PHP to
the function name as shown below.
The format of the commit messages is pretty simple.
Use a - to start a new item in your commit message.
If a line begins with #, it is taken to be a comment and will not appear
in the ChangeLog. Everything else goes into the ChangeLog.
It is important to note that if your comment or news logline spans multiple
lines, you have to put # at the beginning of **every** such line.
Example. Say you modified two files, datetime.c and string.c. In datetime.c you
added a new format option for the date() function, and in string.c you fixed a
memory leak in php_trim(). Don't commit both of these at once. Commit them
separately and try to make sure your commit messages look something like the
following.
For datetime.c::
- Added new 'K' format modifier to date() for printing out number of days
until New Year's Eve.
For string.c::
- Fixed a memory leak in php_trim() resulting from improper use of zval_dtor().
#- Man, that thing was leaking all over the place!
The # lines will be omitted from the ChangeLog automagically.
Use the [DOC] tag in your log message whenever you feel that your changes
imply a documentation modification. The php-doc team will automatically
get notified about your commit through the php-doc mailing list.
If you fix some bugs, you should note the bug ID numbers in your
commit message. Bug ID should be prefixed by "#" for easier access to
bug report when developers are browsing CVS via LXR or Bonsai.
Example::
Fixed bug #14016 (pgsql notice handler double free crash bug.)
If you don't see your messages in ChangeLog right away, don't worry!
These files are updated once a day, so your stuff will not show up until
somewhat later.
When you change the NEWS file for a bug fix, then please keep the bugs
sorted in decreasing order under the fixed version.
You can use LXR (http://lxr.php.net/) and Bonsai (http://bonsai.php.net/)
to look at PHP SVN repository in various ways.
To receive daily updates to ChangeLog and NEWS, send an empty message to
php-cvs-daily-subscribe@lists.php.net.
Happy hacking,
PHP Team
-112
View File
@@ -1,112 +0,0 @@
Using PHP 5 with the Zeus Web Server
-----------------------------------
Zeus fully supports running PHP in combination with our
webserver. There are three different interfaces that can be used to
enable PHP:
* CGI
* ISAPI
* FastCGI
Of the three, we recommend using FastCGI, which has been tested and
benchmarked as providing the best performance and reliability.
Full details of how to install PHP are available from our
website, at:
http://support.zeus.com/products/php.html
If you have any problems, please check the support site for more
up-to-date information and advice.
Quick guide to installing CGI/FastCGI with Zeus
-----------------------------------------------
Step 1 - Compile PHP as FastCGI.
Compile as follows:
./configure --enable-fastcgi
make
Note that PHP has many options to the configure script -
e.g. --with-mysql. You will probably want to select your usual options
before compiling; the above is just a bare minimum, for illustration.
After compilation finishes, you will be left with an executable
program called 'php'. Copy this into your document root, under a
dedicated FastCGI directory (e.g. $DOCROOT/fcgi-bin/php)
Step 2 - configure Zeus
Four stages:
- enable FastCGI
- configure FastCGI
- setup alias for FastCGI
- setup alias for PHP
1) Using the admin server, go to the 'module configuration' page for
your virtual server, and ensure that 'fastcgi' is enabled (select the
tickbox to the left).
2) While we can run FastCGI's locally, there are known problems with
some OS's (specifically, the communication between web server and
FastCGI happens over a unix domain socket, and some OS's have trouble
sustaining high connection rates over these sockets). So instead, we
are going to set up the PHP FastCGI to run 'remotely' over localhost
(this uses TCP sockets, which do not suffer this problem). Go to the
'fastcgi configuration' page, and under 'add remote fastcgi':
Add Remote FastCGI
Docroot path /fcgi-bin/php
Remote machine localhost:8002
The first entry is where you saved PHP, above.
The second entry is localhost:<any unused port>
We will start the FastCGI listening on this port shortly.
Click 'update' to commit these changes.
3) Go to the path mapping module and add an alias for FastCGI:
Add Alias
Docroot path /fcgi-bin
Filesystem directory /path/to/docroot/fcgi-bin
Alias type fastcgi
Click 'update' to commit these changes
4) Also on the path mapping module, add a handler for PHP:
Add handler
File extension php
Handler /fcgi-bin/php
Click 'update' to commit these changes
Finally restart your virtual server for these changes to take effect.
Step 3 - start PHP as a FastCGI runner
When you start PHP, it will pre-fork a given number of child processes
to handle incoming PHP requests. Each process will handle a given
number of requests before exiting (and being replaced by a newly
forked process). You can control these two parameters by setting the
following environment variables BEFORE starting the FastCGI runner:
PHP_FCGI_CHILDREN - the number of child processes to pre-fork. This
variable MUST be set, if not then the PHP will not run as a FastCGI.
We recommend a value of 8 for a fairly busy site. If you have many,
long-running PHP scripts, then you may need to increase this further.
PHP_FCGI_MAX_REQUESTS - the number of requests each PHP child process
handles before exiting. If not set, defaults to 500.
To start the FastCGI runner, execute '$ZEUSHOME/web/bin/fcgirunner
8002 $DOCROOT/fcgi-bin/php'. Substitute the appropriate values for
$ZEUSHOME and $DOCROOT; also substitute for 8002 the port you chose,
above.
To stop the runner (e.g. to experiment with the above environment
variables) you will need to manually stop and running PHP
processes. (Use 'ps' and 'kill'). As it is PHP which is forking lots
of children and not the runner, Zeus unfortunately cannot keep track
of what processes are running, sorry. A typical command line may look
like 'ps -efl | grep $DOCROOT/fcgi-bin/php | grep -v grep | awk
'{print $4}' | xargs kill'
+40 -10
View File
@@ -37,9 +37,9 @@ PHP 5.4 UPGRADE NOTES
=============================
- PHP 5.4 now checks at compile time if /dev/urandom or /dev/arandom
are present. If either is available, session.entropy_file now
are present. If either is available, session.entropy_file now
defaults to that file and session.entropy_length defaults to 32.
This provides non-blocking entropy to session id generation. If you
This provides non-blocking entropy to session id generation. If you
do not want extra entropy for your session ids, add:
session.entropy_file=
@@ -89,9 +89,9 @@ PHP 5.4 UPGRADE NOTES
session.upload_progress.min_freq
- Added a zend.multibyte directive as a replacement of the PHP compile time
configuration option --enable-zend-multibyte. Now the Zend Engine always
configuration option --enable-zend-multibyte. Now the Zend Engine always
contains code for multibyte support, which can be enabled or disabled at
runtime. Note: It doesn't make a lot of sense to enable this option if
runtime. Note: It doesn't make a lot of sense to enable this option if
ext/mbstring is not enabled, because most functionality is implemented by
mbstrings callbacks.
@@ -107,7 +107,7 @@ PHP 5.4 UPGRADE NOTES
in a stream fashion (through php://input) without having it copied in memory
multiple times.
- Added windows_show_crt_warning. This directive shows the CRT warnings when
- Added windows_show_crt_warning. This directive shows the CRT warnings when
enabled. These warnings were displayed by default until now. It is disabled
by default.
@@ -162,13 +162,17 @@ PHP 5.4 UPGRADE NOTES
- Non-numeric string offsets, e.g. $a['foo'] where $a is a string, now
return false on isset() and true on empty(), and produce warning if
trying to use them. Offsets of types double, bool and null produce
trying to use them. Offsets of types double, bool and null produce
notice. Numeric strings ($a['2']) still work as before.
Note that offsets like '12.3' and '5 and a half' are considered
non-numeric and produce warning, but are converted to 12 and 5
respectively for backwards compatibility reasons.
- Long numeric strings that do not fit in integer or double (such as
"92233720368547758070") are compared using string comparison if
they could otherwise result in precision loss - since 5.4.4.
- Closures now support scopes and $this and can be rebound to
objects using Closure::bind() and Closure::bindTo().
@@ -178,6 +182,9 @@ PHP 5.4 UPGRADE NOTES
- Parse error messages are changed to contain more information about
the error.
- __clone and __destruct since 5.4.4 follow the same scoping rules as
the rest of the methods (see bug #61782 for details).
================================
4. Changes to existing functions
================================
@@ -200,7 +207,7 @@ PHP 5.4 UPGRADE NOTES
- htmlentities() and htmlspecialchars() are stricter in the code units they
accept for the asian encodings. For Big5-HKSCS, the octets 0x80 and 0xFF are
rejected. For GB2312/EUC-CN, the octets 0x8E, 0x8F, 0xA0 and 0xFF are
rejected. For GB2312/EUC-CN, the octets 0x8E, 0x8F, 0xA0 and 0xFF are
rejected. For SJIS, the octets 0x80, 0xA0, 0xFD, 0xFE and 0xFF are rejected,
except maybe after a valid starting byte. For EUC-JP, the octets 0xA0 and
0xFF are rejected.
@@ -226,7 +233,7 @@ PHP 5.4 UPGRADE NOTES
checks on the validity of the entities. Numerical entities are checked for a
valid range (0 to 0x10FFFF); if the flag ENT_DISALLOWED is given, the
validity of such numerical entity in the target document type is also
checked. Named entities are checked for necessary existence in the target
checked. Named entities are checked for necessary existence in the target
document type instead of only checking whether they were constituted by
alphanumeric characters.
@@ -332,6 +339,17 @@ PHP 5.4 UPGRADE NOTES
- ob_start() no longer starts multiple output buffers when passed
array("callback1", "callback2", "callback3", ...).
- Since 5.4.4, "php://fd" stream syntax is available only in CLI build.
- Since 5.4.5, resourcebundle_create() accepts null for the first two arguments.
- Since 5.4.6, SimpleXMLElement::getDocNamespaces() has and extra parameter which
allows for toggling if the list of namespaces starts from the document root
or from the node you call the method on
- Since 5.4.7, ctor is always called when new user stream wrapper object is created.
Before, it was called only when stream_open was called.
==============================
5. Changes to existing classes
==============================
@@ -364,6 +382,9 @@ PHP 5.4 UPGRADE NOTES
- FilesystemIterator, GlobIterator and (Recursive)DirectoryIterator now use
the default stream context.
- Since 5.4.5, the constructor of ResourceBundle accepts NULL for the first two
arguments.
===========================
7. Deprecated Functionality
===========================
@@ -422,7 +443,7 @@ d. Removed hash algorithms
a. Extensions no longer maintained
- ext/sqlite is no longer part of the base distribution and has been moved
to PECL. Use sqlite3 or PDO_SQLITE instead.
to PECL. Use sqlite3 or PDO_SQLITE instead.
b. Extensions with changed behavior
@@ -476,7 +497,7 @@ b. Extensions with changed behavior
===========================
- A REQUEST_TIME_FLOAT value returns a floating point number indicating the
time with microsecond precision. All SAPIs providing this value should be
time with microsecond precision. All SAPIs providing this value should be
returning float and not time_t.
- apache_child_terminate(), getallheaders(), apache_request_headers()
@@ -499,6 +520,11 @@ b. Extensions with changed behavior
- is_link now works properly for symbolic links on Windows Vista
or later. Earlier systems do not support symbolic links.
- As of PHP 5.4.5 and above the COM extension isn't compiled statically in PHP
anymore but shared. It'll still be delivered with the standard PHP release but
must be activated manually with the "extension = php_com_dotnet.dll" directive
in php.ini.
==================
12. New in PHP 5.4
==================
@@ -601,6 +627,10 @@ c. New functions
- mysqli_error_list()
- mysqli_stmt_error_list()
- pgsql
- pg_escape_identifier() (5.4.4)
- pg_escape_literal() (5.4.4)
- Session:
- session_register_shutdown()
- session_status()
-22097
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -4,7 +4,7 @@ dnl This file contains local autoconf functions.
AC_DEFUN([LIBZEND_BISON_CHECK],[
# we only support certain bison versions
bison_version_list="1.28 1.35 1.75 1.875 2.0 2.1 2.2 2.3 2.4 2.4.1 2.4.2 2.4.3 2.5"
bison_version_list="1.28 1.35 1.75 1.875 2.0 2.1 2.2 2.3 2.4 2.4.1 2.4.2 2.4.3 2.5 2.5.1"
# for standalone build of Zend Engine
test -z "$SED" && SED=sed
+7 -7
View File
@@ -62,17 +62,17 @@ print "\nDone\n";
?>
--EXPECTF--
Notice: String offset cast occured in %s on line %d
Notice: String offset cast occurred in %s on line %d
Notice: Uninitialized string offset: 0 in %s on line %d
Notice: Uninitialized string offset: 0 in %s on line %d
Notice: String offset cast occured in %s on line %d
Notice: String offset cast occurred in %s on line %d
Notice: Uninitialized string offset: %i in %s on line %d
Notice: String offset cast occured in %s on line %d
Notice: String offset cast occurred in %s on line %d
Notice: Uninitialized string offset: %i in %s on line %d
@@ -88,16 +88,16 @@ Notice: Uninitialized string offset: 4 in %s on line %d
Notice: Uninitialized string offset: 4 in %s on line %d
Notice: String offset cast occured in %s on line %d
Notice: String offset cast occurred in %s on line %d
Notice: Uninitialized string offset: 12 in %s on line %d
Notice: String offset cast occured in %s on line %d
Notice: String offset cast occurred in %s on line %d
Notice: Uninitialized string offset: 12 in %s on line %d
Notice: String offset cast occured in %s on line %d
Notice: String offset cast occurred in %s on line %d
Notice: String offset cast occured in %s on line %d
Notice: String offset cast occurred in %s on line %d
b
Done
+6
View File
@@ -13,4 +13,10 @@ function eh()
set_error_handler("eh");
$a = $empty($b);
--EXPECTF--
Warning: Uncaught exception 'Exception' with message 'error!' in %sbug51394.php:4
Stack trace:
#0 %sbug51394.php(9): eh(8, 'Undefined varia...', '%s', 9, Array)
#1 {main}
thrown in %sbug51394.php on line 4
Fatal error: Function name must be a string in %sbug51394.php on line 9
+21
View File
@@ -0,0 +1,21 @@
--TEST--
Bug #54547: wrong equality of string numbers near LONG_MAX with 64-bit longs
--SKIPIF--
<?php
if (PHP_INT_MAX !== 9223372036854775807)
die("skip for 64-bit long systems only");
--FILE--
<?php
var_dump("9223372036854775807" == "9223372036854775808");
var_dump("-9223372036854775808" == "-9223372036854775809");
var_dump("0x7fffffffffffffff" == "9223372036854775808");
/* not exactly what the bug is about, but closely related problem: */
var_dump("999223372036854775807"=="999223372036854775808");
var_dump("899223372036854775807">"00999223372036854775807");
--EXPECT--
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
+6
View File
@@ -5,6 +5,12 @@ Bug #55509 (segfault on x86_64 using more than 2G memory)
if (PHP_INT_SIZE == 4) {
die('skip Not for 32-bits OS');
}
$zend_mm_enabled = getenv("USE_ZEND_ALLOC");
if ($zend_mm_enabled === "0") {
die("skip Zend MM disabled");
}
if (getenv("SKIP_SLOW_TESTS")) die("skip slow test");
// check the available memory
if (PHP_OS == 'Linux') {
+24
View File
@@ -0,0 +1,24 @@
--TEST--
Bug #60909 (custom error handler throwing Exception + fatal error = no shutdown function).
--FILE--
<?php
register_shutdown_function(function(){echo("\n\n!!!shutdown!!!\n\n");});
set_error_handler(function($errno, $errstr, $errfile, $errline){
echo "error($errstr)";
throw new Exception("Foo");
});
require 'notfound.php';
--EXPECTF--
error(require(notfound.php): failed to open stream: No such file or directory)
Warning: Uncaught exception 'Exception' with message 'Foo' in %sbug60909_1.php:5
Stack trace:
#0 %sbug60909_1.php(8): {closure}(2, 'require(notfoun...', '%s', 8, Array)
#1 %sbug60909_1.php(8): require()
#2 {main}
thrown in %sbug60909_1.php on line 5
Fatal error: main(): Failed opening required 'notfound.php' (include_path='%s') in %sbug60909_1.php on line 8
!!!shutdown!!!
+20
View File
@@ -0,0 +1,20 @@
--TEST--
Bug #60909 (custom error handler throwing Exception + fatal error = no shutdown function).
--FILE--
<?php
register_shutdown_function(function(){echo("\n\n!!!shutdown!!!\n\n");});
set_error_handler(function($errno, $errstr, $errfile, $errline){throw new Exception("Foo");});
class Bad {
public function __toString() {
throw new Exception('Oops, I cannot do this');
}
}
$bad = new Bad();
echo "$bad";
--EXPECTF--
Fatal error: Method Bad::__toString() must not throw an exception in %sbug60909_2.php on line 0
!!!shutdown!!!
+19
View File
@@ -0,0 +1,19 @@
--TEST--
Bug #61761 ('Overriding' a private static method with a different signature causes crash)
--FILE--
<?php
class A
{
private static function test($a) { }
}
class B extends A
{
private static function test($a, $b) { }
}
?>
==DONE==
--EXPECTF--
==DONE==
+34
View File
@@ -0,0 +1,34 @@
--TEST--
Bug #61767 (Shutdown functions not called in certain error situation)
--FILE--
<?php
set_error_handler(function($code, $msg, $file = null, $line = null) {
echo "Error handler called ($msg)\n";
throw new \ErrorException($msg, $code, 0, $file, $line);
});
register_shutdown_function(function(){
echo "Shutting down\n";
print_r(error_get_last());
});
//$undefined = null; // defined variable does not cause problems
$undefined->foo();
--EXPECTF--
Error handler called (Undefined variable: undefined)
Warning: Uncaught exception 'ErrorException' with message 'Undefined variable: undefined' in %sbug61767.php:13
Stack trace:
#0 %sbug61767.php(13): {closure}(8, 'Undefined varia...', '%s', 13, Array)
#1 {main}
thrown in %sbug61767.php on line 13
Fatal error: Call to a member function foo() on a non-object in %sbug61767.php on line 13
Shutting down
Array
(
[type] => 1
[message] => Call to a member function foo() on a non-object
[file] => %sbug61767.php
[line] => 13
)
+29
View File
@@ -0,0 +1,29 @@
--TEST--
Bug #61782 (__clone/__destruct do not match other methods when checking access controls)
--FILE--
<?php
abstract class BaseClass {
abstract protected function __clone();
}
class MommasBoy extends BaseClass {
protected function __clone() {
echo __METHOD__, "\n";
}
}
class LatchkeyKid extends BaseClass {
public function __construct() {
echo 'In ', __CLASS__, ":\n";
$kid = new MommasBoy();
$kid = clone $kid;
}
public function __clone() {}
}
$obj = new LatchkeyKid();
echo "DONE\n";
--EXPECT--
In LatchkeyKid:
MommasBoy::__clone
DONE
+15
View File
@@ -0,0 +1,15 @@
--TEST--
Bug #62005 (unexpected behavior when incrementally assigning to a member of a null object)
--FILE--
<?php
function add_points($player, $points) {
$player->energy += $points;
print_r($player);
}
add_points(NULL, 2);
--EXPECTF--
Warning: Creating default object from empty value in %sbug62005.php on line %d
stdClass Object
(
[energy] => 2
)
+17
View File
@@ -0,0 +1,17 @@
--TEST--
Bug #62097: fix for bug #54547 is wrong for 32-bit machines
--SKIPIF--
<?php
if (PHP_INT_MAX !== 2147483647)
die('skip for system with 32-bit wide longs only');
--FILE--
<?php
var_dump("02147483647" == "2147483647",
"02147483648" == "2147483648",
"09007199254740991" == "9007199254740991",
"09007199254740992" == "9007199254740992");
--EXPECT--
bool(true)
bool(true)
bool(true)
bool(false)
+32
View File
@@ -0,0 +1,32 @@
--TEST--
Bug #62358 (Segfault when using traits a lot)
--SKIPIF--
<?php
if (getenv("USE_ZEND_ALLOC") !== "0") {
die("skip Need Zend MM enabled");
}
?>
--FILE--
<?php
trait T {
public function foo() {
echo "from T";
}
}
interface I {
public function foo();
}
abstract class A implements I{
use T;
}
class B extends A {
public function foo($var) {
}
}
?>
--EXPECTF--
Strict Standards: Declaration of B::foo() should be compatible with A::foo() in %sbug62358.php on line %d
+33
View File
@@ -0,0 +1,33 @@
--TEST--
Bug #62653: unset($array[$float]) causes a crash
--FILE--
<?php
$array = array("5"=>"bar");
$foo = "10.0000"; // gettype($foo) = "string"
$foo /= 2; //Makes $foo = 5 but still gettype($foo) = "double"
unset($array[$foo]);
print_r($array);
$array = array("5"=>"bar");
$foo = "5";
unset($array[(float)$foo]);
print_r($array);
$array = array("5"=>"bar");
$foo = "10.0000";
$foo /= 2; //Makes $foo = 5 but still gettype($foo) = "double"
$name = "foo";
unset($array[$$name]);
print_r($array);
?>
--EXPECT--
Array
(
)
Array
(
)
Array
(
)
+11
View File
@@ -0,0 +1,11 @@
--TEST--
Bug #62680 (Function isset() throws fatal error on set array if non-existent key depth >= 3)
--FILE--
<?php
$array = array("");
var_dump(isset($array[0]["a"]["b"]));
var_dump(isset($array[0]["a"]["b"]["c"]));
?>
--EXPECT--
bool(false)
bool(false)
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Bug #62763 (register_shutdown_function and extending class)
--FILE--
<?php
class test1 {
public function __construct() {
register_shutdown_function(array($this, 'shutdown'));
}
public function shutdown() {
exit(__METHOD__);
}
}
class test2 extends test1 {
public function __destruct() {
exit (__METHOD__);
}
}
new test1;
new test2;
?>
--EXPECT--
test1::shutdowntest2::__destruct
+21
View File
@@ -0,0 +1,21 @@
--TEST--
Bug #62892 (ReflectionClass::getTraitAliases crashes on importing trait methods as private)
--FILE--
<?php
trait myTrait {
public function run() {}
}
class myClass {
use myTrait {
MyTrait::run as private;
}
}
$class = new \ReflectionClass('myClass');
var_dump($class->getTraitAliases());
?>
--EXPECTF--
array(0) {
}
+22
View File
@@ -0,0 +1,22 @@
--TEST--
Bug #62907 (Double free when use traits)
--FILE--
<?php
function __autoload($name) {
if ($name == "B") {
eval ("abstract class B extends A { }");
} else if ($name == "A") {
eval ("abstract class A { use T { T::__construct as __asconstruct; }}");
} else if ($name == "T") {
eval ("trait T { public function __construct() { } }");
}
return TRUE;
}
class C extends B {
public function __construct() {
}
}
echo "okey";
--EXPECT--
okey
+20
View File
@@ -0,0 +1,20 @@
--TEST--
Bug #62956: "incompatible" signatures for private methods should not cause E_STRICT
--FILE--
<?php
class Base
{
private function test()
{}
}
class Extension extends Base
{
private function test($arg)
{}
}
?>
==DONE==
--EXPECT--
==DONE==
+36
View File
@@ -0,0 +1,36 @@
--TEST--
Bug #63111 (is_callable() lies for abstract static method)
--FILE--
<?php
abstract class Foo {
abstract static function bar();
}
interface MyInterface {
static function bar();
}
abstract class Bar {
static function foo() {
echo "ok\n";
}
}
var_dump(is_callable(array("Foo", "bar")));
var_dump(is_callable("Foo::bar"));
var_dump(is_callable(array("MyInterface", "bar")));
var_dump(is_callable("MyInterface::bar"));
var_dump(is_callable(array("Bar", "foo")));
var_dump(is_callable("Bar::foo"));
Bar::foo();
Foo::bar();
?>
--EXPECTF--
Strict Standards: Static function Foo::bar() should not be abstract in %sbug63111.php on line 3
bool(false)
bool(false)
bool(false)
bool(false)
bool(true)
bool(true)
ok
Fatal error: Cannot call abstract method Foo::bar() in %sbug63111.php on line 20
+12
View File
@@ -0,0 +1,12 @@
--TEST--
Bug #63173: Crash when invoking invalid array callback
--FILE--
<?php
// the important part here are the indexes 1 and 2
$callback = [1 => 0, 2 => 0];
$callback();
?>
--EXPECTF--
Fatal error: Array callback has to contain indices 0 and 1 in %s on line %d
+2
View File
@@ -1,5 +1,7 @@
--TEST--
GC 029: GC and destructors
--SKIPIF--
<?php if (PHP_ZTS) { print "skip only for no-zts build"; }
--INI--
zend.enable_gc=1
--FILE--
+37
View File
@@ -0,0 +1,37 @@
--TEST--
GC 029: GC and destructors
--SKIPIF--
<?php if (!PHP_ZTS) { print "skip only for zts build"; }
--INI--
zend.enable_gc=1
--FILE--
<?php
class Foo {
public $bar;
public $x = array(1,2,3);
function __destruct() {
if ($this->bar !== null) {
$this->x = null;
unset($this->bar);
}
}
}
class Bar {
public $foo;
function __destruct() {
if ($this->foo !== null) {
unset($this->foo);
}
}
}
$foo = new Foo();
$bar = new Bar();
$foo->bar = $bar;
$bar->foo = $foo;
unset($foo);
unset($bar);
var_dump(gc_collect_cycles());
?>
--EXPECT--
int(3)
+4 -4
View File
@@ -30,10 +30,10 @@ echo "Done\n";
--EXPECTF--
string(1) "i"
Notice: String offset cast occured in %s on line %d
Notice: String offset cast occurred in %s on line %d
string(1) "S"
Notice: String offset cast occured in %s on line %d
Notice: String offset cast occurred in %s on line %d
string(1) "S"
Warning: Illegal string offset 'run away' in %s on line %d
@@ -46,10 +46,10 @@ string(1) "o"
Notice: A non well formed numeric value encountered in %s on line %d
string(1) "r"
Notice: String offset cast occured in %s on line %d
Notice: String offset cast occurred in %s on line %d
string(1) "i"
Notice: String offset cast occured in %s on line %d
Notice: String offset cast occurred in %s on line %d
string(1) "S"
Warning: Illegal offset type in %s on line %d
+68
View File
@@ -0,0 +1,68 @@
--TEST--
Bug #61998 (Using traits with method aliases appears to result in crash during execution)
--FILE--
<?php
class Foo {
use T1 {
func as newFunc;
}
public function func() {
echo "From Foo\n";
}
}
trait T1 {
public function func() {
echo "From T1\n";
}
}
class Bar {
public function func() {
echo "From Bar\n";
}
public function func2() {
echo "From Bar\n";
}
public function func3() {
echo "From Bar\n";
}
use T1 {
func as newFunc;
func as func2;
}
use T2 {
func2 as newFunc2;
func2 as newFunc3;
func2 as func3;
}
}
trait T2 {
public function func2() {
echo "From T2\n";
}
}
$f = new Foo();
$f->newFunc(); //from T1
$f->func(); //from Foo
$b = new Bar();
$b->newFunc(); //from T1
$b->func(); //from Bar
$b->func2(); //from Bar
$b->newFunc2(); //from T2
$b->newFunc3(); //from T2
$b->func3(); //from Bar
--EXPECTF--
From T1
From Foo
From T1
From Bar
From Bar
From T2
From T2
From Bar
+46 -7
View File
@@ -258,6 +258,9 @@ ZEND_API void zend_make_printable_zval(zval *expr, zval *expr_copy, int *use_cop
{
TSRMLS_FETCH();
if (zend_std_cast_object_tostring(expr, expr_copy, IS_STRING TSRMLS_CC) == SUCCESS) {
break;
}
if (Z_OBJ_HANDLER_P(expr, cast_object)) {
zval *val;
@@ -270,12 +273,6 @@ ZEND_API void zend_make_printable_zval(zval *expr, zval *expr_copy, int *use_cop
}
zval_ptr_dtor(&val);
}
/* Standard PHP objects */
if (Z_OBJ_HT_P(expr) == &std_object_handlers || !Z_OBJ_HANDLER_P(expr, cast_object)) {
if (zend_std_cast_object_tostring(expr, expr_copy, IS_STRING TSRMLS_CC) == SUCCESS) {
break;
}
}
if (!Z_OBJ_HANDLER_P(expr, cast_object) && Z_OBJ_HANDLER_P(expr, get)) {
zval *z = Z_OBJ_HANDLER_P(expr, get)(expr TSRMLS_CC);
@@ -781,6 +778,8 @@ void zend_register_standard_ini_entries(TSRMLS_D) /* {{{ */
void zend_post_startup(TSRMLS_D) /* {{{ */
{
#ifdef ZTS
zend_encoding **script_encoding_list;
zend_compiler_globals *compiler_globals = ts_resource(compiler_globals_id);
zend_executor_globals *executor_globals = ts_resource(executor_globals_id);
@@ -795,7 +794,12 @@ void zend_post_startup(TSRMLS_D) /* {{{ */
zend_destroy_rsrc_list(&EG(persistent_list) TSRMLS_CC);
free(compiler_globals->function_table);
free(compiler_globals->class_table);
compiler_globals_ctor(compiler_globals, tsrm_ls);
if ((script_encoding_list = (zend_encoding **)compiler_globals->script_encoding_list)) {
compiler_globals_ctor(compiler_globals, tsrm_ls);
compiler_globals->script_encoding_list = (const zend_encoding **)script_encoding_list;
} else {
compiler_globals_ctor(compiler_globals, tsrm_ls);
}
free(EG(zend_constants));
executor_globals_ctor(executor_globals, tsrm_ls);
global_persistent_list = &EG(persistent_list);
@@ -1024,6 +1028,29 @@ ZEND_API void zend_error(int type, const char *format, ...) /* {{{ */
zend_stack context_stack;
TSRMLS_FETCH();
/* Report about uncaught exception in case of fatal errors */
if (EG(exception)) {
switch (type) {
case E_CORE_ERROR:
case E_ERROR:
case E_RECOVERABLE_ERROR:
case E_PARSE:
case E_COMPILE_ERROR:
case E_USER_ERROR:
if (zend_is_executing(TSRMLS_C)) {
error_lineno = zend_get_executed_lineno(TSRMLS_C);
}
zend_exception_error(EG(exception), E_WARNING TSRMLS_CC);
EG(exception) = NULL;
if (zend_is_executing(TSRMLS_C) && EG(opline_ptr)) {
active_opline->lineno = error_lineno;
}
break;
default:
break;
}
}
/* Obtain relevant filename and lineno */
switch (type) {
case E_CORE_ERROR:
@@ -1254,6 +1281,7 @@ ZEND_API int zend_execute_scripts(int type TSRMLS_DC, zval **retval, int file_co
zend_file_handle *file_handle;
zend_op_array *orig_op_array = EG(active_op_array);
zval **orig_retval_ptr_ptr = EG(return_value_ptr_ptr);
long orig_interactive = CG(interactive);
va_start(files, file_count);
for (i = 0; i < file_count; i++) {
@@ -1261,6 +1289,15 @@ ZEND_API int zend_execute_scripts(int type TSRMLS_DC, zval **retval, int file_co
if (!file_handle) {
continue;
}
if (orig_interactive) {
if (file_handle->filename[0] != '-' || file_handle->filename[1]) {
CG(interactive) = 0;
} else {
CG(interactive) = 1;
}
}
EG(active_op_array) = zend_compile_file(file_handle, type TSRMLS_CC);
if (file_handle->opened_path) {
int dummy = 1;
@@ -1302,12 +1339,14 @@ ZEND_API int zend_execute_scripts(int type TSRMLS_DC, zval **retval, int file_co
va_end(files);
EG(active_op_array) = orig_op_array;
EG(return_value_ptr_ptr) = orig_retval_ptr_ptr;
CG(interactive) = orig_interactive;
return FAILURE;
}
}
va_end(files);
EG(active_op_array) = orig_op_array;
EG(return_value_ptr_ptr) = orig_retval_ptr_ptr;
CG(interactive) = orig_interactive;
return SUCCESS;
}
+27 -11
View File
@@ -1093,7 +1093,12 @@ ZEND_API void object_properties_init(zend_object *object, zend_class_entry *clas
for (i = 0; i < class_type->default_properties_count; i++) {
object->properties_table[i] = class_type->default_properties_table[i];
if (class_type->default_properties_table[i]) {
#if ZTS
ALLOC_ZVAL( object->properties_table[i]);
MAKE_COPY_ZVAL(&class_type->default_properties_table[i], object->properties_table[i]);
#else
Z_ADDREF_P(object->properties_table[i]);
#endif
}
}
object->properties = NULL;
@@ -2260,7 +2265,9 @@ void module_destructor(zend_module_entry *module) /* {{{ */
/* Deinitilaise module globals */
if (module->globals_size) {
#ifdef ZTS
ts_free_id(*module->globals_id_ptr);
if (*module->globals_id_ptr) {
ts_free_id(*module->globals_id_ptr);
}
#else
if (module->globals_dtor) {
module->globals_dtor(module->globals_ptr TSRMLS_CC);
@@ -2526,6 +2533,9 @@ ZEND_API int zend_disable_function(char *function_name, uint function_name_lengt
}
/* }}} */
#ifdef ZEND_WIN32
#pragma optimize("", off)
#endif
static zend_object_value display_disabled_class(zend_class_entry *class_type TSRMLS_DC) /* {{{ */
{
zend_object_value retval;
@@ -2534,6 +2544,9 @@ static zend_object_value display_disabled_class(zend_class_entry *class_type TSR
zend_error(E_WARNING, "%s() has been disabled for security reasons", class_type->name);
return retval;
}
#ifdef ZEND_WIN32
#pragma optimize("", on)
#endif
/* }}} */
static const zend_function_entry disabled_class_new[] = {
@@ -2542,16 +2555,15 @@ static const zend_function_entry disabled_class_new[] = {
ZEND_API int zend_disable_class(char *class_name, uint class_name_length TSRMLS_DC) /* {{{ */
{
zend_class_entry disabled_class;
zend_class_entry **disabled_class;
zend_str_tolower(class_name, class_name_length);
if (zend_hash_del(CG(class_table), class_name, class_name_length+1)==FAILURE) {
if (zend_hash_find(CG(class_table), class_name, class_name_length+1, (void **)&disabled_class)==FAILURE) {
return FAILURE;
}
INIT_OVERLOADED_CLASS_ENTRY_EX(disabled_class, class_name, class_name_length, disabled_class_new, NULL, NULL, NULL, NULL, NULL);
disabled_class.create_object = display_disabled_class;
disabled_class.name_length = class_name_length;
zend_register_internal_class(&disabled_class TSRMLS_CC);
INIT_CLASS_ENTRY_INIT_METHODS((**disabled_class), disabled_class_new, NULL, NULL, NULL, NULL, NULL);
(*disabled_class)->create_object = display_disabled_class;
zend_hash_clean(&((*disabled_class)->function_table));
return SUCCESS;
}
/* }}} */
@@ -2625,7 +2637,6 @@ static int zend_is_callable_check_class(const char *name, int name_len, zend_fca
}
/* }}} */
static int zend_is_callable_check_func(int check_flags, zval *callable, zend_fcall_info_cache *fcc, int strict_class, char **error TSRMLS_DC) /* {{{ */
{
zend_class_entry *ce_org = fcc->calling_scope;
@@ -2648,11 +2659,9 @@ static int zend_is_callable_check_func(int check_flags, zval *callable, zend_fca
/* Skip leading \ */
if (Z_STRVAL_P(callable)[0] == '\\') {
mlen = Z_STRLEN_P(callable) - 1;
mname = Z_STRVAL_P(callable) + 1;
lmname = zend_str_tolower_dup(Z_STRVAL_P(callable) + 1, mlen);
} else {
mlen = Z_STRLEN_P(callable);
mname = Z_STRVAL_P(callable);
lmname = zend_str_tolower_dup(Z_STRVAL_P(callable), mlen);
}
/* Check if function with given name exists.
@@ -2804,7 +2813,14 @@ get_function_via_handler:
if (retval) {
if (fcc->calling_scope && !call_via_handler) {
if (!fcc->object_ptr && !(fcc->function_handler->common.fn_flags & ZEND_ACC_STATIC)) {
if (!fcc->object_ptr && (fcc->function_handler->common.fn_flags & ZEND_ACC_ABSTRACT)) {
if (error) {
zend_spprintf(error, 0, "cannot call abstract method %s::%s()", fcc->calling_scope->name, fcc->function_handler->common.function_name);
retval = 0;
} else {
zend_error(E_ERROR, "Cannot call abstract method %s::%s()", fcc->calling_scope->name, fcc->function_handler->common.function_name);
}
} else if (!fcc->object_ptr && !(fcc->function_handler->common.fn_flags & ZEND_ACC_STATIC)) {
int severity;
char *verb;
if (fcc->function_handler->common.fn_flags & ZEND_ACC_ALLOW_STATIC) {
+5
View File
@@ -175,6 +175,11 @@ typedef struct _zend_fcall_info_cache {
class_container.name = zend_strndup(cl_name, _len); \
} \
class_container.name_length = _len; \
INIT_CLASS_ENTRY_INIT_METHODS(class_container, functions, handle_fcall, handle_propget, handle_propset, handle_propunset, handle_propisset) \
}
#define INIT_CLASS_ENTRY_INIT_METHODS(class_container, functions, handle_fcall, handle_propget, handle_propset, handle_propunset, handle_propisset) \
{ \
class_container.constructor = NULL; \
class_container.destructor = NULL; \
class_container.clone = NULL; \
+3 -3
View File
@@ -664,7 +664,7 @@ static void *_zend_mm_realloc_int(zend_mm_heap *heap, void *p, size_t size ZEND_
static inline unsigned int zend_mm_high_bit(size_t _size)
{
#if defined(__GNUC__) && defined(i386)
#if defined(__GNUC__) && (defined(__native_client__) || defined(i386))
unsigned int n;
__asm__("bsrl %1,%0\n\t" : "=r" (n) : "rm" (_size));
@@ -690,7 +690,7 @@ static inline unsigned int zend_mm_high_bit(size_t _size)
static inline unsigned int zend_mm_low_bit(size_t _size)
{
#if defined(__GNUC__) && defined(i386)
#if defined(__GNUC__) && (defined(__native_client__) || defined(i386))
unsigned int n;
__asm__("bsfl %1,%0\n\t" : "=r" (n) : "rm" (_size));
@@ -2454,7 +2454,7 @@ ZEND_API size_t _zend_mem_block_size(void *ptr TSRMLS_DC ZEND_FILE_LINE_DC ZEND_
return _zend_mm_block_size(AG(mm_heap), ptr ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
}
#if defined(__GNUC__) && defined(i386)
#if defined(__GNUC__) && (defined(__native_client__) || defined(i386))
static inline size_t safe_address(size_t nmemb, size_t size, size_t offset)
{
+1 -1
View File
@@ -78,7 +78,7 @@ ZEND_METHOD(Closure, __invoke) /* {{{ */
/* {{{ proto Closure Closure::bind(Closure $old, object $to [, mixed $scope = "static" ] )
Create a closure from another one and bind to another object and scope */
ZEND_METHOD(Closure, bind) /* {{{ */
ZEND_METHOD(Closure, bind)
{
zval *newthis, *zclosure, *scope_arg = NULL;
zend_closure *closure;
+37 -27
View File
@@ -1685,7 +1685,7 @@ void zend_do_begin_function_declaration(znode *function_token, znode *function_n
zval key;
if (CG(current_namespace)) {
/* Prefix function name with current namespcae name */
/* Prefix function name with current namespace name */
znode tmp;
tmp.u.constant = *CG(current_namespace);
@@ -2935,6 +2935,11 @@ static zend_bool zend_do_perform_implementation_check(const zend_function *fe, c
return 1;
}
/* If both methods are private do not enforce a signature */
if ((fe->common.fn_flags & ZEND_ACC_PRIVATE) && (proto->common.fn_flags & ZEND_ACC_PRIVATE)) {
return 1;
}
/* check number of arguments */
if (proto->common.required_num_args < fe->common.required_num_args
|| proto->common.num_args > fe->common.num_args) {
@@ -3260,11 +3265,11 @@ static void do_inheritance_check_on_method(zend_function *child, zend_function *
if (child->common.prototype && (child->common.prototype->common.fn_flags & ZEND_ACC_ABSTRACT)) {
if (!zend_do_perform_implementation_check(child, child->common.prototype TSRMLS_CC)) {
zend_error(E_COMPILE_ERROR, "Declaration of %s::%s() must be compatible with %s", ZEND_FN_SCOPE_NAME(child), child->common.function_name, zend_get_function_declaration(child->common.prototype TSRMLS_CC));
zend_error(E_COMPILE_ERROR, "Declaration of %s::%s() must be compatible with %s", ZEND_FN_SCOPE_NAME(child), child->common.function_name, zend_get_function_declaration(child->common.prototype? child->common.prototype : parent TSRMLS_CC));
}
} else if (EG(error_reporting) & E_STRICT || EG(user_error_handler)) { /* Check E_STRICT (or custom error handler) before the check so that we save some time */
if (!zend_do_perform_implementation_check(child, parent TSRMLS_CC)) {
char *method_prototype = zend_get_function_declaration(child->common.prototype TSRMLS_CC);
char *method_prototype = zend_get_function_declaration(child->common.prototype? child->common.prototype : parent TSRMLS_CC);
zend_error(E_STRICT, "Declaration of %s::%s() should be compatible with %s", ZEND_FN_SCOPE_NAME(child), child->common.function_name, method_prototype);
efree(method_prototype);
}
@@ -3619,6 +3624,7 @@ ZEND_API void zend_do_implement_trait(zend_class_entry *ce, zend_class_entry *tr
}
}
ce->traits[ce->num_traits++] = trait;
trait->refcount++;
}
}
/* }}} */
@@ -3711,7 +3717,7 @@ static int zend_traits_merge_functions(zend_function *fn TSRMLS_DC, int num_args
} else {
/* Add it to result function table */
if (zend_hash_quick_add(resulting_table, hash_key->arKey, hash_key->nKeyLength, hash_key->h, fn, sizeof(zend_function), NULL)==FAILURE) {
zend_error(E_COMPILE_ERROR, "Trait method %s has not been applied, because failure occured during updating resulting trait method table", fn->common.function_name);
zend_error(E_COMPILE_ERROR, "Trait method %s has not been applied, because failure occurred during updating resulting trait method table", fn->common.function_name);
}
}
@@ -3800,9 +3806,12 @@ static int zend_traits_merge_functions_to_class(zend_function *fn TSRMLS_DC, int
if (prototype) {
do_inheritance_check_on_method(fn, prototype TSRMLS_CC);
}
/* one more thing: make sure we properly implement an abstract method */
if (existing_fn && existing_fn->common.fn_flags & ZEND_ACC_ABSTRACT) {
prototype = fn->common.prototype;
do_inheritance_check_on_method(fn, existing_fn TSRMLS_CC);
fn->common.prototype = prototype;
}
/* delete inherited fn if the function to be added is not abstract */
@@ -3828,11 +3837,11 @@ static int zend_traits_merge_functions_to_class(zend_function *fn TSRMLS_DC, int
function_add_ref(&fn_copy);
if (zend_hash_quick_update(&ce->function_table, hash_key->arKey, hash_key->nKeyLength, hash_key->h, &fn_copy, sizeof(zend_function), (void**)&fn_copy_p)==FAILURE) {
zend_error(E_COMPILE_ERROR, "Trait method %s has not been applied, because failure occured during updating class method table", hash_key->arKey);
zend_error(E_COMPILE_ERROR, "Trait method %s has not been applied, because failure occurred during updating class method table", hash_key->arKey);
}
zend_add_magic_methods(ce, hash_key->arKey, hash_key->nKeyLength, fn_copy_p TSRMLS_CC);
zend_function_dtor(fn);
} else {
zend_function_dtor(fn);
@@ -3869,10 +3878,10 @@ static int zend_traits_copy_functions(zend_function *fn TSRMLS_DC, int num_args,
&& (zend_binary_strcasecmp(aliases[i]->trait_method->method_name, aliases[i]->trait_method->mname_len, fn->common.function_name, fnname_len) == 0)) {
fn_copy = *fn;
function_add_ref(&fn_copy);
/* this function_name is never destroyed, because its refcount
greater than 1, classes are always destoyed in reverse order
and trait is declared early than this class */
/* this function_name is never destroyed, because ZEND_ACC_ALIAS
flag is set */
fn_copy.common.function_name = aliases[i]->alias;
fn_copy.common.fn_flags |= ZEND_ACC_ALIAS;
/* if it is 0, no modifieres has been changed */
if (aliases[i]->modifiers) {
@@ -3905,6 +3914,7 @@ static int zend_traits_copy_functions(zend_function *fn TSRMLS_DC, int num_args,
/* is not in hashtable, thus, function is not to be excluded */
fn_copy = *fn;
function_add_ref(&fn_copy);
fn_copy.common.fn_flags |= ZEND_ACC_ALIAS;
/* apply aliases which are not qualified by a class name, or which have not
* alias name, just setting visibility */
@@ -4024,9 +4034,9 @@ static void zend_traits_init_trait_structures(zend_class_entry *ce TSRMLS_DC) /*
/** And, ensure that the referenced method is resolvable, too. */
lcname = zend_str_tolower_dup(cur_method_ref->method_name,
cur_method_ref->mname_len);
cur_method_ref->mname_len);
method_exists = zend_hash_exists(&cur_method_ref->ce->function_table,
lcname, cur_method_ref->mname_len + 1);
lcname, cur_method_ref->mname_len + 1);
efree(lcname);
if (!method_exists) {
@@ -4076,14 +4086,14 @@ static void zend_do_traits_method_binding(zend_class_entry *ce TSRMLS_DC) /* {{{
size_t i;
/* prepare copies of trait function tables for combination */
function_tables = malloc(sizeof(HashTable*) * ce->num_traits);
resulting_table = (HashTable *) malloc(sizeof(HashTable));
function_tables = emalloc(sizeof(HashTable*) * ce->num_traits);
resulting_table = (HashTable *)emalloc(sizeof(HashTable));
/* TODO: revisit this start size, may be its not optimal */
zend_hash_init_ex(resulting_table, 10, NULL, NULL, 1, 0);
zend_hash_init_ex(resulting_table, 10, NULL, NULL, 0, 0);
for (i = 0; i < ce->num_traits; i++) {
function_tables[i] = (HashTable *) malloc(sizeof(HashTable));
function_tables[i] = (HashTable *)emalloc(sizeof(HashTable));
zend_hash_init_ex(function_tables[i], ce->traits[i]->function_table.nNumOfElements, NULL, NULL, 1, 0);
if (ce->trait_precedences) {
@@ -4116,14 +4126,14 @@ static void zend_do_traits_method_binding(zend_class_entry *ce TSRMLS_DC) /* {{{
for (i = 0; i < ce->num_traits; i++) {
/* zend_hash_destroy(function_tables[i]); */
zend_hash_graceful_destroy(function_tables[i]);
free(function_tables[i]);
efree(function_tables[i]);
}
free(function_tables);
efree(function_tables);
/* free temporary resulting table */
/* zend_hash_destroy(resulting_table); */
zend_hash_graceful_destroy(resulting_table);
free(resulting_table);
efree(resulting_table);
}
/* }}} */
@@ -5008,11 +5018,11 @@ void zend_do_begin_class_declaration(const znode *class_token, znode *class_name
opline->op2_type = IS_CONST;
if (doing_inheritance) {
/* Make sure a trait does not try to extend a class */
if ((new_class_entry->ce_flags & ZEND_ACC_TRAIT) == ZEND_ACC_TRAIT) {
zend_error(E_COMPILE_ERROR, "A trait (%s) cannot extend a class. Traits can only be composed from other traits with the 'use' keyword. Error", new_class_entry->name);
}
/* Make sure a trait does not try to extend a class */
if ((new_class_entry->ce_flags & ZEND_ACC_TRAIT) == ZEND_ACC_TRAIT) {
zend_error(E_COMPILE_ERROR, "A trait (%s) cannot extend a class. Traits can only be composed from other traits with the 'use' keyword. Error", new_class_entry->name);
}
opline->extended_value = parent_class_name->u.op.var;
opline->opcode = ZEND_DECLARE_INHERITED_CLASS;
} else {
@@ -6957,9 +6967,9 @@ void zend_do_use(znode *ns_name, znode *new_name, int is_global TSRMLS_DC) /* {{
lcname = zend_str_tolower_dup(Z_STRVAL_P(name), Z_STRLEN_P(name));
if (((Z_STRLEN_P(name) == sizeof("self")-1) &&
!memcmp(lcname, "self", sizeof("self")-1)) ||
((Z_STRLEN_P(name) == sizeof("parent")-1) &&
!memcmp(lcname, "parent", sizeof("parent")-1))) {
!memcmp(lcname, "self", sizeof("self")-1)) ||
((Z_STRLEN_P(name) == sizeof("parent")-1) &&
!memcmp(lcname, "parent", sizeof("parent")-1))) {
zend_error(E_COMPILE_ERROR, "Cannot use %s as %s because '%s' is a special class name", Z_STRVAL_P(ns), Z_STRVAL_P(name), Z_STRVAL_P(name));
}
+2 -4
View File
@@ -207,6 +207,8 @@ typedef struct _zend_try_catch_element {
#define ZEND_ACC_RETURN_REFERENCE 0x4000000
#define ZEND_ACC_DONE_PASS_TWO 0x8000000
#define ZEND_ACC_ALIAS 0x10000000
char *zend_visibility_string(zend_uint fn_flags);
@@ -518,10 +520,6 @@ void zend_prepare_trait_precedence(znode *result, znode *method_reference, znode
void zend_prepare_reference(znode *result, znode *class_name, znode *method_name TSRMLS_DC);
void zend_prepare_trait_alias(znode *result, znode *method_reference, znode *modifiers, znode *alias TSRMLS_DC);
void init_trait_alias_list(znode* result, const znode* trait_alias TSRMLS_DC);
void add_trait_alias(znode* result, const znode* trait_alias TSRMLS_DC);
void init_trait_alias(znode* result, const znode* method_name, const znode* alias, const znode* modifiers TSRMLS_DC);
ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent_ce TSRMLS_DC);
void zend_do_early_binding(TSRMLS_D);
ZEND_API void zend_do_delayed_early_binding(const zend_op_array *op_array TSRMLS_DC);
+2 -2
View File
@@ -29,8 +29,8 @@
#include "zend_vm.h"
#include "zend_dtrace.h"
zend_class_entry *default_exception_ce;
zend_class_entry *error_exception_ce;
static zend_class_entry *default_exception_ce;
static zend_class_entry *error_exception_ce;
static zend_object_handlers default_exception_handlers;
ZEND_API void (*zend_throw_exception_hook)(zval *ex TSRMLS_DC);
+3 -4
View File
@@ -554,11 +554,10 @@ static inline void make_real_object(zval **object_ptr TSRMLS_DC)
|| (Z_TYPE_PP(object_ptr) == IS_BOOL && Z_LVAL_PP(object_ptr) == 0)
|| (Z_TYPE_PP(object_ptr) == IS_STRING && Z_STRLEN_PP(object_ptr) == 0)
) {
zend_error(E_WARNING, "Creating default object from empty value");
SEPARATE_ZVAL_IF_NOT_REF(object_ptr);
zval_dtor(*object_ptr);
object_init(*object_ptr);
zend_error(E_WARNING, "Creating default object from empty value");
}
}
@@ -1162,7 +1161,7 @@ convert_to_array:
case IS_DOUBLE:
case IS_NULL:
case IS_BOOL:
zend_error(E_NOTICE, "String offset cast occured");
zend_error(E_NOTICE, "String offset cast occurred");
break;
default:
zend_error(E_WARNING, "Illegal offset type");
@@ -1285,7 +1284,7 @@ static void zend_fetch_dimension_address_read(temp_variable *result, zval **cont
case IS_NULL:
case IS_BOOL:
if (type != BP_VAR_IS) {
zend_error(E_NOTICE, "String offset cast occured");
zend_error(E_NOTICE, "String offset cast occurred");
}
break;
default:
+1 -1
View File
@@ -330,7 +330,7 @@ END_EXTERN_C()
if (idx-1 > LONG_MAX) { /* overflow */ \
break; \
} \
idx = (ulong)(-(long)idx); \
idx = 0 - idx; \
} else if (idx > LONG_MAX) { /* overflow */ \
break; \
} \
+1612 -1574
View File
File diff suppressed because it is too large. Load diff
+27 -6
View File
@@ -347,7 +347,7 @@ DOLLAR_CURLY "${"
SECTION_RAW_CHARS [^\]\n\r]
SINGLE_QUOTED_CHARS [^']
RAW_VALUE_CHARS [^\n\r;\000]
RAW_VALUE_CHARS [^"\n\r;\000]
LITERAL_DOLLAR ("$"([^{\000]|("\\"{ANY_CHAR})))
VALUE_CHARS ([^$= \t\n\r;&|~()!"'\000]|{LITERAL_DOLLAR})
@@ -445,12 +445,33 @@ SECTION_VALUE_CHARS ([^$\n\r;"'\]\\]|("\\"{ANY_CHAR})|{LITERAL_DOLLAR})
return '=';
}
<ST_RAW>{RAW_VALUE_CHARS}+ { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
/* Eat leading and trailing double quotes */
if (yytext[0] == '"' && yytext[yyleng - 1] == '"') {
SCNG(yy_text)++;
yyleng = yyleng - 2;
<ST_RAW>["] {
while (YYCURSOR < YYLIMIT) {
switch (*YYCURSOR++) {
case '\n':
SCNG(lineno)++;
break;
case '\r':
if (*YYCURSOR != '\n') {
SCNG(lineno)++;
}
break;
case '"':
yyleng = YYCURSOR - SCNG(yy_text) - 2;
SCNG(yy_text)++;
RETURN_TOKEN(TC_RAW, yytext, yyleng);
case '\\':
if (YYCURSOR < YYLIMIT) {
YYCURSOR++;
}
break;
}
}
yyleng = YYCURSOR - SCNG(yy_text);
RETURN_TOKEN(TC_RAW, yytext, yyleng);
}
<ST_RAW>{RAW_VALUE_CHARS}+ { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
RETURN_TOKEN(TC_RAW, yytext, yyleng);
}
+1 -1
View File
@@ -1,4 +1,4 @@
/* Generated by re2c 0.13.5 on Fri Mar 2 11:49:21 2012 */
/* Generated by re2c 0.13.5 on Thu Jun 7 17:48:25 2012 */
#line 3 "Zend/zend_ini_scanner_defs.h"
enum YYCONDTYPE {
+1 -1
View File
@@ -127,7 +127,7 @@ ZEND_API zval *zend_user_it_new_iterator(zend_class_entry *ce, zval *object TSRM
}
/* }}} */
/* {{{ zend_user_it_dtor */
/* {{{ zend_user_it_invalidate_current */
ZEND_API void zend_user_it_invalidate_current(zend_object_iterator *_iter TSRMLS_DC)
{
zend_user_iterator *iter = (zend_user_iterator*)_iter;
+1 -1
View File
@@ -1191,7 +1191,7 @@ static YYSIZE_T zend_yytnamerr(char *yyres, const char *yystr)
if (LANG_SCNG(yy_text)[0] == 0 &&
LANG_SCNG(yy_leng) == 1 &&
memcmp(yystr, ZEND_STRL("\"end of file\"")) == 0) {
memcmp(yystr, "\"end of file\"", sizeof("\"end of file\"") - 1) == 0) {
yystpcpy(yyres, "end of file");
return sizeof("end of file")-1;
}
File diff suppressed because it is too large. Load diff
+7
View File
@@ -33,6 +33,9 @@
#include <errno.h>
#include "zend.h"
#ifdef PHP_WIN32
# include <Winuser.h>
#endif
#include "zend_alloc.h"
#include <zend_language_parser.h>
#include "zend_compile.h"
@@ -905,7 +908,11 @@ static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quo
zendlval->value.str.len--;
break;
case 'e':
#ifdef PHP_WIN32
*t++ = VK_ESCAPE;
#else
*t++ = '\e';
#endif
zendlval->value.str.len--;
break;
case '"':
+1 -1
View File
@@ -1,4 +1,4 @@
/* Generated by re2c 0.13.5 on Thu Mar 1 21:27:30 2012 */
/* Generated by re2c 0.13.5 on Mon Apr 30 15:55:05 2012 */
#line 3 "Zend/zend_language_scanner_defs.h"
enum YYCONDTYPE {
+1 -1
View File
@@ -168,7 +168,7 @@ ZEND_API const zend_encoding *zend_multibyte_get_script_encoding(TSRMLS_D)
ZEND_API int zend_multibyte_set_script_encoding(const zend_encoding **encoding_list, size_t encoding_list_size TSRMLS_DC)
{
if (CG(script_encoding_list)) {
efree(CG(script_encoding_list));
free(CG(script_encoding_list));
}
CG(script_encoding_list) = encoding_list;
CG(script_encoding_list_size) = encoding_list_size;
+12 -17
View File
@@ -66,11 +66,11 @@ ZEND_API void rebuild_object_properties(zend_object *zobj) /* {{{ */
zend_hash_get_current_data_ex(&ce->properties_info, (void**)&prop_info, &pos) == SUCCESS;
zend_hash_move_forward_ex(&ce->properties_info, &pos)) {
if (/*prop_info->ce == ce &&*/
(prop_info->flags & ZEND_ACC_STATIC) == 0 &&
(prop_info->flags & ZEND_ACC_STATIC) == 0 &&
prop_info->offset >= 0 &&
zobj->properties_table[prop_info->offset]) {
zend_hash_quick_add(zobj->properties, prop_info->name, prop_info->name_length+1, prop_info->h, (void**)&zobj->properties_table[prop_info->offset], sizeof(zval*), (void**)&zobj->properties_table[prop_info->offset]);
}
}
}
while (ce->parent && ce->parent->default_properties_count) {
ce = ce->parent;
@@ -78,12 +78,12 @@ ZEND_API void rebuild_object_properties(zend_object *zobj) /* {{{ */
zend_hash_get_current_data_ex(&ce->properties_info, (void**)&prop_info, &pos) == SUCCESS;
zend_hash_move_forward_ex(&ce->properties_info, &pos)) {
if (prop_info->ce == ce &&
(prop_info->flags & ZEND_ACC_STATIC) == 0 &&
(prop_info->flags & ZEND_ACC_PRIVATE) != 0 &&
(prop_info->flags & ZEND_ACC_STATIC) == 0 &&
(prop_info->flags & ZEND_ACC_PRIVATE) != 0 &&
prop_info->offset >= 0 &&
zobj->properties_table[prop_info->offset]) {
zend_hash_quick_add(zobj->properties, prop_info->name, prop_info->name_length+1, prop_info->h, (void**)&zobj->properties_table[prop_info->offset], sizeof(zval*), (void**)&zobj->properties_table[prop_info->offset]);
}
}
}
}
}
@@ -783,7 +783,7 @@ static void zend_std_unset_property(zval *object, zval *member, const zend_liter
property_info = zend_get_property_info_quick(zobj->ce, member, (zobj->ce->__unset != NULL), key TSRMLS_CC);
if (EXPECTED(property_info != NULL) &&
EXPECTED((property_info->flags & ZEND_ACC_STATIC) == 0) &&
EXPECTED((property_info->flags & ZEND_ACC_STATIC) == 0) &&
!zobj->properties &&
property_info->offset >= 0 &&
EXPECTED(zobj->properties_table[property_info->offset] != NULL)) {
@@ -815,8 +815,8 @@ static void zend_std_unset_property(zval *object, zval *member, const zend_liter
}
}
}
} else if (EXPECTED(property_info != NULL) &&
EXPECTED((property_info->flags & ZEND_ACC_STATIC) == 0) &&
} else if (EXPECTED(property_info != NULL) &&
EXPECTED((property_info->flags & ZEND_ACC_STATIC) == 0) &&
property_info->offset >= 0) {
zobj->properties_table[property_info->offset] = NULL;
}
@@ -960,12 +960,6 @@ ZEND_API int zend_check_protected(zend_class_entry *ce, zend_class_entry *scope)
}
/* }}} */
static inline zend_class_entry * zend_get_function_root_class(zend_function *fbc) /* {{{ */
{
return fbc->common.prototype ? fbc->common.prototype->common.scope : fbc->common.scope;
}
/* }}} */
static inline union _zend_function *zend_get_user_call_function(zend_class_entry *ce, const char *method_name, int method_len) /* {{{ */
{
zend_internal_function *call_user_call = emalloc(sizeof(zend_internal_function));
@@ -1143,7 +1137,7 @@ ZEND_API zend_function *zend_std_get_static_method(zend_class_entry *ce, const c
zend_str_tolower_copy(lc_function_name, function_name_strval, function_name_strlen);
hash_value = zend_hash_func(lc_function_name, function_name_strlen+1);
}
if (function_name_strlen == ce->name_length && ce->constructor) {
lc_class_name = zend_str_tolower_dup(ce->name, ce->name_length);
/* Only change the method to the constructor if the constructor isn't called __construct
@@ -1178,7 +1172,7 @@ ZEND_API zend_function *zend_std_get_static_method(zend_class_entry *ce, const c
if (UNEXPECTED(!(fbc->common.fn_flags & ZEND_ACC_STATIC))) {
zend_error_noreturn(E_ERROR, "Cannot call non static method %s::%s() without object", ZEND_FN_SCOPE_NAME(fbc), fbc->common.function_name);
}
#endif
#endif
if (fbc->op_array.fn_flags & ZEND_ACC_PUBLIC) {
/* No further checks necessary, most common case */
} else if (fbc->op_array.fn_flags & ZEND_ACC_PRIVATE) {
@@ -1220,7 +1214,7 @@ ZEND_API zval **zend_std_get_static_property(zend_class_entry *ce, const char *p
{
zend_property_info *property_info;
ulong hash_value;
if (UNEXPECTED(!key) ||
(property_info = CACHED_POLYMORPHIC_PTR(key->cache_slot, ce)) == NULL) {
if (EXPECTED(key != NULL)) {
@@ -1496,6 +1490,7 @@ ZEND_API int zend_std_cast_object_tostring(zval *readobj, zval *writeobj, int ty
if (retval) {
zval_ptr_dtor(&retval);
}
EG(exception) = NULL;
zend_error_noreturn(E_ERROR, "Method %s::__toString() must not throw an exception", ce->name);
return FAILURE;
}
+3
View File
@@ -146,6 +146,9 @@ struct _zend_object_handlers {
extern ZEND_API zend_object_handlers std_object_handlers;
#define zend_get_function_root_class(fbc) \
((fbc)->common.prototype ? (fbc)->common.prototype->common.scope : (fbc)->common.scope)
BEGIN_EXTERN_C()
ZEND_API union _zend_function *zend_std_get_static_method(zend_class_entry *ce, const char *function_name_strval, int function_name_strlen, const struct _zend_literal *key TSRMLS_DC);
ZEND_API zval **zend_std_get_static_property(zend_class_entry *ce, const char *property_name, int property_name_len, zend_bool silent, const struct _zend_literal *key TSRMLS_DC);
+13 -13
View File
@@ -28,7 +28,7 @@
ZEND_API void zend_object_std_init(zend_object *object, zend_class_entry *ce TSRMLS_DC)
{
object->ce = ce;
object->ce = ce;
object->properties = NULL;
object->properties_table = NULL;
object->guards = NULL;
@@ -38,7 +38,7 @@ ZEND_API void zend_object_std_dtor(zend_object *object TSRMLS_DC)
{
if (object->guards) {
zend_hash_destroy(object->guards);
FREE_HASHTABLE(object->guards);
FREE_HASHTABLE(object->guards);
}
if (object->properties) {
zend_hash_destroy(object->properties);
@@ -74,23 +74,23 @@ ZEND_API void zend_objects_destroy_object(zend_object *object, zend_object_handl
if (object->ce != EG(scope)) {
zend_class_entry *ce = object->ce;
zend_error(EG(in_execution) ? E_ERROR : E_WARNING,
"Call to private %s::__destruct() from context '%s'%s",
ce->name,
EG(scope) ? EG(scope)->name : "",
zend_error(EG(in_execution) ? E_ERROR : E_WARNING,
"Call to private %s::__destruct() from context '%s'%s",
ce->name,
EG(scope) ? EG(scope)->name : "",
EG(in_execution) ? "" : " during shutdown ignored");
return;
}
} else {
/* Ensure that if we're calling a protected function, we're allowed to do so.
*/
if (!zend_check_protected(destructor->common.scope, EG(scope))) {
if (!zend_check_protected(zend_get_function_root_class(destructor), EG(scope))) {
zend_class_entry *ce = object->ce;
zend_error(EG(in_execution) ? E_ERROR : E_WARNING,
"Call to protected %s::__destruct() from context '%s'%s",
ce->name,
EG(scope) ? EG(scope)->name : "",
zend_error(EG(in_execution) ? E_ERROR : E_WARNING,
"Call to protected %s::__destruct() from context '%s'%s",
ce->name,
EG(scope) ? EG(scope)->name : "",
EG(in_execution) ? "" : " during shutdown ignored");
return;
}
@@ -139,7 +139,7 @@ ZEND_API void zend_objects_free_object_storage(zend_object *object TSRMLS_DC)
}
ZEND_API zend_object_value zend_objects_new(zend_object **object, zend_class_entry *class_type TSRMLS_DC)
{
{
zend_object_value retval;
*object = emalloc(sizeof(zend_object));
@@ -222,7 +222,7 @@ ZEND_API zend_object_value zend_objects_clone_obj(zval *zobject TSRMLS_DC)
zend_object *new_object;
zend_object_handle handle = Z_OBJ_HANDLE_P(zobject);
/* assume that create isn't overwritten, so when clone depends on the
/* assume that create isn't overwritten, so when clone depends on the
* overwritten one then it must itself be overwritten */
old_object = zend_objects_get_address(zobject TSRMLS_CC);
new_obj_val = zend_objects_new(&new_object, old_object->ce TSRMLS_CC);
+20 -1
View File
@@ -215,6 +215,12 @@ ZEND_API int zend_cleanup_class_data(zend_class_entry **pce TSRMLS_DC)
void _destroy_zend_class_traits_info(zend_class_entry *ce)
{
if (ce->num_traits > 0 && ce->traits) {
size_t i;
for (i = 0; i < ce->num_traits; i++) {
if (ce->traits[i]) {
destroy_zend_class(&ce->traits[i]);
}
}
efree(ce->traits);
}
@@ -261,6 +267,15 @@ void _destroy_zend_class_traits_info(zend_class_entry *ce)
}
}
static int zend_clear_trait_method_name(zend_op_array *op_array TSRMLS_DC)
{
if (op_array->function_name && (op_array->fn_flags & ZEND_ACC_ALIAS) == 0) {
efree(op_array->function_name);
op_array->function_name = NULL;
}
return 0;
}
ZEND_API void destroy_zend_class(zend_class_entry **pce)
{
zend_class_entry *ce = *pce;
@@ -292,6 +307,10 @@ ZEND_API void destroy_zend_class(zend_class_entry **pce)
}
zend_hash_destroy(&ce->properties_info);
str_efree(ce->name);
if ((ce->ce_flags & ZEND_ACC_TRAIT) == ZEND_ACC_TRAIT) {
TSRMLS_FETCH();
zend_hash_apply(&ce->function_table, (apply_func_t)zend_clear_trait_method_name TSRMLS_CC);
}
zend_hash_destroy(&ce->function_table);
zend_hash_destroy(&ce->constants_table);
if (ce->num_interfaces > 0 && ce->interfaces) {
@@ -381,7 +400,7 @@ ZEND_API void destroy_op_array(zend_op_array *op_array TSRMLS_DC)
}
efree(op_array->opcodes);
if (op_array->function_name) {
if (op_array->function_name && (op_array->fn_flags & ZEND_ACC_ALIAS) == 0) {
efree((char*)op_array->function_name);
}
if (op_array->doc_comment) {
+30 -5
View File
@@ -1519,6 +1519,9 @@ ZEND_API int compare_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) /* {
ret = compare_function(result, op1, op_free TSRMLS_CC);
zend_free_obj_get_result(op_free TSRMLS_CC);
return ret;
} else if (Z_TYPE_P(op1) == IS_OBJECT) {
ZVAL_LONG(result, 1);
return SUCCESS;
}
}
if (!converted) {
@@ -1605,7 +1608,8 @@ ZEND_API int is_identical_function(zval *result, zval *op1, zval *op2 TSRMLS_DC)
&& (!memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1))));
break;
case IS_ARRAY:
Z_LVAL_P(result) = zend_hash_compare(Z_ARRVAL_P(op1), Z_ARRVAL_P(op2), (compare_func_t) hash_zval_identical_function, 1 TSRMLS_CC)==0;
Z_LVAL_P(result) = (Z_ARRVAL_P(op1) == Z_ARRVAL_P(op2) ||
zend_hash_compare(Z_ARRVAL_P(op1), Z_ARRVAL_P(op2), (compare_func_t) hash_zval_identical_function, 1 TSRMLS_CC)==0);
break;
case IS_OBJECT:
if (Z_OBJ_HT_P(op1) == Z_OBJ_HT_P(op2)) {
@@ -2035,15 +2039,36 @@ ZEND_API int zend_binary_zval_strncasecmp(zval *s1, zval *s2, zval *s3) /* {{{ *
ZEND_API void zendi_smart_strcmp(zval *result, zval *s1, zval *s2) /* {{{ */
{
int ret1, ret2;
int oflow1, oflow2;
long lval1, lval2;
double dval1, dval2;
if ((ret1=is_numeric_string(Z_STRVAL_P(s1), Z_STRLEN_P(s1), &lval1, &dval1, 0)) &&
(ret2=is_numeric_string(Z_STRVAL_P(s2), Z_STRLEN_P(s2), &lval2, &dval2, 0))) {
if ((ret1=is_numeric_string_ex(Z_STRVAL_P(s1), Z_STRLEN_P(s1), &lval1, &dval1, 0, &oflow1)) &&
(ret2=is_numeric_string_ex(Z_STRVAL_P(s2), Z_STRLEN_P(s2), &lval2, &dval2, 0, &oflow2))) {
#if ULONG_MAX == 0xFFFFFFFF
if (oflow1 != 0 && oflow1 == oflow2 && dval1 - dval2 == 0. &&
((oflow1 == 1 && dval1 > 9007199254740991. /*0x1FFFFFFFFFFFFF*/)
|| (oflow1 == -1 && dval1 < -9007199254740991.))) {
#else
if (oflow1 != 0 && oflow1 == oflow2 && dval1 - dval2 == 0.) {
#endif
/* both values are integers overflown to the same side, and the
* double comparison may have resulted in crucial accuracy lost */
goto string_cmp;
}
if ((ret1==IS_DOUBLE) || (ret2==IS_DOUBLE)) {
if (ret1!=IS_DOUBLE) {
if (oflow2) {
/* 2nd operand is integer > LONG_MAX (oflow2==1) or < LONG_MIN (-1) */
ZVAL_LONG(result, -1 * oflow2);
return;
}
dval1 = (double) lval1;
} else if (ret2!=IS_DOUBLE) {
if (oflow1) {
ZVAL_LONG(result, oflow1);
return;
}
dval2 = (double) lval2;
} else if (dval1 == dval2 && !zend_finite(dval1)) {
/* Both values overflowed and have the same sign,
@@ -2076,13 +2101,13 @@ static int hash_zval_compare_function(const zval **z1, const zval **z2 TSRMLS_DC
ZEND_API int zend_compare_symbol_tables_i(HashTable *ht1, HashTable *ht2 TSRMLS_DC) /* {{{ */
{
return zend_hash_compare(ht1, ht2, (compare_func_t) hash_zval_compare_function, 0 TSRMLS_CC);
return ht1 == ht2 ? 0 : zend_hash_compare(ht1, ht2, (compare_func_t) hash_zval_compare_function, 0 TSRMLS_CC);
}
/* }}} */
ZEND_API void zend_compare_symbol_tables(zval *result, HashTable *ht1, HashTable *ht2 TSRMLS_DC) /* {{{ */
{
ZVAL_LONG(result, zend_hash_compare(ht1, ht2, (compare_func_t) hash_zval_compare_function, 0 TSRMLS_CC));
ZVAL_LONG(result, ht1 == ht2 ? 0 : zend_hash_compare(ht1, ht2, (compare_func_t) hash_zval_compare_function, 0 TSRMLS_CC));
}
/* }}} */
+22 -2
View File
@@ -100,9 +100,12 @@ static zend_always_inline long zend_dval_to_lval(double d)
* if the number was out of long range or contained a decimal point/exponent.
* The number's value is returned into the respective pointer, *lval or *dval,
* if that pointer is not NULL.
*
* This variant also gives information if a string that represents an integer
* could not be represented as such due to overflow. It writes 1 to oflow_info
* if the integer is larger than LONG_MAX and -1 if it's smaller than LONG_MIN.
*/
static inline zend_uchar is_numeric_string(const char *str, int length, long *lval, double *dval, int allow_errors)
static inline zend_uchar is_numeric_string_ex(const char *str, int length, long *lval, double *dval, int allow_errors, int *oflow_info)
{
const char *ptr;
int base = 10, digits = 0, dp_or_e = 0;
@@ -113,6 +116,10 @@ static inline zend_uchar is_numeric_string(const char *str, int length, long *lv
return 0;
}
if (oflow_info != NULL) {
*oflow_info = 0;
}
/* Skip any whitespace
* This is much faster than the isspace() function */
while (*str == ' ' || *str == '\t' || *str == '\n' || *str == '\r' || *str == '\v' || *str == '\f') {
@@ -165,6 +172,9 @@ check_digits:
if (base == 10) {
if (digits >= MAX_LENGTH_OF_LONG) {
if (oflow_info != NULL) {
*oflow_info = *str == '-' ? -1 : 1;
}
dp_or_e = -1;
goto process_double;
}
@@ -172,6 +182,9 @@ check_digits:
if (dval) {
local_dval = zend_hex_strtod(str, &ptr);
}
if (oflow_info != NULL) {
*oflow_info = 1;
}
type = IS_DOUBLE;
}
} else if (*ptr == '.' && ZEND_IS_DIGIT(ptr[1])) {
@@ -207,6 +220,9 @@ process_double:
if (dval) {
*dval = zend_strtod(str, NULL);
}
if (oflow_info != NULL) {
*oflow_info = *str == '-' ? -1 : 1;
}
return IS_DOUBLE;
}
@@ -226,6 +242,10 @@ process_double:
}
}
static inline zend_uchar is_numeric_string(const char *str, int length, long *lval, double *dval, int allow_errors) {
return is_numeric_string_ex(str, length, lval, dval, allow_errors, NULL);
}
static inline char *
zend_memnstr(char *haystack, char *needle, int needle_len, char *end)
{
+1 -1
View File
@@ -79,7 +79,7 @@ static size_t zend_stream_stdio_fsizer(void *handle TSRMLS_DC) /* {{{ */
static void zend_stream_unmap(zend_stream *stream TSRMLS_DC) { /* {{{ */
#if HAVE_MMAP
if (stream->mmap.map) {
munmap(stream->mmap.map, stream->mmap.len);
munmap(stream->mmap.map, stream->mmap.len + ZEND_MMAP_AHEAD);
} else
#endif
if (stream->mmap.buf) {
+2
View File
@@ -23,12 +23,14 @@
#include "zend.h"
BEGIN_EXTERN_C()
ZEND_API extern const char *(*zend_new_interned_string)(const char *str, int len, int free_src TSRMLS_DC);
ZEND_API extern void (*zend_interned_strings_snapshot)(TSRMLS_D);
ZEND_API extern void (*zend_interned_strings_restore)(TSRMLS_D);
void zend_interned_strings_init(TSRMLS_D);
void zend_interned_strings_dtor(TSRMLS_D);
END_EXTERN_C()
#ifndef ZTS
+9 -4
View File
@@ -2412,6 +2412,10 @@ ZEND_VM_HANDLER(59, ZEND_INIT_FCALL_BY_NAME, ANY, CONST|TMP|VAR|CV)
zend_hash_index_find(Z_ARRVAL_P(function_name), 0, (void **) &obj);
zend_hash_index_find(Z_ARRVAL_P(function_name), 1, (void **) &method);
if (!obj || !method) {
zend_error_noreturn(E_ERROR, "Array callback has to contain indices 0 and 1");
}
if (Z_TYPE_PP(obj) != IS_STRING && Z_TYPE_PP(obj) != IS_OBJECT) {
zend_error_noreturn(E_ERROR, "First array member is not a valid class name or object");
}
@@ -2442,7 +2446,7 @@ ZEND_VM_HANDLER(59, ZEND_INIT_FCALL_BY_NAME, ANY, CONST|TMP|VAR|CV)
if (UNEXPECTED(EX(fbc) == NULL)) {
zend_error_noreturn(E_ERROR, "Call to undefined method %s::%s()", Z_OBJ_CLASS_NAME_P(EX(object)), Z_STRVAL_PP(method));
}
if ((EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
EX(object) = NULL;
} else {
@@ -2974,7 +2978,7 @@ ZEND_VM_HANDLER(107, ZEND_CATCH, CONST, CV)
catch_ce = CACHED_PTR(opline->op1.literal->cache_slot);
} else {
catch_ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), opline->op1.literal + 1, ZEND_FETCH_CLASS_NO_AUTOLOAD TSRMLS_CC);
CACHE_PTR(opline->op1.literal->cache_slot, catch_ce);
}
ce = Z_OBJCE_P(EG(exception));
@@ -3426,7 +3430,7 @@ ZEND_VM_HANDLER(110, ZEND_CLONE, CONST|TMP|VAR|UNUSED|CV, ANY)
} else if ((clone->common.fn_flags & ZEND_ACC_PROTECTED)) {
/* Ensure that if we're calling a protected function, we're allowed to do so.
*/
if (UNEXPECTED(!zend_check_protected(clone->common.scope, EG(scope)))) {
if (UNEXPECTED(!zend_check_protected(zend_get_function_root_class(clone), EG(scope)))) {
zend_error_noreturn(E_ERROR, "Call to protected %s::__clone() from context '%s'", ce->name, EG(scope) ? EG(scope)->name : "");
}
}
@@ -3947,7 +3951,8 @@ ZEND_VM_HANDLER(75, ZEND_UNSET_DIM, VAR|UNUSED|CV, CONST|TMP|VAR|CV)
switch (Z_TYPE_P(offset)) {
case IS_DOUBLE:
hval = zend_dval_to_lval(Z_DVAL_P(offset));
ZEND_VM_C_GOTO(num_index_dim);
zend_hash_index_del(ht, hval);
break;
case IS_RESOURCE:
case IS_BOOL:
case IS_LONG:
+45 -17
View File
@@ -1256,6 +1256,10 @@ static int ZEND_FASTCALL ZEND_INIT_FCALL_BY_NAME_SPEC_CONST_HANDLER(ZEND_OPCODE
zend_hash_index_find(Z_ARRVAL_P(function_name), 0, (void **) &obj);
zend_hash_index_find(Z_ARRVAL_P(function_name), 1, (void **) &method);
if (!obj || !method) {
zend_error_noreturn(E_ERROR, "Array callback has to contain indices 0 and 1");
}
if (Z_TYPE_PP(obj) != IS_STRING && Z_TYPE_PP(obj) != IS_OBJECT) {
zend_error_noreturn(E_ERROR, "First array member is not a valid class name or object");
}
@@ -1558,6 +1562,10 @@ static int ZEND_FASTCALL ZEND_INIT_FCALL_BY_NAME_SPEC_TMP_HANDLER(ZEND_OPCODE_H
zend_hash_index_find(Z_ARRVAL_P(function_name), 0, (void **) &obj);
zend_hash_index_find(Z_ARRVAL_P(function_name), 1, (void **) &method);
if (!obj || !method) {
zend_error_noreturn(E_ERROR, "Array callback has to contain indices 0 and 1");
}
if (Z_TYPE_PP(obj) != IS_STRING && Z_TYPE_PP(obj) != IS_OBJECT) {
zend_error_noreturn(E_ERROR, "First array member is not a valid class name or object");
}
@@ -1722,6 +1730,10 @@ static int ZEND_FASTCALL ZEND_INIT_FCALL_BY_NAME_SPEC_VAR_HANDLER(ZEND_OPCODE_H
zend_hash_index_find(Z_ARRVAL_P(function_name), 0, (void **) &obj);
zend_hash_index_find(Z_ARRVAL_P(function_name), 1, (void **) &method);
if (!obj || !method) {
zend_error_noreturn(E_ERROR, "Array callback has to contain indices 0 and 1");
}
if (Z_TYPE_PP(obj) != IS_STRING && Z_TYPE_PP(obj) != IS_OBJECT) {
zend_error_noreturn(E_ERROR, "First array member is not a valid class name or object");
}
@@ -1919,6 +1931,10 @@ static int ZEND_FASTCALL ZEND_INIT_FCALL_BY_NAME_SPEC_CV_HANDLER(ZEND_OPCODE_HA
zend_hash_index_find(Z_ARRVAL_P(function_name), 0, (void **) &obj);
zend_hash_index_find(Z_ARRVAL_P(function_name), 1, (void **) &method);
if (!obj || !method) {
zend_error_noreturn(E_ERROR, "Array callback has to contain indices 0 and 1");
}
if (Z_TYPE_PP(obj) != IS_STRING && Z_TYPE_PP(obj) != IS_OBJECT) {
zend_error_noreturn(E_ERROR, "First array member is not a valid class name or object");
}
@@ -2436,7 +2452,7 @@ static int ZEND_FASTCALL ZEND_CLONE_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS
} else if ((clone->common.fn_flags & ZEND_ACC_PROTECTED)) {
/* Ensure that if we're calling a protected function, we're allowed to do so.
*/
if (UNEXPECTED(!zend_check_protected(clone->common.scope, EG(scope)))) {
if (UNEXPECTED(!zend_check_protected(zend_get_function_root_class(clone), EG(scope)))) {
zend_error_noreturn(E_ERROR, "Call to protected %s::__clone() from context '%s'", ce->name, EG(scope) ? EG(scope)->name : "");
}
}
@@ -6850,7 +6866,7 @@ static int ZEND_FASTCALL ZEND_CLONE_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
} else if ((clone->common.fn_flags & ZEND_ACC_PROTECTED)) {
/* Ensure that if we're calling a protected function, we're allowed to do so.
*/
if (UNEXPECTED(!zend_check_protected(clone->common.scope, EG(scope)))) {
if (UNEXPECTED(!zend_check_protected(zend_get_function_root_class(clone), EG(scope)))) {
zend_error_noreturn(E_ERROR, "Call to protected %s::__clone() from context '%s'", ce->name, EG(scope) ? EG(scope)->name : "");
}
}
@@ -11278,7 +11294,7 @@ static int ZEND_FASTCALL ZEND_CLONE_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
} else if ((clone->common.fn_flags & ZEND_ACC_PROTECTED)) {
/* Ensure that if we're calling a protected function, we're allowed to do so.
*/
if (UNEXPECTED(!zend_check_protected(clone->common.scope, EG(scope)))) {
if (UNEXPECTED(!zend_check_protected(zend_get_function_root_class(clone), EG(scope)))) {
zend_error_noreturn(E_ERROR, "Call to protected %s::__clone() from context '%s'", ce->name, EG(scope) ? EG(scope)->name : "");
}
}
@@ -13917,7 +13933,8 @@ static int ZEND_FASTCALL ZEND_UNSET_DIM_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_HAND
switch (Z_TYPE_P(offset)) {
case IS_DOUBLE:
hval = zend_dval_to_lval(Z_DVAL_P(offset));
goto num_index_dim;
zend_hash_index_del(ht, hval);
break;
case IS_RESOURCE:
case IS_BOOL:
case IS_LONG:
@@ -15919,7 +15936,8 @@ static int ZEND_FASTCALL ZEND_UNSET_DIM_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HANDLE
switch (Z_TYPE_P(offset)) {
case IS_DOUBLE:
hval = zend_dval_to_lval(Z_DVAL_P(offset));
goto num_index_dim;
zend_hash_index_del(ht, hval);
break;
case IS_RESOURCE:
case IS_BOOL:
case IS_LONG:
@@ -18131,7 +18149,8 @@ static int ZEND_FASTCALL ZEND_UNSET_DIM_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDLE
switch (Z_TYPE_P(offset)) {
case IS_DOUBLE:
hval = zend_dval_to_lval(Z_DVAL_P(offset));
goto num_index_dim;
zend_hash_index_del(ht, hval);
break;
case IS_RESOURCE:
case IS_BOOL:
case IS_LONG:
@@ -21166,7 +21185,8 @@ static int ZEND_FASTCALL ZEND_UNSET_DIM_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDLER
switch (Z_TYPE_P(offset)) {
case IS_DOUBLE:
hval = zend_dval_to_lval(Z_DVAL_P(offset));
goto num_index_dim;
zend_hash_index_del(ht, hval);
break;
case IS_RESOURCE:
case IS_BOOL:
case IS_LONG:
@@ -21475,7 +21495,7 @@ static int ZEND_FASTCALL ZEND_CLONE_SPEC_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARG
} else if ((clone->common.fn_flags & ZEND_ACC_PROTECTED)) {
/* Ensure that if we're calling a protected function, we're allowed to do so.
*/
if (UNEXPECTED(!zend_check_protected(clone->common.scope, EG(scope)))) {
if (UNEXPECTED(!zend_check_protected(zend_get_function_root_class(clone), EG(scope)))) {
zend_error_noreturn(E_ERROR, "Call to protected %s::__clone() from context '%s'", ce->name, EG(scope) ? EG(scope)->name : "");
}
}
@@ -22504,7 +22524,8 @@ static int ZEND_FASTCALL ZEND_UNSET_DIM_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE_H
switch (Z_TYPE_P(offset)) {
case IS_DOUBLE:
hval = zend_dval_to_lval(Z_DVAL_P(offset));
goto num_index_dim;
zend_hash_index_del(ht, hval);
break;
case IS_RESOURCE:
case IS_BOOL:
case IS_LONG:
@@ -23662,7 +23683,8 @@ static int ZEND_FASTCALL ZEND_UNSET_DIM_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_HAN
switch (Z_TYPE_P(offset)) {
case IS_DOUBLE:
hval = zend_dval_to_lval(Z_DVAL_P(offset));
goto num_index_dim;
zend_hash_index_del(ht, hval);
break;
case IS_RESOURCE:
case IS_BOOL:
case IS_LONG:
@@ -24820,7 +24842,8 @@ static int ZEND_FASTCALL ZEND_UNSET_DIM_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_HAN
switch (Z_TYPE_P(offset)) {
case IS_DOUBLE:
hval = zend_dval_to_lval(Z_DVAL_P(offset));
goto num_index_dim;
zend_hash_index_del(ht, hval);
break;
case IS_RESOURCE:
case IS_BOOL:
case IS_LONG:
@@ -26244,7 +26267,8 @@ static int ZEND_FASTCALL ZEND_UNSET_DIM_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HAND
switch (Z_TYPE_P(offset)) {
case IS_DOUBLE:
hval = zend_dval_to_lval(Z_DVAL_P(offset));
goto num_index_dim;
zend_hash_index_del(ht, hval);
break;
case IS_RESOURCE:
case IS_BOOL:
case IS_LONG:
@@ -27222,7 +27246,7 @@ static int ZEND_FASTCALL ZEND_CLONE_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
} else if ((clone->common.fn_flags & ZEND_ACC_PROTECTED)) {
/* Ensure that if we're calling a protected function, we're allowed to do so.
*/
if (UNEXPECTED(!zend_check_protected(clone->common.scope, EG(scope)))) {
if (UNEXPECTED(!zend_check_protected(zend_get_function_root_class(clone), EG(scope)))) {
zend_error_noreturn(E_ERROR, "Call to protected %s::__clone() from context '%s'", ce->name, EG(scope) ? EG(scope)->name : "");
}
}
@@ -29498,7 +29522,8 @@ static int ZEND_FASTCALL ZEND_UNSET_DIM_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDL
switch (Z_TYPE_P(offset)) {
case IS_DOUBLE:
hval = zend_dval_to_lval(Z_DVAL_P(offset));
goto num_index_dim;
zend_hash_index_del(ht, hval);
break;
case IS_RESOURCE:
case IS_BOOL:
case IS_LONG:
@@ -31371,7 +31396,8 @@ static int ZEND_FASTCALL ZEND_UNSET_DIM_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER
switch (Z_TYPE_P(offset)) {
case IS_DOUBLE:
hval = zend_dval_to_lval(Z_DVAL_P(offset));
goto num_index_dim;
zend_hash_index_del(ht, hval);
break;
case IS_RESOURCE:
case IS_BOOL:
case IS_LONG:
@@ -33453,7 +33479,8 @@ static int ZEND_FASTCALL ZEND_UNSET_DIM_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER
switch (Z_TYPE_P(offset)) {
case IS_DOUBLE:
hval = zend_dval_to_lval(Z_DVAL_P(offset));
goto num_index_dim;
zend_hash_index_del(ht, hval);
break;
case IS_RESOURCE:
case IS_BOOL:
case IS_LONG:
@@ -36219,7 +36246,8 @@ static int ZEND_FASTCALL ZEND_UNSET_DIM_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_
switch (Z_TYPE_P(offset)) {
case IS_DOUBLE:
hval = zend_dval_to_lval(Z_DVAL_P(offset));
goto num_index_dim;
zend_hash_index_del(ht, hval);
break;
case IS_RESOURCE:
case IS_BOOL:
case IS_LONG:
+1 -1
View File
@@ -5,8 +5,8 @@ ZEND_API void {%EXECUTOR_NAME%}(zend_op_array *op_array TSRMLS_DC)
DCL_OPLINE
zend_execute_data *execute_data;
zend_bool nested = 0;
zend_bool original_in_execution = EG(in_execution);
{%HELPER_VARS%}
{%EXECUTION_STATUS%}
{%INTERNAL_LABELS%}
+7
View File
@@ -927,6 +927,13 @@ function gen_executor($f, $skl, $spec, $kind, $executor_name, $initializer_name,
skip_blanks($f, $m[1], $m[3]."\n");
}
break;
case "EXECUTION_STATUS":
if ($kind != ZEND_VM_KIND_GOTO) {
out($f, $m[1] . "zend_bool original_in_execution = EG(in_execution);\n");
} else {
out($f, $m[1] . "zend_bool original_in_execution = op_array? EG(in_execution) : 0;\n");
}
break;
case "INTERNAL_LABELS":
if ($kind == ZEND_VM_KIND_GOTO) {
// Emit array of labels of opcode handlers and code for
+6
View File
@@ -2449,7 +2449,12 @@ AC_DEFUN([PHP_SETUP_ICONV], [
dnl
dnl Check libc first if no path is provided in --with-iconv
dnl
if test "$PHP_ICONV" = "yes"; then
dnl Reset LIBS temporarily as it may have already been included
dnl -liconv in.
LIBS_save="$LIBS"
LIBS=
AC_CHECK_FUNC(iconv, [
found_iconv=yes
],[
@@ -2459,6 +2464,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [
found_iconv=yes
])
])
LIBS="$LIBS_save"
fi
dnl
+3 -3
View File
@@ -9,7 +9,7 @@ dnl Basic autoconf + automake initialization, generation of config.nice.
dnl -------------------------------------------------------------------------
AC_PREREQ(2.59)
AC_INIT(README.SVN-RULES)
AC_INIT(README.GIT-RULES)
ifdef([AC_PRESERVE_HELP_ORDER], [AC_PRESERVE_HELP_ORDER], [])
PHP_CONFIG_NICE(config.nice)
@@ -119,8 +119,8 @@ int zend_sprintf(char *buffer, const char *format, ...);
PHP_MAJOR_VERSION=5
PHP_MINOR_VERSION=4
PHP_RELEASE_VERSION=1
PHP_EXTRA_VERSION="RC1-dev"
PHP_RELEASE_VERSION=8
PHP_EXTRA_VERSION=""
PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION"
PHP_VERSION_ID=`expr [$]PHP_MAJOR_VERSION \* 10000 + [$]PHP_MINOR_VERSION \* 100 + [$]PHP_RELEASE_VERSION`
+25
View File
@@ -2,9 +2,34 @@
unixtojd()
--SKIPIF--
<?php include 'skipif.inc'; ?>
--ENV--
TZ=UTC
--FILE--
<?php
// this line has no impact on test output on Windows
putenv('TZ=UTC');
// getenv('TZ') returns 'UTC' here
// putenv (basic_functions.c) does call tzset() when the env var being put is 'TZ'
// -adding a call direct to GetEnvironmentVariableA just before tzset() is called to check the value of 'TZ' returns 'UTC'
// putting a call to date_default_timezone_set() here doesn't help
//
// on Windows, the only thing that gets this test to pass is to put TZ=UTC in --ENV-- section
// -since putenv() is written to call tzset() when env var is TZ, I assume that putenv("TZ=UTC") is intended to work
// and should work on all platforms(including Windows).
// easter_date.phpt passes
// -doesn't use --ENV-- section
// -uses --INI-- section with date.timezone=UTC
// -uses putenv('TZ=UTC')
// date.timezone=UTC
// -if ommitted from easter_date.phpt, outputs DATE_TZ_ERRMSG warning
// -easter_date() calls mktime() and localtime()
// -whereas unixtojd(1000000000) calls localtime(1000000000)
// -if ommitted from unixtojd.phpt, does NOT output DATE_TZ_ERRMSG
//
// unixtojd() calls php_localtime_r() which for Pacific timezone systems, returns a time -8 hours
// -this incorrect localtime is passed to the julian date conversion (GregorianToSDN) function which works (probably correctly)
// but returns -1 day from expected because its input is -1 from expected
echo unixtojd(40000). "\n";
echo unixtojd(1000000000). "\n";
echo unixtojd(1152459009). "\n";
+3 -3
View File
@@ -42,7 +42,7 @@ void php_com_throw_exception(HRESULT code, char *message TSRMLS_DC)
}
}
PHPAPI void php_com_wrap_dispatch(zval *z, IDispatch *disp,
PHP_COM_DOTNET_API void php_com_wrap_dispatch(zval *z, IDispatch *disp,
int codepage TSRMLS_DC)
{
php_com_dotnet_object *obj;
@@ -65,7 +65,7 @@ PHPAPI void php_com_wrap_dispatch(zval *z, IDispatch *disp,
z->value.obj.handlers = &php_com_object_handlers;
}
PHPAPI void php_com_wrap_variant(zval *z, VARIANT *v,
PHP_COM_DOTNET_API void php_com_wrap_variant(zval *z, VARIANT *v,
int codepage TSRMLS_DC)
{
php_com_dotnet_object *obj;
@@ -92,7 +92,7 @@ PHPAPI void php_com_wrap_variant(zval *z, VARIANT *v,
/* this is a convenience function for fetching a particular
* element from a (possibly multi-dimensional) safe array */
PHPAPI int php_com_safearray_get_elem(VARIANT *array, VARIANT *dest, LONG dim1 TSRMLS_DC)
PHP_COM_DOTNET_API int php_com_safearray_get_elem(VARIANT *array, VARIANT *dest, LONG dim1 TSRMLS_DC)
{
UINT dims;
LONG lbound, ubound;
+2 -2
View File
@@ -30,7 +30,7 @@
#include "php_com_dotnet_internal.h"
PHPAPI OLECHAR *php_com_string_to_olestring(char *string, uint string_len, int codepage TSRMLS_DC)
PHP_COM_DOTNET_API OLECHAR *php_com_string_to_olestring(char *string, uint string_len, int codepage TSRMLS_DC)
{
OLECHAR *olestring = NULL;
DWORD flags = codepage == CP_UTF8 ? 0 : MB_PRECOMPOSED | MB_ERR_INVALID_CHARS;
@@ -65,7 +65,7 @@ PHPAPI OLECHAR *php_com_string_to_olestring(char *string, uint string_len, int c
return olestring;
}
PHPAPI char *php_com_olestring_to_string(OLECHAR *olestring, uint *string_len, int codepage TSRMLS_DC)
PHP_COM_DOTNET_API char *php_com_olestring_to_string(OLECHAR *olestring, uint *string_len, int codepage TSRMLS_DC)
{
char *string;
uint length = 0;
+1 -1
View File
@@ -268,7 +268,7 @@ static void istream_destructor(php_istream *stm TSRMLS_DC)
}
/* }}} */
PHPAPI IStream *php_com_wrapper_export_stream(php_stream *stream TSRMLS_DC)
PHP_COM_DOTNET_API IStream *php_com_wrapper_export_stream(php_stream *stream TSRMLS_DC)
{
php_istream *stm = (php_istream*)CoTaskMemAlloc(sizeof(*stm));
+3 -3
View File
@@ -35,7 +35,7 @@
* b) a CLSID, major, minor e.g. "{00000200-0000-0010-8000-00AA006D2EA4},2,0"
* c) a Type Library name e.g. "Microsoft OLE DB ActiveX Data Objects 1.0 Library"
*/
PHPAPI ITypeLib *php_com_load_typelib(char *search_string, int codepage TSRMLS_DC)
PHP_COM_DOTNET_API ITypeLib *php_com_load_typelib(char *search_string, int codepage TSRMLS_DC)
{
ITypeLib *TL = NULL;
char *strtok_buf, *major, *minor;
@@ -153,7 +153,7 @@ PHPAPI ITypeLib *php_com_load_typelib(char *search_string, int codepage TSRMLS_D
}
/* Given a type-library, merge it into the current engine state */
PHPAPI int php_com_import_typelib(ITypeLib *TL, int mode, int codepage TSRMLS_DC)
PHP_COM_DOTNET_API int php_com_import_typelib(ITypeLib *TL, int mode, int codepage TSRMLS_DC)
{
int i, j, interfaces;
TYPEKIND pTKind;
@@ -228,7 +228,7 @@ void php_com_typelibrary_dtor(void *pDest)
ITypeLib_Release(*Lib);
}
PHPAPI ITypeLib *php_com_load_typelib_via_cache(char *search_string,
PHP_COM_DOTNET_API ITypeLib *php_com_load_typelib_via_cache(char *search_string,
int codepage, int *cached TSRMLS_DC)
{
ITypeLib **TLp;
+3 -3
View File
@@ -98,7 +98,7 @@ bogus:
}
}
PHPAPI void php_com_variant_from_zval(VARIANT *v, zval *z, int codepage TSRMLS_DC)
PHP_COM_DOTNET_API void php_com_variant_from_zval(VARIANT *v, zval *z, int codepage TSRMLS_DC)
{
OLECHAR *olestring;
php_com_dotnet_object *obj;
@@ -166,7 +166,7 @@ PHPAPI void php_com_variant_from_zval(VARIANT *v, zval *z, int codepage TSRMLS_D
}
}
PHPAPI int php_com_zval_from_variant(zval *z, VARIANT *v, int codepage TSRMLS_DC)
PHP_COM_DOTNET_API int php_com_zval_from_variant(zval *z, VARIANT *v, int codepage TSRMLS_DC)
{
OLECHAR *olestring = NULL;
int ret = SUCCESS;
@@ -258,7 +258,7 @@ PHPAPI int php_com_zval_from_variant(zval *z, VARIANT *v, int codepage TSRMLS_DC
}
PHPAPI int php_com_copy_variant(VARIANT *dstvar, VARIANT *srcvar TSRMLS_DC)
PHP_COM_DOTNET_API int php_com_copy_variant(VARIANT *dstvar, VARIANT *srcvar TSRMLS_DC)
{
int ret = SUCCESS;
+2 -2
View File
@@ -578,7 +578,7 @@ static void disp_destructor(php_dispatchex *disp TSRMLS_DC)
CoTaskMemFree(disp);
}
PHPAPI IDispatch *php_com_wrapper_export_as_sink(zval *val, GUID *sinkid,
PHP_COM_DOTNET_API IDispatch *php_com_wrapper_export_as_sink(zval *val, GUID *sinkid,
HashTable *id_to_name TSRMLS_DC)
{
php_dispatchex *disp = disp_constructor(val TSRMLS_CC);
@@ -617,7 +617,7 @@ PHPAPI IDispatch *php_com_wrapper_export_as_sink(zval *val, GUID *sinkid,
return (IDispatch*)disp;
}
PHPAPI IDispatch *php_com_wrapper_export(zval *val TSRMLS_DC)
PHP_COM_DOTNET_API IDispatch *php_com_wrapper_export(zval *val TSRMLS_DC)
{
php_dispatchex *disp = NULL;
+8
View File
@@ -28,6 +28,14 @@ extern zend_module_entry com_dotnet_module_entry;
#include "TSRM.h"
#endif
#ifdef PHP_WIN32
# define PHP_COM_DOTNET_API __declspec(dllexport)
#elif defined(__GNUC__) && __GNUC__ >= 4
# define PHP_COM_DOTNET_API __attribute__ ((visibility("default")))
#else
# define PHP_COM_DOTNET_API
#endif
PHP_MINIT_FUNCTION(com_dotnet);
PHP_MSHUTDOWN_FUNCTION(com_dotnet);
PHP_RINIT_FUNCTION(com_dotnet);
+14 -14
View File
@@ -84,9 +84,9 @@ zend_object_iterator *php_com_saproxy_iter_get(zend_class_entry *ce, zval *objec
int php_com_saproxy_create(zval *com_object, zval *proxy_out, zval *index TSRMLS_DC);
/* com_olechar.c */
PHPAPI char *php_com_olestring_to_string(OLECHAR *olestring,
PHP_COM_DOTNET_API char *php_com_olestring_to_string(OLECHAR *olestring,
uint *string_len, int codepage TSRMLS_DC);
PHPAPI OLECHAR *php_com_string_to_olestring(char *string,
PHP_COM_DOTNET_API OLECHAR *php_com_string_to_olestring(char *string,
uint string_len, int codepage TSRMLS_DC);
@@ -112,8 +112,8 @@ int php_com_do_invoke_byref(php_com_dotnet_object *obj, char *name, int namelen,
/* com_wrapper.c */
int php_com_wrapper_minit(INIT_FUNC_ARGS);
PHPAPI IDispatch *php_com_wrapper_export_as_sink(zval *val, GUID *sinkid, HashTable *id_to_name TSRMLS_DC);
PHPAPI IDispatch *php_com_wrapper_export(zval *val TSRMLS_DC);
PHP_COM_DOTNET_API IDispatch *php_com_wrapper_export_as_sink(zval *val, GUID *sinkid, HashTable *id_to_name TSRMLS_DC);
PHP_COM_DOTNET_API IDispatch *php_com_wrapper_export(zval *val TSRMLS_DC);
/* com_persist.c */
int php_com_persist_minit(INIT_FUNC_ARGS);
@@ -147,10 +147,10 @@ PHP_FUNCTION(variant_get_type);
PHP_FUNCTION(variant_set_type);
PHP_FUNCTION(variant_cast);
PHPAPI void php_com_variant_from_zval_with_type(VARIANT *v, zval *z, VARTYPE type, int codepage TSRMLS_DC);
PHPAPI void php_com_variant_from_zval(VARIANT *v, zval *z, int codepage TSRMLS_DC);
PHPAPI int php_com_zval_from_variant(zval *z, VARIANT *v, int codepage TSRMLS_DC);
PHPAPI int php_com_copy_variant(VARIANT *dst, VARIANT *src TSRMLS_DC);
PHP_COM_DOTNET_API void php_com_variant_from_zval_with_type(VARIANT *v, zval *z, VARTYPE type, int codepage TSRMLS_DC);
PHP_COM_DOTNET_API void php_com_variant_from_zval(VARIANT *v, zval *z, int codepage TSRMLS_DC);
PHP_COM_DOTNET_API int php_com_zval_from_variant(zval *z, VARIANT *v, int codepage TSRMLS_DC);
PHP_COM_DOTNET_API int php_com_copy_variant(VARIANT *dst, VARIANT *src TSRMLS_DC);
/* com_dotnet.c */
PHP_FUNCTION(com_dotnet_create_instance);
@@ -159,17 +159,17 @@ void php_com_dotnet_mshutdown(TSRMLS_D);
/* com_misc.c */
void php_com_throw_exception(HRESULT code, char *message TSRMLS_DC);
PHPAPI void php_com_wrap_dispatch(zval *z, IDispatch *disp,
PHP_COM_DOTNET_API void php_com_wrap_dispatch(zval *z, IDispatch *disp,
int codepage TSRMLS_DC);
PHPAPI void php_com_wrap_variant(zval *z, VARIANT *v,
PHP_COM_DOTNET_API void php_com_wrap_variant(zval *z, VARIANT *v,
int codepage TSRMLS_DC);
PHPAPI int php_com_safearray_get_elem(VARIANT *array, VARIANT *dest, LONG dim1 TSRMLS_DC);
PHP_COM_DOTNET_API int php_com_safearray_get_elem(VARIANT *array, VARIANT *dest, LONG dim1 TSRMLS_DC);
/* com_typeinfo.c */
PHPAPI ITypeLib *php_com_load_typelib_via_cache(char *search_string,
PHP_COM_DOTNET_API ITypeLib *php_com_load_typelib_via_cache(char *search_string,
int codepage, int *cached TSRMLS_DC);
PHPAPI ITypeLib *php_com_load_typelib(char *search_string, int codepage TSRMLS_DC);
PHPAPI int php_com_import_typelib(ITypeLib *TL, int mode,
PHP_COM_DOTNET_API ITypeLib *php_com_load_typelib(char *search_string, int codepage TSRMLS_DC);
PHP_COM_DOTNET_API int php_com_import_typelib(ITypeLib *TL, int mode,
int codepage TSRMLS_DC);
void php_com_typelibrary_dtor(void *pDest);
ITypeInfo *php_com_locate_typeinfo(char *typelibname, php_com_dotnet_object *obj, char *dispname, int sink TSRMLS_DC);
+14
View File
@@ -3,9 +3,23 @@ Bug #49192 (PHP crashes when GC invoked on COM object)
--SKIPIF--
<?php
if (!extension_loaded("com_dotnet")) print "skip COM/.Net support not present"; ?>
--XFAIL--
1
--FILE--
<?php
// this test fails to load ADO
//
// a change in windows longhorn x64(affecting vista, 7, 8, 2008, 2008r2) broke ADO.
//
// there is a fix available, but user has to install it.
// given that ADO was deprecated a long time ago in favor of newer APIs,
// I don't think its worth the trouble of making the user install the fix to
// get an accurate test run. its better to just not run the test or expect it to fail.
//
// see: http://support.microsoft.com/kb/2517589
// see: http://www.infoq.com/news/2011/10/ADO-Win7
$dbConnection = new Com('ADODB.Connection');
var_dump(gc_collect_cycles());
?>
+16 -6
View File
@@ -713,6 +713,14 @@ PHP_MINIT_FUNCTION(curl)
#if LIBCURL_VERSION_NUM >= 0x071202
REGISTER_CURL_CONSTANT(CURLINFO_REDIRECT_URL);
#endif
#if LIBCURL_VERSION_NUM >= 0x071300 /* 7.19.0 */
REGISTER_CURL_CONSTANT(CURLINFO_PRIMARY_IP);
#endif
#if LIBCURL_VERSION_NUM >= 0x071500 /* 7.21.0 */
REGISTER_CURL_CONSTANT(CURLINFO_PRIMARY_PORT);
REGISTER_CURL_CONSTANT(CURLINFO_LOCAL_IP);
REGISTER_CURL_CONSTANT(CURLINFO_LOCAL_PORT);
#endif
/* cURL protocol constants (curl_version) */
@@ -1606,9 +1614,9 @@ PHP_FUNCTION(curl_copy_handle)
dupch->uses = 0;
ch->uses++;
if (ch->handlers->write->stream) {
Z_ADDREF_P(dupch->handlers->write->stream);
dupch->handlers->write->stream = ch->handlers->write->stream;
Z_ADDREF_P(ch->handlers->write->stream);
}
dupch->handlers->write->stream = ch->handlers->write->stream;
dupch->handlers->write->method = ch->handlers->write->method;
dupch->handlers->write->type = ch->handlers->write->type;
if (ch->handlers->read->stream) {
@@ -2177,7 +2185,7 @@ string_copy:
convert_to_string_ex(zvalue);
if (php_check_open_basedir(Z_STRVAL_PP(zvalue) TSRMLS_CC)) {
if (Z_STRLEN_PP(zvalue) && php_check_open_basedir(Z_STRVAL_PP(zvalue) TSRMLS_CC)) {
RETVAL_FALSE;
return 1;
}
@@ -2447,6 +2455,8 @@ PHP_FUNCTION(curl_getinfo)
create_certinfo(ci, listcode TSRMLS_CC);
CAAZ("certinfo", listcode);
}
#endif
#if LIBCURL_VERSION_NUM >= 0x071300 /* 7.19.0 */
if (curl_easy_getinfo(ch->cp, CURLINFO_PRIMARY_IP, &s_code) == CURLE_OK) {
CAAS("primary_ip", s_code);
}
@@ -2473,10 +2483,10 @@ PHP_FUNCTION(curl_getinfo)
} else {
switch (option) {
/* string variable types */
#if LIBCURL_VERSION_NUM >= 0x071500
#if LIBCURL_VERSION_NUM >= 0x071300 /* 7.19.0 */
case CURLINFO_PRIMARY_IP:
#endif
#if LIBCURL_VERSION_NUM >= 0x071500
#if LIBCURL_VERSION_NUM >= 0x071500 /* 7.21.0 */
case CURLINFO_LOCAL_IP:
#endif
case CURLINFO_PRIVATE:
@@ -2496,7 +2506,7 @@ PHP_FUNCTION(curl_getinfo)
break;
}
/* Long variable types */
#if LIBCURL_VERSION_NUM >= 0x071500
#if LIBCURL_VERSION_NUM >= 0x071500 /* 7.21.0 */
case CURLINFO_PRIMARY_PORT:
case CURLINFO_LOCAL_PORT:
#endif
+3
View File
@@ -191,6 +191,9 @@ PHP_FUNCTION(curl_multi_select)
FD_ZERO(&exceptfds);
curl_multi_fdset(mh->multi, &readfds, &writefds, &exceptfds, &maxfd);
if (maxfd == -1) {
RETURN_LONG(-1);
}
RETURN_LONG(select(maxfd + 1, &readfds, &writefds, &exceptfds, &to));
}
/* }}} */
+4
View File
@@ -162,6 +162,10 @@ static size_t php_curl_stream_read(php_stream *stream, char *buf, size_t count T
}
do {
FD_ZERO(&curlstream->readfds);
FD_ZERO(&curlstream->writefds);
FD_ZERO(&curlstream->excfds);
/* get the descriptors from curl */
curl_multi_fdset(curlstream->multi, &curlstream->readfds, &curlstream->writefds, &curlstream->excfds, &curlstream->maxfd);
+25
View File
@@ -0,0 +1,25 @@
--TEST--
Bug #61948 (CURLOPT_COOKIEFILE '' raises open_basedir restriction)
--SKIPIF--
<?php if (!extension_loaded("curl")) print "skip";
if(substr(PHP_OS, 0, 3) != 'WIN' )
die("skip Not Valid for Linux");
?>
--INI--
open_basedir="c:/tmp"
--FILE--
<?php
$ch = curl_init();
var_dump(curl_setopt($ch, CURLOPT_COOKIEFILE, ""));
var_dump(curl_setopt($ch, CURLOPT_COOKIEFILE, "c:/tmp/foo"));
var_dump(curl_setopt($ch, CURLOPT_COOKIEFILE, "c:/xxx/bar"));
curl_close($ch);
?>
--EXPECTF--
%a
Warning: curl_setopt(): open_basedir restriction in effect. File(c:/tmp/foo) is not within the allowed path(s): (c:/tmp) in %sbug61948-win32.php on line %d
bool(false)
Warning: curl_setopt(): open_basedir restriction in effect. File(c:/xxx/bar) is not within the allowed path(s): (c:/tmp) in %sbug61948-win32.php on line %d
bool(false)
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Bug #61948 (CURLOPT_COOKIEFILE '' raises open_basedir restriction)
--SKIPIF--
<?php if (!extension_loaded("curl")) print "skip";
if(substr(PHP_OS, 0, 3) == 'WIN' )
die("skip Not Valid for Windows");
?>
--INI--
open_basedir="/tmp"
--FILE--
<?php
$ch = curl_init();
var_dump(curl_setopt($ch, CURLOPT_COOKIEFILE, ""));
var_dump(curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/foo"));
var_dump(curl_setopt($ch, CURLOPT_COOKIEFILE, "/xxx/bar"));
curl_close($ch);
?>
--EXPECTF--
bool(true)
bool(true)
Warning: curl_setopt(): open_basedir restriction in effect. File(/xxx/bar) is not within the allowed path(s): (/tmp) in %sbug61948.php on line %d
bool(false)
+18
View File
@@ -0,0 +1,18 @@
--TEST--
Bug #62839 (curl_copy_handle segfault with CURLOPT_FILE)
--SKIPIF--
<?php if (!extension_loaded("curl")) print "skip";
?>
--FILE--
<?php
$curl = curl_init();
$fd = tmpfile();
curl_setopt($curl, CURLOPT_FILE, $fd);
curl_copy_handle($curl);
echo 'DONE!';
?>
--EXPECTF--
DONE!
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+52 -50
View File
@@ -1,10 +1,10 @@
/* Generated by re2c 0.13.5 on Mon Dec 5 22:02:27 2011 */
/* Generated by re2c 0.13.5 on Sun Sep 30 20:14:42 2012 */
#line 1 "ext/date/lib/parse_date.re"
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -995,7 +995,7 @@ std:
}
yy2:
YYDEBUG(2, *YYCURSOR);
#line 1082 "ext/date/lib/parse_date.re"
#line 1083 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("firstdayof | lastdayof");
TIMELIB_INIT;
@@ -1034,7 +1034,7 @@ yy3:
}
yy4:
YYDEBUG(4, *YYCURSOR);
#line 1676 "ext/date/lib/parse_date.re"
#line 1677 "ext/date/lib/parse_date.re"
{
int tz_not_found;
DEBUG_OUTPUT("tzcorrection | tz");
@@ -1358,7 +1358,7 @@ yy12:
if (yych <= '9') goto yy1385;
yy13:
YYDEBUG(13, *YYCURSOR);
#line 1771 "ext/date/lib/parse_date.re"
#line 1772 "ext/date/lib/parse_date.re"
{
add_error(s, "Unexpected character");
goto std;
@@ -2420,7 +2420,7 @@ yy49:
if (yych <= '9') goto yy55;
yy50:
YYDEBUG(50, *YYCURSOR);
#line 1760 "ext/date/lib/parse_date.re"
#line 1761 "ext/date/lib/parse_date.re"
{
goto std;
}
@@ -2433,7 +2433,7 @@ yy52:
YYDEBUG(52, *YYCURSOR);
++YYCURSOR;
YYDEBUG(53, *YYCURSOR);
#line 1765 "ext/date/lib/parse_date.re"
#line 1766 "ext/date/lib/parse_date.re"
{
s->pos = cursor; s->line++;
goto std;
@@ -2825,7 +2825,7 @@ yy72:
if (yych == 's') goto yy74;
yy73:
YYDEBUG(73, *YYCURSOR);
#line 1744 "ext/date/lib/parse_date.re"
#line 1745 "ext/date/lib/parse_date.re"
{
timelib_ull i;
DEBUG_OUTPUT("relative");
@@ -3602,7 +3602,7 @@ yy166:
}
yy167:
YYDEBUG(167, *YYCURSOR);
#line 1607 "ext/date/lib/parse_date.re"
#line 1608 "ext/date/lib/parse_date.re"
{
const timelib_relunit* relunit;
DEBUG_OUTPUT("daytext");
@@ -4139,7 +4139,7 @@ yy193:
}
yy194:
YYDEBUG(194, *YYCURSOR);
#line 1666 "ext/date/lib/parse_date.re"
#line 1667 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("monthtext");
TIMELIB_INIT;
@@ -4199,7 +4199,7 @@ yy198:
}
yy199:
YYDEBUG(199, *YYCURSOR);
#line 1412 "ext/date/lib/parse_date.re"
#line 1413 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("datetextual | datenoyear");
@@ -4481,7 +4481,7 @@ yy222:
}
yy223:
YYDEBUG(223, *YYCURSOR);
#line 1714 "ext/date/lib/parse_date.re"
#line 1715 "ext/date/lib/parse_date.re"
{
int tz_not_found;
DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
@@ -5208,7 +5208,7 @@ yy278:
YYDEBUG(278, *YYCURSOR);
++YYCURSOR;
YYDEBUG(279, *YYCURSOR);
#line 1690 "ext/date/lib/parse_date.re"
#line 1691 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
TIMELIB_INIT;
@@ -5409,7 +5409,7 @@ yy294:
++YYCURSOR;
yy295:
YYDEBUG(295, *YYCURSOR);
#line 1384 "ext/date/lib/parse_date.re"
#line 1385 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("datenoday");
@@ -6642,7 +6642,7 @@ yy362:
if (yych <= '9') goto yy365;
yy364:
YYDEBUG(364, *YYCURSOR);
#line 1528 "ext/date/lib/parse_date.re"
#line 1529 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("pgtextshort");
@@ -7293,7 +7293,7 @@ yy392:
}
yy393:
YYDEBUG(393, *YYCURSOR);
#line 1586 "ext/date/lib/parse_date.re"
#line 1587 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("ago");
TIMELIB_INIT;
@@ -9063,7 +9063,7 @@ yy454:
++YYCURSOR;
yy455:
YYDEBUG(455, *YYCURSOR);
#line 1289 "ext/date/lib/parse_date.re"
#line 1290 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
TIMELIB_INIT;
@@ -9634,7 +9634,7 @@ yy475:
}
yy476:
YYDEBUG(476, *YYCURSOR);
#line 1426 "ext/date/lib/parse_date.re"
#line 1427 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("datenoyearrev");
TIMELIB_INIT;
@@ -9786,7 +9786,7 @@ yy488:
YYDEBUG(488, *YYCURSOR);
++YYCURSOR;
YYDEBUG(489, *YYCURSOR);
#line 1144 "ext/date/lib/parse_date.re"
#line 1145 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
TIMELIB_INIT;
@@ -9815,7 +9815,7 @@ yy490:
}
yy491:
YYDEBUG(491, *YYCURSOR);
#line 1181 "ext/date/lib/parse_date.re"
#line 1182 "ext/date/lib/parse_date.re"
{
int tz_not_found;
DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
@@ -10150,7 +10150,7 @@ yy523:
YYDEBUG(523, *YYCURSOR);
++YYCURSOR;
YYDEBUG(524, *YYCURSOR);
#line 1161 "ext/date/lib/parse_date.re"
#line 1162 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("mssqltime");
TIMELIB_INIT;
@@ -10275,7 +10275,7 @@ yy534:
if (yych <= '9') goto yy541;
yy535:
YYDEBUG(535, *YYCURSOR);
#line 1343 "ext/date/lib/parse_date.re"
#line 1344 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("datefull");
@@ -11026,7 +11026,7 @@ yy605:
YYDEBUG(606, *YYCURSOR);
++YYCURSOR;
YYDEBUG(607, *YYCURSOR);
#line 1358 "ext/date/lib/parse_date.re"
#line 1359 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("pointed date YYYY");
TIMELIB_INIT;
@@ -11073,7 +11073,7 @@ yy611:
if (yych <= '9') goto yy605;
yy612:
YYDEBUG(612, *YYCURSOR);
#line 1370 "ext/date/lib/parse_date.re"
#line 1371 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("pointed date YY");
@@ -11727,7 +11727,7 @@ yy656:
}
yy657:
YYDEBUG(657, *YYCURSOR);
#line 1329 "ext/date/lib/parse_date.re"
#line 1330 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("gnudateshort");
@@ -11846,7 +11846,7 @@ yy666:
}
yy667:
YYDEBUG(667, *YYCURSOR);
#line 1273 "ext/date/lib/parse_date.re"
#line 1274 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("americanshort | american");
@@ -12094,7 +12094,7 @@ yy700:
if (yych <= ':') goto yy704;
yy701:
YYDEBUG(701, *YYCURSOR);
#line 1556 "ext/date/lib/parse_date.re"
#line 1557 "ext/date/lib/parse_date.re"
{
int tz_not_found;
DEBUG_OUTPUT("clf");
@@ -12666,7 +12666,7 @@ yy763:
}
yy764:
YYDEBUG(764, *YYCURSOR);
#line 1301 "ext/date/lib/parse_date.re"
#line 1302 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("iso8601date2");
@@ -12718,7 +12718,7 @@ yy771:
YYDEBUG(771, *YYCURSOR);
++YYCURSOR;
YYDEBUG(772, *YYCURSOR);
#line 1542 "ext/date/lib/parse_date.re"
#line 1543 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("pgtextreverse");
@@ -12869,7 +12869,7 @@ yy783:
}
yy784:
YYDEBUG(784, *YYCURSOR);
#line 1577 "ext/date/lib/parse_date.re"
#line 1578 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("year4");
TIMELIB_INIT;
@@ -13028,7 +13028,7 @@ yy793:
}
yy794:
YYDEBUG(794, *YYCURSOR);
#line 1398 "ext/date/lib/parse_date.re"
#line 1399 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("datenodayrev");
@@ -13256,7 +13256,7 @@ yy814:
if (yych <= '7') goto yy817;
yy815:
YYDEBUG(815, *YYCURSOR);
#line 1509 "ext/date/lib/parse_date.re"
#line 1510 "ext/date/lib/parse_date.re"
{
timelib_sll w, d;
DEBUG_OUTPUT("isoweek");
@@ -13284,7 +13284,7 @@ yy817:
YYDEBUG(817, *YYCURSOR);
++YYCURSOR;
YYDEBUG(818, *YYCURSOR);
#line 1490 "ext/date/lib/parse_date.re"
#line 1491 "ext/date/lib/parse_date.re"
{
timelib_sll w, d;
DEBUG_OUTPUT("isoweekday");
@@ -13366,7 +13366,7 @@ yy821:
}
yy822:
YYDEBUG(822, *YYCURSOR);
#line 1476 "ext/date/lib/parse_date.re"
#line 1477 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("pgydotd");
@@ -13482,7 +13482,7 @@ yy842:
++YYCURSOR;
yy843:
YYDEBUG(843, *YYCURSOR);
#line 1450 "ext/date/lib/parse_date.re"
#line 1451 "ext/date/lib/parse_date.re"
{
int tz_not_found;
DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
@@ -13769,7 +13769,7 @@ yy848:
}
yy849:
YYDEBUG(849, *YYCURSOR);
#line 1438 "ext/date/lib/parse_date.re"
#line 1439 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("datenocolon");
TIMELIB_INIT;
@@ -14700,7 +14700,7 @@ yy973:
if (yych <= '9') goto yy996;
yy974:
YYDEBUG(974, *YYCURSOR);
#line 1315 "ext/date/lib/parse_date.re"
#line 1316 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("gnudateshorter");
@@ -15722,7 +15722,7 @@ yy1066:
}
yy1068:
YYDEBUG(1068, *YYCURSOR);
#line 1207 "ext/date/lib/parse_date.re"
#line 1208 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("gnunocolon");
TIMELIB_INIT;
@@ -15836,7 +15836,7 @@ yy1075:
}
yy1076:
YYDEBUG(1076, *YYCURSOR);
#line 1253 "ext/date/lib/parse_date.re"
#line 1254 "ext/date/lib/parse_date.re"
{
int tz_not_found;
DEBUG_OUTPUT("iso8601nocolon");
@@ -16753,7 +16753,7 @@ yy1117:
}
yy1118:
YYDEBUG(1118, *YYCURSOR);
#line 1649 "ext/date/lib/parse_date.re"
#line 1650 "ext/date/lib/parse_date.re"
{
timelib_sll i;
int behavior = 0;
@@ -16820,7 +16820,7 @@ yy1126:
YYDEBUG(1126, *YYCURSOR);
++YYCURSOR;
YYDEBUG(1127, *YYCURSOR);
#line 1122 "ext/date/lib/parse_date.re"
#line 1123 "ext/date/lib/parse_date.re"
{
timelib_sll i;
int behavior = 0;
@@ -16949,7 +16949,7 @@ yy1141:
}
yy1142:
YYDEBUG(1142, *YYCURSOR);
#line 1625 "ext/date/lib/parse_date.re"
#line 1626 "ext/date/lib/parse_date.re"
{
timelib_sll i;
int behavior = 0;
@@ -19649,7 +19649,7 @@ yy1294:
goto yy1298;
yy1295:
YYDEBUG(1295, *YYCURSOR);
#line 1099 "ext/date/lib/parse_date.re"
#line 1100 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("backof | frontof");
TIMELIB_INIT;
@@ -21382,11 +21382,12 @@ yy1387:
s->time->is_localtime = 1;
s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
s->time->z = 0;
s->time->dst = 0;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
#line 21390 "ext/date/lib/parse_date.c"
#line 21391 "ext/date/lib/parse_date.c"
yy1388:
YYDEBUG(1388, *YYCURSOR);
yych = *++YYCURSOR;
@@ -21833,7 +21834,7 @@ yy1417:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
#line 21837 "ext/date/lib/parse_date.c"
#line 21838 "ext/date/lib/parse_date.c"
yy1418:
YYDEBUG(1418, *YYCURSOR);
yych = *++YYCURSOR;
@@ -21877,7 +21878,7 @@ yy1420:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
#line 21881 "ext/date/lib/parse_date.c"
#line 21882 "ext/date/lib/parse_date.c"
yy1421:
YYDEBUG(1421, *YYCURSOR);
yych = *++YYCURSOR;
@@ -23897,7 +23898,7 @@ yy1500:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
#line 23901 "ext/date/lib/parse_date.c"
#line 23902 "ext/date/lib/parse_date.c"
yy1501:
YYDEBUG(1501, *YYCURSOR);
yych = *++YYCURSOR;
@@ -24047,7 +24048,7 @@ yy1508:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
#line 24051 "ext/date/lib/parse_date.c"
#line 24052 "ext/date/lib/parse_date.c"
yy1509:
YYDEBUG(1509, *YYCURSOR);
yyaccept = 0;
@@ -24591,7 +24592,7 @@ yy1531:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
#line 24595 "ext/date/lib/parse_date.c"
#line 24596 "ext/date/lib/parse_date.c"
yy1532:
YYDEBUG(1532, *YYCURSOR);
yyaccept = 0;
@@ -24764,7 +24765,7 @@ yy1537:
goto yy1531;
}
}
#line 1775 "ext/date/lib/parse_date.re"
#line 1776 "ext/date/lib/parse_date.re"
}
@@ -25070,6 +25071,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim
s->time->is_localtime = 1;
s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
s->time->z = 0;
s->time->dst = 0;
break;
case 'e': /* timezone */
+3 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -1073,6 +1073,7 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of
s->time->is_localtime = 1;
s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
s->time->z = 0;
s->time->dst = 0;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
@@ -2077,6 +2078,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim
s->time->is_localtime = 1;
s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
s->time->z = 0;
s->time->dst = 0;
break;
case 'e': /* timezone */
+1 -1
View File
@@ -4,7 +4,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+635 -616
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
Loaded 100 of 877 files, more files were not shown because too many files have changed in this diff. Show more