Compare commits

..
1356 Commits
Author SHA1 Message Date
Johannes Schlüter d42be4a5cf - PHP 5.3.8 2011-08-23 09:28:57 +00:00
Johannes Schlüter d1f0189873 PHP 5.3.8 (based on 5.3.7 + selected backports) 2011-08-23 08:56:29 +00:00
Johannes Schlüter f38bb02950 Make more verbose 2011-08-23 08:31:07 +00:00
Johannes Schlüter 42044d5767 - Update NEWS 2011-08-23 08:14:15 +00:00
Johannes Schlüter eb303f7a59 Mere r315310 (Revert r313515) 2011-08-23 08:12:58 +00:00
Johannes Schlüter 6b33941400 Merge r315218 - Unbreak crypt() (fix bug #55439) (stas) 2011-08-23 08:09:55 +00:00
Johannes Schlüter 2c7dbcbf81 - Release branch for re-tagging 5.3.8 2011-08-23 07:54:01 +00:00
Johannes Schlüter c632b0d567 PHP 5.3.8 2011-08-22 22:13:53 +00:00
Johannes Schlüter 952b9a9695 - PHP 5.3.8 2011-08-22 22:08:48 +00:00
Johannes Schlüter e63bf6e63e - Update NEWS 2011-08-22 21:37:57 +00:00
Johannes Schlüter 0d2a921916 - Revert r313616 (When we have a blocking SSL socket, respect the timeout
option, scottmac)

# This caused bug #55283, we should investigate a proper solution without
# breaking anything.
2011-08-22 21:32:04 +00:00
Daniel Convissor 4e2cd3ee63 Fix spring tests for dst/st transition second. 2011-08-22 14:47:12 +00:00
Pierrick Charron 18aac27b28 Revert commit 315259 as requested
# Will apply the patch on this branch after 5.3.8
2011-08-22 11:35:19 +00:00
Andrey Hristov 36c11fcaf3 Don't run the test on windows, Unix specific 2011-08-22 11:07:35 +00:00
Andrey Hristov 1da5b05dbd Fix Bug #55473 mysql_pconnect leaks file descriptors on reconnect
The fix is for now in 5_4 and trunk, to be merged into 5_3 after 5.3.8
is packaged (expected today). The test case goes to all branches
2011-08-22 10:42:43 +00:00
Pierrick Charron ef48624cd3 - Fixed bug #55156 (ReflectionClass::getDocComment() returns comment even though the class has none)
# Patch was not committed on the PHP5.3 branch
2011-08-22 01:11:22 +00:00
Rasmus Lerdorf 0bea1fea8f Debian/Ubuntu don't have any special CFLAGS listed here for
gssapi which shouldn't break the build.
2011-08-21 22:57:13 +00:00
Pierre Joye 408d0a0420 - merge two mysqli section 2011-08-21 14:31:11 +00:00
Stanislav Malyshev 81ad401604 Unbreak crypt() (fix bug #55439)
# If you want to remove static analyser messages, be my guest,
# but please run unit tests after
2011-08-19 22:49:18 +00:00
Pierre Joye 0d82e0c266 - Fixed bug #52461 (Incomplete doctype and missing xmlns) 2011-08-19 09:59:47 +00:00
Uwe Schindler 2c0ab6fc33 Bug #55403: Don't set $_SERVER['HTTPS'] on unsecure connection 2011-08-18 19:12:49 +00:00
Ilia Alshanetsky eb1470aa3f Back to dev 2011-08-17 14:28:24 +00:00
Ilia Alshanetsky de528a07da 5.3.7 2011-08-17 13:30:46 +00:00
Ilia Alshanetsky 6e284c6ce7 5.3.7 2011-08-17 13:30:04 +00:00
Christopher Jones f2b8b4879d More test portability fixes mostly for gcov.php.net 2011-08-13 00:43:34 +00:00
Andrey Hristov aa480a4f4f prevent a crash if cs is NULL, which can happen with MS and lazy connections 2011-08-12 14:55:00 +00:00
Ulf Wendel d3d7da14e6 MySQL 5.6 fractional seconds and PS 2011-08-12 11:51:44 +00:00
Ulf Wendel 12954aa27d Andrey, please have a look. Not sure if the test is correct, e.g. MySQL 5.5.3+ really needed? 2011-08-12 11:23:36 +00:00
Ulf Wendel e0cc7032f1 Andrey, please have a look. This should not cause errors. 2011-08-12 11:23:16 +00:00
Rasmus Lerdorf 6051aa795c Fix bug number there 2011-08-11 19:20:53 +00:00
Ilia Alshanetsky d090061f5e Back to dev 2011-08-11 14:35:08 +00:00
Ilia Alshanetsky db472c60cf 5.3.7RC5 2011-08-11 13:02:49 +00:00
Ilia Alshanetsky cc93e8e51f Fixed bug #55399 (parse_url() incorrectly treats ':' as a valid path) 2011-08-11 13:01:52 +00:00
Pierre Joye beea66d595 - fix build (introduce by r314641) 2011-08-11 07:11:39 +00:00
Dmitry Stogov cea8df3af5 Fixed possible memory leak 2011-08-11 06:38:42 +00:00
Rasmus Lerdorf de90c602e1 Use HOST_NAME_MAX constant here instead for the gethostname() func 2011-08-10 17:40:56 +00:00
Ilia Alshanetsky 9fd373d8b6 Fix win32 build 2011-08-10 15:59:32 +00:00
Ilia Alshanetsky 4ef26e2379 Fixed memset usage (identified by coverity) 2011-08-10 15:30:07 +00:00
Andrey Hristov 56d6f23196 relax constraint 2011-08-10 14:12:24 +00:00
Dmitry Stogov 6ddfa33aad Fixed bug #55323 (SoapClient segmentation fault when XSD_TYPEKIND_EXTENSION contains itself) 2011-08-10 13:44:48 +00:00
Nuno Lopes 8f54a74d60 terminate timeouting processes with SIGKILL (9) 2011-08-09 21:53:44 +00:00
Scott MacVicar e34dc6c6f7 Fix building of pure C++ extensions as static 2011-08-09 18:12:06 +00:00
Ilia Alshanetsky 1488704098 Make static analyzers happy 2011-08-09 14:11:56 +00:00
Ilia Alshanetsky d091516c31 Minimize stack usage and added missing dtors 2011-08-09 13:10:57 +00:00
Xinchen Hui 409022b742 Fixed built (missing 2nd arg for strncpy) 2011-08-09 13:04:35 +00:00
Xinchen Hui 0630945ac4 Avoiding strcpy, strcat, sprintf usage to make static analyzer happy 2011-08-09 12:16:58 +00:00
Xinchen Hui 79aa564f8d Avoiding strcpy usage, Make static analyzer happy 2011-08-09 09:35:42 +00:00
Scott MacVicar 929e0f185c Update SQLite3 to the latest version 2011-08-09 07:31:34 +00:00
Xinchen Hui a60513240f Eliminated compiler's warnings and make static analyzer silent 2011-08-09 05:11:19 +00:00
Pierrick Charron 6290b8814c Remove unused variable 2011-08-09 02:42:25 +00:00
Pierrick Charron f6c2511748 Remove unused variable 2011-08-09 02:37:02 +00:00
Xinchen Hui fa161f96fa Remove unnecessary(no sense) memset and making the static analyzer silent 2011-08-08 16:57:46 +00:00
Etienne Kneuss baf2e822cc Fix typo 2011-08-08 14:54:50 +00:00
Ilia Alshanetsky e2e96913bf Deadcode & sizeof fix for issues found by coverity
(different patch for 5.4+ will follow shortly)
2011-08-08 12:29:32 +00:00
Ilia Alshanetsky 92d68c62af Make static analyzers happy 2011-08-08 12:10:27 +00:00
Pierrick Charron 19b6735d86 Fix typo 2011-08-08 11:30:56 +00:00
Pierrick Charron cbd4f7602e Use snprintf to make the static analyzers happy 2011-08-08 11:19:49 +00:00
Xinchen Hui 6c0c4896b3 Prevented the warning about truncate int to char 2011-08-08 07:12:12 +00:00
Pierrick Charron 08a499f142 Use snprintf and strncat to make the static analyzers happy 2011-08-08 03:08:59 +00:00
Xinchen Hui 44e2c266c3 Remove no sense statements 2011-08-08 00:47:40 +00:00
Ilia Alshanetsky 42f3972e61 Avoid strcpy() usage 2011-08-08 00:07:54 +00:00
Ilia Alshanetsky 34f08a3715 Fixes for variety of issues identified by coverity scan 2011-08-07 23:46:00 +00:00
Gwynne Raskind 04b575f409 possible use without init fixed 2011-08-07 18:12:52 +00:00
Gwynne Raskind f4f7a32121 Front- and back-port rev 314431 (missing php.h include) 2011-08-07 17:15:40 +00:00
Gwynne Raskind 159635f4f5 Back- and front-port fixes for #55019 2011-08-07 17:14:14 +00:00
Rasmus Lerdorf 37c18f5ebe Fix more signed 1-bit bitfield, and let's use strlcpy/strlcat instead for these
static string copies
2011-08-07 16:10:34 +00:00
Rasmus Lerdorf 2449c41698 Not an issue here, but a good habit to follow consistently. Never use strcpy/strcat. 2011-08-07 15:45:18 +00:00
Rasmus Lerdorf bcf8485ef5 Make static analyzers happy 2011-08-07 15:38:36 +00:00
Xinchen Hui 57ec3758b7 revert -r314422
No need to check erealloc's return
2011-08-07 14:25:30 +00:00
Xinchen Hui b2110c3eea Fixed bug that may dereferenced NULL pointer before checking 2011-08-07 13:19:04 +00:00
Xinchen Hui 4c2e6c1cf6 Initialize variable with fixed value for avoiding compile warnings 2011-08-07 11:13:27 +00:00
Pierrick Charron bfd10cfee9 function_name cannot be false 2011-08-07 06:19:43 +00:00
Pierrick Charron 029d7f4c6c class entry is never used 2011-08-07 06:04:11 +00:00
Pierrick Charron 757a32cd0c Pointer returned is never used 2011-08-07 05:46:31 +00:00
Rasmus Lerdorf f2bc53b88b Oops 2011-08-07 05:08:08 +00:00
Rasmus Lerdorf b61c50a004 These naked strcpy()s scare me 2011-08-07 00:18:38 +00:00
Rasmus Lerdorf 636c61c1d5 Not our issue, but fixing here for now and reporting upstream 2011-08-06 23:34:13 +00:00
Rasmus Lerdorf 14e1bc89bc Fix another Coverity warning by initializing this to NULL prior to the strtok_r call 2011-08-06 21:10:29 +00:00
Felipe Pena 997f323e3a - Added ZEND_MOD_END macro to use in the end of zend_module_dep[] 2011-08-06 14:47:44 +00:00
Felipe Pena 13eb47a8bc - Added missing PHP_FE_END/ZEND_FE_END 2011-08-06 01:22:27 +00:00
Felipe Pena edfa1988fc - Fixed bug #55313 (Number of retries not set when params specified)
patch by: kevin at kevinlocke dot name
2011-08-06 00:59:21 +00:00
Rasmus Lerdorf 741f41ff18 efree match_sets on an error here - found by Coverity 2011-08-05 22:39:40 +00:00
Rasmus Lerdorf 2b6a290d55 Another potential missing va_end() found by Coverity 2011-08-05 22:26:16 +00:00
Christopher Jones ae1baaa592 Improve test portabilty 2011-08-05 22:18:50 +00:00
Rasmus Lerdorf 0c2bbe47b2 Fix missing va_end() found by Coverity 2011-08-05 22:18:42 +00:00
Andrey Hristov 8a929d8942 Fix for bug #55283 SSL options set by mysqli_ssl_set ignored for MySQLi persistent connections 2011-08-05 13:39:30 +00:00
Felipe Pena 32319a142f - Added missing check (thanks neweracracker at gmail dot com) 2011-08-04 10:56:59 +00:00
Felipe Pena 8b27b6d559 - Fixed possible efree(NULL) (bug #55296) 2011-08-04 00:59:43 +00:00
Pierre Joye bb78412b07 - update libcurl to 7.21.7 2011-08-03 13:19:03 +00:00
Andrey Hristov 395ebb5c8b Remove a warning by explicitly compiling out a non-used variable 2011-08-02 15:30:58 +00:00
Andrey Hristov 4a7bf95c90 completely compile out a currently non-needed function 2011-08-02 14:18:56 +00:00
Andrey Hristov 66bba32627 compile out both parts of the code that are currently unused - fixes a compilation warning 2011-08-02 14:02:21 +00:00
Dmitry Stogov 0ea2ef125b Fixed bug #55339 (Segfault with allow_call_time_pass_reference = Off) 2011-08-02 07:38:23 +00:00
Dmitry Stogov b0e5d35202 Fixed bug #50816 (Using class constants in array definition fails). 2011-08-01 11:21:23 +00:00
Stanislav Malyshev 44add6d195 fix termination in sha-512 too 2011-07-31 23:14:04 +00:00
Stanislav Malyshev 6e246ad0d5 fix salt truncation bug in sha256 2011-07-31 21:47:03 +00:00
Pierre Joye caf6a6dc7a - blowfish 1.2 update, 2nd part 2011-07-31 20:50:09 +00:00
Pierre Joye 673fe19b39 - add test for blowfish 1.2 (Solar Designer) 2011-07-31 10:11:20 +00:00
Pierre Joye 363b56f261 - Fix #55301 (sybase part, take #2) check if malloc succeded 2011-07-28 21:16:51 +00:00
Ilia Alshanetsky 5b0373b060 back to dev 2011-07-28 11:54:53 +00:00
Ilia Alshanetsky d69796f23f 5.3.7RC4 2011-07-28 11:53:46 +00:00
Pierre Joye a3796f27fb - Fix #55301 (mssql part) check if malloc succeded 2011-07-28 11:01:04 +00:00
Pierre Joye c8a621b191 - Fix #55301 (sybase part) check if malloc succeded 2011-07-28 10:57:31 +00:00
Pierre Joye b3ccd26eb4 - Fix #55301 (url scanner part) check if malloc succeded 2011-07-28 10:52:45 +00:00
Pierre Joye d3fd31b6dd - Fix #55301 (readline part) check if malloc succeded 2011-07-28 10:42:45 +00:00
Pierre Joye 7ec6d3ae47 - Fix #55301 (interbase part) check if malloc succeded 2011-07-28 10:39:19 +00:00
Pierre Joye a20deb1607 - Fix #55301 (pdo_odbc part) check if malloc succeded 2011-07-28 10:37:04 +00:00
Pierre Joye 8535adfb31 - Fix #55301 (com_dotnet part) check if malloc succeded 2011-07-28 10:34:16 +00:00
Pierre Joye 42c4b86c88 - Fix #55301 (curl part) check if malloc succeded 2011-07-28 10:31:34 +00:00
Pierre Joye 0e3ec21e6f - Fix #55295, check if malloc failed 2011-07-27 14:23:06 +00:00
Andrey Hristov 94ccf70c77 longer error messages, don't cut them 2011-07-27 10:26:59 +00:00
Christopher Jones cf8bf9f2f0 Add explicit casts to remove some of Pierre's snapshot build warnings 2011-07-27 00:04:23 +00:00
Ulf Wendel e2ad8e9c1c Double check if line is sill usable and connected to last successfully selected db. 2011-07-26 16:14:59 +00:00
Ulf Wendel 823de19461 Check what happens if switching DB via API fails. Expected: no change of current DB/schema. 2011-07-26 15:37:59 +00:00
Ulf Wendel 61b2568310 Would be nice if tests get updated whenever a feature is added by the person adding the feature... 2011-07-26 09:33:01 +00:00
Ulf Wendel ac9708ccf2 Fix mysqlnd detection 2011-07-26 09:30:49 +00:00
Christopher Jones 987db5f747 Fix cast warning seen on some platforms 2011-07-25 23:40:57 +00:00
Felipe Pena 2df7afeb1c - Revert accidental change 2011-07-25 21:39:53 +00:00
Christopher Jones fc83d523b8 Patch r313663 and r313665 to allow PECL builds to work with earlier releases 2011-07-25 17:30:09 +00:00
Christopher Jones 99049e2fdd Update skipif 2011-07-25 17:22:48 +00:00
Felipe Pena a10e7fe11d - Use ZEND_FE_END macro here 2011-07-25 11:50:10 +00:00
Felipe Pena 23e438594d - Make usage of new PHP_FE_END macro 2011-07-25 11:42:53 +00:00
Felipe Pena 054e1cafa0 - Added new macro to be used in the end of zend_function_entry declaration (Gwynne) 2011-07-25 11:30:53 +00:00
Scott MacVicar 04c2df66a3 When we have a blocking SSL socket, respect the timeout option.
reading from SSL sockets could block indefinitely due to the lack
of timeout
2011-07-23 01:29:44 +00:00
Felipe Pena fcb9e4b2b3 - Disable __sync_fetch_and_add for HPUX for now, gcc seems not provide __sync_fetch_and_add_4 for all targets 2011-07-23 01:08:24 +00:00
Daniel Convissor 3c63a836cf Fix spelling error. 2011-07-21 19:56:54 +00:00
Daniel Convissor 22710d1c44 Have test for add/sub/diff one second during ST/DST transition in spring. 2011-07-21 15:35:06 +00:00
Pierre Joye 83b69f4034 - Fixed bug #55258 (Windows Version Detecting Error) (already fixed in trunk/5.4) 2011-07-21 14:49:55 +00:00
Ryan Biesemeyer 5dc5c26a5f removing openssl test for bug #55169 per Scott MacVicar's request; duplicate coverage of opensssl_random_pseudo_bytes.phpt 2011-07-20 21:25:39 +00:00
Ryan Biesemeyer 7acdad749c update test for bug #55169, fix skipif 2011-07-20 21:13:03 +00:00
Ryan Biesemeyer 74d6fe4f00 update test for bug #55169, don't require the extension in INI 2011-07-20 20:57:17 +00:00
Ryan Biesemeyer 292abd1240 tests for bug #55169 (mcrypt and openssl) 2011-07-20 18:59:05 +00:00
Daniel Convissor d31c5e8a4d Rename and enhance test for bug 55253 now that bugs web is up. 2011-07-20 18:24:14 +00:00
Scott MacVicar 946456425e openssl_encrypt() / openssl_decrypt() were flawed and truncated the key to the default size for the case of a variable key length cipher.
The result is a key of 448 bits being passed to the blowfish algorithm would be truncated to 128 bit.

Also fixed an error in the zend_parse_parameters() having an invalid character being used.
2011-07-19 22:15:56 +00:00
Felipe Pena c3c761ffeb - Fixed bug #55231 (Unsatisfied symbols __sync_fetch_and_add_4) 2011-07-19 22:12:13 +00:00
Popa Adrian Marius 23e564762a Fix for bug http://bugs.php.net/54426
Checks for NULL are wrong as the values can be provided by the triggers
2011-07-19 20:25:51 +00:00
Pierre Joye e825d1b579 - update libpng to 1.2.46 2011-07-19 10:22:42 +00:00
Pierre Joye 8280b0a710 - update blowfish to 1.2 (Solar Designer) 2011-07-18 21:26:29 +00:00
Jérôme Loyet 627540cc0b fix a segfault when passing an empty value to a ini parameter from the web server (php_(admin_)?value) 2011-07-18 21:03:44 +00:00
Pierre Joye 8d1012b2c3 - MFH: Fixed bug #54204 (Can't set a value with a PATH section in php.ini). 2011-07-18 21:00:59 +00:00
Jérôme Loyet 1d3696eecb remove forgotten debug log 2011-07-18 20:59:18 +00:00
Jérôme Loyet 577d81faa2 - get rid of FPM_AUTOCONFIG_H which has never existed since FPM integration into core 2011-07-17 23:33:22 +00:00
Stanislav Malyshev 9c2b6c7b58 Register warning change 2011-07-17 07:03:19 +00:00
Philip Olson 0b9be2918d Updated is_a() and is_subclass_of() tests as per the removed E_WARNING from r313162 which was inspired by discussion after r312904 and PHP Bug #53727 2011-07-15 19:17:22 +00:00
Ilia Alshanetsky 329449f799 Back to dev 2011-07-14 12:02:33 +00:00
Ilia Alshanetsky 894cfb078b 5.3.7RC3 2011-07-14 12:01:37 +00:00
Jérôme Loyet b892d762e5 find option '-not' is not POSIX compliant 2011-07-13 23:28:48 +00:00
Daniel Convissor 6672b31c45 Have test for add/sub/diff one second during DST/ST transition. 2011-07-13 16:22:58 +00:00
Daniel Convissor cafb45221f Add test for constructing times during the dst/st conversion. 2011-07-13 16:21:10 +00:00
Pierre Joye 3be1f24fba - Fixed bug #55187, readlink returns weird characters when false result 2011-07-12 15:15:17 +00:00
Pierre Joye b8251d54a8 - Bug #55169, improve fix, allow non interactive user, hash-like ops only usage 2011-07-12 11:46:41 +00:00
Stanislav Malyshev 1ee8ff3b7d remove warning for is_a() BC 2011-07-12 05:20:40 +00:00
Ilia Alshanetsky 992d32c6a7 Fixed bug #55014 (Compile failure due to improper use of ctime_r()). 2011-07-11 17:01:23 +00:00
Dmitry Stogov ac1ae51a38 Fixed bug #54305 (Crash in gc_remove_zval_from_buffer) 2011-07-11 10:31:49 +00:00
Dmitry Stogov 7d1eef4aa7 Fixed bug #54332 (Crash in zend_mm_check_ptr // Heap corruption) 2011-07-11 09:47:59 +00:00
Pierre Joye 5d5951f247 - fix bug #55169, mcrypt_create_iv always fails to gather sufficient random data 2011-07-10 14:36:32 +00:00
Pierre Joye 8ec6ada087 - use warning here to match unix behavior 2011-07-10 14:19:51 +00:00
Felipe Pena ae40e5f400 - Year++ 2011-07-10 13:05:32 +00:00
Felipe Pena 7b68c1e634 - Missing to commit this change here... (thanks nikic) 2011-07-08 16:29:33 +00:00
Felipe Pena 1cf3ec5eab - Fixed bug #55156 (ReflectionClass::getDocComment() returns comment even though the class has none) 2011-07-07 23:07:14 +00:00
Andrey Hristov 774e127a00 free data in case of failure in the callee not in the caller 2011-07-05 20:31:53 +00:00
Ilia Alshanetsky 43edfb2710 Fixed bug relating to un-initialized memory access 2011-07-05 20:10:45 +00:00
Jérôme Loyet c4b7abb4ea - Fixed wrong value of log_level when invoking fpm with -tt 2011-07-05 18:09:07 +00:00
Gustavo André dos Santos Lopes 987c843674 - Fixed bug #52935 (call exit in user_error_handler cause stream relate core). 2011-07-05 16:09:06 +00:00
Jérôme Loyet d5899d0b33 - ws and cosmetics 2011-07-05 02:42:40 +00:00
Jérôme Loyet efcfbc953e Fixed memory leak 2011-07-05 01:43:50 +00:00
Jérôme Loyet c4d83a413c - moved STR2STR, BOOL2STR and PM2STR from fpm_conf.h to fpm_conf.c (Giovanni Giacobbi) 2011-07-05 01:24:10 +00:00
Stanislav Malyshev 5bd0be8a15 fix crypt() issue with overlong salt 2011-07-04 23:38:09 +00:00
Jérôme Loyet 46ac1e373a alloc SHM for all children at startup to ensure all SHM will be reachable from children over the ages 2011-07-04 22:39:15 +00:00
Jérôme Loyet 5c2477a0d8 child-pid can't be set when fpm_child_resources_use is called 2011-07-04 21:37:28 +00:00
Jérôme Loyet 8237737bd9 - Fixed missing Expires and Cache-Control headers for ping and status pages 2011-07-04 21:29:32 +00:00
Jérôme Loyet 4eb7fc8aa6 - revert commit 312812 until 5.3.7 is out 2011-07-04 21:22:56 +00:00
Dmitry Stogov 293f710827 Fixed bug #53727 (Inconsistent behavior of is_subclass_of with interfaces) 2011-07-04 14:55:39 +00:00
Jérôme Loyet 7fb6b5ca98 fix comment syntax 2011-07-04 12:49:46 +00:00
Felipe Pena 37dab6afee - Fixed bug #54329 (MSSql extension memory leak)
patch by: dotslashpok at gmail dot com
2011-07-03 19:01:42 +00:00
Jérôme Loyet 74b693f16b - Implemented FR #54172 (Overriding the pid file location of php-fpm) 2011-07-02 23:41:01 +00:00
Jérôme Loyet 6d64b2a4c9 - Implemented FR #54499 (FPM ping and status_path should handle HEAD request) 2011-07-02 16:34:39 +00:00
Jérôme Loyet 217382d4ef - Implemented FR #54577 (Enhanced status page with full status and details about each processes
- Added a web page (status.html) for real-time FPM status
- Fixed missing Expires and Cache-Control headers for ping and status pages
2011-07-02 16:10:18 +00:00
Felipe Pena 5f75a28d01 - Fixed bug #55080 (Deprecated call in run--test.php)
patch by: fedora at famillecollet dot com
2011-07-01 23:13:53 +00:00
Ilia Alshanetsky 8f80896718 Back to dev 2011-06-30 13:31:39 +00:00
Ilia Alshanetsky 05763e18bb 5.3.7RC2 2011-06-30 13:16:27 +00:00
Gustavo André dos Santos Lopes 3dafd9549d - Fixed bug #55082 (var_export() doesn't escape properties properly). 2011-06-30 09:26:35 +00:00
Adam Harvey 85bf6f0329 Fix bug #55066 (Missing linebreak in NEWS). 2011-06-30 06:14:41 +00:00
Ilia Alshanetsky aa2ec7517e Fixed test 2011-06-28 23:47:05 +00:00
Knut Urdalen 819be8a3b2 working on test coverage for ext/dom, here's 17 more tests 2011-06-28 20:17:15 +00:00
Pierrick Charron 1b416caeb1 Fixed bug #54971 (Wrong result when using iterator_to_array with use_keys on true) 2011-06-28 11:09:06 +00:00
Christopher Jones 0c2ee427d7 Keep the DBA DB4 test status quo after Berkeley DB 5.2 introduced error message prefixes 2011-06-27 22:58:59 +00:00
Hannes Magnusson e788932a91 Fix 5.1 detection on ubuntu natty 2011-06-27 20:28:30 +00:00
Christopher Jones cf6b208cab missed version sync with 5.4 2011-06-27 17:24:55 +00:00
Derick Rethans 93fcf04fc1 - Updated to version 2011.8 (2011h) 2011-06-27 11:47:43 +00:00
Jérôme Loyet c9a0fbe122 - fixed request_timeout and slowlog_timeout from last FPM commit (r312496)
- typo
2011-06-27 11:33:03 +00:00
Felipe Pena c1d43480cc - BFN 2011-06-27 01:39:01 +00:00
Felipe Pena 92ef080a2e - Fixed data type usage in 64bit
Reported by: Leonildo Costa
2011-06-27 01:36:39 +00:00
Jérôme Loyet f5b05ce162 - Replaced shm_slots with a real scoreboard
- Added several improvements to the status page
2011-06-26 15:48:11 +00:00
Pierre Joye 0d7226ed60 - reflection is always enabled 2011-06-25 10:47:54 +00:00
Knut Urdalen 778edca904 fixed temp directory names in spl tests 2011-06-25 07:45:41 +00:00
Knut Urdalen f8e21c395b fixed/refactored some spl tests related to owner/group retrieval 2011-06-25 04:50:42 +00:00
Christopher Jones d70a9f988d Add http_proxy env var support to run-tests.php result submission 2011-06-24 23:10:37 +00:00
Felipe Pena 10c20ceaf4 - Added SKIPIF 2011-06-24 19:18:06 +00:00
Felipe Pena 6c07bc8004 - BFN 2011-06-24 00:53:52 +00:00
Felipe Pena 08ddf683fc - Fixed crash in error_log() (strlen(NULL)) reported by: shm, Maksymilian Arciemowicz 2011-06-23 21:48:15 +00:00
Hannes Magnusson 71a5c3d7ec These are annoyingly slow 2011-06-23 21:27:42 +00:00
Jérôme Loyet bbe8518456 - Added custom access log (also added per request %CPU and memory mesurement) 2011-06-23 08:03:52 +00:00
Hannes Magnusson 12081f5659 Add charset, fixes the validate_on_parse test (confik) 2011-06-22 14:59:20 +00:00
Shein Alexey 113e304dcf Fixed dom tests. 2011-06-22 09:28:14 +00:00
Patrick Allaert d10755c0e6 Fixed typo 2011-06-20 20:42:02 +00:00
Jérôme Loyet 955b801fea Removed pid in debug logs written by chrildren processes 2011-06-20 00:03:39 +00:00
Daniel Convissor 887f30dc61 Make xfail text not reference a particular version now that 5.4 branch exists. 2011-06-19 16:46:32 +00:00
Felipe Pena 8d6e997315 - Opss, restore old behavior 2011-06-19 14:50:44 +00:00
Felipe Pena 0806f78f77 - Added missing void param check in sys_get_temp_dir
- Fixed param check of umask()
2011-06-19 14:27:33 +00:00
Felipe Pena f4554096e1 - New tests (code coverage++) 2011-06-19 12:33:49 +00:00
Felipe Pena 3964ddd1c4 - Added missing void param checks, and fix arginfo 2011-06-18 22:48:31 +00:00
Felipe Pena e3da6ac3da - Missing change 2011-06-18 17:46:16 +00:00
Felipe Pena 6481440f3f - Fixed ZTS build 2011-06-18 17:41:56 +00:00
Jérôme Loyet 23a5f873fb Added master rlimit_files and rlimit_core in the global configuration settings 2011-06-18 16:27:48 +00:00
Jérôme Loyet 6e1f77ef6b Fixed exit at FPM startup on fpm_resources_prepare 2011-06-18 16:15:15 +00:00
Jérôme Loyet 606d61bd1c ws 2011-06-18 16:05:56 +00:00
Felipe Pena 2b309c8f9e - Added missing arginfos for void params and void param checks 2011-06-18 15:56:14 +00:00
Jérôme Loyet 22be55e6da Remove timestamp in logs written by children process 2011-06-18 15:33:07 +00:00
Daniel Convissor 370d483bcb Provide test for DateTime::add() issue (for discussion on internals, bugs.php.net is down). 2011-06-18 01:00:56 +00:00
Daniel Convissor 249667f9e3 Split DateTime diff/add/sub tests into separate files to make things easier to see, test and (one hopes) fix. 2011-06-18 00:29:52 +00:00
Jérôme Loyet fd0009d8d6 missing doc in the conf file 2011-06-17 23:35:47 +00:00
Jérôme Loyet cff7a300d1 - added xml format to the status page
- clean fpm_status.c code
2011-06-17 23:19:54 +00:00
Christopher Jones 52cc62d825 Remove duplicate lines present in PHP_5_3's .phpt (dtajchreber) 2011-06-17 21:42:40 +00:00
Christopher Jones 21abc2f1c1 Fix skipif to resolve the common reason this test fails 2011-06-17 18:28:34 +00:00
Derick Rethans 4b9857e7a4 - Fixed bug where the DateTime object got changed while using date_diff(). 2011-06-17 16:38:23 +00:00
Felipe Pena f7ee12e928 - Fixed two "jump or move depends on uninitialised value" 2011-06-17 02:00:20 +00:00
Pierre Joye ccae79a2c3 - did I not kill that already? (do not use rand_screen, pointless on server and not TS) 2011-06-16 13:06:41 +00:00
Johannes Schlüter 262492a187 - Back to -dev 2011-06-16 12:47:39 +00:00
Johannes Schlüter 06d5c9a8f0 5.3.7RC1 2011-06-16 12:40:37 +00:00
Pierre Joye 0ff4d7d811 - fix nts build 2011-06-16 10:20:25 +00:00
Pierre Joye 23c4c46b36 - init win32 rng context once per process 2011-06-16 01:31:10 +00:00
Pierre Joye b498b5dfe5 - install extra headers 2011-06-16 01:21:01 +00:00
Gustavo André dos Santos Lopes ba3498ea33 - Broken overlong (>80 chars) lines.
- Added entry corresponding to r301991, as requested.
2011-06-14 22:18:29 +00:00
Scott MacVicar c2ca352598 Upgrade SQLite to 3.7.6.3 2011-06-14 17:00:49 +00:00
Felipe Pena d42a0aee91 - Added CVE id 2011-06-13 19:47:31 +00:00
Felipe Pena e854b05aea - Fix build on Windows 2011-06-13 17:52:23 +00:00
Timm Friebe 6210bf0dba - MFH suppression of compiler warning noted in bug #55009 2011-06-13 08:45:21 +00:00
Felipe Pena 209bfe82e5 - Fixed bug #54624 (class_alias and type hint) 2011-06-12 21:10:31 +00:00
Felipe Pena 9d80c25005 - Fix test again 2011-06-12 21:05:16 +00:00
Felipe Pena 1a615eeaa2 - Added Bison 2.5 to bison_version_list 2011-06-12 17:26:45 +00:00
Felipe Pena 75fa63b57f - Fixed bug #54939 (File path injection vulnerability in RFC1867 File upload filename)
Reported by: kkotowicz at gmail dot com
2011-06-12 15:14:18 +00:00
Felipe Pena bb16e23891 - Restore test (the change related to this test weren't committed to this branch) 2011-06-12 03:01:12 +00:00
Felipe Pena 0ec1758381 - Fixed bug #54680 (missing TRACK_VARS_SERVER check) 2011-06-12 02:47:48 +00:00
Felipe Pena 86ed2eeb5d - Avoid zend_do_ticks() call for each statement in parsing 2011-06-12 01:43:10 +00:00
Gustavo André dos Santos Lopes a54847a0fb - Reverted r301991, which is a (partial) fix to bug #52550, addressing an
overflow in a signed subtraction. This fixes the overflow without
  changing the algorithm.
2011-06-12 00:56:18 +00:00
Felipe Pena 6a504c6f6b - Fix missing change from r303357 (related to bug #48831) 2011-06-11 23:46:35 +00:00
Timm Friebe 55aab4e6de - MFH Bugfix for bug #53540 2011-06-11 18:55:15 +00:00
Felipe Pena 9b1ba00a1e - Missing fix for bug #54347 2011-06-11 15:11:49 +00:00
Pierre Joye c92904d160 - missing entry for curl.cainfo 2011-06-11 13:23:29 +00:00
Felipe Pena a76f790b58 - Possible fix for bug #55022 (memory_limit exhausted when set charset in sybase_connect) 2011-06-11 01:15:14 +00:00
Christopher Jones 17af8b0179 Fix TSRMLS for Windows build 2011-06-11 00:24:26 +00:00
Felipe Pena c776180f6e - Drop C++ style comments 2011-06-10 23:14:15 +00:00
Felipe Pena 0e37aa144f - Fixed bug #55028 (// is abad comment) 2011-06-10 22:48:36 +00:00
Christopher Jones c7a8bd6a4c Add new OCI8 tests. Refactor skipifs. Sync 5.3/5.4/trunk branches 2011-06-10 19:16:35 +00:00
Christopher Jones f4009b52a3 Add oci_client_version() returning the runtime Oracle client library version - predominantly useful for the test suite 2011-06-10 17:38:07 +00:00
Christopher Jones bc0d535f5a Missed trivial comment sync with PHP_5_4 and trunk 2011-06-10 17:16:00 +00:00
Felipe Pena 60857e013b - Fixed bug #54347 (reflection_extension does not lowercase module function name)
patch by: laruence at yahoo dot com dot cn
2011-06-09 22:45:35 +00:00
Shein Alexey ae2e75a657 Fixed test. 2011-06-09 13:09:25 +00:00
Shein Alexey 21fb2a42cc Changed session.save_path to /tmp to make test run. 2011-06-09 08:24:12 +00:00
Shein Alexey 3b37e152c3 Skip reason is now printed if session.save_path is not writable. 2011-06-09 08:18:49 +00:00
Shein Alexey 25adf56921 Fixed session test breakage due to serialize precision issue. 2011-06-09 07:44:10 +00:00
Ilia Alshanetsky cca899148a Fixed test 2011-06-08 23:30:02 +00:00
George Wang 0bcbaa1750 fix socket address parsing code 2011-06-08 16:51:59 +00:00
Ilia Alshanetsky 9277da7d9d Fixed test to account for smaller default floating point # precision 2011-06-08 02:03:14 +00:00
Gustavo André dos Santos Lopes cd7681d273 - Fixed bug #54992: Stream not closed and error not returned when SSL CN_match
fails.
2011-06-08 00:23:02 +00:00
Christopher Jones 031085e0a9 Sync OCI8 branches. Allow 'pecl install' to work on both PHP 5.3 & 5.4 2011-06-07 23:53:02 +00:00
Felipe Pena f75714650b - Fixed bug #55007 (compiler fail after previous fail) 2011-06-07 22:58:38 +00:00
Ilia Alshanetsky 14ed144318 Fixed test 008 2011-06-07 01:40:54 +00:00
Felipe Pena baf834a00a - BFN 2011-06-07 01:27:29 +00:00
Felipe Pena 68ff1463e7 - Restore fix for #39863 (do not accept paths with NULL in them)
# This was removed by regenerating the VM months ago
2011-06-06 02:34:38 +00:00
Ilia Alshanetsky d846d0e80a Fixed bug #51997 (SEEK_CUR with 0 value, returns a warning). 2011-06-05 21:57:01 +00:00
Hannes Magnusson 10da251565 Fixed bug#51819 (Case discrepancy in timezone names cause Uncaught exception and fatal error) 2011-06-05 13:30:01 +00:00
Philip Olson f472141549 Updated the note maintainers credits 2011-06-05 06:57:13 +00:00
Felipe Pena 0afd4bd18b - Possible fix for bug #54609 (Certain implementation(s) of SplFixedArray cause hard crash) 2011-06-05 01:38:12 +00:00
Felipe Pena 087a134b50 - Fixed bug #54929 (Parse error with single quote in sql comment) 2011-06-04 22:54:40 +00:00
Ilia Alshanetsky 00a6dd29b7 Show ICU Data version inside phpinfo() 2011-06-03 18:14:36 +00:00
Hannes Magnusson 14e7d404d9 Fix tests
#Note to self; do not rename tests just before committing
2011-06-03 17:38:37 +00:00
Hannes Magnusson a62829c09e Add tests for broken function arguments 2011-06-03 17:12:59 +00:00
Gustavo André dos Santos Lopes 479a47d8af Merge of fix for bug #54918 (r311745, scottmac) to 5.3. 2011-06-03 09:39:45 +00:00
Gustavo André dos Santos Lopes 7af15a41d9 - Fixed double registering of browscap ini directive. See bug #54896. 2011-06-02 08:46:40 +00:00
Felipe Pena 47315dfdf6 - Fixed bug #54970 (SplFixedArray::setSize() isn't resizing) 2011-06-02 00:40:27 +00:00
Ilia Alshanetsky f7cdabd118 More tests 2011-06-01 16:59:23 +00:00
Ilia Alshanetsky e6c9a31c54 Implemented FR #54561 (Expose ICU Version & ICU Data Version info). 2011-06-01 16:26:21 +00:00
Ilia Alshanetsky 83d01bd81b Fixed bug #52104 (bindColumn creates Warning regardless of ATTR_ERRMODE settings). 2011-06-01 13:23:25 +00:00
Ilia Alshanetsky f4f2aa7583 Fixed bug #54484 (Empty string in json_decode doesn't reset json_last_error()). 2011-06-01 09:44:38 +00:00
George Wang cb7f656de7 fix CLI mode timeout 2011-05-31 22:40:42 +00:00
Rafael Machado Dohms b903587268 Adding testcases to validate imageloadfont input parameter validation, tests were developed at #tek11 testfest 2011-05-31 21:24:10 +00:00
Andrey Hristov b97e76d512 reuse code 2011-05-31 20:42:44 +00:00
Shein Alexey e69b73e0b8 Fixed notice breaking the test. 2011-05-31 12:57:40 +00:00
Andrey Hristov e2ac61225f fix macros 2011-05-31 10:35:07 +00:00
Dmitry Stogov c989a36927 Fixed bug #54910 (Crash when calling call_user_func with unknown function name) 2011-05-31 09:20:51 +00:00
Ilia Alshanetsky 3d7a201eb4 Removed test for functionality available in 5.4+ 2011-05-31 09:01:44 +00:00
Ilia Alshanetsky e91cecb1d3 Removed unnecessary rinit/rshutdown 2011-05-31 08:59:32 +00:00
Philip Olson b7eefa0af7 Updated qa-release.php notes as per the new qa-release.php syntax 2011-05-30 23:26:33 +00:00
Ilia Alshanetsky a65eba016e Fixed bug #52496 (Zero exit code on option parsing failure). 2011-05-30 15:57:50 +00:00
Hannes Magnusson 3b030ec75f Fixed bug #54946 (stream_get_contents infinite loop) 2011-05-29 12:29:19 +00:00
Hannes Magnusson 07bcf1080d Fixed bug #54601 (Removing the doctype node segfaults) 2011-05-29 11:39:49 +00:00
Ilia Alshanetsky 69a12bfb3f Fixed bug #53848 (fgetcsv() ignores spaces at beginnings of fields). 2011-05-29 10:23:06 +00:00
Ilia Alshanetsky ef74038d1d Fixed bug #54137 (file_get_contents POST request sends additional line break). 2011-05-29 09:23:08 +00:00
Felipe Pena 6ff2f7040e - BFN 2011-05-27 23:32:48 +00:00
Felipe Pena 490b75d170 - Fixed bug #54934 (Unresolved symbol strtoull in HP-UX 11.11) 2011-05-27 23:31:30 +00:00
Ilia Alshanetsky 8267eaf1bf Fixed bug #54924 (assert.* is not being reset upon request shutdown). 2011-05-26 18:17:43 +00:00
Pierre Joye 885357a711 -fix bug 54935, php_win_err can lead to crash 2011-05-26 14:37:13 +00:00
Philip Olson 983cedfd94 Fixed test, as per r311323 2011-05-25 00:02:05 +00:00
Felipe Pena 4bf9334a82 - Fixed bug #50363 (Invalid parsing in convert.quoted-printable-decode filter)
Patch by: slusarz at curecanti dot org
2011-05-24 23:49:26 +00:00
Philip Olson 35c42425fa Fixed test 2011-05-24 23:49:04 +00:00
Philip Olson e2caad5f96 Updated test. touch() emits E_WARNING for bogus values. Updated 5.3 test to look the same. 2011-05-24 23:27:49 +00:00
Felipe Pena 6814cbec4b - Fix logic, it must check for both flags (as says the comment in the code) (bug #54912) 2011-05-24 22:34:07 +00:00
Felipe Pena bed49c931d - Fixed bug #54912 (filter/logical_filters.c:685:32: warning: use of logical || with constant op)
Initial patch by: crrodriguez at opensuse dot org
2011-05-24 22:24:06 +00:00
Pierre Joye e38369c532 - Fix #54721, different Hashes on Windows, BSD and Linux on wrong Salt size 2011-05-24 13:48:04 +00:00
Felipe Pena 5cf61f4d8b - Add CVE to bug entry 2011-05-24 12:23:51 +00:00
Pierre Joye 86eae702f2 - fix tests, keep EOL as unix style as the str len is used in expectf 2011-05-24 10:23:13 +00:00
Pierre Joye 0d8e83532a - make svn-eol LF and use one test for unix and windows 2011-05-24 09:44:55 +00:00
Felipe Pena ee920e12ec - Fix the fix
# Arghh, copy and paste error :(
2011-05-24 00:10:00 +00:00
Felipe Pena e9f4cfd6af - Fixed stack buffer overflow in socket_connect().
Found by: Mateusz Kocielski, Marek Kroemeke and Filip Palian
2011-05-24 00:05:50 +00:00
Felipe Pena 00169ec00f - Fixed bug #54529 (SAPI crashes on apache_config.c:197)
patch by: hebergement at riastudio dot fr
2011-05-23 01:47:06 +00:00
Felipe Pena 508f926604 - Fixed bug #54269 (Short exception message buffer causes crash) 2011-05-22 19:06:21 +00:00
Rasmus Lerdorf ba8ce4a6d4 Increase the overly conservative pcre backtrack limit from 100000 to 1000000 2011-05-21 19:48:37 +00:00
Felipe Pena f7e6e6cedf - Fixed bug #54895 (Fix compiling with older gcc version without need for membar_producer macro)
patch by: mhei at heimpold dot de
2011-05-20 21:24:51 +00:00
Felipe Pena 6f3c7a8b70 - Fixed bug #54804 (__halt_compiler and imported namespaces) (Pierrick) 2011-05-19 23:20:47 +00:00
Rasmus Lerdorf 00842d6996 Fix CS 2011-05-19 23:18:55 +00:00
Rasmus Lerdorf e40c470c9d Fix bug 54866 2011-05-19 23:09:58 +00:00
Pierre Joye 221a07b669 - initial import, will add all libs later 2011-05-19 13:36:29 +00:00
Scott MacVicar 8e314ae7fc Revert part of the fix for #53339
On OSX we need ssl AND crypto

The patch that was applied didn't even match what was in the bug
2011-05-19 05:43:48 +00:00
Rasmus Lerdorf edcc7dce4e Fix typo 2011-05-18 19:55:34 +00:00
Rasmus Lerdorf 8f71a6f673 Fix autoconf version check script to make sure people are
not using 2.60 or higher here. It might actually work up to
2.62 or 2.64. If someone could verify that these versions
still work I can massage this further.
2011-05-18 17:27:41 +00:00
Johannes Schlüter 9aa379c724 - handle out of memory 2011-05-18 11:49:49 +00:00
Dmitry Stogov 2ee837aa5e Fixed crash on recursive error handler invocation 2011-05-17 12:27:21 +00:00
Andrey Hristov a417820be3 exchange a "trap" with an error 2011-05-17 09:44:11 +00:00
Johannes Schlüter 1eb7704974 - Move the field access behind the check
# Only called from one place where the connection is checked, but
# playing safe, again (parfait)
2011-05-17 00:16:57 +00:00
Ferenc Kovacs 2ea7c05d75 adding an XFAIL, as we have an open bug for this test 2011-05-16 23:43:12 +00:00
Ferenc Kovacs 85de397a23 adding an XFAIL, as we have an open bug for this test 2011-05-16 23:39:16 +00:00
Ferenc Kovacs 66d5eb12a9 set the timezone to UTC as suggested by Alexey Shein, and adding an SKIPIF as this test was originaly intended to be windows only 2011-05-16 23:35:23 +00:00
Ferenc Kovacs f551ed4189 fix the test with the removal of the unnecessary newline 2011-05-16 23:33:05 +00:00
Ferenc Kovacs 23cab07e4f adding the serialize_precision=100 for the tests, credits to Mats Lindh for reporting it 2011-05-16 23:31:14 +00:00
Ferenc Kovacs 36fde4043b removing XFAIL as #39863 has already been fixed 2011-05-16 23:28:46 +00:00
Ferenc Kovacs a944f7a663 reverting 311103,311105-311109, will commit them to all three branches 2011-05-16 23:22:17 +00:00
Johannes Schlüter c61d125986 - Handle error if tempfile can't be opened, found by parfait 2011-05-16 22:24:41 +00:00
Johannes Schlüter 38c1181cfa - Fix a few more memleaks found by parfait 2011-05-16 21:29:45 +00:00
Ferenc Kovacs 2957b7cbb6 adding an XFAIL, as we have an open bug for this test 2011-05-16 20:11:00 +00:00
Ferenc Kovacs e9efaea7c4 adding an XFAIL, as we have an open bug for this test 2011-05-16 20:10:04 +00:00
Ferenc Kovacs 2f5dc540e0 fix the test via setting the timezone to UTC as suggested by Alexey Shein, and adding an SKIPIF as this test was originaly intended for windows only, maybe we could drop this, as we don't support VC6 anymore 2011-05-16 20:07:55 +00:00
Ferenc Kovacs 76425aaca1 fix the test with the removal of the unnecessary newline 2011-05-16 19:51:39 +00:00
Ferenc Kovacs c4e6beebb3 adding the serialize_precision=100 for the tests, credits to Mats Lindh for reporting it 2011-05-16 19:49:59 +00:00
Johannes Schlüter 9ea582a76c - Fix possible memory leak
# Found by parfait - http://labs.oracle.com/projects/parfait/
2011-05-16 19:46:32 +00:00
Ferenc Kovacs df2ca16fa8 removing XFAIL as #39863 has already been fixed 2011-05-16 19:40:12 +00:00
Johannes Schlüter 3e17b49008 - Fix Bug #53782 (foreach throws irrelevant exception) 2011-05-16 15:37:39 +00:00
Johannes Schlüter 9e5bc2c138 - Move the access behind the check.
# I can't find an unsafe call, but let's play safe
2011-05-16 10:15:28 +00:00
Rasmus Lerdorf d257aa42ff Oops, can't cache it here because it won't work
in autoconf2.13 and we still support that version
in this branch
2011-05-15 05:49:34 +00:00
Rasmus Lerdorf 78a15091f9 Cache the pdo include path 2011-05-15 05:03:29 +00:00
Rasmus Lerdorf 24be7e2106 We can't really predict what will happen on an unknown host lookup
since bogus ISPs like Comcast and many others try to "help" by resolving
everything to their own search page.
2011-05-15 01:52:07 +00:00
Martin Jansen 2ce1fd71ea Fixed two failing tests that were caused by arbitrarily chosen
but apparently bogus upper resp. lower limits for mt_rand().
2011-05-14 20:29:46 +00:00
Rasmus Lerdorf 4ab19212e5 en_US locale preferred output has AM/PM and also the timezone 2011-05-14 17:51:38 +00:00
Rasmus Lerdorf d91d06af30 Fix the require in these tests 2011-05-14 17:34:18 +00:00
Rasmus Lerdorf 6613fefb80 Make sure 'E' is included in the variables_order, otherwise
this test won't work.
2011-05-13 21:54:25 +00:00
Scott MacVicar 74b8f72017 Fix Windows build, this really should be in a patch file / README.
I'll fix this up later.
2011-05-13 13:51:07 +00:00
Scott MacVicar 27fc1b889a Update bundled PCRE to 8.12 2011-05-13 07:00:45 +00:00
Scott MacVicar 66ce68e7a4 Update bundled SQLite to 3.7.6.2 2011-05-13 06:11:06 +00:00
Scott MacVicar df0ce635e4 Fix use after free() in XMLReader::xml() 2011-05-13 05:54:34 +00:00
Scott MacVicar a0857d56ac Fixed bug #54723 - getimagesize() doesn't check the full ico signature and misreports mpg files 2011-05-13 05:06:48 +00:00
Rasmus Lerdorf 2954832b97 Check headers first and let the CHECK_LIBRARY macro
handle checking for the library. This makes it 
correctly handle non-standard system paths as long
as gcc knows about them. Should fix the build on
Ubuntu natty.
2011-05-12 08:19:37 +00:00
Philip Olson c2a245f582 Added missing date_default_timezone_set('UTC'); to the appropriate tests. A few now pass by not showing the timezone warning. 2011-05-12 06:51:46 +00:00
Dmitry Stogov 5dcdf5c467 Fixed bug #54367 (Use of closure causes problem in ArrayAccess) 2011-05-11 06:58:33 +00:00
Scott MacVicar cab76530e7 Turns out that more than 1% of users clocks are more than a year out of date, this causes cookies to never get deleted since the date is in the future.
I can only guess its due to batteries on the motherboard being dead.
2011-05-10 19:09:24 +00:00
Adam Harvey a7dbf5a29e Fix bug #54692 (SQLite3::open() Return Value) by correcting the SQLite3::open()
prototype.
2011-05-10 08:14:55 +00:00
Andrey Hristov 229bdc7ccb Fix range
(thanks again nihen)
2011-05-10 07:15:22 +00:00
Andrey Hristov 20f4ea9de8 here comes the news 2011-05-09 16:22:54 +00:00
Andrey Hristov 6242101f2b Fix for bug 54674..typo in the check of SJIS 2011-05-09 16:20:35 +00:00
Johannes Schlüter 4a8eeb7afb - Fix bug #54644 (wrong pathes in php_pdo_mysql_int.h) 2011-05-09 11:34:17 +00:00
Gustavo André dos Santos Lopes 8f77168384 - Merged to 5.3 change in trunk in _php_stream_free. This prevents the segfault
in the testcase for bug #53624. The testcase still has to be fixed though,
  because it only works as intended on Windows.
2011-05-08 19:59:42 +00:00
Felipe Pena cde80bd812 - BFN #54681 2011-05-07 01:59:12 +00:00
Felipe Pena c11e307ae0 - Fixed bug #54681 (addGlob() crashes on invalid flags) 2011-05-07 01:58:26 +00:00
Andrey Hristov 9bf9b88f20 add the BLOCK_LEAVE macro for non-gcc and non-win 2011-05-04 19:09:12 +00:00
Andrey Hristov 3e46e95ac1 reorganize the DBG_ macros, add DBG_BLOCK_XXX 2011-05-04 19:05:19 +00:00
Antony Dovgal 8f8a54ab37 fix tests 2011-05-04 08:44:14 +00:00
Antony Dovgal 176c6fe901 fix test 2011-05-04 08:28:31 +00:00
Dmitry Stogov 0bce4957e5 Fixed crash when passing invalid timestamp (negative integer on win32) 2011-05-04 07:53:22 +00:00
Antony Dovgal 278392a10b fix tests 2011-05-03 11:15:45 +00:00
Andrey Hristov 5bac59b7d1 extend the API in the backward compatible way 2011-05-03 09:37:53 +00:00
Antony Dovgal 93ce043480 fix segfault in ext/standard/tests/network/http-stream.phpt 2011-05-02 16:17:52 +00:00
Antony Dovgal f3cd7fdda4 fix ZTS build for 5_3, too 2011-05-01 19:46:27 +00:00
Gustavo André dos Santos Lopes a2e0e2564d - Fixed bug #54580 (get_browser() segmentation fault when the browscap ini
directive is set in activation time). This commit fixes this by adding a per
  request parsing of the browscap file that's when get_browser is called the
  first time and the directive is set on activation time.w
2011-05-01 18:37:20 +00:00
Gustavo André dos Santos Lopes 02302812e1 - Fixed accidental change. 2011-05-01 04:16:28 +00:00
Gustavo André dos Santos Lopes 6df67ace20 - Fixed bug #54623 (Segfault when when writing to a persistent socket after
closing a copy of the socket).
2011-05-01 03:57:01 +00:00
Derick Rethans 7a80c3a0ed - Updated to version 2011.7 (2011g) 2011-04-30 20:18:51 +00:00
Pierrick Charron 3841295b2a Added support for CURLOPT_MAX_RECV_SPEED_LARGE and CURLOPT_MAX_SEND_SPEED_LARGE. FR #51815
# MFH. This addition was already committed to trunk and is backported as requested in #54622
2011-04-29 10:41:44 +00:00
Ilia Alshanetsky fc7ee596f6 #doc
Added 3rd parameter to filter_var_array() and filter_input_array() 
functions that allows disabling addition of empty elements
2011-04-28 12:32:47 +00:00
Rasmus Lerdorf 6c564a7802 Fix test by pointing this at a smaller file that is less likely to break the test 2011-04-27 21:27:00 +00:00
Rasmus Lerdorf a44515caf9 Fix broken test 2011-04-27 15:08:44 +00:00
Hannes Magnusson 3d347be242 Regenerate from the doc sources 2011-04-27 09:29:10 +00:00
Rasmus Lerdorf 8192ba2b60 Someone fixed these in trunk and didn't backport to PHP_5_3 2011-04-27 05:05:32 +00:00
Martin Jansen 1a4897c88e MFH: The project calls itself OpenSSL and not openSSL, so let's keep it
that way in our code as well.
2011-04-25 16:51:12 +00:00
Pierre Joye 2d0ab7c98b - keep node creation check 2011-04-25 09:31:00 +00:00
Pierre Joye cd4928c99a - keep inode creation check 2011-04-25 09:28:08 +00:00
Dmitry Stogov e510daf20b Fixed bug #54585 (track_errors causes segfault) 2011-04-25 07:50:07 +00:00
Rasmus Lerdorf be3d70df4e SSLV2 patch cleanup 2011-04-24 23:27:48 +00:00
Pierre Joye be24877c84 - fix use of unitiliazed var 2011-04-24 22:08:11 +00:00
Rasmus Lerdorf e575557612 Support for openssl without SSLv2 supprot compiled in. Distros are starting to
remove support now and this wasn't compiling anymore on my Debian dev box.
2011-04-24 20:47:22 +00:00
Hannes Magnusson 21f71027e3 2011 2011-04-23 21:14:10 +00:00
Hannes Magnusson e85c367bc7 its force-quit, not -exit (yawk) 2011-04-23 21:12:25 +00:00
Pierrick Charron 1153eaf505 Revert bug #54454 fix from PHP_5_3 branch to avoid BC break in minor release 2011-04-21 01:51:24 +00:00
Dmitry Stogov c157f4b4e6 Fixed bug #54367 (Use of closure causes problem in ArrayAccess). 2011-04-20 12:59:18 +00:00
Pierre Joye 1dd5690af2 - fix build >(btw, has novell man pages too?) 2011-04-19 21:43:22 +00:00
Hannes Magnusson 5ca8ba7ab6 Add an --man-dir to php-config too 2011-04-18 11:13:37 +00:00
Hannes Magnusson a0d805035c Expose PHP_MANDIR
Useful for apps (like the pear installer, phd, .. etc) to install their manpages into the same dir as php did :]
2011-04-18 09:50:32 +00:00
Stanislav Malyshev 339f46237d implement FR #54540 - Allow loading of arbitrary resource bundles when fallback is disabled 2011-04-17 21:56:26 +00:00
Rob Richards 1b6dd18082 Implement FR #48587 (MySQL PDO driver doesn't support SSL connections) 2011-04-15 14:24:40 +00:00
Dmitry Stogov 92e5b10c41 Fixed bug #54268 (Double free when destroy_zend_class fails) 2011-04-15 12:43:20 +00:00
Stanislav Malyshev 833ec62d7c add CVE 2011-04-13 17:33:00 +00:00
Felipe Pena 782c00d744 - Remove undesired line (reported by Gökhan Özbulak) 2011-04-13 13:38:52 +00:00
Stanislav Malyshev 2e206e0761 fix bug #54238 (use-after-free in substr_replace()) 2011-04-13 06:32:41 +00:00
Ilia Alshanetsky 0e80f26207 Fixed bug #54121 (error message format string typo). 2011-04-12 18:33:08 +00:00
Gustavo André dos Santos Lopes 047ed8dfbb - Fixed bug #54440: libxml extension ignores default context. 2011-04-09 18:32:55 +00:00
Gustavo André dos Santos Lopes f2cfb997de - Fixed bug #54494: mb_substr() mishandles UTF-32LE and UCS-2LE. 2011-04-09 16:59:36 +00:00
Dmitry Stogov def1ab1e60 - Fixed bug #54358 (Closure, use and reference)
- Fixed bug #54039 (use() of static variables in lambda functions can break staticness)
2011-04-08 10:02:07 +00:00
Dmitry Stogov 3e36ecd98f Missed tests 2011-04-07 14:34:07 +00:00
Dmitry Stogov 03b6daed4f Fixed bug #54372 (Crash accessing global object itself returned from its __get() handle) 2011-04-07 13:35:27 +00:00
Adam Harvey 840308cfd0 Implement FR #54459 (Range function accuracy) by changing the way range()
calculates values when used with floating point bounds/step.
2011-04-06 10:23:06 +00:00
Adam Harvey f9721d03f7 Fix duplicated test. 2011-04-06 10:16:14 +00:00
Gustavo André dos Santos Lopes cd2cdd256a - Make SplFileInfo::_bad_state_ex final. 2011-04-05 08:38:09 +00:00
Gustavo André dos Santos Lopes 2975308e1a - Fixed bug #54384 (Dual iterators, GlobIterator, SplFileObject and
SplTempFileObject crash when user-space classes don't call the paren
  constructor).
2011-04-04 02:50:27 +00:00
Pierrick Charron e8486cc374 Fix common typos in the source code (Reported in Bug #54065)
# External libraries were excluded
# Thanks eitan at eitanadler dot com for the first patch :)
2011-04-03 21:46:52 +00:00
Ilia Alshanetsky 47012ccd8f Fixed bug #53037 (FILTER_FLAG_EMPTY_STRING_NULL is not implemented). 2011-04-03 16:30:31 +00:00
Pierrick Charron 4919f3286b Fixed bug #54454 (substr_compare incorrectly reports equality in some cases) 2011-04-03 07:18:27 +00:00
Felipe Pena 2c76af8538 - Improved message and version checking 2011-04-02 01:24:53 +00:00
Pierre Joye 689268a0ba - add CURLINFO_REDIRECT_URL 2011-04-01 17:19:08 +00:00
Derick Rethans 88c1755a14 - Updated to version 2011.5 (2011e) 2011-04-01 11:24:49 +00:00
Antony Dovgal dd5781bcdf fix bug #54423 (classes from dl()'ed extensions are not destroyed) 2011-03-31 11:59:34 +00:00
Christopher Jones ef777fc18e Refactor OCI8 config.m4: improve messages and merge similar conditionals 2011-03-29 21:37:45 +00:00
Felipe Pena 1dbfe6e310 - BFN 2011-03-29 18:44:52 +00:00
Felipe Pena 3c6104e180 - Fixed bug #44989 (64bit Oracle RPMs still not supported by pdo-oci)
patch by: jbnance at tresgeek dot net
2011-03-29 18:40:20 +00:00
Pierre Joye f335f27b7b - not applied yet 2011-03-28 16:45:57 +00:00
Pierre Joye 4551bd57f7 - Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent, windows fix 2011-03-28 16:43:49 +00:00
Pierre Joye 4ad6108b7d - re enable static analyzer, crash fixed with snapshot builds 2011-03-28 10:55:34 +00:00
Nuno Lopes 9aec0c6806 fix last commit:
- fix code coverage build
 - spread static love
2011-03-28 09:10:23 +00:00
Felipe Pena 4929964a5d - Fixed bug #54395 (Phar::mount() crashes when calling with wrong parameters) 2011-03-26 17:02:34 +00:00
Andrey Hristov 018013e579 here comes the news 2011-03-24 16:19:01 +00:00
Andrey Hristov 8b33e6fae0 fix buffer overflow - overwriting with 0x0, due to
unchecked buffer size. This can be easily workarouned on 
existing unpatched systems by increasing
mysqlnd.net_cmd_buffer_size ini variable to more than 8k
2011-03-24 16:12:18 +00:00
Ulf Wendel a270348c24 Limit test with 65k params, should crash mysqlnd 2011-03-24 13:40:06 +00:00
Ilia Alshanetsky f2ce3e0201 Fixed a crash inside dtor for error handling. 2011-03-24 12:57:38 +00:00
Felipe Pena 0ab7f1cebf - Fixed bug #54292 (Wrong parameter causes crash in SplFileObject::__construct()) 2011-03-23 22:46:04 +00:00
Christopher Jones 8ca08487b7 Fixed bug #54084 (Fix apxs Apache version test to work with Oracle HTTP Server) (Chris Jones) 2011-03-23 18:56:47 +00:00
Andrey Hristov 3c364cbe52 Fix compressed build, make it easier 2011-03-23 17:14:28 +00:00
Adam Harvey 13a91f86b7 Implement request #54355 (Test for de_DE doesn't use UTF-8 locales). Patch by
Ondřej Surý.
2011-03-23 08:59:11 +00:00
Ulf Wendel 8307f9e892 Coverage for a 'silent server protocol change' from the past for which both mysqlnd and libmysql have workarounds. 2011-03-23 08:57:52 +00:00
Felipe Pena 5b85234b37 - Fixed bug #54283 (new DatePeriod(NULL) causes crash) 2011-03-23 01:22:18 +00:00
Gustavo André dos Santos Lopes 660aa6701d - Updating UPGRADING for r309516 and modest merge to 5.3. 2011-03-23 00:51:22 +00:00
Felipe Pena 0dd448cbf1 - Fixed bug #54281 (Crash in non-initialized RecursiveIteratorIterator) 2011-03-22 22:41:16 +00:00
Andrey Hristov 5572becc81 palloc is long dead, use more appropriate name 2011-03-22 14:39:58 +00:00
Andrey Hristov 3595f09c28 Fix message 2011-03-22 14:39:36 +00:00
Andrey Hristov 081b001ca1 remove more unneeded includes 2011-03-22 12:54:02 +00:00
Andrey Hristov 9484248c0a remove unneeded includes 2011-03-22 12:22:16 +00:00
Adam Harvey c5c87c5f37 Fix bug #54318 (Non-portable grep option used in PDO pgsql configuration).
Patch by Ben Walton <bwalton at artsci dot utoronto dot ca>.
2011-03-22 09:12:01 +00:00
Adam Harvey 334d2df892 Fix bug #54340 (DateTime::add() method bug). 2011-03-22 08:33:22 +00:00
Adam Harvey 68811c473d Fix bug #54316 (DateTime::createFromFormat does not handle trailing '|'
correctly).
2011-03-21 09:40:52 +00:00
Gustavo André dos Santos Lopes 95a3bfb1bc - Fixed SKIPIF section of bug51958.phpt. 2011-03-20 22:12:11 +00:00
Gustavo André dos Santos Lopes f06e3ba5c1 - Fixed bug #54291 (Crash iterating DirectoryIterator for dir name starting
with \0).
2011-03-19 23:15:04 +00:00
Felipe Pena 8a48311a60 - BFN 2011-03-19 17:47:54 +00:00
Felipe Pena ab7992fab2 - Fixed bug #54312 (soap_version logic bug)
Patch by: tom at samplonius dot org
2011-03-19 17:36:01 +00:00
Raphael Geissert 5b55a18622 Add the libraries we actually test and need for LDAP and OpenSSL, fixes bug #53339
Patch by Clint Byrum
2011-03-18 18:47:09 +00:00
Pierrick Charron 5a53a74304 Fixed bug #54180 (parse_url() incorrectly parses path when ? in fragment) 2011-03-17 18:02:58 +00:00
Gustavo André dos Santos Lopes be87834321 - Merged fix for bug #51958 socket_accept() fails on IPv6 server sockets.
See r309238 for commit in trunk.
2011-03-17 15:36:52 +00:00
Ulf Wendel 8bbd451647 Test coverage for some of the cases where LAST_INSERT_ID() and API *_insert_id() differ as documented in the MySQL manual in particular the C API reference section 2011-03-17 15:18:22 +00:00
Felipe Pena d37dea8b7b - BFN 2011-03-17 12:03:09 +00:00
Felipe Pena 1e86e8e12c - Fixed bug #54167 (PDO_DBLIB returns null on SQLUNIQUE field)
patch by: mjh at hodginsmedia dot com
2011-03-17 11:59:54 +00:00
Johannes Schlüter 07aa25b442 - Fixed bug #54265 (crash when variable gets reassigned in error handler)
(re-apply 309308, dmitry)
2011-03-17 11:49:18 +00:00
Felipe Pena 2b8d0edb45 - Fix infile return on duplicated key (related to bug #54242) 2011-03-17 11:43:05 +00:00
Andrey Hristov 5fb54640c9 here comes the news 2011-03-17 10:31:28 +00:00
Andrey Hristov 56cdee2def Fix for bug #54221 mysqli::get_warnings segfault when used in multi queries 2011-03-17 10:28:53 +00:00
Johannes Schlüter 27e640fdea - Back to dev 2011-03-17 10:13:20 +00:00
Johannes Schlüter f5687db392 PHP 5.3.6 2011-03-17 07:48:29 +00:00
Johannes Schlüter 6f15da050e - Revert r309308 temporarily to get 5.3.6 out 2011-03-17 07:46:57 +00:00
Pierre Joye 6e35b40b4c - news entry for the setlocale fix 2011-03-16 23:57:04 +00:00
Pierre Joye 0778bedbe1 - MFH: make setlocale thread only, drastically reduce TS related crashes in error mgt and other parts like pcre, and actually a good thing (tm) 2011-03-16 23:54:14 +00:00
Dmitry Stogov e90ac23f58 Fixed bug #54265 (crash when variable gets reassigned in error handler) 2011-03-16 15:21:38 +00:00
Dmitry Stogov b78ac8df82 Fixed bug #54262 (Crash when assigning value to a dimension in a non-array) 2011-03-16 11:14:33 +00:00
Felipe Pena d7b8f23e2b - BFN 2011-03-14 22:27:40 +00:00
Derick Rethans 50b56c2c0f - Updated to version 2011.4 (2011d) 2011-03-14 18:56:02 +00:00
Felipe Pena 6da18ca967 - Missing fixes for bug #54247 2011-03-14 14:12:42 +00:00
Felipe Pena 8d816ed0ef - Fixed bug #54247 (format-string vulnerability on Phar) 2011-03-14 13:54:41 +00:00
Pierrick Charron e68e2893c0 # Revert bug fix (will commit it again on 5.3 branch when 5.3.6 will be released) 2011-03-13 17:14:18 +00:00
Pierrick Charron ee832705d1 Fixed bug #54180 (parse_url() incorrectly parses path when ? in fragment) 2011-03-13 04:02:56 +00:00
Sebastian Bergmann 7e34334d84 Fix prototype of zend_fetch_debug_backtrace(). 2011-03-11 03:52:39 +00:00
Eyal Teutsch 94b3d60a4f fixed tests to match the new float precision of 53, as described in bug 47168 2011-03-10 13:25:19 +00:00
Scott MacVicar dd68a6239a Add a version number to timelib for other projects that use it.
This has the same version scheme as timezonedb.

<year><release-padded-to-two>
2011-03-09 20:06:52 +00:00
Jim Jagielski 39d814a205 Close [PHP-BUG] Req #54152...
Apache 2.3.12 (and later) will now work correctly with PHP's fcgi
impl with this patch.
2011-03-09 18:27:30 +00:00
Johannes Schlüter 5009770d65 - PHP 5.3.6RC3 2011-03-09 16:37:58 +00:00
Felipe Pena c7e7de3485 - Fixed bug #49608 (Using CachingIterator on DirectoryIterator instance segfaults) 2011-03-08 19:56:29 +00:00
Felipe Pena 2843030fa1 - Version++ 2011-03-08 18:24:04 +00:00
Felipe Pena e1a746faec - assign CVE 2011-03-08 14:07:25 +00:00
Felipe Pena 4653ef06f9 - Missing "reported by" info 2011-03-08 13:12:52 +00:00
Felipe Pena 06e475e537 - Fixed bug #54193 (Integer overflow in shmop_read()) 2011-03-08 13:11:14 +00:00
Derick Rethans c256372636 - Updated to version 2011.3 (2011c) 2011-03-07 14:55:28 +00:00
Felipe Pena 3986e515da - Reverted fix for bug #54167 (to be committed in soon) 2011-03-06 13:36:44 +00:00
Felipe Pena 2f3f629fd4 - Fixed bug #54167 (PDO_DBLIB returns null on SQLUNIQUE field)
# initial patch by: mjh at hodginsmedia dot com (5.3)
# trunk version by me
2011-03-05 23:07:45 +00:00
Johannes Schlüter bf5a3715f4 Back to -dev 2011-03-02 22:03:38 +00:00
Johannes Schlüter 0ec8364402 PHP 5.2.6RC2 2011-03-02 21:26:43 +00:00
Moriyoshi Koizumi a497999481 - Merge from trunk. 2011-03-02 18:35:10 +00:00
Felipe Pena 53b1c76efe - Fixed SplObjectStorage::offsetSet arginfo, reported in bug #54118 2011-03-01 00:13:23 +00:00
Ilia Alshanetsky 5d83ad8c44 Fixed bug #54089 (token_get_all() does not stop after __halt_compiler). 2011-02-28 15:18:27 +00:00
Gustavo André dos Santos Lopes f657ba978b - Fixed bug #54092 (Segmentation fault when using HTTP proxy with the FTP
wrapper).
#php_stream->wrapperdata should hold an array zval (like its zval* type
#indicates...), it's not a place where the wrapper can drop an arbitrary
#pointer. For that, .wrapperthis should be used.
#Also, since the ftp dir wrapper defines its own stream type, it's more
#appropriate to use .abstract to store the stream instance specific data.
2011-02-27 20:23:54 +00:00
Felipe Pena 1f991c8e42 - Possible fix for Bug #54108 (valgrind can not be found if located outside of system's default PATH) 2011-02-27 17:55:39 +00:00
Andrey Hristov a5348bed31 use ifdef all-around in the revert 2011-02-25 13:11:49 +00:00
Andrey Hristov 2eb5b0fe4e revert also the version_id 2011-02-25 12:52:46 +00:00
Andrey Hristov d4a1f5ac06 revert to previous behavior 2011-02-25 12:52:21 +00:00
Andrey Hristov 113cd9dc0f move from macros to functions, which can be overwritten, if needed 2011-02-25 12:25:36 +00:00
Nuno Lopes e79bf567e8 fix lcov build 2011-02-25 09:32:17 +00:00
Felipe Pena a82a9e8f74 - Fixed possible off-by-one overflow in ibase_gen_id() 2011-02-24 02:42:38 +00:00
Ilia Alshanetsky f15452af96 Fixed compiler warning 2011-02-22 15:48:25 +00:00
Johannes Schlüter 0448336c2c - Fix tests. temp dir might be something other than /tmp 2011-02-22 14:49:32 +00:00
Andrey Hristov 7a1f54ff42 fix invalid memory read. Thank you, valgrind 2011-02-21 16:24:37 +00:00
Pierre Joye 00b10c6aa3 - fix bug #54061, memory leak in openssl_decrypt 2011-02-21 12:50:26 +00:00
Pierre Joye 69ba87b183 - fix bug #54061, memory leak in openssl_decrypt 2011-02-21 12:47:38 +00:00
Pierre Joye 7deec592fd - fix test 025 2011-02-21 10:09:50 +00:00
Pierre Joye 5261861d77 - fix bug #54060, memory leak in openssl_encrypt 2011-02-21 10:07:31 +00:00
Scott MacVicar 3242016f28 Fix Bug #54058, invalid utf-8 doesn't set json_encode() in all cases 2011-02-21 08:09:02 +00:00
Gustavo André dos Santos Lopes 1b2d14c5e1 - Fixed bug #54055 (buffer overrun with high values for precision ini
setting).
#This fix (for g/G/k/H modes) is done at a different level than that for the
#modes e/E/f/F, at a bit higher level and therefore with less coverage. I
#chose this because it addresses the problem where it is -- the calling function
#that passes a buffer too small to php_gcvt.
2011-02-21 06:53:24 +00:00
Felipe Pena 54a7e5d7c3 - Fixed memory leak in DirectoryIterator::getExtension() and SplFileInfo::getExtension() 2011-02-20 16:33:53 +00:00
Felipe Pena 5b442c82f0 - Fixed bug #54040 (Logical && where & probably needed in spl_iterators) 2011-02-20 16:09:50 +00:00
Pierre Joye e78a5127c8 - bug #54002 entry 2011-02-18 17:22:27 +00:00
Felipe Pena 5bef6665f9 - Fixed bug #43512 (same parameter name can be used multiple times in method/function definition) 2011-02-17 23:24:50 +00:00
Johannes Schlüter 18127da570 Back to -dev 2011-02-16 20:41:24 +00:00
Johannes Schlüter 4dc641e3f5 Remove dash 2011-02-16 20:21:45 +00:00
Johannes Schlüter 02d03711ec PHP 5.3.6RC1 2011-02-16 20:20:33 +00:00
Johannes Schlüter 88448a263c - WS 2011-02-16 20:12:08 +00:00
Andrey Hristov 1bdc780d30 fixed a problem in mysqlnd. 0 was always as num_rows returned for
unbuffered sets (text protocol and PS).
2011-02-16 16:36:33 +00:00
Derick Rethans d41c8bd74a - Updated to version 2011.2 (2011b) 2011-02-15 16:26:42 +00:00
Pierre Joye a8806be989 - fix the fix (Dmitry) and ensure that it builds everywhere, can someone test on solaris&co pls? 2011-02-15 14:02:26 +00:00
Pierre Joye 64f45d8fe8 - unused var 2011-02-15 09:07:34 +00:00
Pierre Joye 5a3c4892af - fix build with ICU < 4.2, add ICU_VERSION for m4 checks 2011-02-15 08:28:22 +00:00
Hannes Magnusson 594aaf1b1b bfn for #54016 2011-02-14 15:34:04 +00:00
Hannes Magnusson 7c1a9e37ca Bug#54016 (finfo_file() Cannot determine filetype in archives) 2011-02-14 15:32:02 +00:00
Ilia Alshanetsky 011143d1bf Fixed variable re-declarations 2011-02-14 14:05:46 +00:00
Dmitry Stogov 9b4ada5c0e Fixed Bug #53958 (Closures can't 'use' shared variables by value and by reference) 2011-02-14 10:52:16 +00:00
Pierre Joye 8a485c7c91 -Bug #54002, fix windows build, use the relevant values in the warnings 2011-02-14 09:40:10 +00:00
Pierre Joye 0f842f667a - fix bug #54002, exif_read_data crashes on crafted tags 2011-02-14 09:08:44 +00:00
Dmitry Stogov ac057c610c Fixed Bug #53971 (isset() and empty() produce apparently spurious runtime error) 2011-02-14 08:46:53 +00:00
Pierre Joye f87e92860a - add CVE 2011-02-12 20:25:48 +00:00
Peter Cowburn 82dd0b9db0 Oopsie, fix typo in UPGRADING 2011-02-11 22:31:52 +00:00
Peter Cowburn 14c6cc5b7f MFH - Added SplFileInfo::getExtension() (FR #48767) 2011-02-11 22:07:22 +00:00
Felipe Pena ed2cdf31d3 - Fixed bug #53991 (SimpleXMLElement::__construct shows no params via ReflectionMethod) 2011-02-11 21:10:48 +00:00
Christopher Jones 588ec26d2f Show XFAIL reasons (Daniel Convissor) 2011-02-11 01:37:06 +00:00
Christopher Jones ff5dffdabb rm trailing whitespace 2011-02-11 01:34:03 +00:00
Daniel Convissor 0814b80006 Add DateInterval format() tests. 2011-02-11 01:33:45 +00:00
Daniel Convissor 7ea26a58bc Add extensive tests for DateTime::diff(), add() and sub(). 2011-02-10 22:57:41 +00:00
Scott MacVicar 9b567fea6a Fix Bug #53963, error code isn't always set in certain error cases. 2011-02-09 08:05:00 +00:00
Gustavo André dos Santos Lopes 5fad615ff5 - Changed php.ini files to match the hard-coded default for serialize_precision. 2011-02-09 00:25:44 +00:00
Gustavo André dos Santos Lopes 6dfee4f877 - Changed default serialize_precision from 100 to 17, as discussed in internals. 2011-02-08 21:40:51 +00:00
Gustavo André dos Santos Lopes 6fba6737d5 - Fixed bug #53959 (reflection data for fgetcsv out-of-date). 2011-02-08 16:29:34 +00:00
Antony Dovgal 2cfc526bcb fix compile warning 2011-02-08 08:40:39 +00:00
Pierre Joye 5b521b71a2 - Fixed bug #53893 (Wrong return value for ZipArchive::extractTo()) 2011-02-07 16:20:16 +00:00
Pierre Joye 44b9942ef3 - null deref fix 2011-02-07 10:25:34 +00:00
Pierre Joye 555e42fb5a - disable realloc warning about not checking its return value, 100% valid but way too many of them for now, reduce noises 2011-02-07 10:17:14 +00:00
Ilia Alshanetsky 145c4cbc56 Fixed parse_url() tests to account for port validation 2011-02-06 17:23:57 +00:00
Gustavo André dos Santos Lopes a888ee434b - Changed port validation introduced in commit #308035 to consider
negative ports and ports > 65535 as invalid.
  The tests that fail due to #308035 in the standard ext were not
  fixed. If the behavior in those tests turns out to be the
  desirable one, both this commit and #308035 ought to be reverted
  or at least adapted.
2011-02-05 22:37:00 +00:00
Ilia Alshanetsky 218448bfa0 Fixed bug #53924 (FILTER_VALIDATE_URL doesn't validate port number). 2011-02-04 21:41:15 +00:00
Adam Harvey 07fb5ca429 Change the way HAVE_GLOB is dealt with in ext/zip per IRC conversation with
Pierre.
2011-02-04 11:51:29 +00:00
Adam Harvey ee36a3d313 Update 5.3.6 NEWS to use a consistent bug ordering. I've gone with Pierre's
order on Internals for now (new features, then non-bug tracker fixes, then bugs
in descending order of bug number) -- feel free to bikeshed this on Internals
or IRC, but we need to pick _something_, because it's all over the place at
present. (And yes, I'm partly to blame for that too.)
2011-02-04 10:55:34 +00:00
Adam Harvey 4bf6559ed0 Fix bug #53923 (Zip functions assume HAVE_GLOB is defined). 2011-02-04 10:50:42 +00:00
Adam Harvey a7d4b80ca2 Fix bug #53914 (SPL assumes HAVE_GLOB is defined). Original patch by Chris
Jones; test updates by myself.
2011-02-04 10:49:49 +00:00
Adam Harvey 521e5462ab Fix bug #53913 (Streams functions assume HAVE_GLOB is defined). Patch by Chris
Jones.
2011-02-04 10:47:41 +00:00
Ilia Alshanetsky 34a9ff9e49 Fixed compiler warnings caused by var re-declaration 2011-02-03 13:33:10 +00:00
Gustavo André dos Santos Lopes e15dd93e7e - Simpler fix for bug #53915. 2011-02-03 12:45:30 +00:00
Gustavo André dos Santos Lopes fac1e87171 - Fixed bug #53915: ReflectionClass::getConstant(s) emits fatal error on
constants with self::.
- Reflown some NEWS entries to have lines no longer than 80 chars.
2011-02-03 12:38:25 +00:00
Gustavo André dos Santos Lopes 36d82e8a85 - Fixed bug #53903 (userspace stream stat callback does not separate the
elements of the returned array before converting them).
2011-02-01 22:55:17 +00:00
Andrey Hristov c9e94fe753 Fix more warnings about size_t 2011-02-01 19:30:22 +00:00
Gustavo André dos Santos Lopes da0e2a416f - Fixed several comparisons that always result in true of false
due to signedness of one of the operands, either by removing
  dead code or fixing it.
- Thrown some comments around in php_stream_get_record.
- See http://www.mail-archive.com/internals@lists.php.net/msg49525.html
2011-02-01 18:10:35 +00:00
Andrey Hristov 6157793026 fix warnings. These checks are not needed because
param_no is unsigned, it wasn't in the beginning.
2011-02-01 16:55:20 +00:00
Gustavo André dos Santos Lopes 5ca051bf38 - Fixed bug #49072 (feof never returns true for damaged file in zip). 2011-02-01 14:44:29 +00:00
Ilia Alshanetsky baf5d66614 Fixed bug #53898 (PHAR reports invalid error message, when the directory does not exist). 2011-02-01 14:01:00 +00:00
Pierre Joye 973ca132a4 - WS 2011-02-01 10:57:51 +00:00
Derick Rethans e08473da6c - Don't lower case setting names; some of them actually have upper case
characters.
2011-01-31 23:11:42 +00:00
Andrey Hristov 23437f011c Add two new enums constants from the server 2011-01-31 13:52:21 +00:00
Kalle Sommer Nielsen c924dedb73 Fixed bug #53795 (Connect Error from MySqli (mysqlnd) when using SSL) 2011-01-31 12:47:28 +00:00
Boris Lytochkin bd810ef9bc Fixed bug #51336 2011-01-31 11:34:12 +00:00
Stanislav Malyshev 4a2b458835 fix bug 53885 (ZipArchive segfault with FL_UNCHANGED on empty archive) 2011-01-30 22:28:57 +00:00
Jérôme Loyet 6e57a7792e - remove cpystrn from FPM and use strlcpy instead. 2011-01-30 13:51:20 +00:00
Stanislav Malyshev 71f3d3793d Fix bug #52290 (setDate, setISODate, setTime works wrong when DateTime created from timestamp) 2011-01-30 10:18:12 +00:00
Stanislav Malyshev 7eca674e59 Fix bug #52808 (Segfault when specifying interval as two dates) 2011-01-30 08:54:53 +00:00
Jérôme Loyet 5bab8ea920 - Fixed bug #53434 (php-fpm slowlog now also logs the original request).
- Fixed the missing peace of code on revision 307842
2011-01-29 11:41:45 +00:00
Jérôme Loyet 977d79a724 - Fixed bug #53434 (php-fpm slowlog now also logs the original request). 2011-01-29 11:38:19 +00:00
Jérôme Loyet f386967b77 - Fixed bug #53777 (php-fpm log format now match php_error log format). 2011-01-29 10:13:24 +00:00
Felipe Pena b45066df97 - Fixed bug #53867 (Test failure)
patch by: rquadling at php.net
2011-01-28 20:41:54 +00:00
Ulf Wendel 0b474317fd Don't expect a certain server reply, it is undefined what happens. 2011-01-28 13:41:02 +00:00
Dmitry Stogov e9c6830e16 Added ability to connect to HTTPS sites through proxy with basic authentication using stream_context/http/header/Proxy-Authorization 2011-01-28 10:33:47 +00:00
Adam Harvey 4ac34cc84b Fix NEWS sorting. 2011-01-28 04:30:12 +00:00
Adam Harvey d56de24ce7 Fixed bug #53854 (Missing constants for compression type). Patch by Richard
Quadling.
2011-01-28 04:19:40 +00:00
Adam Harvey 0393cf77fc Fix NEWS typo. 2011-01-28 04:17:08 +00:00
Adam Harvey 7ac71b4f7f Fix zip test. 2011-01-28 03:55:34 +00:00
Pierre Joye 9d568bb4f5 - Fix bug #53166, missing parameters in reflections/docs 2011-01-27 11:47:24 +00:00
Pierre Joye 56316d25d4 - #53837 2011-01-26 18:38:44 +00:00
Derick Rethans ecbbe16a8b - Let's keep this consistent in the whole file. 2011-01-25 15:08:19 +00:00
Ulf Wendel cad4c34510 Handle deprecation messages differently in tests to reduce test differences between 5.3 and trunk: suppress warnings by default, check warnings in a dedicated test 2011-01-25 14:01:00 +00:00
Ilia Alshanetsky 8e57ad193b removed un-used variable 2011-01-24 20:58:09 +00:00
Derick Rethans 3050d45a95 - Updated to version 2011.1 (2011a) 2011-01-24 16:45:56 +00:00
Stanislav Malyshev 779e88e323 Add imap_fetchmime 2011-01-24 03:52:00 +00:00
Stanislav Malyshev 97fffa7826 fix tests 2011-01-24 02:48:15 +00:00
Stanislav Malyshev e9d18e09d9 Fixed bug #5273 (Can't use new properties in class extended from DateInterval) 2011-01-24 02:31:48 +00:00
Stanislav Malyshev 4756d7c2c8 Fixed Bug #52063 (DateTime constructor's second argument doesn't have a null default value) 2011-01-24 01:15:41 +00:00
Ilia Alshanetsky 266084e844 Fixed compiler warning 2011-01-23 16:44:58 +00:00
Pierre Joye 783285e62a - local redeclaration 2011-01-23 10:02:06 +00:00
Pierre Joye 0bbc886842 - kill local redeclaration by using a less common name 2011-01-23 09:46:06 +00:00
Ilia Alshanetsky f4c468481a Fixed variable overloading 2011-01-20 19:32:36 +00:00
Pierre Joye 131b658982 - this function is only in trunk 2011-01-20 13:57:40 +00:00
Pierre Joye af9406de8e - don't continue if no valid option value 2011-01-20 07:38:00 +00:00
Pierre Joye 0dcf2de5ac - be sure that we got tzid by adding a default case 2011-01-20 07:05:34 +00:00
Pierre Joye 54e9aa9110 - fail when no known op are given 2011-01-20 06:58:04 +00:00
Pierre Joye d83d01a32e - unused var 2011-01-20 06:55:11 +00:00
Pierre Joye a0708af925 - fail when no known op are given 2011-01-20 06:54:28 +00:00
Pierre Joye ed5594f135 - kill local redeclaration 2011-01-20 06:49:17 +00:00
Pierre Joye 17c1ba460d - init err (and simplify) 2011-01-20 06:45:52 +00:00
Pierre Joye 7f3100976f - no need of assert here 2011-01-20 06:32:59 +00:00
Pierre Joye 28d95f8e63 - check if strdup succeeds 2011-01-20 06:23:35 +00:00
Pierre Joye 0e61859b1f - force static, can't be built yet shared anyway 2011-01-19 21:19:45 +00:00
Andrey Hristov f1cb5e6253 fix zts build 2011-01-19 18:09:17 +00:00
Pierre Joye 230177d73c - WS 2011-01-19 17:17:52 +00:00
Pierre Joye 44e2fa1025 - avoid local redeclaration 2011-01-19 17:06:50 +00:00
Pierre Joye c278fb01d0 - malloc may fail 2011-01-19 15:23:07 +00:00
Pierre Joye 434f3654da - path len check and fix buffer overrun 2011-01-19 14:21:46 +00:00
Ilia Alshanetsky e0c1332537 Win32 build fix 2011-01-19 13:09:05 +00:00
Dmitry Stogov 068a78014f Added checks for malformated FastCGI requests (Edgar Frank) 2011-01-19 08:38:25 +00:00
Gustavo André dos Santos Lopes fdbc42611c - Hopefully finally fixed the mess in rev 307562 and rev 307563. 2011-01-19 00:22:06 +00:00
Pierre Joye 0a35d91854 - clarity 2011-01-18 23:31:53 +00:00
Pierre Joye 15bcc34994 - #53577 and cleanup 2011-01-18 22:22:28 +00:00
Pierre Joye e3c920ecf3 - fix regression introduced in 5.3.4 in open_basedir on windows/novell with trailing fwd slash 2011-01-18 22:20:09 +00:00
Gustavo André dos Santos Lopes 8cdcdb1b1e - Fixed wrong function call in original commit to FR #39771. 2011-01-18 19:56:09 +00:00
Gustavo André dos Santos Lopes d6ac882106 - Implemented FR #39771 (Made DOMDocument::saveHTML accept an optional
DOMNode like DOMDocument::saveXML).
2011-01-18 19:45:38 +00:00
Ilia Alshanetsky 2c657ee27e Fixed variable re-declaration 2011-01-18 13:17:23 +00:00
Pierre Joye b3efabda4c - fix the fix (wrong test) 2011-01-18 10:29:26 +00:00
Jérôme Loyet 326f50b1ea - Enforce security in the fastcgi protocol parsing. 2011-01-17 22:22:39 +00:00
Pierre Joye c8219466e4 - path len sanity check 2011-01-17 14:29:16 +00:00
Pierre Joye e3785f253e - don't try to access if calloc fails (quick review of its usage: seems that the stats member is validated in other places, to be confirmed) 2011-01-17 14:07:40 +00:00
Pierre Joye 5c23366d6b - fix NULL derefencing 2011-01-17 14:01:01 +00:00
Ilia Alshanetsky df5f8c91ce Fixed compiler warning 2011-01-17 13:44:54 +00:00
Ulf Wendel ad8892f91d Fix tests: don't expect people to use a certain db/schema for testing 2011-01-17 13:06:44 +00:00
Kalle Sommer Nielsen d244ac46a1 MFT: Added 'db' and 'catalog' keys to the field fetching functions (FR #39847) 2011-01-17 11:20:54 +00:00
Kalle Sommer Nielsen ba4fbb05ae Remove this void comment (c/p mistake) 2011-01-17 09:59:07 +00:00
Kalle Sommer Nielsen 504b6f695e MFT: Implemented FR #47802 (Support for setting character sets in DSN strings) 2011-01-17 09:54:22 +00:00
Stanislav Malyshev ff4982784a Fix bug #47143, bug #51458 - provide more useful info in bad exception cases 2011-01-16 21:24:43 +00:00
Stanislav Malyshev 3a3f369678 Add options to debug_backtrace functions 2011-01-16 20:39:22 +00:00
Andrey Hristov 97fe653692 fix more parameter stuff, now it is complete 2011-01-14 15:37:49 +00:00
Andrey Hristov f144bb7153 pass data which is available 2011-01-14 15:10:09 +00:00
Johannes Schlüter 22b42afaee - Fix #53551 (PDOStatement execute segfaults for pdo_mysql driver) 2011-01-14 14:57:57 +00:00
Johannes Schlüter 6553823c8b - Fix 5.3.5 date in NEWS 2011-01-14 14:54:18 +00:00
Antony Dovgal 25a43268fd add missing dl() function to FPM SAPI 2011-01-14 13:53:59 +00:00
Pierre Joye 1ec3ec1326 -disable the analyzer for the snapshot in 5.3 too 2011-01-13 19:44:00 +00:00
Ilia Alshanetsky c33795b25b Fixed variable re-declaration 2011-01-13 12:56:28 +00:00
Stanislav Malyshev 9acdcd93a7 revert non-BC change in 5.3 2011-01-13 07:27:46 +00:00
Felipe Pena 64bbdd76c3 - Fixed bug #53717 (checking the number of arguments is wrong in zend_parse_method_parameters_ex())
patch by: klaus at triendl dot eu
2011-01-12 22:17:10 +00:00
Derick Rethans 58810bd055 - Fixed bug #53729 (DatePeriod fails to initialize recurrences on 64bit
big-endian systems). (Patch by rein@basefarm.no)
2011-01-12 19:50:09 +00:00
Ilia Alshanetsky c83278ef22 Fixed variable re-declaration 2011-01-12 13:21:27 +00:00
Felipe Pena 92d82619d7 - Fixed compiler warnings 2011-01-12 00:29:59 +00:00
Ilia Alshanetsky 3abf598b53 Added missing success check around chmod() for windows during temp file creation 2011-01-11 12:57:19 +00:00
Ilia Alshanetsky 484a35373e Fixed bug #53630 (Fixed parameter handling inside readline() function). 2011-01-10 18:19:02 +00:00
Andrey Hristov 21fba3513a new flag 2011-01-10 15:14:56 +00:00
Pierre Joye a209aad993 - remove local redeclaration 2011-01-10 08:28:47 +00:00
Pierre Joye 639d3fbcfb - possible NULL deref 2011-01-10 08:07:38 +00:00
Pierre Joye 10a1f90ab0 - local redeclaration 2011-01-10 01:04:36 +00:00
Pierre Joye ab4ce5516d - some more possible NULL deref 2011-01-10 00:43:08 +00:00
Pierre Joye 8640b61c68 - fix possible NULL deref 2011-01-10 00:30:07 +00:00
Pierre Joye eddd9b7510 - new sec flags should not be on by default for 5.3, yet 2011-01-09 21:41:54 +00:00
Pierre Joye 0d3c6914ad - add configure option to enable the builtin static analyzer (will be enabled for snaps' log) 2011-01-09 21:38:46 +00:00
Pierre Joye 92894b3a81 - debug code-- 2011-01-09 15:19:03 +00:00
Pierre Joye fb6778c241 - let try to fix pecl header install so we can do the same than unix, install them in ext/<extname> instead of pecl<extname> 2011-01-09 14:01:21 +00:00
Rui Hirokawa 279a65eb09 MFH: added an option to http_build_query for RFC-3986
based url-encoding.
2011-01-08 02:34:33 +00:00
Pierre Joye 55077a81f5 - define the php*.lib/dll names 2011-01-07 15:51:36 +00:00
Andrey Hristov eaaef0d870 Proper fix for
Bug #53503      mysqli::query returns false after successful LOAD DATA query
which fixes als #56349, same behavior but in ext/mysql. Both due to a bug
in mysqlnd. Never was a problem with libmysql.
Also fixed the 53503's test case as it always reported PASS, even when there
should have been a failure.
2011-01-07 14:22:30 +00:00
Adam Harvey 39210df0ed Implement request #53684 (Deprecated HTML in sample php.ini). 2011-01-07 03:43:20 +00:00
Felipe Pena 29a82ceb56 - Fixed memory leak on SQLite3Result and SQLite3Stmt when assigning to a reference. 2011-01-07 01:11:16 +00:00
Rasmus Lerdorf 9107b209ea Fix bug #53682 2011-01-06 22:48:20 +00:00
Pierre Joye 84ff832f46 - fix vc6 random behavior for Fix bug #53632 with x87 fpu 2011-01-06 17:08:46 +00:00
Pierre Joye e14c8f39f1 - add CVE (too late for the release tho') 2011-01-06 12:51:35 +00:00
Adam Harvey e4fe297006 Remove empty files left when r306542 was reverted in r306552. 2011-01-06 02:24:49 +00:00
Scott MacVicar e1c1cc0ed5 Implemented FR #53466 (SQLite3Result::columnType() should return false after all of the rows have been fetched). 2011-01-06 00:08:59 +00:00
Etienne Kneuss 47fc5e06f0 Implement SplObjectStorage::removeAllExcept (Patch by Matthey Turland) 2011-01-05 15:01:18 +00:00
Ilia Alshanetsky 6f66356d56 Added test 2011-01-05 14:41:50 +00:00
Johannes Schlüter df344ea7d6 - This will be PHP 5.3.6 2011-01-05 13:39:30 +00:00
Ilia Alshanetsky 02bdb521e2 Optimize unix timestamp to date-string conversion for very high year values 2011-01-05 04:13:23 +00:00
Pierre Joye 09d73b67e2 - revert rev. 307044 2011-01-05 00:59:31 +00:00
Scott MacVicar 0017586f5d Add test for bug #53632 2011-01-04 23:36:56 +00:00
Scott MacVicar 66753ff6c7 Fix bug #53632 with x87 fpu 2011-01-04 22:36:23 +00:00
Stanislav Malyshev f01a0cba6b fix unit tests for intl in accordance with new ICU releases 2011-01-04 03:24:38 +00:00
Kalle Sommer Nielsen ec040e9657 Fixed linking of extensions that would use a static .lib file (libname_a.lib rather than libname.lib)
# This fixes `configure --with-mcrypt=shared' to properly find and 
# link against libmcrypt.lib rather than libmcrypt_a.lib
2011-01-03 23:08:47 +00:00
Hannes Magnusson d1eb2cd737 My name is Hannes
# And today is my birthday \o/
2011-01-03 23:08:08 +00:00
Scott MacVicar 27177c9868 Change DEBUG() to TIMELIB_DEBUG(), there are potential conflicts with other libraries that also use this. 2011-01-03 19:24:04 +00:00
Scott MacVicar 9e0c423bc4 Fix error with initialisation flag being set too early. If encryption is enabled and fails to decrypt a crash can occur.
Also fix a WS error.
2011-01-03 19:15:36 +00:00
Ilia Alshanetsky 3f5ad237e1 Fixed Bug #53629 (memory leak inside highlight_string()). 2011-01-03 14:39:48 +00:00
Stanislav Malyshev 7d3a0e15f5 Imlement clone for formatters that support it
# also some test fixes, more to follow
2011-01-03 03:58:57 +00:00
Pierre Joye b059dfa1e7 - prevent php(version)lib.(dll|lib) to be overriden 2011-01-03 01:22:07 +00:00
Pierre Joye b4ae112dae - we need the core config.w32 only once 2011-01-03 01:08:21 +00:00
Pierre Joye bfb9b6d06e - use the ext deps list for phpize's ADD_EXTENSION_DEP function 2011-01-02 18:29:56 +00:00
Pierre Joye ec3003ade1 - typo, and remove undesired committed part 2011-01-02 18:14:50 +00:00
Pierre Joye 5bd1fd410f - typo 2011-01-02 18:13:20 +00:00
Pierre Joye f62ca3e4bf - generate a list of ext and how they are built, should be updated by phpize'd make (un)install as well, later 2011-01-02 18:03:00 +00:00
Pierre Joye e13c26a141 - fix ADD_EXTENSION_DEP detection 2011-01-01 20:00:21 +00:00
Felipe Pena 914152d6d8 - Year++ 2011-01-01 02:51:27 +00:00
Felipe Pena 12d2104277 - Year++ 2011-01-01 02:48:19 +00:00
Felipe Pena 927bf09c29 - Year++ 2011-01-01 02:19:59 +00:00
Scott MacVicar 3870e58759 Add SQLite3_Stmt::readOnly for checking if a statement is read only 2010-12-31 16:37:12 +00:00
Gustavo André dos Santos Lopes 5eb264677c - Do not violate php_stream abstraction and use php_stream_tell instead of accessing the field .position.
#Should have no behavior changes.
2010-12-30 19:00:19 +00:00
Hannes Magnusson ac216eb88c New test for stream_meta_data($zipstream) 2010-12-30 17:41:36 +00:00
Eyal Teutsch 8d9307ace4 removed extra ?> from the FILE section 2010-12-30 14:36:01 +00:00
Pierre Joye 19ba599166 - WS 2010-12-28 17:20:10 +00:00
Antony Dovgal c4a5af24e0 fix segfault when node is NULL 2010-12-27 21:47:52 +00:00
Rob Richards 6fab69a17d typo 2010-12-27 19:00:13 +00:00
Rob Richards 2479cd6ec9 fix crash with entity declarations 2010-12-27 18:57:49 +00:00
Gustavo André dos Santos Lopes 9ec9210fbc - Fixed bug #53612 (Segmentation fault when using several cloned intl
objects).
2010-12-27 01:10:08 +00:00
Eyal Teutsch cc1759598f SplFileObject_fgetcsv files: SplFileObject__fgetcsv.csv used instead of SplFileObject::fgetcsv.csv, as to make this naming convetion windows legitimate 2010-12-26 13:29:29 +00:00
Eyal Teutsch 8e47365a97 fixed 6 tests to pass on non-linux os, by removing the generic linux error string from the exp result. on socket_strerror on the other hand, added to the SKIPIF a condition to run on linux only, as the test checks specifically various error strings 2010-12-26 13:10:23 +00:00
Eyal Teutsch 5b5e89bb36 using PWD which is supported by run-tests.php, rather than $cwd 2010-12-26 09:47:50 +00:00
Gustavo André dos Santos Lopes e7d5c4a8fd - Fixed bug #53603 (ZipArchive should quiet stat errors).
#It is unclear if url_stat handlers should emit a warning in case
#PHP_STREAM_URL_STAT_QUIET is not specified and the resource does
#not exist. Most url_stat handlers never emit messages; the plain
#one does only so in the extraordinary event of an open_basedir
#restriction.
#But in case, php_stat uses PHP_STREAM_URL_STAT_QUIET for the
#FS_EXISTS, which suggests that mere checks on file existence are
#supposed to use this flag (arguably).
#The downside is that important diagnostic messages might be
#omitted.
2010-12-24 22:38:36 +00:00
Gustavo André dos Santos Lopes ff32c32fba - Fix PCRE build on Windows; closes bug #53606. 2010-12-24 19:01:25 +00:00
Ilia Alshanetsky 34c6447e9e Upgraded\ bundled\ PCRE\ to\ version\ 8.11. 2010-12-24 15:03:29 +00:00
Gustavo André dos Santos Lopes cd34d68cdd - Fixed bug #53592 (stream_socket_enable_crypto() busy-waits in client mode).
- Fixed stream_socket_enable_crypto() not honoring the socket timeout in
  server mode.
2010-12-23 01:44:54 +00:00
Ilia Alshanetsky a68864969e Fixed bug #52209 (INPUT_ENV returns NULL for set variables (CLI)). 2010-12-22 16:18:59 +00:00
Ilia Alshanetsky 880d61e9c6 removed unused var 2010-12-21 22:05:15 +00:00
Gustavo André dos Santos Lopes 8f44d2ca36 - Revert of revision 306542, turns out the semantics of compare() are
different in SplMinHeap and SplMaxHeap.
2010-12-21 19:52:17 +00:00
Gustavo André dos Santos Lopes e427e312d4 - Fixed bug #53588 (SplMinHeap bad sorting with custom compare
function).
2010-12-21 17:29:14 +00:00
Ilia Alshanetsky 399182de3f Fixed compiler warnings 2010-12-20 23:00:11 +00:00
Hannes Magnusson 3ce18aa852 Fixed bug#53579 (stream_get_contents() segfaults on ziparchive streams)
Also added the filename being access to the stream_get_meta_data() array
2010-12-20 11:00:27 +00:00
Gustavo André dos Santos Lopes f13d9c0e03 - Fixed bug #53574 (Integer overflow in SdnToJulian, sometimes leading to
segfault).
2010-12-19 23:47:00 +00:00
Stanislav Malyshev 25c5841160 Fix bad args to grapheme_extract(), reported by Maksymilian Arciemowicz 2010-12-19 05:07:31 +00:00
Felipe Pena 671ac356e6 - Cosmetics again 2010-12-18 18:06:34 +00:00
Felipe Pena b0fa53adcc - Cosmetics 2010-12-18 18:04:19 +00:00
Pierre Joye 0d7487da46 - fix test 2010-12-18 13:34:22 +00:00
Pierre Joye 1be3dc76af - NEWS update and test related to the NULL poisoning recent fixes 2010-12-18 12:51:23 +00:00
Pierre Joye fd161b8ea1 - fix possible crash introduced by the null poisoning patch 2010-12-18 12:08:50 +00:00
Pierre Joye 349082267f - fix leak introduced by the null poisoning patch 2010-12-18 12:06:58 +00:00
Pierre Joye 96b6130930 - fix leak introduced by the null poisoning patch 2010-12-18 12:05:55 +00:00
Jérôme Loyet e77d3268d7 - Fixed bug #53527 (php-fpm --test doesn't set a valuable return value). 2010-12-18 11:22:11 +00:00
Gustavo André dos Santos Lopes 2070f153f9 - Fixed bug #53568 (swapped memset arguments in struct initialization). 2010-12-17 23:05:26 +00:00
Jani Taskinen 9cb1b1e948 - Update credits 2010-12-17 10:49:02 +00:00
Jani Taskinen 4a8438b3e1 - Revert 2010-12-17 10:43:52 +00:00
Hannes Magnusson 6f94e2dd2a Throw some credit around 2010-12-17 10:16:50 +00:00
Andrey Hristov 17b8336047 fix a small bug about affected_rows in the text protocol 2010-12-16 12:56:19 +00:00
Andrey Hristov 4e08abeead Fix sprintf modifier to be right, wrong data reported in the log 2010-12-16 12:18:54 +00:00
Derick Rethans 1cf5713dd3 - Fixed a bug in DateTime->modify() where absolute date/time statements had no
effect.
2010-12-15 21:45:25 +00:00
Andrey Hristov f35b89c7c4 count preciser in case of error 2010-12-15 14:14:58 +00:00
Pierre Joye c4f631b275 - we don't bundled fbclient, system version is used 2010-12-15 02:01:21 +00:00
Pierre Joye c05b1228db - typo 2010-12-15 00:39:07 +00:00
Pierre Joye f56ab54feb - devel must be done before dist 2010-12-14 23:21:01 +00:00
Pierre Joye f7b5a73383 - fix build with out of src obj dir 2010-12-14 23:09:31 +00:00
Pierre Joye e2ea0f5d98 - we just reached the tiny cmd lenght limit, let reduce the size of dirs 2010-12-14 18:49:15 +00:00
Ilia Alshanetsky 07607df542 Fixed compiler warning 2010-12-14 17:01:54 +00:00
Ilia Alshanetsky c946ff2f51 Fixed bug #53541 (format string bug in ext/phar). 2010-12-14 17:00:36 +00:00
Pierre Joye 64d49da654 - fix header install 2010-12-14 13:10:25 +00:00
Pierre Joye 630d411c5c - that's not in 5.3 2010-12-14 12:12:26 +00:00
Pierre Joye 101bb97773 - that's not in 5.3 2010-12-14 12:11:39 +00:00
Pierre Joye d14417f8ea - add nmake install-sdk (create the devel package) and related sub rules 2010-12-14 02:55:26 +00:00
Pierre Joye acd87493ec -add a link to snmp install doc about the MIBS data, remove static or removed exts 2010-12-13 21:07:13 +00:00
Pierre Joye 12a3e339f4 - MFH trailing slashes detection 2010-12-13 20:57:06 +00:00
Pierre Joye 0beae1e558 - that should not have been applied 2010-12-13 18:45:53 +00:00
Pierre Joye aea6771d19 - add phpize support for windows, need a nmake install for now (nmake devel-pkg version is coming), works exactly the same as on unix, or should :) 2010-12-13 18:43:10 +00:00
Pierre Joye 4ee6b4dfbb -ws 2010-12-13 18:07:08 +00:00
Ilia Alshanetsky 8afdb7cd49 Fixed bug #48607 (fwrite() doesn't check reply from ftp server before exiting) 2010-12-13 16:53:26 +00:00
Kalle Sommer Nielsen 5a6288297d Revert fix for bug #53493 to be compliant with the XML specification 2010-12-13 14:29:42 +00:00
Kalle Sommer Nielsen a990ce69b1 Fixed bug #53493 (xmlrpc_decode should not be sensitive to leading whitespace) 2010-12-13 09:52:05 +00:00
Adam Harvey 75a9b76a3e MFH: fixed bug #53377 (imap_mime_header_decode() doesn't ignore \t during long
MIME header unfolding).
2010-12-13 08:38:01 +00:00
Adam Harvey e87fbccfd8 MFH: implement FR #53447 (Cannot disable SessionTicket extension for servers
that do not support it). Includes Tony's subsequent commit to fix a segfault.
2010-12-13 08:29:44 +00:00
Gustavo André dos Santos Lopes 75de05cead - Fixed bug #53530 (php_crypt tests gcc version incorrectly due to
typo) (vapier at gmail dot com)
2010-12-12 22:27:02 +00:00
Felipe Pena 2fbc49793e - Cosmetics 2010-12-12 21:11:54 +00:00
Ilia Alshanetsky fbe4532b48 Fixed bug #47435 (FILTER_FLAG_NO_RES_RANGE don't work with ipv6). 2010-12-12 19:54:21 +00:00
Ilia Alshanetsky 82287511ad Fixed bug 48484 (array_product() always returns 0 for an empty array). 2010-12-12 19:27:04 +00:00
Ilia Alshanetsky c1e9f628a0 Fixed bug #53150 (FILTER_FLAG_NO_RES_RANGE is missing some IP ranges) 2010-12-12 18:36:21 +00:00
Kalle Sommer Nielsen 071513562d Fixed bug #53425 (mysqli_real_connect() ignores client flags when built to call libmysql)
# Based on patch by tre-php-net at crushedhat dot com
2010-12-12 18:00:25 +00:00
Kalle Sommer Nielsen b529d43c0d Fixed bug #53503 (mysqli::query returns false after successful LOAD DATA query) 2010-12-12 16:17:50 +00:00
Derick Rethans 79aaaf4179 - Fixed a few test cases
- Updated timezone mapping table; to remove unparsable timezones.
2010-12-12 16:06:41 +00:00
Eyal Teutsch 95c4e449d1 moved the second unlink() to the CLEAN section in the SplFileObject_fwrite_variation* tests 2010-12-12 07:24:51 +00:00
Martin Jansen f6cedd2ad5 Merge from trunk:
* Fixed parameter check introduced with the recent fix for bug #53492.

* Improved the error message along the way.
2010-12-11 20:10:39 +00:00
Ilia Alshanetsky 9e48381b28 Upgraded bundled Sqlite3 to version 3.7.4. 2010-12-11 14:57:34 +00:00
Gustavo André dos Santos Lopes ff77814d03 - Tests and small parsing correction for php://fd wrapper 2010-12-11 02:08:02 +00:00
Gustavo André dos Santos Lopes 3c8c56fb98 - Implemented request #26158/bug #53465 (open arbitrary file descriptor with fopen) 2010-12-11 01:52:13 +00:00
Felipe Pena 9864040e35 - Fixed bug #53515 (property_exists incorrect on ArrayObject null and 0 values) 2010-12-10 23:58:33 +00:00
George Wang cccba0fa4d fixed keyLen validation point 2010-12-10 22:51:08 +00:00
Felipe Pena 83a7831760 - Fixed bug #53517 (segfault in pgsql_stmt_execute() when postgres is down)
patch by: gyp at balabit dot hu
2010-12-10 17:50:26 +00:00
Felipe Pena 215917d711 - Fixed ZTS build 2010-12-10 11:33:35 +00:00
Felipe Pena df5f526cbd - Cosmetics 2010-12-10 11:26:14 +00:00
Scott MacVicar d9187596c9 MFH: Fix indirect reference of $this 2010-12-10 06:34:03 +00:00
Christopher Jones 35c47c58df Update for PECL upload that is synced with PHP 5.3.4 2010-12-10 04:36:29 +00:00
Felipe Pena 8b1d477052 - Added test for bug #53512 2010-12-10 00:59:50 +00:00
Felipe Pena 7d2b089860 - Fixed bug #53512 (NumberFormatter::setSymbol crash on bogus $attr values) 2010-12-10 00:47:51 +00:00
Felipe Pena 573475a848 - Fixed bug #39199 (Cannot load Lob data with more than 4000 bytes on ORACLE 10)
patch by: spatar at mail dot nnov dot ru
2010-12-10 00:33:48 +00:00
Eyal Teutsch 7eb70247a3 test bug42364 included a superfluous ?> 2010-12-09 12:39:21 +00:00
Eyal Teutsch 30d290a31e pdo_025 expected a certain extra character that is not part of windows output. changed to optional char: %a -> %A 2010-12-09 12:04:18 +00:00
Johannes Schlüter 78a2762e88 Back to -dev 2010-12-08 22:48:36 +00:00
Andrey Hristov 85b434465c enable again after 5.3.4 has already been tagged 2010-12-08 21:55:29 +00:00
Johannes Schlüter 3d76289c59 PHP 5.3.4 2010-12-08 21:38:51 +00:00
Eyal Teutsch eabb9be2ac curl_setopt() arg: using DIRECTORY_SEPARATOR rather then "/" to make windows tests pass too 2010-12-08 14:16:17 +00:00
Pierre Joye f9207e3187 - new warning in imagepstext 2010-12-08 09:38:47 +00:00
Pierre Joye a0eb5848b5 - Fix #53492, fix crash if aa steps are invalid 2010-12-08 08:45:56 +00:00
Pierre Joye cba0322c81 - not anymore in core or builtin 2010-12-07 23:53:51 +00:00
Andrey Hristov fc6e70d8e4 switch this off for the release 2010-12-07 11:13:55 +00:00
Pierre Joye 1504071cb1 - add CVE 2010-12-07 01:22:23 +00:00
Andrey Hristov 5efdfee8c6 Skip additional result sets sent by MySQL 5.5 servers
which break the Protocol API 
(see http://bugs.mysql.com/bug.php?id=58700)
2010-12-06 13:59:14 +00:00
Andrey Hristov 03fd10c479 don't crash if the API is used incorrectly 2010-12-06 13:50:51 +00:00
Felipe Pena 75eeee8f24 - Fixed test (Eyal Teutsch) 2010-12-04 15:57:08 +00:00
Felipe Pena 0aa36e2d97 - Fixed test 2010-12-04 15:48:45 +00:00
Felipe Pena 0f53b4e515 - Fixed tests 2010-12-04 12:28:23 +00:00
Felipe Pena 76ba9b44b4 - Fixed test 2010-12-03 23:25:27 +00:00
Felipe Pena 3dc4f14c6b - Fixed test 2010-12-03 22:58:21 +00:00
Felipe Pena 3e0b63312e - Order 2010-12-03 21:09:47 +00:00
Felipe Pena 689d1d9e4b - Fixed bug #53463 (sqlite3 columnName() segfaults on bad column_number) 2010-12-03 21:05:44 +00:00
Jani Taskinen 686c7fec26 - CS + reorder to match trunk better, removed trailing dots from error messages 2010-12-03 16:04:24 +00:00
Jani Taskinen 85ef85a0b4 - Fix test 2010-12-03 16:02:47 +00:00
Jani Taskinen f561727ee0 - Add test for the ob_start($foo); leak/crash bug 2010-12-03 15:30:21 +00:00
Jani Taskinen c8e40e49d7 - Fix leaks and crash bug when passing the callback as variable 2010-12-03 13:20:13 +00:00
Pierre Joye 63d87a0adb - Fix #29085, bad default include_path on Windows 2010-12-02 23:23:14 +00:00
Felipe Pena 06c183b761 - Cosmetics 2010-12-02 23:01:04 +00:00
Pierre Joye aef55bc5f3 - some missing entries 2010-12-02 22:56:57 +00:00
Andrey Hristov 9f045cd40e fix test after newly introduced constant 2010-12-02 19:11:41 +00:00
Johannes Schlüter 094bcdff8b - Back to -dev 2010-12-02 14:34:32 +00:00
Andrey Hristov 334e62a77d and export the new constant 2010-12-02 14:21:23 +00:00
Andrey Hristov 3da811a124 new server constant as of 5.5 2010-12-02 13:59:56 +00:00
Johannes Schlüter f915973c1e - PHP 5.3.4RC2 2010-12-02 13:59:38 +00:00
Pierre Joye cd62a70863 - not TS and useless on server, also not required anymore with the supported windows versions 2010-12-02 11:37:43 +00:00
Adam Harvey 92fa280b96 Minimal fix for bug #53440 (INSTALL file refers to php.ini-dist, should refer
to php.ini-production). There are a lot more issues with the INSTALL file,
though, which I'll file another bug for.
2010-12-02 03:26:37 +00:00
Christopher Jones 24c87d760d Remove OCI8 devel status in preparation for PHP 5.3.4 release 2010-12-01 23:30:28 +00:00
Christopher Jones 2024790fd2 Add Berkeley DB 5.1 support to the DBA extension 2010-12-01 19:20:16 +00:00
Ilia Alshanetsky d506ce8d94 Fixed bug #51250 (iconv_mime_decode() does not ignore malformed Q-encoded words) 2010-12-01 14:03:36 +00:00
Andrey Hristov 4adcc3c7bc add a comment 2010-12-01 10:16:51 +00:00
Jérôme Loyet 4c76006fe3 - Fixed bug #53412 (segfault when using -y) 2010-11-30 19:37:10 +00:00
Ilia Alshanetsky 964eff5276 Missing bits from last commit 2010-11-30 16:11:27 +00:00
Ilia Alshanetsky 085e8b781c Fixed bug #52202 (CURLOPT_PRIVATE gets corrupted). 2010-11-30 13:40:02 +00:00
Pierre Joye 761c62267f Fixed crash in zip extract method (possible CWE-170) 2010-11-30 11:04:06 +00:00
Ilia Alshanetsky f719d3707d Fixed bug #52656 (DOMCdataSection does not work with splitText). 2010-11-29 14:48:53 +00:00
Ilia Alshanetsky dd92188d76 Fixed bug #52828 (curl_setopt does not accept persistent streams). 2010-11-29 14:40:59 +00:00
Adam Harvey 7111501381 Update INI files per doc bug #53420 (mail.log is poorly documented). 2010-11-29 03:44:56 +00:00
Derick Rethans e16265aa0e - Reorganize slightly as there was already a date and an intl extension
header/section.
2010-11-28 16:33:07 +00:00
Derick Rethans 688b347d84 - Fixed two more test cases. 2010-11-28 16:27:49 +00:00
Derick Rethans 8cf9513bb9 - Fixed a few test cases. 2010-11-28 13:41:06 +00:00
Ilia Alshanetsky 3239a25e53 Missing bit from previous commit 2010-11-26 21:00:03 +00:00
Ilia Alshanetsky f28cff1925 Fixed bug #52327 (base64_decode() improper handling of leading padding in strict mode) 2010-11-26 20:59:13 +00:00
Pierre Joye c70397b3a9 - Fixed #53409, sleep() return NULL on Windows 2010-11-26 18:25:13 +00:00
Jérôme Loyet f13f4bc872 - Fixed bug #52501 (libevent made FPM crashed when forking -- libevent has been removed) 2010-11-26 13:46:15 +00:00
Johannes Schlüter 222e0bc0f6 - Remove outdated, unmaintained, misleading ChangeLog files 2010-11-26 13:21:25 +00:00
Ilia Alshanetsky 523da85c11 Fixed bug #53304 (quot_print_decode does not handle lower-case hex digits) 2010-11-25 21:38:06 +00:00
Gustavo André dos Santos Lopes 05abc63d14 - Fixed bug #53403 (use of unitialized values). Fixes the fix for bug #46587.
- Added test for bug #46587.
2010-11-25 16:44:20 +00:00
Felipe Pena dbeef88661 - Ordering 2010-11-25 00:05:03 +00:00
Pierre Joye 2ba369cdfa - fixed #53352 2010-11-23 22:14:54 +00:00
Felipe Pena a9a2eb4a14 - Fixed compile warnings 2010-11-23 21:49:18 +00:00
Felipe Pena ac15afe9c1 - Fixed test 2010-11-23 21:45:22 +00:00
Ilia Alshanetsky 4f3ab10786 Fixed bug #46587 (mt_rand() does not check that max is greater than min). 2010-11-23 13:09:15 +00:00
Christopher Jones 8ed386997f Explicitly name the added constant 2010-11-22 22:18:30 +00:00
Ilia Alshanetsky a40667d756 Fixed bug #51003 (unaligned memory access in ext/hash/hash_tiger.c). 2010-11-22 13:12:28 +00:00
Ilia Alshanetsky 534395e4ae Fixed bug #51003 (unaligned memory access in ext/hash/hash_tiger.c) 2010-11-22 13:10:13 +00:00
Gustavo André dos Santos Lopes 2a545be57f - Fix tests for \0 patch in PHP 5.3.
- Fix constants_error_004.phpt (closes bug #51901)
2010-11-22 05:10:14 +00:00
Felipe Pena 167e51f36c - Fixed ZTS build 2010-11-21 17:41:33 +00:00
Felipe Pena abb7038cbf - New NEWS structure (to be improved) 2010-11-21 14:07:22 +00:00
Johannes Schlüter ac4f3422bc - Improve test 2010-11-21 12:28:10 +00:00
Johannes Schlüter 9ea04e1e46 - Fix #52854 (ReflectionClass::newInstanceArgs does not work for classes without constructors 2010-11-21 12:24:09 +00:00
Felipe Pena 1ac484d1a1 - Fixed bug #53366 (Reflection doesnt get dynamic property value from getProperty()) 2010-11-20 22:53:55 +00:00
Kalle Sommer Nielsen 78f10489ca Added second fix from #50987 that wasn't apart of Ilia's commit 2010-11-20 20:59:28 +00:00
Ilia Alshanetsky 5f1b91a6bf Fixed bug #50987 (unaligned memory access in phar.c) 2010-11-20 19:27:31 +00:00
Stanislav Malyshev 4415b3af51 Add support for DateTime in datefmt_format 2010-11-20 02:09:04 +00:00
Christopher Jones c8462df127 Remove unreverted duplicate fix for nulls 2010-11-20 01:29:03 +00:00
Stanislav Malyshev f061627899 report intl fix 2010-11-19 23:27:52 +00:00
Stanislav Malyshev e6c213b8ea Fix invalid args bugs by Maksymilian Arciemowicz 2010-11-19 23:22:55 +00:00
Felipe Pena 93a4e0d1fa - Fixed extract() to do not overwrite $GLOBALS and $this when using EXTR_OVERWRITE.
patch by: jorto at redhat dot com
2010-11-19 22:06:44 +00:00
Felipe Pena f16059d697 - Fixed bug #53362 (Segmentation fault when extending SplFixedArray) 2010-11-19 20:07:32 +00:00
Martin Jansen 61d97af18b Fixed two typos in NEWS. 2010-11-19 18:38:23 +00:00
Ilia Alshanetsky a8b4724747 Fixed bug #47168 (printf of floating point variable prints maximum of 40 decimal places). 2010-11-19 16:36:10 +00:00
Jani Taskinen caf792940f - Merged check from trunk to prevent building multiple SAPIs (bug #52419) 2010-11-19 08:26:47 +00:00
Christopher Jones 64f21f63ad Update fix proviso now the mentioned Oracle bugfix is available in an Oracle patchset 2010-11-19 00:14:58 +00:00
Gustavo André dos Santos Lopes cdab5577c0 - Fixed borked test bug52820.phpt.
- Synced htmlentities17.phpt with trunk; there's no &wreath; entity
  in HTML 4.01.
2010-11-18 21:44:42 +00:00
Johannes Schlüter 63f65b6e8f Back to -dev 2010-11-18 19:03:59 +00:00
Johannes Schlüter 7a8d9ad16a - 5.3.4RC1 2010-11-18 17:57:54 +00:00
Pierre Joye f5570be3a9 - path with null entries 2010-11-18 17:09:27 +00:00
Pierre Joye ff26185322 - revert part of the null fix, was already applied by Chris 2010-11-18 16:16:26 +00:00
Pierre Joye ce96fd6b07 - fix #39863, do not accept paths with NULL in them. See http://news.php.net/php.internals/50191, trunk will have the patch later (adding a macro and/or changing (some) APIs. Patch by Rasmus 2010-11-18 15:22:22 +00:00
Gustavo André dos Santos Lopes 75631ab8ac - Implemented alternative strategy for change in rev #304985 so as to
not to break binary compatibility in the 5.3 branch.
2010-11-18 12:10:17 +00:00
Felipe Pena 60ad3e54af - Fix build 2010-11-18 11:33:42 +00:00
Derick Rethans 95a88f04a9 - Fixed the call as well. 2010-11-18 11:28:07 +00:00
Derick Rethans a2434bb66c - Revert the ABI changing commit. 2010-11-18 11:24:59 +00:00
Gustavo André dos Santos Lopes 267634b766 - Fixed NULL dereference in lex_scan on zend multibyte builds where the script
had a flex incompatible encoding and there was no converter.
#see rev #305464 and rev #305466.
2010-11-18 04:14:49 +00:00
Gustavo André dos Santos Lopes a31f379367 - Reversed implementation of FR #44164, pending further consideration.
See rev #304903.
2010-11-18 04:09:02 +00:00
Felipe Pena e516b7a964 - Fixed bug #53335 (pdo_firebird did not implement rowCount())
patch by: preeves at ibphoenix dot com
2010-11-18 01:24:00 +00:00
Pierrick Charron 6f7821a82d Remove unused variables 2010-11-17 17:55:18 +00:00
Pierre Joye 4ced44323d - test for NULL deref fix 2010-11-17 17:26:33 +00:00
Pierre Joye 7b27de9f0b - NULL deref fix, patch by Gustavo 2010-11-17 16:46:19 +00:00
Jani Taskinen d225fe4e58 - Fix test 2010-11-17 14:54:37 +00:00
Felipe Pena 5d2e201c3d - Fixed typo (reported by eyal.t at zend dot com) 2010-11-17 14:49:26 +00:00
Felipe Pena 7716873a5b - Updated QA and User note maintainers credits 2010-11-16 23:02:00 +00:00
Jérôme Loyet 404580d95c - fix (log with level < WARNING before daemonizing were not written to /dev/stderr) 2010-11-16 22:53:47 +00:00
Felipe Pena bbf58f9234 - Fixed bug #53319 (strip_tags() may strip '<br />' incorrectly) 2010-11-16 22:16:44 +00:00
Jérôme Loyet 5ddbeffc6f - Fixed #53310 (sparc < v9 won't is not supported) 2010-11-16 22:02:36 +00:00
Felipe Pena 49493e226d - Fixed bug #53323 (pdo_firebird getAttribute() crash)
patch by: preeves at ibphoenix dot com
2010-11-16 21:02:14 +00:00
Christopher Jones 2bc233e856 Improve test cross- DB version portability 2010-11-16 20:50:29 +00:00
Christopher Jones f819965513 Added missing news 2010-11-16 19:38:31 +00:00
Christopher Jones 2ea52b1fb4 Protect against null bytes in LOB filenames (rasmus) 2010-11-16 19:33:31 +00:00
Pierre Joye 4af7de49aa - fix build 2010-11-15 23:46:21 +00:00
Felipe Pena e6de920a27 - Fix wrong argument to read_property call 2010-11-15 18:48:48 +00:00
Gustavo André dos Santos Lopes 1045aa2a7c - Fixed bug #52820 (writes to fopencookie FILE* not commited when seeking the
stream).
2010-11-15 18:22:52 +00:00
Rasmus Lerdorf d91c4be0d6 ws fix 2010-11-15 09:04:27 +00:00
Pierre Joye f6b3d22218 - allow firebird header to be in the normal deps directory and restore firebird support on win (5.3.4+) 2010-11-14 22:40:30 +00:00
Jérôme Loyet 5ef0100b4d - extend the 'i-t' fpm argument to dump configuration file when called twice (-tt) 2010-11-14 22:22:07 +00:00
Jérôme Loyet c95477e729 - Fixed #52691 (allow multiple instance of FPM using a custom prefix) 2010-11-14 22:01:34 +00:00
Felipe Pena 6958cb4a14 - Added missing void arg checks 2010-11-14 18:40:08 +00:00
Felipe Pena 46983d532e - Add missing check 2010-11-14 01:38:52 +00:00
Jani Taskinen e0858b424a - Using ifelse() here is safer, also eases debugging generated configure. 2010-11-13 22:51:11 +00:00
Felipe Pena a0ccf0f14a - Fix the constant detection 2010-11-13 19:50:55 +00:00
Felipe Pena 8901635d73 - Fixed bug #53305 (E_NOTICE when defining a constant starts with __COMPILER_HALT_OFFSET__)
- Fixed a part of bug #53260 (the __COMPILER_HALT_OFFSET__ name is not shown in the E_NOTICE)
2010-11-13 18:46:11 +00:00
Derick Rethans bb1dbdf62c - Sync from HEAD. 2010-11-13 16:31:01 +00:00
Derick Rethans 28b41c811d - MFH: Added support for the ( and ) delimiters/separators to
DateTime::createFromFormat().
- Regenerated the parsers for HEAD and PHP_5_3.
2010-11-13 15:01:48 +00:00
Derick Rethans 9b4999881f - Don't show timezone if it wasn't found while parsing. 2010-11-13 14:57:47 +00:00
Jani Taskinen 47713462ce - WS 2010-11-13 11:07:38 +00:00
Jani Taskinen 0e72e5897e - Sync with trunk 2010-11-13 10:18:35 +00:00
Felipe Pena c095bec250 - Fixed bug #53136 (Invalid read on openssl_csr_new()) 2010-11-12 23:34:03 +00:00
Gustavo André dos Santos Lopes 3332c5be08 - Fixed bug #53297 (gettimeofday implementation in php/win32/time.c can return
1 million microsecs). (ped at 7gods dot org)
- Moved line out of order in NEWS.
2010-11-12 18:37:02 +00:00
Ulf Wendel b343748d56 Testing for the two new statistics 'bytes_received_real_data_normal' and 'bytes_received_real_data_ps' 2010-11-12 12:21:35 +00:00
Jérôme Loyet c28f44e409 - Fixed #52660 (custom process title for FPM) 2010-11-12 00:30:35 +00:00
Jérôme Loyet 5a416465a0 - Fixed #52692 (Added '-t/--test' to php-fpm to check and validate FPM conf file) 2010-11-11 23:27:15 +00:00
Jérôme Loyet da29092159 - Fixed bug #52693 (configuration file errors are not logged to stderr) 2010-11-11 22:48:46 +00:00
Jérôme Loyet 7bc07ff884 - get rid of ZLOG_STUFF code redundancy 2010-11-11 21:38:18 +00:00
Jérôme Loyet 8dd82c5fde - comment out fpm_php_set_fcgi_mgmt_vars to remove compilation warning 2010-11-11 21:30:55 +00:00
Jérôme Loyet 71a8b75c51 - remove useless check 2010-11-11 12:56:44 +00:00
Jérôme Loyet 8977fc8ace - add missing timer* macros (for solaris)
- ws
2010-11-11 12:49:11 +00:00
Jérôme Loyet d7e8aaea46 here come the new 2010-11-11 02:43:51 +00:00
Jérôme Loyet 0a1e29d74b - add "listen queue len" stat (thx to Andrei Nigmatulin) 2010-11-11 02:34:47 +00:00
Kalle Sommer Nielsen 4cc8073839 Added new constant; ZEND_MULTIBYTE to check whether PHP was compiled using --enable-zend-multibyte or not instead of sniffing phpinfo() (FR #52348) 2010-11-11 01:43:53 +00:00
Jérôme Loyet 7e56681670 - syntax and minor optimizations 2010-11-11 01:01:56 +00:00
Jérôme Loyet 07abcdc031 - don't call shutdown functions after child ends softly, let the master process call them 2010-11-10 23:54:14 +00:00
Christopher Jones f4b2664e2c Prepare for PECL OCI8 1.4.4 2010-11-10 19:08:13 +00:00
Christopher Jones 29bdf30880 Improve startup failure error messages 2010-11-10 18:59:56 +00:00
Christopher Jones 7a42845d80 Fixed bug #53284 (Valgrind warnings in oci_set_* functions) 2010-11-10 18:49:55 +00:00
Christopher Jones 2bf58d8c70 Improve test portability 2010-11-10 18:46:05 +00:00
Andrey Hristov 77d160772f Fix bad types, because zend_parse_xxx expect signed integers
for lengths, no matter how stupid this is :)
2010-11-10 13:57:09 +00:00
Adam Harvey 4df2980242 Fix line wrapping. 2010-11-09 14:54:10 +00:00
Adam Harvey 84dc845ff8 Fix bug #53279 (SplFileObject doesn't initialise default CSV escape character). 2010-11-09 14:53:23 +00:00
Moriyoshi Koizumi 89d372ba27 - Fix bug #53273 (mb_strcut() returns garbage with the excessive length parameter). 2010-11-09 03:23:04 +00:00
Felipe Pena 22f7998a0d - Fix the fix (wrong behavior) 2010-11-08 20:26:14 +00:00
Dmitry Stogov b01b2e6d0b Fixed WSDL loading using https through proxy 2010-11-08 11:34:32 +00:00
Patrick Allaert 817776d1b9 - Fixed tests not passing under windows because of the directory separator
difference (thanks Eyal Teutsch for reporting)
2010-11-08 09:29:15 +00:00
Adam Harvey 53544e36f2 Update the tests committed in r305098 (as part of the fix for bug #53226) to
use the PHP_MAXPATHLEN constant, as recommended by Pierre.
2010-11-08 09:14:48 +00:00
Gustavo André dos Santos Lopes c3557ba32e - Fixed the filter extension accepting IPv4 octets with a leading 0 as that
belongs to the unsupported "dotted octal" representation.
- Fixed bug #53236 (problems in the validation of IPv6 addresses with leading
  and trailing :: in the filter extension).
- Fixed bug #50117 (problems in the validation of IPv6 addresses with IPv4
  addresses and ::).
2010-11-08 04:36:15 +00:00
Jérôme Loyet f407fc4e01 - correct time comparison for determining the last idle child 2010-11-07 21:47:14 +00:00
Jérôme Loyet 0399b83ccb - change signal from SIGTERM to SIGQUIT for killing a child process by the dynamic process manager 2010-11-07 19:41:28 +00:00
Felipe Pena e6bef6735f - Fixed bug #52512 (Broken error handling in odbc_execute)
patch by: mkoegler at auto dot tuwien dot ac dot at
2010-11-07 18:13:53 +00:00
Felipe Pena 50863932a6 - Fixed bug #53248 (rawurlencode RFC 3986 EBCDIC support misses tilde char).
patch by: Justin Martin (frozenfire@php)
2010-11-07 12:59:22 +00:00
Felipe Pena 1db7472a73 - Coding standards 2010-11-06 18:35:38 +00:00
Felipe Pena f4927c28bc - Fixed bug #52732 (Docs say preg_match() returns FALSE on error, but it returns int(0))
patch by: slugonamission at gmail dot com
2010-11-06 18:32:10 +00:00
Felipe Pena 996f45b688 - Fixed bug #47199 (pg_delete() fails on NULL)
patch by: ewgraf at gmail dot com
2010-11-06 17:43:25 +00:00
Felipe Pena 7636635ec5 - Fixed bug #50579 (RegexIterator::REPLACE doesn't work) 2010-11-06 00:09:50 +00:00
Andrey Hristov 837391a9a7 two new stats 2010-11-05 20:07:34 +00:00
Gustavo André dos Santos Lopes 8342c36f09 - Renamed php_stream_rep_nonstand_mode to
php_stream_mode_sanitize_fdopen_fopencookie, made it not
  exported and movied it from php_streams.h to
  php_streams_int.h.
2010-11-05 18:53:48 +00:00
Adam Harvey b84e262f63 Fix bug #53226 (file_exists fails on big filenames). 2010-11-05 05:28:07 +00:00
Gustavo André dos Santos Lopes dd038a9c89 - Added CLEAN section to recently committed test. 2010-11-05 01:56:28 +00:00
Gustavo André dos Santos Lopes 68107ae1c3 - Fixed bug #53241 (stream casting that relies on fdopen/fopencookie fails
with streams opened with, inter alia, the 'xb' mode).
2010-11-05 01:29:08 +00:00
Pierre Joye 8efec79ffe - expose php_sys_(l)stat, doing will prevent me to have to provide pecl's builds for <5.3.3 and another set for 5.3.4+. Trunk remains the same, A(B/P)I can be broken there 2010-11-04 01:16:20 +00:00
Pierre Joye e61005f712 - fix type and silent warning 2010-11-03 21:50:03 +00:00
Pierre Joye 6c3ddc70ed - add stat support for zip:// 2010-11-03 21:48:08 +00:00
Pierre Joye 535033074a - add CVE 2010-11-03 20:22:08 +00:00
Etienne Kneuss 9d25e7ee7b Fixed covariance of return-by-ref constraints 2010-11-03 15:40:24 +00:00
Felipe Pena 21638aed88 - BFN 2010-11-03 01:46:52 +00:00
Felipe Pena 815d0e549b - Reverted fix for bug #51176 2010-11-03 01:35:26 +00:00
Felipe Pena 7b4cbadfce - Fixed config.m4 to complete the fix for bug #53141 (thanks Johannes) 2010-11-02 20:51:02 +00:00
Felipe Pena 7ded7577b2 - Fixed bug #53141 (autoload misbehaves if called from closing session)
patch by: ladislav at marek dot su
2010-11-02 18:34:56 +00:00
Ilia Alshanetsky a1632696a8 Fixed a possible double free in imap extension (Identified by Mateusz Kocielski). 2010-11-02 17:50:39 +00:00
Pierre Joye e547a0dfec - add CVE id 2010-11-02 15:33:49 +00:00
Jani Taskinen 309aefc7e7 - Fixed -g adding for gcc and g++ (former got it twice, latter not at all) 2010-11-02 09:58:08 +00:00
Arnaud Le Blanc 3ac257f344 MFH fixed bug #52784 (Race condition when handling many
concurrent signals)
2010-11-01 22:43:59 +00:00
Arnaud Le Blanc cd63986283 MFH Fix bug #52173 (ext/pcntl doesn't store/report errors)
(patch by nick dot telford at gmail dot com)
2010-11-01 20:22:23 +00:00
Derick Rethans 6e0f2daf65 - Updated to version 2010.15 (2010o) 2010-11-01 17:55:42 +00:00
Felipe Pena f4d15d8226 - Fixed bug #47643 (array_diff() takes over 3000 times longer than php 5.2.4) 2010-11-01 17:16:47 +00:00
Gustavo André dos Santos Lopes 231da1a5cb - Fixed bug #53198 (changing INI setting "from" with ini_set did not have any
effect)
#Made "from" a proper INI setting and bound it to a global variable.
#Previously, it was simply read from the hash table with the parsed ini file
#by using cfg_get_string (I wonder why this mechanism still exists...)
2010-10-29 15:29:15 +00:00
Andrey Hristov c10af225c4 - More features for the profiling, create aggregates and dump them
on file close.
- Also add a trace modifier to switch on and off the profiling.
- With additional compiler switch the profiling can be completely omitted,
of course it makes sense only when --enable-debug. Because otherwise
there is no tracing, thus no profiling.
- Added a fix for Windows for handling trace files on different devices
 (special handing of ':' )
2010-10-29 15:02:39 +00:00
Andrey Hristov cd6ea54deb gettimeofday for windows 2010-10-28 14:14:06 +00:00
Andrey Hristov 443bedf204 show tracing 2010-10-28 14:07:36 +00:00
Andrey Hristov 4c34cd9f38 fix windows debug build
better zlib detection
2010-10-28 13:46:54 +00:00
Gustavo André dos Santos Lopes db75ce41a3 - Fixed bug #49687 (utf8_decode vulnerabilities and deficiencies in the number
of reported malformed sequences). (Gustavo)
#Made a public interface for get_next_char/utf-8 in trunk to use in utf8_decode.
#In PHP 5.3, trunk's get_next_char was copied to xml.c because 5.3's
#get_next_char is different and is not prepared to recover appropriately from
#errors.
2010-10-27 18:13:25 +00:00
Gustavo André dos Santos Lopes ee80871a15 - Fixed bug #53180 (post_max_size=0 not disabling the limit when the content
type is application/x-www-form-urlencoded or is not registered with PHP).
2010-10-27 14:56:51 +00:00
Gustavo André dos Santos Lopes b5b4f94a4c - Fixed ReflectionProperty::isDefault() giving a wrong result for properties
obtained with ReflectionClass::getProperties().
2010-10-26 18:47:10 +00:00
Gustavo André dos Santos Lopes 0086bc8a96 - Implemented request #44164, zlib.output_compression is now implicitly
disabled when the header "Content-length" is set.
#One could argue that any output handler could change the size of the
#response, so this exception for zlib.output_compression is an
#inconsistency. However, zlib.output_compression is presented as a
#performance setting, whose value should have no effect on the
#correctness of the scripts. This was not the case. Setting the
#header "content-length" and enabling zlib.output_compression was
#a recipe for infringing section 4.4 of RFC 2616.
2010-10-26 02:16:21 +00:00
Andrey Hristov 762a1b2d26 rename and remove usage of inttypes.h, not needed 2010-10-25 13:44:11 +00:00
Gustavo André dos Santos Lopes 384cd8cda5 - Small optimization of the fix of bug #53071. It's not necessary to destroy
the debug info as it's not holding references anymore (the fix removed
  the refcount increments).
2010-10-25 02:03:20 +00:00
Gustavo André dos Santos Lopes 5721132c29 - Fixed bug #53071 (SPLObjectStorage defeats gc_collect_cycles). 2010-10-25 01:41:54 +00:00
Pierre Joye 3cb6a460a6 - fix Isotopp 2010-10-24 21:51:54 +00:00
Felipe Pena eabf03f436 - BFN 2010-10-24 14:05:10 +00:00
Felipe Pena 6887b97a8d - Fixed bug #53144 (SplObjectStorage::removeAll()) 2010-10-24 14:03:07 +00:00
Andrey Hristov 924bb78167 profiling in trace mode 2010-10-22 15:46:26 +00:00
Andrey Hristov 4cedb6d08a last piece to enable trace logging on windows 2010-10-22 14:34:33 +00:00
Andrey Hristov f7c44c8c4d enable debug logging on windows, in debug builds, of course 2010-10-22 14:12:45 +00:00
Ilia Alshanetsky 8a2a6dbe21 Upgraded bundled sqlite to version 3.7.3 2010-10-20 19:27:34 +00:00
Pierre Joye 8c5921bfb8 - update #52929 and zip NULL deref 2010-10-19 09:56:59 +00:00
Pierre Joye 6ab767262c - fix Fixed NULL pointer dereference in ZipArchive::getArchiveComment, (CVE-2010-3709), report&patch from Maksymilian Arciemowicz 2010-10-19 09:55:36 +00:00
Adam Harvey 6a289f4d10 Fix bug #53089 (php.ini should use portable example of find) by using POSIX
compliant syntax in the suggested find command for cleaning up session files in
the shipped php.ini files.
2010-10-18 02:10:29 +00:00
Felipe Pena 946f95c0fc - Fixed bug #53070 (Calling enchant_broker_get_dict_path before set_path crashes php) 2010-10-16 17:52:01 +00:00
Gustavo André dos Santos Lopes 3ab0b74de9 - Updated NEWS to note fix of bug #53006 now that it's confirmed it's fixed. 2010-10-15 23:54:24 +00:00
Gustavo André dos Santos Lopes a3cef7b435 - Three tests were "broken" by rev #304404, not two. Commit the change
to remaining one.
2010-10-14 19:33:12 +00:00
Gustavo André dos Santos Lopes 30d6cc8919 - Fixed get_next_char(), used by htmlentities/htmlspecialchars, accepting
certain ill-formed UTF-8 sequences.
2010-10-14 19:14:06 +00:00
Gustavo André dos Santos Lopes c99251f87e - [DOC] Reverted rev #304382 and rev #304380, as I figured out a way to
fix the erratic behavior without breaking backwards compatibility. Namely,
  $offset retains SEEK_SET behavior but actually SEEK_CUR is passed to
  _php_stream_seek, if possible, by moving the offset stream->position bytes.
- Addresses bug #53006.
2010-10-14 03:15:15 +00:00
Adam Harvey db633fb71d Fix vim marker folds. 2010-10-13 09:23:39 +00:00
Dmitry Stogov b88f7753a1 Fixed bug #52939 (zend_call_function does not respect ZEND_SEND_PREFER_REF) 2010-10-13 08:51:39 +00:00
Gustavo André dos Santos Lopes 14a54b903e - Fixed forward stream seeking emulation in streams that don't support seeking
in situations where the read operation gives back less data than requested
  and when there was data in the buffer before the emulation started. Also made
  more consistent its behavior -- should return failure every time less data
  than was requested was skipped.
- Small performance improvement by correcting off-by-one error that generate an
  invalid call to the seek handler or read handler. in _php_stream_seek.
2010-10-13 03:13:29 +00:00
Dmitry Stogov d46dcd301e Added test 2010-10-12 07:38:36 +00:00
Gustavo André dos Santos Lopes 99b613cbc8 - Added a 3rd parameter to get_html_translation_table. It now takes a charset
hint, like htmlentities et al.
- Fixed bug #49407 (get_html_translation_table doesn't handle UTF-8).
- Fixed bug #25927 (get_html_translation_table calls the ' &#39; instead of
  &#039;).
- Fixed tests for get_html_translation_table and unified the Windows and
  non-Windows versions of the tests.
2010-10-12 02:51:11 +00:00
Gustavo André dos Santos Lopes 40c3aefafb - Removed redundant local variable in dns_get_record.
- (5.3) Fixed bug in the Windows implementation of
  dns_get_record, where the two last parameters wouldn't be
  filled unless the type were DNS_ANY (Gustavo).
2010-10-11 03:07:03 +00:00
Gustavo André dos Santos Lopes 4e2fd7eeba - Fixed a typo in rev #304208 (24 instead of 34/'"').
- Improved the test bug53021.phpt to reflect other fixes in rev #304208.
- Updated NEWS to reflect other fixes in rev #304208.
2010-10-08 17:27:19 +00:00
Gustavo André dos Santos Lopes 485a094334 - Fixed bug #53021 (In html_entity_decode, failure to convert numeric entities with ENT_NOQUOTES and ISO-8859-1). 2010-10-08 16:19:58 +00:00
Andrey Hristov 93d7715e7b new collations 2010-10-08 09:15:31 +00:00
Felipe Pena f7582fc43b - Added bison 2.4.3 version to the bison version list 2010-10-07 21:44:41 +00:00
Andrey Hristov 2d2d6f84ba fix some uninitialized variables. also fix shadowing of global symbols 2010-10-07 13:49:00 +00:00
Ilia Alshanetsky a4252ab2be Fixed extrenous warning inside openssl_encrypt() for cases where iv not provided, but algo does not require an iv 2010-10-07 12:32:00 +00:00
Gustavo André dos Santos Lopes 8d34fe0d22 - Fixed test for bug #50590 on systems with 64-bit longs. 2010-10-06 17:05:05 +00:00
Andrey Hristov 1f86f6be31 here comes the news 2010-10-06 11:12:53 +00:00
Andrey Hristov 4f62c099cd Fix for Bug #52686 mysql_stmt_attr_[gs]et arg. points to incorrect type 2010-10-06 11:11:02 +00:00
Andrey Hristov 1cca9d4bf1 more variable hiding fixes 2010-10-06 07:09:37 +00:00
Andrey Hristov 062ddaa700 fix shadowing of parameters 2010-10-06 06:08:55 +00:00
Kalle Sommer Nielsen 58a15c2cf5 Update copyright year for the license 2010-10-05 22:58:19 +00:00
Andrey Hristov 82de444f9a rename parameter name - should not shadow the global symbol alloca 2010-10-05 17:20:00 +00:00
Andrey Hristov eb2908c3f7 two more compiler warnings fixed - size does matter 2010-10-05 17:10:47 +00:00
Andrey Hristov 25e84b6a23 Rename a method so it doesn't clash with a global symbol - a function
Fix compiler waring by extening the type of a variable
2010-10-05 17:03:50 +00:00
Andrey Hristov 3daf54ffa0 Fix compiler warnings - on 32bit size_t is smaller than uint64_t, although
we will never hit this the compiler should be happy.
2010-10-05 16:54:14 +00:00
Andrey Hristov 548661d96d rename parameter, should not conflict with global symbol -
the socket function
2010-10-05 16:27:49 +00:00
Andrey Hristov e97a07ae9e remove trailing commas in enums 2010-10-05 14:56:49 +00:00
Ulf Wendel bd73903efb Fix test: third parameter can be false. 2010-10-05 14:41:08 +00:00
Antony Dovgal 421b86ed5e fix bug #50345 (nanosleep not detected properly on some solaris versions) 2010-10-05 13:43:35 +00:00
Ulf Wendel ccaff0e994 Greetings from SunCC.
ext/mysqli/mysqli_driver.c", line 127|128|129: warning: syntax error:  empty declaration
2010-10-05 12:42:53 +00:00
Dmitry Stogov 1b60eb8813 Fixed bug #44248 (RFC2616 transgression while HTTPS request through proxy with SoapClient object). 2010-10-05 11:43:59 +00:00
Dmitry Stogov 455db21e06 Fixed bug #51008 (Zend/tests/bug45877.phpt fails) 2010-10-05 11:28:56 +00:00
Andrey Hristov bf7e6f930c add some safe casts 2010-10-05 11:08:21 +00:00
Patrick Allaert bf6440d00a Fixed typo in tests (thx Eyal) 2010-10-05 10:42:13 +00:00
Andrey Hristov c4e145b0bc fixing more types 2010-10-05 10:30:00 +00:00
Kalle Sommer Nielsen 33c99f9a44 Fixed constness compiler warning in pdo_mysql 2010-10-05 09:58:15 +00:00
Kalle Sommer Nielsen efe22e3bfa Fix constness warnings 2010-10-05 09:48:07 +00:00
Kalle Sommer Nielsen 87edd143ed Fixed compiler warnings in mysqli
- mysqli.c: Fix unused variables, they are only used in non-mysqlnd mode
 - mysqli_api.c (PHP_5_3 only): Fix constness, add_property_string expects a char *, not a const char *
 - mysqli_prop.c: Cast to long, as its below the LONG_MAX and therefore safe
 - mysqli_result_iterator.c: Cast to ulong as the iterator member expects that rather than a my_longlong

# In trunk only warnings regarding the zend_property_info 
# structure is present and PHP_5_3 is warning free now
2010-10-05 09:40:36 +00:00
Andrey Hristov df2261df2a fix types 2010-10-05 08:56:21 +00:00
Ulf Wendel 234181f690 Fix warnings
ext\mysqlnd\mysqlnd_result_meta.c(57) : warning C4090: 'initializing' : different 'const' qualifiers
ext\mysqlnd\mysqlnd_result_meta.c(64) : warning C4090: 'initializing' : different 'const' qualifiers
ext\mysqli\mysqli_report.c(50) : warning C4013: 'php_mysqli_throw_sql_exception' undefined; assuming extern returning int
2010-10-05 08:29:54 +00:00
Andrey Hristov 4c88033aa2 fix recent TSRM build break, with --enable-debug 2010-10-05 08:17:33 +00:00
Gustavo André dos Santos Lopes b3a3c8f7a6 - Moved ucgendat.c to a separate directory and included the
OpenLDAP license there, as required by the license itself.
2010-10-05 02:34:35 +00:00
Gustavo André dos Santos Lopes 7e61cffb0d - Fixed bug #52981 (Unicode casing table was out-of-date).
Updated with UnicodeData-6.0.0d7.txt and included the
  source of the generator program with the distribution.
#The replaced tables, generated circa 2002, seem to reflect
#Unicode 3.2. I was unable to generate the same property
#offsets with Unicode 3.2 data, but all the tests I made
#indicate php_unicode_is_prop() is returning the correct
#values. The replaced file merely says it used a "modified
#version" of ucgendat, which is not very helpful. The results
#I got were not significantly different, only slightly higher
#offsets at two properties, which were carried over to the
#subsequent properties.
#I was, however, able to replicate precisely the casing table.
#The extent of the "modifications" besides omitting most of
#the tables, a slightly different layout and the casing table
#offsets having been multiplied by 3 is unclear.
#The test suite showed no regressions; however, it's very poor
#in testing the modified portion of the extension.
2010-10-05 01:54:17 +00:00
Kalle Sommer Nielsen 54624f9902 We do not need this TSRMLS_FETCH() call as we do not use any TSRM stuff in here, so we can get
a minor boost here in ZTS mode.
2010-10-04 21:04:25 +00:00
Andrey Hristov a4ad111454 fix two more warnings 2010-10-04 14:52:14 +00:00
Andrey Hristov 9f73a4e045 add some safe casts - lower the number of warnings by 2 2010-10-04 14:12:31 +00:00
Andrey Hristov 4c63a2232d Fix const-ness 2010-10-04 13:54:30 +00:00
Ulf Wendel 5aca10ee13 Trying to fix compiler warnings (on Windows). 2010-10-04 13:36:23 +00:00
Andrey Hristov 159ed311cc Even better patch 2010-10-04 12:59:29 +00:00
Andrey Hristov cacd5ad924 don't define twice the macro on some platforms 2010-10-04 12:41:12 +00:00
Ulf Wendel 1f9a7fd758 Fixing compiler warning. 2010-10-04 10:58:05 +00:00
Ulf Wendel ee2a82e327 Fixing "ext/mysqlnd/mysqlnd.h", line 287: warning: syntax error: empty declaration" 2010-10-04 10:51:44 +00:00
Ulf Wendel 122179478a Next one... ext/mysqli/mysqli_fe.c", line [many]: warning: syntax error: empty declaration 2010-10-04 10:43:21 +00:00
Ulf Wendel 4113fad4ec Fixing compiler warning "ext/mysqli/mysqli_prop.c", line [...]: warning: syntax error: empty declaration" 2010-10-04 10:40:16 +00:00
Ulf Wendel 71bbb24ff0 Sorry again, nothing but removal of white space from the end of the lines.
- fix compile warning "ext/mysql/php_mysql.c:640:11: warning: extra tokens at end of #ifdef directive"
2010-10-04 10:08:10 +00:00
Ulf Wendel 2d925fb216 Sorry for the commit but compiler warnings are annoying and so are white spaces at the end of a line, if one uses an editor which removes them on save and diff's get blown
up by white space changes...

Changes: 
- remove end of line white space
- fix compiler warning "ext/mysqli/mysqli_priv.h:156:27: warning: no newline at end of file"
- fix compiler warning "ext/mysqli/mysqli_fe.h:135:25: warning: no newline at end of file"
- fix compiler warning "ext/mysqli/mysqli.c:896:11: warning: extra tokens at end of #ifdef directive"
2010-10-04 10:02:58 +00:00
Gustavo André dos Santos Lopes 817c28c867 - Implemented FR #50692, not uploaded files don't count towards
max_file_uploads limit.
- As a side improvement, temporary files are not opened for
  empty uploads and, in debug mode, 0-length uploads.
2010-10-04 01:27:33 +00:00
Felipe Pena 090a9b3331 - Fixed bug #52971 (PCRE-Meta-Characters not working with utf-8)
#   In  PCRE,  by  default, \d, \D, \s, \S, \w, and \W recognize only ASCII
#       characters, even in UTF-8 mode. However, this can be changed by setting
#       the PCRE_UCP option.
2010-10-03 16:01:38 +00:00
Gustavo André dos Santos Lopes 4b0927b042 - Fixed a small mistake in the fix for bug #50953 that made connection timeouts not be detected as such. 2010-10-02 18:32:20 +00:00
Dmitry Stogov 4d8503a212 Fixed bug #52879 (Objects unreferenced in __get, __set, __isset or __unset can be freed too early). (mail_ben_schmidt at yahoo dot com dot au, Dmitry) 2010-10-01 09:49:20 +00:00
Ulf Wendel bc6e920ebc Fix leak with persistent connections when using mysqli.default_host is used 2010-10-01 08:54:16 +00:00
Stanislav Malyshev b55d4ecb41 Fix bug #52906 gmp_mod returns negative result when non-negative is expected 2010-10-01 00:12:23 +00:00
Andrey Hristov 60327d87a7 Plug a leak in mysqli when in the same script
a pconn is reused.
Call end_psession earlier - so will mysqlnd and
the plugins free data earlier.
2010-09-30 18:10:03 +00:00
Dmitry Stogov 5c6f0ebeab Prevented crash in GC because of incorrect reference counting 2010-09-30 14:11:51 +00:00
Adam Harvey 104bf57ae7 Loosen the valgrind version check slightly in run-tests.php so that it works
with the packaged valgrind in Ubuntu 10.04.
2010-09-30 11:16:45 +00:00
Adam Harvey 5f9956397f Fixed bug #52941 (The 'iconv_mime_decode_headers' function is skipping
headers).
2010-09-30 11:04:21 +00:00
Gustavo André dos Santos Lopes 0db999a94f - Fixed bug #52944 (Invalid write on second and subsequent reads with an inflate filter fed invalid data). 2010-09-29 18:58:58 +00:00
Andrey Hristov 3113744c57 Fix a problem that leads to leaks in plugins that
use stmt local data - no free is called for statements
that are over-prepared
2010-09-29 13:18:07 +00:00
Andrey Hristov 517fd63c32 fix the test 2010-09-29 11:40:57 +00:00
Felipe Pena a5459c09c9 - Fixed bug #52947 (segfault when ssl stream option capture_peer_cert_chain used) 2010-09-29 01:25:35 +00:00
Andrey Hristov 22d73027d0 add another hook, maybe the last one, for MYSQLND_STMT, which
was missed before
2010-09-28 14:36:18 +00:00
Pierre Joye 6bae8fbd9c - Fixed possible flaw in open_basedir (CVE-2010-3436) 2010-09-28 13:30:30 +00:00
Pierre Joye edb4351004 - Fixed possible flaw in open_basedir (CVE-2010-3436) 2010-09-28 13:29:33 +00:00
Felipe Pena 2cd1661e2d - Fixed bug #52931 (strripos not overloaded with function overloading enabled) 2010-09-27 23:09:00 +00:00
Derick Rethans 761cc30055 - Updated to version 2010.13 (2010m) 2010-09-27 13:57:42 +00:00
Andrey Hristov 42a80fac8c Fixed bug #45921 (Can't initialize character set hebrew) 2010-09-27 12:35:59 +00:00
Andrey Hristov b080cfcc71 Fix the value, it was bumped 2010-09-27 11:23:01 +00:00
Adam Harvey 2d4c7b4033 Fix bug #52929 (Segfault in filter_var with FILTER_VALIDATE_EMAIL with large
amount of data).
2010-09-27 07:08:04 +00:00
Pierre Joye 4839387edd - fix bug #52926, zlib fopen wrapper does not use the context 2010-09-26 20:46:54 +00:00
Adam Harvey fc2ed1b5d0 MFH: fix phar phpinfo() tests. 2010-09-24 12:13:33 +00:00
Andrey Hristov 216effe4f5 WS fixes 2010-09-23 16:03:22 +00:00
Ulf Wendel 8bb124394b Let's try not to have 'uft8'-only tests and avoid setting the charset upon connect. I've changed the tests to make no assumptions on the server charset setting. var_dump()/EXPECTF tests got replaced with dynamic tests which try to take the current charset into account. 2010-09-23 15:08:43 +00:00
Ulf Wendel 389965f1de Merge from head: do not use deprecated function aliases. The test logic is unchanged. 2010-09-23 14:59:13 +00:00
Adam Harvey 107f916322 Fix up the vim folds in phar_object.c and add a note that the two prototypes
before Phar::__construct() are actually valid and not a mistake, per bug
#52909.
2010-09-23 04:41:14 +00:00
Pierre Joye f1d2e1453c - Fix #52908, fix declaration 2010-09-22 21:28:37 +00:00
Andrey Hristov bdaec773b5 Unify, force one charset at connect, thus fixing
test failures because different servers have different
system charsets.
2010-09-22 18:25:33 +00:00
Ulf Wendel 7f0ec2a127 Test update for sql_mode = ansi 2010-09-22 15:22:22 +00:00
Ulf Wendel 841c151b64 Test update for sql_mode = ANSI 2010-09-22 15:16:07 +00:00
Andrey Hristov ff27146950 small macro fix 2010-09-22 14:54:43 +00:00
Andrey Hristov 86c1364695 fix for bug 52891 - optimize a bit 2010-09-22 14:26:43 +00:00
Andrey Hristov b962a566af hier comes the news 2010-09-22 11:40:20 +00:00
Andrey Hristov 1de4cfb791 Fix for
Bug #52891 Wrong data inserted with mysqli/mysqlnd when using bind_param,value>LONG_MAX
2010-09-22 11:38:49 +00:00
Andrey Hristov 047f0e4d88 update tests 2010-09-22 11:09:29 +00:00
Ulf Wendel 2ff0c392e7 Trying to pimp gcov.php.net code coverage tests.. trying to cover mysqlnd compress code with a standard test run 2010-09-20 19:01:13 +00:00
Ulf Wendel 7f6d8e53fd Align test to the style used in the other tests 2010-09-20 18:26:11 +00:00
Ulf Wendel 1a40f20729 No reason not to run the tests with libmysql. Its long, long ago that pconnect has been a mysqlnd only feature 2010-09-20 17:26:39 +00:00
Ilia Alshanetsky 9aafc5d1c6 Fixed a compiler warning 2010-09-20 12:48:27 +00:00
Ulf Wendel c30edd027f Dont be strict on error messages, they can vary by server version 2010-09-20 09:04:48 +00:00
Andrey Hristov 531085785b add test case for 52891 2010-09-20 09:02:31 +00:00
Pierre Joye 63883d4970 - not needed here anymore 2010-09-18 14:54:40 +00:00
Ulf Wendel 2d656381f8 Skip if PDO_SQLITE is not available 2010-09-17 17:11:21 +00:00
Ulf Wendel fe726b1beb Remove OS dependent directory separator from EXPECT 2010-09-17 16:40:02 +00:00
Pierre Joye 88117e6128 - restore VOLUME_NAME_NT and VOLUME_NAME_DOS definition, thx Andrey for the headup 2010-09-17 11:34:49 +00:00
Pierre Joye 064578114f - WS 2010-09-16 19:15:26 +00:00
Pierre Joye 664f06616a - fix news 2010-09-15 16:59:57 +00:00
Andrey Hristov 17ae7c1659 remove unneeded proxy function _mysqlnd_restart_psessoin 2010-09-15 12:23:45 +00:00
Andrey Hristov d99ee78503 Remove unneeded proxy function _mysqlnd_end_psession 2010-09-15 12:11:33 +00:00
Adam Harvey 416240947b Fix bug #52849 (GNU MP invalid version match). 2010-09-15 10:51:55 +00:00
Ulf Wendel 0dc0d76854 Fix test 2010-09-15 08:20:15 +00:00
Felipe Pena 09ca429157 - Fixed bug #52843 (Segfault when optional parameters are not passed in to mssql_connect) 2010-09-15 02:12:46 +00:00
Andrey Hristov fc2143b993 unify magic quotes handling. Also fix a problem which
resulted in a longjmp in debug PHP,because of usage of
zval that is NULL in a hash context.
2010-09-14 16:09:42 +00:00
Jérôme Loyet 8c1582c9ad - remove a memory leak (missing efree()) 2010-09-14 15:33:43 +00:00
Johannes Schlüter 0631d2c59d - Don't be silent on bailout 2010-09-14 14:26:37 +00:00
Adam Harvey 877a6f92f0 Fix bug #52827 (cURL leaks handle and causes assertion error (CURLOPT_STDERR)).
Patch by Gustavo.
2010-09-14 10:58:59 +00:00
Pierre Joye 992991fe1b - fix #48831 php -i has different output to php --ini 2010-09-14 10:36:21 +00:00
Adam Harvey 1f06a6a4e8 Fix English in the error message emitted when json_decode() is called with
depth <= 0.
2010-09-14 03:46:28 +00:00
Kalle Sommer Nielsen 4119b09a1a Fixed bug #52772 (var_dump() doesn't check for the existence of get_class_name before calling it) 2010-09-13 20:14:18 +00:00
Pierre Joye f4da90705b - use php_sys_sat 2010-09-13 11:17:40 +00:00
Pierre Joye 25ac985422 - ws 2010-09-13 11:06:18 +00:00
Pierre Joye 65942d343f - sanity check for the path length and don't treat UNC as local path (no functional change, only less ops) 2010-09-13 10:58:18 +00:00
Pierre Joye 013727e1c7 - MFH 2010-09-13 10:30:21 +00:00
Pierre Joye e5323bde9a - silent warning 2010-09-13 10:28:45 +00:00
Pierre Joye ffd60af473 - use php_sys_lstat 2010-09-13 10:27:55 +00:00
Pierre Joye eafd04d172 - use php_sys_readlink 2010-09-13 09:30:07 +00:00
Pierre Joye 3a2f5c2219 - WS 2010-09-13 09:08:42 +00:00
Adam Harvey a7da07a15f Fix bug #52826 (phpinfo is incorrect for bzip2 stream wrapper). 2010-09-13 07:41:39 +00:00
Pierre Joye d97c07c265 - remove dummy wrapper for readfile 2010-09-11 19:07:43 +00:00
Felipe Pena 6ca2ea7109 - Fixed bug #49215 (make fails on glob_wrapper) 2010-09-10 21:33:50 +00:00
Pierre Joye 20944e2516 - use php_sys_readlink 2010-09-10 19:25:56 +00:00
Pierre Joye cd727b4e9a - remove 'UNC' from the target 2010-09-10 19:21:02 +00:00
Pierre Joye 77d307ccbf - open_basedir symlink support for Windows 2010-09-10 17:45:13 +00:00
Pierre Joye 2b04364852 - Implement bug #51804, splFileInfo::getLinkTarget() on Windows 2010-09-10 14:17:40 +00:00
Pierre Joye 391ff7682c - add php_sys_readlink 2010-09-10 14:01:44 +00:00
Adam Harvey 6e06a45f24 Fix bug #52802 (Out-of-date comment for
file_get_contents/php_stream_copy_to_mem) by updating the relevant comments.
2010-09-10 03:08:05 +00:00
Felipe Pena 03df7fce82 - Fixed test 2010-09-09 21:46:29 +00:00
Adam Harvey 97f6da74a1 Fixed bug #52744 (cal_days_in_month incorrect for December 1 BCE). Original
patch by gpap at internet dot gr.
2010-09-09 06:41:23 +00:00
Adam Harvey bcea4e69bb Fix bug #52786 (PHP should reset section to [PHP] after ini sections). Patch by
Fedora at famillecollet dot com.
2010-09-09 05:11:05 +00:00
Adam Harvey 7a2c4afa91 Fix bug ordering in NEWS. 2010-09-09 05:08:58 +00:00
Pierre Joye abd1af951c - fix the fix for bug #52323 2010-09-08 11:51:11 +00:00
Pierre Joye b310ce9ccc - WS 2010-09-08 10:26:59 +00:00
Pierre Joye ce82e028b2 - Fix bug #52323, return value of php_network_connect_socket should be set even if the caller does not care about the error_string 2010-09-08 10:25:40 +00:00
Pierre Joye 266ff49a9a - Fix #50524, proc_open should respect cwd as it does on other platforms 2010-09-08 08:34:57 +00:00
Jérôme Loyet 9a1623dc5f - remove FPM specific version which is irrelevant since FPM integration into core. 2010-09-07 22:03:43 +00:00
Jérôme Loyet c725c054d6 - Fixed bug #52498 (libevent was not only linked to php-fpm) 2010-09-07 21:12:28 +00:00
Pierre Joye f696aece3f - fix bug #50953, socket will not connect to IPv4 address when the host has both ipv4 and ipv6 addresses 2010-09-07 09:47:36 +00:00
Pierre Joye c286d482aa - links related fixes 2010-09-06 14:54:43 +00:00
Pierre Joye 80ddb8d95c - fix bug #52260, catch all DNS not found error 2010-09-06 10:57:42 +00:00
Pierre Joye 4275e7428b - timeval element are always 32bit long on Windows 2010-09-06 10:39:26 +00:00
Pierre Joye 6c08709bd6 - kill warning 2010-09-06 10:28:04 +00:00
Pierre Joye 329cab2942 - restore credits, fix 5.3 as well, aka do it right /cc Deric 2010-09-05 14:38:35 +00:00
Derick Rethans d30323b867 - Clean up the generated tmp-php.ini after make test has run. 2010-09-05 12:29:47 +00:00
Rasmus Lerdorf 8022e383ff This incorrect contraction started to get on my eyes after I saw it for the
87th time while struggling with an annoying SOAP service.
2010-09-03 22:24:08 +00:00
Ulf Wendel 4789901728 Test for http://bugs.php.net/52221. Test will fail with mysqlnd but should pass with libmysql. 2010-09-03 14:20:32 +00:00
Dmitry Stogov c7b95db5ab Fixed GC bug 2010-09-03 09:27:47 +00:00
Ulf Wendel 48814f96ef Fix test failure. Add new test for MYSQLI_OPT_INT_AND_FLOAT_NATIVE mysqlnd feature. 2010-09-02 14:57:38 +00:00
Pierre Joye edfe2e11db - add it for 5.3 as well 2010-09-02 10:32:32 +00:00
Stanislav Malyshev a54ac71371 Fix bug #50590 - IntlDateFormatter::parse result is limited to the integer range 2010-09-01 20:34:59 +00:00
Andrey Hristov 292785ed61 fix build on windows, seems this macro is not defined 2010-09-01 16:54:20 +00:00
Andrey Hristov 8220c2e4ce OPT_COMPRESS support for mysqlnd_conn::set_client_option
To be used by mysqli_options
2010-09-01 14:47:36 +00:00
Pierre Joye 13fd8fcded - WS 2010-09-01 10:16:48 +00:00
Pierre Joye 87bf415853 - sb needed only in safemode 2010-09-01 10:13:46 +00:00
Pierre Joye 6396a3272c - add lstat support for Windows 2010-09-01 09:49:53 +00:00
Jérôme Loyet 6b2b7046ed - Fixed bug #52725 (gcc builtin atomic functions were sometimes used when they were not available). 2010-09-01 08:17:18 +00:00
Jérôme Loyet 5fd50c99cb - add 'max children reached' to the FPM status page. It shows how many times
a pool has reached the max_children parameter.
2010-08-31 14:49:16 +00:00
Ulf Wendel d27642fece PHP has changed (undefined) behaviour from 5.3.2 to 5.3.3: ->{} = , which seems to have been never an officially supported syntax and have never been a valid property name, is no longer allowed and PHP bails. 2010-08-31 14:43:02 +00:00
Timm Friebe c37b0c690a - MFT: Add ".so" suffix to checks on libsybct[64] bundles
# See patch by royanee at yahoo dot com @ bug #45357
2010-08-31 12:28:30 +00:00
Jérôme Loyet cbd21afae9 - Add libevent version to the startup debug log in FPM. 2010-08-31 09:41:04 +00:00
Jérôme Loyet 0605d5f309 - Changed listen.backlog in the FPM configuration file to default to 128
instead of -1 (except on FreeBSD and OpenBSD). This is the same value 
  as the one used in the cgi sapi. This patch completes revision 302725.
2010-08-31 09:33:53 +00:00
Felipe Pena c0840f18f3 - Fixed crash on non-Windows build 2010-08-30 21:34:54 +00:00
Andrey Hristov 77d650908d here comes the news 2010-08-30 18:13:28 +00:00
Andrey Hristov 72bef34918 Fix for MySQL Bug #49406
Binding params doesn't work when selecting a date inside a CASE-WHEN
(http://bugs.mysql.com/bug.php?id=49406)
The MySQL server sends MYSQL_TYPE_NEWDATE values as clear text, even
when PS are used and thus the binary protocol are used. Changing the
handler for the type.
2010-08-30 18:10:23 +00:00
Pierre Joye c55632007e - fix possible leak and error while fetching PHPRC 2010-08-30 17:05:56 +00:00
Ulf Wendel f671ad6275 Adding MYSQLI_OPT_SSL_VERIFY_SERVER_CERT for use with mysqli_options(). 2010-08-30 16:59:10 +00:00
Pierre Joye 71966d1e5a - WS 2010-08-30 16:52:48 +00:00
Derick Rethans b8837a79b2 - Tests for bug #52342 (DateTime setIsoDate results in wrong timestamp). 2010-08-30 16:48:21 +00:00
Derick Rethans adbf9e766e - Added test file that I forgot to commit. 2010-08-30 16:47:46 +00:00
Derick Rethans bb8ec8d629 - Fixed bug #52430 (date_parse parse 24:xx:xx as valid time). (Derick) 2010-08-30 16:40:29 +00:00
Derick Rethans aa82af78e4 - Fixed bug #52454 (Relative dates and getTimestamp increments by one day) 2010-08-30 16:25:52 +00:00
Derick Rethans 83a2d6e96e - Test for (non-)bug #52577. 2010-08-30 15:40:36 +00:00
Derick Rethans 550e18eaed - Added test for bug #46874 (same as #52668). 2010-08-30 15:35:41 +00:00
Derick Rethans bd184cc572 - Fixed bug #52668 (Iterating over a dateperiod twice is broken). 2010-08-30 15:32:09 +00:00
Jérôme Loyet a7057e4e49 - only one process (for all pools) could be killed by the 'dynamic' process manager. Now it's one process per pool which can be killed by the 'dynamic' process manager.
- rename nonsense variable (i)
2010-08-30 15:21:31 +00:00
Ulf Wendel d0e7e5aa2a If you add functions to the PDO core, take care not to break other PDO drivers tests, document the function and provide a function test for the PDO core to check your default/fallback implementation. 2010-08-30 09:20:48 +00:00
Ilia Alshanetsky a12d2bf747 Fixed a compiler warning 2010-08-27 19:43:08 +00:00
Pierre Joye 3c3ddb39b4 - WS 2010-08-27 10:09:52 +00:00
Andrey Hristov d9f50d95e3 Add proper magic_quotes_runtime support for mysqlnd, but
in mysqli, so we don't need to tamper myslqnd.
magic_quotes_runtime are deprecated and not existant in 5.4, thus
only fixing in the branch.
2010-08-26 14:51:58 +00:00
Pierre Joye a5e51efff8 - Symlink resolution fails when target is a DFS path 2010-08-26 14:23:17 +00:00
Ulf Wendel 6338f99d52 Test for http://bugs.mysql.com/bug.php?id=49406, Binding params doesn't work when selecting a date inside a CASE-WHEN 2010-08-26 13:35:20 +00:00
Felipe Pena 8fba11c57b - Fixed bug #52699 (PDO bindValue writes long int 32bit enum) 2010-08-25 22:03:03 +00:00
Andrey Hristov 07986a53e3 here comes the news 2010-08-25 15:07:34 +00:00
Andrey Hristov ab778e7414 Fix for bug #52221 Misbehaviour of magic_quotes_runtime (get/set)) 2010-08-25 15:06:47 +00:00
Andrey Hristov 7a83093a3b fix the build. two mysqli functions were missing after
recent commit - set_charset and get_charset
2010-08-25 15:02:02 +00:00
Pierre Joye adcf926b80 - CVE # for mops 2010-24 2010-08-25 14:27:39 +00:00
Adam Harvey c783495edf Fixed bug #52681 (mb_send_mail() appends an extra MIME-Version header). 2010-08-25 06:07:22 +00:00
Jérôme Loyet f9c6bb1ad8 - Fixed bug #52674 (FPM Status page returns inconsistent Content-Type headers). 2010-08-23 20:40:44 +00:00
Pierre Joye 411d090895 -fix logic (and BC break) 2010-08-23 18:05:05 +00:00
Pierre Joye b9d73bb910 - WS 2010-08-23 17:16:17 +00:00
Pierre Joye a6c5363f05 - revert fix for #52655, rev. 302614 2010-08-23 17:01:44 +00:00
Pierre Joye 6326528127 - add follow_location support for http stream, enabled by default to keep BC. Allows one to ignore the location header, w/o having to ignore errors or other tricks, the location data is however still available (meta) 2010-08-23 16:54:57 +00:00
Pierre Joye 1d7ce1aae0 - fix string validation entry, mops-2010-24 2010-08-23 14:25:48 +00:00
Kalle Sommer Nielsen 3947bfeadf Fixed bug #52655 (SimpleXMLIterator supports ArrayAccess without implementing the interface) 2010-08-21 16:22:46 +00:00
Felipe Pena da3743b7b9 - Added missing void parameter checks 2010-08-21 16:09:18 +00:00
Jérôme Loyet 6db49b7864 - Fix #52407 (use __sync_bool_compare_and_swap in fpm_atomic.h if gcc >= 4.1 is used - credit to geissert) 2010-08-21 06:46:18 +00:00
Jérôme Loyet 1f3aaf508c - typo (thx to sixd) 2010-08-20 17:00:57 +00:00
Pierre Joye 0f58370215 - fix string validation, MOPS-2010-24 2010-08-20 16:37:33 +00:00
Andrey Hristov 4348f9e163 svn up messed this 2010-08-20 15:39:03 +00:00
Andrey Hristov bb89f5c275 here comes the news 2010-08-20 12:29:59 +00:00
Andrey Hristov 27567040d2 Fix for bug #52654 mysqli doesn't install headers with structures it uses 2010-08-20 12:25:17 +00:00
Jérôme Loyet 72064e1a28 Fix #52609 (INI scanner did not use ZEND_INI_SCANNER_NORMAL) 2010-08-20 08:33:57 +00:00
Ilia Alshanetsky 06c460c995 Fixed bug #52599 (iconv output handler outputs incorrect content type when flags are used). 2010-08-19 12:27:13 +00:00
Kalle Sommer Nielsen 0b1477a716 Use userland function name, not internal name for NEWS 2010-08-18 20:26:42 +00:00
Kalle Sommer Nielsen e92ebce7f8 Fixed possible crash in php_mssql_get_column_content_without_type()
# Also fix NEWS entry in PHP_5_2 for previous commit
2010-08-18 20:16:05 +00:00
Kalle Sommer Nielsen c2c3467ab4 Fixed bug #52636 (php_mysql_fetch_hash writes long value into int)
# Tested by rein at basefarm dot no
2010-08-18 20:00:18 +00:00
Felipe Pena 2fb2f81538 - Improved fix for bug #52573 2010-08-18 01:59:37 +00:00
Andrey Hristov ed806c4461 here comes the news 2010-08-17 18:10:08 +00:00
Andrey Hristov 2a926ec6ec Fix for Bug #52613 crash in mysqlnd 2010-08-17 18:08:25 +00:00
Andrey Hristov 33c7b63c6c Update with PHP_DEF_FE, also update the test 2010-08-17 18:07:11 +00:00
Kalle Sommer Nielsen a109c3538f Fix my fix for arginfo, trunk patch will follow shortly 2010-08-17 13:34:11 +00:00
Kalle Sommer Nielsen 5a3624221b Fixed the $context parameter on copy() to have an effect (approved for 5.3 by Johannes)
# To not change a PHPAPI in a point release, a new function have been added to support contexts:
# php_copy_file_ctx(), php_copy_file_ex() now simply wraps to that
2010-08-17 12:17:28 +00:00
Kalle Sommer Nielsen a780e73f62 Fix arginfo for copy(), see r302376 for more info 2010-08-16 21:59:42 +00:00
Kalle Sommer Nielsen cee97080d1 Fixed bug #50836 (run_tests.php alerts syntax errors while testing session) 2010-08-16 20:56:00 +00:00
Andrey Hristov c204922c7f Added utf16 and utf32 support, as in MySQL 5.5, in mysqlnd.
Fixed tests, so they don't try to use SET NAMES utf16|utf32,
as character_set_client can't be set to those (the lexer can't
read ucs2, utf16 and utf32).
Added support for 4-byte utf8, as found in MySQL 5.5
2010-08-16 17:44:50 +00:00
Andrey Hristov 0a9ca62a77 Fix test, so it doesn't fail with MySQL 5.5, where InnoDB
is the default engine
2010-08-16 16:15:15 +00:00
Andrey Hristov 4d72dba301 detect easily which charset doesn't work 2010-08-16 16:13:55 +00:00
Derick Rethans e577899507 - Updated to version 2010.12 (2010l) 2010-08-16 12:48:53 +00:00
Pierre Joye 894dc2480c - WS 2010-08-16 10:29:01 +00:00
Andrey Hristov f8e312ea27 Here comes the news 2010-08-16 09:45:26 +00:00
Andrey Hristov 2f2cdc6a51 Sync with trunk, fixes build failure on MacOSX.
Fix for Bug #52417 MySQLi build failure with mysqlnd
2010-08-16 09:44:13 +00:00
Derick Rethans 6c579efc43 - Updated to version 2010.11 (2010k) 2010-08-16 09:32:51 +00:00
Dmitry Stogov 7ca414f5e7 Bug #52361 (Throwing an exception in a destructor causes invalid catching) 2010-08-16 09:20:46 +00:00
Dmitry Stogov 890c709036 Fixed memory leaks (related to bug #52361) 2010-08-16 08:11:08 +00:00
Kalle Sommer Nielsen 61a1bad720 Fixed bug #52593 (exif is placed before mbstring in php.ini) 2010-08-16 00:26:39 +00:00
Pierre Joye 4588d5d79f - #52607, fix ENV conflit with win SDK 7.1 2010-08-15 13:54:03 +00:00
Pierre Joye bb669f2c1b - year++ 2010-08-15 13:40:29 +00:00
Pierre Joye 1bd381890d - #52607, fix ENV conflit with win SDK 7.1 2010-08-15 03:38:08 +00:00
Ilia Alshanetsky bbeafa1dcf Win32 build fixes 2010-08-14 14:47:49 +00:00
Ilia Alshanetsky 842bc947e2 Upgraded bundled Sqlite3 to version 3.7.0.1 2010-08-14 14:44:39 +00:00
Ilia Alshanetsky c5602787fc MFH: Upgraded bundled PCRE to version 8.10. 2010-08-14 14:37:13 +00:00
Felipe Pena c101964325 - Fixed the fix for bug #52546 2010-08-13 22:12:37 +00:00
Kalle Sommer Nielsen e72a69aae6 Changed mysqli_report() to be per-request specific rather than per-process specific (Fixes #52390) 2010-08-13 10:43:15 +00:00
Andrey Hristov a6100682d0 Fix for bug #52413 MySQLi build failure on OS X 2010-08-13 09:57:04 +00:00
Andrey Hristov 973e134d2d Fix for bug #52433 Call to undefined method mysqli::poll() 2010-08-13 09:18:06 +00:00
Sascha Schumann 14edb68858 - fix cast 2010-08-12 17:28:08 +00:00
Andrey Hristov 8409cb44b2 Make this function static, as it is used only in this file.
Add additional comment about how it works.
2010-08-12 14:17:31 +00:00
Andrey Hristov 6fc06f265e Allocate memory in a burst mode, and later use it. Increases
locality of the data.
Also use MYSQLND_INC_CONN_STATISTIC in one place, instead of
two, thus removing code duplication from macro expansion - less
code to fit in the instruction cache.
2010-08-12 13:23:16 +00:00
Andrey Hristov 92ef63a07b Switch from using PHP_MAJOR_VERSION to separate define for
unicode. Unicode is no more, but these are "bookmarks" where
to change mysqlnd, if Unicode becomes trendy again.
2010-08-12 12:02:02 +00:00
Andrey Hristov 8bf7114691 ws + cs 2010-08-12 11:38:08 +00:00
Sascha Schumann 50a0ea7b8c separate properties of internal classes in ZTS mode fully,
otherwise multiple threads will modify the zvals' contents
without any synchronisation.
2010-08-12 07:58:14 +00:00
Kalle Sommer Nielsen 49f22527cc Fixed bug #50804 (Document configure.js --enable-crt-debug) 2010-08-11 22:38:15 +00:00
Kalle Sommer Nielsen 1e4d963734 Ignore the x64 directory for Windows x64 builds 2010-08-11 21:26:09 +00:00
Kalle Sommer Nielsen 1178d719ea Seems like this one skipped the commit (E_ERROR -> E_CORE_ERROR) for zend.ze1_compatibility_mode (re #52570) 2010-08-11 21:18:45 +00:00
Kalle Sommer Nielsen 8deefa8780 Changed deprecated ini options on startup from E_WARNING to E_DEPRECATED (Fixes #52570)
# Trunk patch will follow shortly
2010-08-11 21:12:18 +00:00
Dmitry Stogov 7d55780ca0 In ZTS mode default properties and constants of internal classes can't be modified in place and have to be separated 2010-08-11 09:38:41 +00:00
Felipe Pena 658272c9ee - Fixed bug #52573 (SplFileObject::fscanf Segmentation fault) 2010-08-10 22:37:24 +00:00
Andrey Hristov 0d3d292633 Fix Request #52302 mysqli_fetch_all does not work with MYSQLI_USE_RESULT 2010-08-09 17:29:30 +00:00
Andrey Hristov f8c2680509 Lay foundations for named pipe support in mysqlnd 2010-08-09 17:01:57 +00:00
Pierre Joye cf7d0fb4e7 - #52523, fix logic (0 is perfectly valid as part of the data, bin data) 2010-08-09 08:14:14 +00:00
Pierre Joye 1e26362d4b - WS 2010-08-09 07:32:21 +00:00
Felipe Pena 904b9282fe - Fixed bug #50481 (Storing many SPLFixedArray in an array crashes) 2010-08-08 23:56:29 +00:00
Ilia Alshanetsky 7ab1a74f49 Additional fix for bug #52550 & fix test & warning from previous fixes 2010-08-08 15:45:02 +00:00
Christopher Jones d0dc4810eb Fixed bug #51610 (Using oci_connect causes PHP to take a long time to exit). Do PECL OCI8 1.4.3 release 2010-08-07 00:24:26 +00:00
Felipe Pena afed1468e4 - Added missing SKIPIF 2010-08-06 23:05:39 +00:00
Felipe Pena f4644c8c85 - Fix test 2010-08-06 23:01:32 +00:00
Felipe Pena 07c1929a7a - Fixed bug #52533 (ext/curl/tests/curl_multi_getcontent_basic3.phpt broken due php.net/robots.txt)
patch by: glen at delfi dot ee
2010-08-06 22:57:41 +00:00
Felipe Pena 8be696d143 - Updated generated file 2010-08-06 22:23:10 +00:00
Felipe Pena 7e8ec822a5 - Fix build 2010-08-06 22:21:13 +00:00
Johannes Schlüter 97317c7b1e - ext_skelshould create a .svnignore not .cvsignore these days 2010-08-06 22:19:47 +00:00
Christopher Jones a59ffde6bc Release PECL OCI8 1.4.2 2010-08-06 22:12:48 +00:00
Ilia Alshanetsky fbe6499d46 WS 2010-08-06 20:16:11 +00:00
Ilia Alshanetsky 231d8dd526 Another fix for issue indentified in bug #52550 2010-08-06 20:04:29 +00:00
Ilia Alshanetsky c0edb4afce Fixed issues inside str_pad() identified by bug #52550 2010-08-06 19:55:10 +00:00
David Soria Parra 9d02d50df2 make ssl_set return value in mysqlnd compatible with libmysqli return value 2010-08-06 19:47:03 +00:00
Ilia Alshanetsky 64ceec13f2 Use correct order of operations. Second of many fixes for bug #52550 2010-08-06 19:11:34 +00:00
Rasmus Lerdorf 0d1ab2f6ac Fix 5.3 as well 2010-08-06 18:20:41 +00:00
Felipe Pena f171aefb31 - Fixed bug #52546 (pdo_dblib segmentation fault when iterating MONEY values) 2010-08-05 23:32:18 +00:00
Felipe Pena 1e17bb2aab - Fixed bug #52534 (var_export array with negative key) 2010-08-04 23:11:44 +00:00
Jérôme Loyet 5fe988518a BUG: all value comparaisons were not case insensitive in the conf file parser 2010-08-02 21:46:52 +00:00
Jérôme Loyet c80e055c9c typo 2010-08-02 09:28:54 +00:00
Jérôme Loyet 1c50d5385d correct php-fpm.conf: slowlog has no default value 2010-08-02 09:02:48 +00:00
Felipe Pena 6150174941 - Fixed bug #52468 (wddx_deserialize corrupts integer field value when left empty) 2010-08-01 17:34:09 +00:00
Felipe Pena 3ef14fc609 - Fixed bug #52508 (newline problem with parse_ini_file+INI_SCANNER_RAW) 2010-08-01 15:26:54 +00:00
Felipe Pena c0e6f37cb9 - Fixed bug #52484 (__set() ignores setting properties with empty names) 2010-08-01 13:27:02 +00:00
Felipe Pena cb1d315b7d - Fix tests 2010-07-31 22:10:43 +00:00
Felipe Pena 30a8dcff1b - New test 2010-07-29 23:46:49 +00:00
Felipe Pena e3ddef53b4 - Fixed bug #52487 (PDO::FETCH_INTO leaks memory) 2010-07-29 23:38:55 +00:00
Jérôme Loyet 4445c85d4f - Fixed bug #52476 (move php-fpm man page from section 1 to section 8) 2010-07-29 22:07:00 +00:00
Raphael Geissert 444bba79ba Fix required facilities for php-fpm's init script
$all should only be used in rare, and very specific, cases.
2010-07-29 19:13:42 +00:00
Pierre Joye 110fab9803 - fix build 2010-07-29 11:58:41 +00:00
Sriram Natarajan a0bf0739a9 - Fixed bug #52436 (Compile error in pcre if systems do not have stdint.h)
# PCRE's config.h can very well reuse the definitions made available from
# PHP's configure script output available within php_config.h
2010-07-27 21:42:22 +00:00
Pierre Joye ed4f6dbd36 - make libsasl optional (as vc6 bins do not have it) 2010-07-26 22:28:38 +00:00
Rasmus Lerdorf 94286b35e3 Let's keep NEWS entries to things that might affect users.
A typo in a comment isn't very news-worthy.
2010-07-23 15:52:34 +00:00
Adam Harvey 3aceb07efd MFH: fix bug #52380 (Typo in lcfirst comment docs). 2010-07-23 09:02:14 +00:00
Adam Harvey ebc6982eb8 Correct bug ID in the NEWS file for posterity. 2010-07-23 08:58:03 +00:00
Johannes Schlüter 200b139c69 - Back to -dev 2010-07-22 11:08:31 +00:00
Johannes Schlüter 6212b88ef3 - PHP 5.3.3 2010-07-21 10:50:07 +00:00
Johannes Schlüter 72ff4aac7e - merge NEWS for 5.2.14 and 5.3.3 2010-07-21 09:02:45 +00:00
Pierre Joye 426e14a6ed - add CVE # 2010-07-20 09:26:29 +00:00
Adam Harvey 5ce0bb46f6 MFH: fix for bug #52317 (Segmentation fault when using mail() on a rhel 4.x
(only 64 bit)).
2010-07-19 13:38:53 +00:00
Adam Harvey 2e1cd1e133 Revert r301354, since we don't need a test for a bogus bug. 2010-07-19 09:58:19 +00:00
Kai Schroeder 5126ac9ab0 Test for #50475 2010-07-17 23:29:52 +00:00
Kai Schroeder c11850b406 Test for #51819 2010-07-17 23:20:24 +00:00
Kai Schroeder b1fb44660d Test for #48187 2010-07-17 22:47:13 +00:00
Kai Schroeder 221c71032f Test for #51994 2010-07-17 22:17:48 +00:00
Kai Schroeder d53e8cfb83 Test for #52290 2010-07-17 21:57:16 +00:00
Kai Schroeder ede218d54c Test for #52359 2010-07-17 21:26:01 +00:00
Andrey Hristov a30113b617 Fix for Bug #51583 Bus error due to wrong alignment in mysqlnd 2010-07-15 16:57:14 +00:00
Pierre Joye 1dc9e43cd0 - fix vc6 build 2010-07-15 00:13:20 +00:00
Johannes Schlüter 50554563af Back to -dev 2010-07-14 23:40:42 +00:00
Johannes Schlüter 6d85947b52 PHP 5.3.3RC3 2010-07-14 23:01:42 +00:00
Dmitry Stogov 4c961e9045 Fixed incorrect reinitialization 2010-07-14 10:27:08 +00:00
Kalle Sommer Nielsen d733338225 Update the re2c files aswell (bug #51943) 2010-07-14 00:04:43 +00:00
Kalle Sommer Nielsen e71ee33358 Fixed bug #51943 (Several files are out of ANSI spec)
# Based on patch by CoreyStup at gmail dot com
2010-07-13 23:59:54 +00:00
Kalle Sommer Nielsen 00fabe553a MFT: Fixed bug #52037 (Concurrent builds fail in install-programs) -- Patch by Seanius at debian dot org
# Sorry for the non sparse commit, due to a broken co
2010-07-13 17:24:13 +00:00
Andrey Hristov e6dc3a5cbc Give an error when USE_RESULT is used with fetch_all 2010-07-13 13:02:00 +00:00
Scott MacVicar c02f6724a8 Doing this as a seperate commit unless we need to back it out.
Fix a bug when var_export() causes a fatal error that could inadvertently display data due to flushing of the output buffer.

Examples include, memory limit, execution time and recursion.
2010-07-09 21:19:27 +00:00
Andrey Hristov f20dd1f9ae adding arginfo to mysqli fixed the bug 2010-07-08 10:18:46 +00:00
Felipe Pena 5f790678ec - Fixed ZTS build 2010-07-07 22:46:54 +00:00
Etienne Kneuss a3bf7aa4fe Fixed #51697 (Unsafe operations in free_storage of SPL iterators,
causes crashes during shutdown)
2010-07-07 21:55:17 +00:00
George Wang 6106c44c10 applied patch from bug report 51452 2010-07-07 20:03:04 +00:00
Andrey Hristov e670162315 Cleanup in trunk. Remove some functions, noted in
UPGRADING. sed-ed the tests to change the usage
to the real function name.
2010-07-07 12:09:36 +00:00
Andrey Hristov ce1bd65d29 arginfo for mysqli, was too fast to commit in trunk instead of one
directory up, thus the patch was split in two.
2010-07-07 11:37:35 +00:00
Timm Friebe a4ff8bce62 - MFT: Added -DSYB_LP64 to CFLAGS on 64 bit platforms
- MFT: Added checks for 64 bit versions of sybase libraries
- MFT: Added checks for sybase libraries prefixed with "libsyb"
2010-07-07 10:15:24 +00:00
Scott MacVicar e1ce0a64ea Fix bug #52262 - Invalid UTF-8 documents don't set an error code when they fail to decode. 2010-07-06 17:01:30 +00:00
Antony Dovgal 336b5af34b fix typos and use correct directive names in error messages 2010-07-06 11:37:19 +00:00
Felipe Pena a4d1188313 - Fixed tests 2010-07-06 00:25:52 +00:00
Dmitry Stogov 09d8bbb2ee Fixed bug #52237 (Crash when passing the reference of the property of a non-object) 2010-07-05 09:08:35 +00:00
Felipe Pena 0891e86ed8 - Fixed bug #52240 (hash_copy() does not copy the HMAC key, causes wrong results and PHP crashes) 2010-07-03 13:06:14 +00:00
Johannes Schlüter e46fee1d1a Fix bug #52238: Crash when an Exception occured in iterator_to_array 2010-07-02 19:17:45 +00:00
Johannes Schlüter c06a26a524 Back to -dev 2010-07-02 07:32:05 +00:00
Eric Stewart 3b38626603 Added test for bug 52013 to PHP_5_3. 2010-07-02 02:46:43 +00:00
Johannes Schlüter 2b48156eab 5.3.3 RC2 2010-07-01 15:44:18 +00:00
Felipe Pena 92ba590555 - BFN 2010-07-01 01:12:21 +00:00
Pierre Joye 1fe5265c3e - WS 2010-06-30 22:06:49 +00:00
Ilia Alshanetsky 112ac7e978 Fixed bug #33210 (getimagesize() fails to detect width/height on certain JPEGs). 2010-06-30 12:21:35 +00:00
Stanislav Malyshev af2d266a09 sync version with PECL 2010-06-30 04:23:32 +00:00
Felipe Pena 4e606e3ceb - Fixed bug #48930 (__COMPILER_HALT_OFFSET__ incorrect in PHP >= 5.3) 2010-06-30 02:45:10 +00:00
Felipe Pena 96bb25e8e7 - Reverted fix for bug #48930 (due binary compatibility breakage) 2010-06-29 11:37:13 +00:00
Stanislav Malyshev 865f85718f fix SplObjectStorage unserialization (CVE-2010-2225) 2010-06-29 00:58:31 +00:00
Pierre Joye 9c60bd8df7 - typo for iconv DLL .lib 2010-06-28 23:26:48 +00:00
Felipe Pena a8e80ec235 - Reverted fix for bug #51421 2010-06-28 16:37:57 +00:00
Felipe Pena 0488a86634 - Fix arginfo name 2010-06-28 01:19:08 +00:00
Felipe Pena ced29dd706 - Improved initialization 2010-06-27 22:13:41 +00:00
Felipe Pena 9b07568c43 - Fixed bug #48930 (__COMPILER_HALT_OFFSET__ incorrect in PHP >= 5.3) 2010-06-27 21:46:16 +00:00
Felipe Pena 0cc45e7bdb - BFN 2010-06-26 22:07:04 +00:00
Felipe Pena 10a9634bc9 - Fixed bug #51421 (Abstract __construct constructor argument list not enforced) 2010-06-26 22:05:13 +00:00
Felipe Pena eb5e97adf5 - Fixed bug #52160 (Invalid E_STRICT redefined constructor error) 2010-06-26 19:19:16 +00:00
Felipe Pena 419f589580 - Fixed tests 2010-06-26 17:17:47 +00:00
Felipe Pena 9ea7a70e24 - Fixed bug #52193 (converting closure to array yields empty array) 2010-06-26 17:14:33 +00:00
Felipe Pena e64734f986 - Fixed bug #52183 (Reflectionfunction reports invalid number of arguments for function aliases) 2010-06-26 16:03:39 +00:00
Christopher Jones 22458ed4d5 Remove hard coded lib extension. Prepare for OCI8 1.4.2 release 2010-06-25 21:18:09 +00:00
Christopher Jones 86544f5971 Fix bug #52186 (phpinfo shows 10.1 or 11.1 when installed with ORACLE_HOME 10.2 or 11.2) 2010-06-25 21:09:13 +00:00
Felipe Pena 5a3a34e3e6 - Fixed bug #52138 (Constants are parsed into the ini file for section names) 2010-06-24 22:32:42 +00:00
Andrey Hristov 89bd3af6b9 Two functions, which should be methods so one can catch
their output, for example
2010-06-24 19:52:13 +00:00
Pierre Joye d27d572a7d - typo 2010-06-24 00:15:12 +00:00
Sriram Natarajan 2bb9bbb803 - Fixed bug #52162 (custom request header variables with numbers are removed) 2010-06-23 19:06:33 +00:00
Johannes Schlüter 08e1471c16 Install SQLite3 header 2010-06-23 15:11:02 +00:00
Andrey Hristov 53324e8830 Fix sprintf modifiers all around the place. In most cases
%u should be used. Where size_t is used then MYSQLND_SZ_T_SPEC should be
the modifier
2010-06-21 15:32:26 +00:00
Andrey Hristov 698539fa79 fix valgrind warnings on 64bit, thread_is is strictly 32bit 2010-06-21 14:49:45 +00:00
Ilia Alshanetsky 6b990988f1 MFB: Implemented FR #51295 (SQLite3::busyTimeout not existing). (Mark) 2010-06-21 11:06:31 +00:00
Pierre Joye 6ee4060bfa - #45808, stream_socket_enable_crypto() blocks and eats CPU 2010-06-20 16:33:16 +00:00
Felipe Pena c6e852d7db - Completed the fix for bug #52010
# Fixing pdo drivers
2010-06-20 14:12:06 +00:00
Jérôme Loyet ffdd175918 - Fixed bug #52086 (No new line at the end of a included file crahes the PHP FPM daemon) 2010-06-19 16:31:19 +00:00
Andrey Hristov 5a4a66cdd5 Fix for bug #52115 mysqli_result::fetch_all returns null, not an empty array 2010-06-18 17:25:41 +00:00
Andrey Hristov 6b730a04ae missed this one in the last commit, the real type 2010-06-18 12:00:57 +00:00
Andrey Hristov 7f79e86886 fix type mismatch, this is fresh misunderstanding 2010-06-18 11:56:25 +00:00
Johannes Schlüter 7d0eedf08c - Ignore empty filename for mail.log, treat it like none given 2010-06-18 10:16:35 +00:00
Ulf Wendel f3448471df Don't bail if there is another extension that exports constants starting with mysql<something> 2010-06-18 09:56:18 +00:00
Johannes Schlüter d52e132203 back to -dev 2010-06-18 08:22:14 +00:00
2012 changed files with 86648 additions and 51072 deletions

No files matched your search

-14191
View File
File diff suppressed because it is too large. Load diff
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+1320 -1307
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -1,6 +1,6 @@
--------------------------------------------------------------------
The PHP License, version 3.01
Copyright (c) 1999 - 2009 The PHP Group. All rights reserved.
Copyright (c) 1999 - 2010 The PHP Group. All rights reserved.
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
+1
View File
@@ -98,6 +98,7 @@ test: all
TEST_PHP_SRCDIR=$(top_srcdir) \
CC="$(CC)" \
$(PHP_EXECUTABLE) -n -c $(top_builddir)/tmp-php.ini $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -n -c $(top_builddir)/tmp-php.ini -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \
rm $(top_builddir)/tmp-php.ini; \
else \
echo "ERROR: Cannot run tests without CLI sapi."; \
fi
+916 -4
View File
@@ -1,6 +1,882 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
17 Jun 2010, PHP 5.3.3 RC1
23 Aug 2011, PHP 5.3.8
- Core:
. Fixed bug #55439 (crypt() returns only the salt for MD5). (Stas)
- OpenSSL:
. Reverted a change in timeout handling restoring PHP 5.3.6 behavior,
as the new behavior caused mysqlnd SSL connections to hang (#55283).
(Pierre, Andrey, Johannes)
18 Aug 2011, PHP 5.3.7
- Upgraded bundled SQLite to version 3.7.7.1. (Scott)
- Upgraded bundled PCRE to version 8.12. (Scott)
- Zend Engine:
. Fixed bug #55156 (ReflectionClass::getDocComment() returns comment even
though the class has none). (Felipe)
. Fixed bug #55007 (compiler fail after previous fail). (Felipe)
. Fixed bug #54910 (Crash when calling call_user_func with unknown function
name). (Dmitry)
. Fixed bug #54804 (__halt_compiler and imported namespaces).
(Pierrick, Felipe)
. Fixed bug #54624 (class_alias and type hint). (Felipe)
. Fixed bug #54585 (track_errors causes segfault). (Dmitry)
. Fixed bug #54423 (classes from dl()'ed extensions are not destroyed).
(Tony, Dmitry)
. Fixed bug #54372 (Crash accessing global object itself returned from its
__get() handle). (Dmitry)
. Fixed bug #54367 (Use of closure causes problem in ArrayAccess). (Dmitry)
. Fixed bug #54358 (Closure, use and reference). (Dmitry)
. Fixed bug #54262 (Crash when assigning value to a dimension in a non-array).
(Dmitry)
. Fixed bug #54039 (use() of static variables in lambda functions can break
staticness). (Dmitry)
- Core
. Updated crypt_blowfish to 1.2. ((CVE-2011-2483) (Solar Designer)
. Removed warning when argument of is_a() or is_subclass_of() is not
a known class. (Stas)
. Fixed crash in error_log(). (Felipe) Reported by Mateusz Kocielski.
. Added PHP_MANDIR constant telling where the manpages were installed into,
and an --man-dir argument to php-config. (Hannes)
. Fixed a crash inside dtor for error handling. (Ilia)
. Fixed buffer overflow on overlog salt in crypt(). (Clément LECIGNE, Stas)
. Implemented FR #54459 (Range function accuracy). (Adam)
. Fixed bug #55399 (parse_url() incorrectly treats ':' as a valid path).
(Ilia)
. Fixed bug #55339 (Segfault with allow_call_time_pass_reference = Off).
(Dmitry)
. Fixed bug #55295 [NEW]: popen_ex on windows, fixed possible heap overflow
(Pierre)
. Fixed bug #55258 (Windows Version Detecting Error).
( xiaomao5 at live dot com, Pierre)
. Fixed bug #55187 (readlink returns weird characters when false result).
(Pierre)
. Fixed bug #55082 (var_export() doesn't escape properties properly).
(Gustavo)
. Fixed bug #55014 (Compile failure due to improper use of ctime_r()). (Ilia)
. Fixed bug #54939 (File path injection vulnerability in RFC1867 File upload
filename). (Felipe) Reported by Krzysztof Kotowicz. (CVE-2011-2202)
. Fixed bug #54935 php_win_err can lead to crash. (Pierre)
. Fixed bug #54924 (assert.* is not being reset upon request shutdown). (Ilia)
. Fixed bug #54895 (Fix compiling with older gcc version without need for
membar_producer macro). (mhei at heimpold dot de)
. Fixed bug #54866 (incorrect accounting for realpath_cache_size).
(Dustin Ward)
. Fixed bug #54723 (getimagesize() doesn't check the full ico signature).
(Scott)
. Fixed bug #54721 (Different Hashes on Windows, BSD and Linux on wrong Salt
size). (Pierre, os at irj dot ru)
. Fixed bug #54580 (get_browser() segmentation fault when browscap ini
directive is set through php_admin_value). (Gustavo)
. Fixed bug #54332 (Crash in zend_mm_check_ptr // Heap corruption). (Dmitry)
. Fixed bug #54305 (Crash in gc_remove_zval_from_buffer). (Dmitry)
. Fixed bug #54238 (use-after-free in substr_replace()). (Stas)
(CVE-2011-1148)
. Fixed bug #54204 (Can't set a value with a PATH section in php.ini).
(Pierre)
. Fixed bug #54180 (parse_url() incorrectly parses path when ? in fragment).
(tomas dot brastavicius at quantum dot lt, Pierrick)
. Fixed bug #54137 (file_get_contents POST request sends additional line
break). (maurice-php at mertinkat dot net, Ilia)
. Fixed bug #53848 (fgetcsv() ignores spaces at beginnings of fields). (Ilia)
. Alternative fix for bug #52550, as applied to the round() function (signed
overflow), as the old fix impacted the algorithm for numbers with magnitude
smaller than 0. (Gustavo)
. Fixed bug #53727 (Inconsistent behavior of is_subclass_of with interfaces)
(Ralph Schindler, Dmitry)
. Fixed bug #52935 (call exit in user_error_handler cause stream relate
core). (Gustavo)
. Fixed bug #51997 (SEEK_CUR with 0 value, returns a warning). (Ilia)
. Fixed bug #50816 (Using class constants in array definition fails).
(Pierrick, Dmitry)
. Fixed bug #50363 (Invalid parsing in convert.quoted-printable-decode
filter). (slusarz at curecanti dot org)
. Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent when using
TMPDIR on Windows). (Pierre)
- Apache2 Handler SAPI:
. Fixed bug #54529 (SAPI crashes on apache_config.c:197).
(hebergement at riastudio dot fr)
- CLI SAPI:
. Fixed bug #52496 (Zero exit code on option parsing failure). (Ilia)
- cURL extension:
. Added ini option curl.cainfo (support for custom cert db). (Pierre)
. Added CURLINFO_REDIRECT_URL support. (Daniel Stenberg, Pierre)
. Added support for CURLOPT_MAX_RECV_SPEED_LARGE and
CURLOPT_MAX_SEND_SPEED_LARGE. FR #51815. (Pierrick)
- DateTime extension:
. Fixed bug where the DateTime object got changed while using date_diff().
(Derick)
. Fixed bug #54340 (DateTime::add() method bug). (Adam)
. Fixed bug #54316 (DateTime::createFromFormat does not handle trailing '|'
correctly). (Adam)
. Fixed bug #54283 (new DatePeriod(NULL) causes crash). (Felipe)
. Fixed bug #51819 (Case discrepancy in timezone names cause Uncaught
exception and fatal error). (Hannes)
- DBA extension:
. Supress warning on non-existent file open with Berkeley DB 5.2 (Chris Jones)
. Fixed bug #54242 (dba_insert returns true if key already exists). (Felipe)
- Exif extesion:
. Fixed bug #54121 (error message format string typo). (Ilia)
- Fileinfo extension:
. Fixed bug #54934 (Unresolved symbol strtoull in HP-UX 11.11). (Felipe)
- Filter extension:
. Added 3rd parameter to filter_var_array() and filter_input_array()
functions that allows disabling addition of empty elements. (Ilia)
. Fixed bug #53037 (FILTER_FLAG_EMPTY_STRING_NULL is not implemented). (Ilia)
- Interbase extension:
. Fixed bug #54269 (Short exception message buffer causes crash). (Felipe)
- intl extension:
. Implemented FR #54561 (Expose ICU version info). (David Zuelke, Ilia)
. Implemented FR #54540 (Allow loading of arbitrary resource bundles when
fallback is disabled). (David Zuelke, Stas)
- Imap extension:
. Fixed bug #55313 (Number of retries not set when params specified).
(kevin at kevinlocke dot name)
- json extension:
. Fixed bug #54484 (Empty string in json_decode doesn't reset
json_last_error()). (Ilia)
- LDAP extension:
. Fixed bug #53339 (Fails to build when compilng with gcc 4.5 and DSO
libraries). (Clint Byrum, Raphael)
- libxml extension:
. Fixed bug #54601 (Removing the doctype node segfaults). (Hannes)
. Fixed bug #54440 (libxml extension ignores default context). (Gustavo)
- mbstring extension:
. Fixed bug #54494 (mb_substr() mishandles UTF-32LE and UCS-2LE). (Gustavo)
- MCrypt extension:
. Change E_ERROR to E_WARNING in mcrypt_create_iv when not enough data
has been fetched (Windows). (Pierre)
. Fixed bug #55169 (mcrypt_create_iv always fails to gather sufficient random
data on Windows). (Pierre)
- MySQL Improved extension:
. Fixed Bug #54221 (mysqli::get_warnings segfault when used in multi queries).
(Andrey)
- mysqlnd
. Fixed crash when using more than 28,000 bound parameters. Workaround is to
set mysqlnd.net_cmd_buffer_size to at least 9000. (Andrey)
. Fixed bug #54674 mysqlnd valid_sjis_(head|tail) is using invalid operator
and range). (nihen at megabbs dot com, Andrey)
- MySQLi extension:
. Fixed bug #55283 (SSL options set by mysqli_ssl_set ignored for MySQLi
persistent connections). (Andrey)
- OpenSSL extension:
. openssl_encrypt()/openssl_decrypt() truncated keys of variable length
ciphers to the OpenSSL default for the algorithm. (Scott)
. On blocking SSL sockets respect the timeout option where possible.
(Scott)
. Fixed bug #54992 (Stream not closed and error not returned when SSL
CN_match fails). (Gustavo, laird_ngrps at dodo dot com dot au)
- Oracle Database extension (OCI8):
. Added oci_client_version() returning the runtime Oracle client library
version (Chris Jones)
. PCRE extension:
. Increased the backtrack limit from 100000 to 1000000 (Rasmus)
- PDO extension:
. Fixed bug #54929 (Parse error with single quote in sql comment). (Felipe)
. Fixed bug #52104 (bindColumn creates Warning regardless of ATTR_ERRMODE
settings). (Ilia)
- PDO DBlib driver:
. Fixed bug #54329 (MSSql extension memory leak).
(dotslashpok at gmail dot com)
. Fixed bug #54167 (PDO_DBLIB returns null on SQLUNIQUE field).
(mjh at hodginsmedia dot com, Felipe)
- PDO ODBC driver:
. Fixed data type usage in 64bit. (leocsilva at gmail dot com)
- PDO MySQL driver:
. Fixed bug #54644 (wrong pathes in php_pdo_mysql_int.h). (Tony, Johannes)
. Fixed bug #53782 (foreach throws irrelevant exception). (Johannes, Andrey)
. Implemented FR #48587 (MySQL PDO driver doesn't support SSL connections).
(Rob)
- PDO PostgreSQL driver:
. Fixed bug #54318 (Non-portable grep option used in PDO pgsql
configuration). (bwalton at artsci dot utoronto dot ca)
- PDO Oracle driver:
. Fixed bug #44989 (64bit Oracle RPMs still not supported by pdo-oci).
(jbnance at tresgeek dot net)
- Phar extension:
. Fixed bug #54395 (Phar::mount() crashes when calling with wrong parameters).
(Felipe)
- PHP-FPM SAPI:
. Implemented FR #54499 (FPM ping and status_path should handle HEAD request). (fat)
. Implemented FR #54172 (Overriding the pid file location of php-fpm). (fat)
. Fixed missing Expires and Cache-Control headers for ping and status pages.
(fat)
. Fixed memory leak. (fat) Reported and fixed by Giovanni Giacobbi.
. Fixed wrong value of log_level when invoking fpm with -tt. (fat)
. Added xml format to the status page. (fat)
. Removed timestamp in logs written by children processes. (fat)
. Fixed exit at FPM startup on fpm_resources_prepare() errors. (fat)
. Added master rlimit_files and rlimit_core in the global configuration
settings. (fat)
. Removed pid in debug logs written by chrildren processes. (fat)
. Added custom access log (also added per request %CPU and memory
mesurement). (fat)
. Added a real scoreboard and several improvements to the status page. (fat)
- Reflection extension:
. Fixed bug #54347 (reflection_extension does not lowercase module function
name). (Felipe, laruence at yahoo dot com dot cn)
- SOAP extension:
. Fixed bug #55323 (SoapClient segmentation fault when XSD_TYPEKIND_EXTENSION
contains itself). (Dmitry)
. Fixed bug #54312 (soap_version logic bug). (tom at samplonius dot org)
- Sockets extension:
. Fixed stack buffer overflow in socket_connect(). (CVE-2011-1938)
Found by Mateusz Kocielski, Marek Kroemeke and Filip Palian. (Felipe)
. Changed socket_set_block() and socket_set_nonblock() so they emit warnings
on error. (Gustavo)
. Fixed bug #51958 (socket_accept() fails on IPv6 server sockets). (Gustavo)
- SPL extension:
. Fixed bug #54971 (Wrong result when using iterator_to_array with use_keys
on true). (Pierrick)
. Fixed bug #54970 (SplFixedArray::setSize() isn't resizing). (Felipe)
. Fixed bug #54609 (Certain implementation(s) of SplFixedArray cause hard
crash). (Felipe)
. Fixed bug #54384 (Dual iterators, GlobIterator, SplFileObject and
SplTempFileObject crash when user-space classes don't call the paren
constructor). (Gustavo)
. Fixed bug #54292 (Wrong parameter causes crash in
SplFileObject::__construct()). (Felipe)
. Fixed bug #54291 (Crash iterating DirectoryIterator for dir name starting
with \0). (Gustavo)
. Fixed bug #54281 (Crash in non-initialized RecursiveIteratorIterator).
(Felipe)
- Streams:
. Fixed bug #54946 (stream_get_contents infinite loop). (Hannes)
. Fixed bug #54623 (Segfault when writing to a persistent socket after
closing a copy of the socket). (Gustavo)
. Fixed bug #54681 (addGlob() crashes on invalid flags). (Felipe)
17 Mar 2011, PHP 5.3.6
- Upgraded bundled Sqlite3 to version 3.7.4. (Ilia)
- Upgraded bundled PCRE to version 8.11. (Ilia)
- Zend Engine:
. Indirect reference to $this fails to resolve if direct $this is never used
in method. (Scott)
. Added options to debug backtrace functions. (Stas)
. Fixed bug numerous crashes due to setlocale (crash on error, pcre, mysql
etc.) on Windows in thread safe mode. (Pierre)
. Fixed Bug #53971 (isset() and empty() produce apparently spurious runtime
error). (Dmitry)
. Fixed Bug #53958 (Closures can't 'use' shared variables by value and by
reference). (Dmitry)
. Fixed Bug #53629 (memory leak inside highlight_string()). (Hannes, Ilia)
. Fixed Bug #51458 (Lack of error context with nested exceptions). (Stas)
. Fixed Bug #47143 (Throwing an exception in a destructor causes a fatal
error). (Stas)
. Fixed bug #43512 (same parameter name can be used multiple times in
method/function definition). (Felipe)
- Core:
. Added ability to connect to HTTPS sites through proxy with basic
authentication using stream_context/http/header/Proxy-Authorization (Dmitry)
. Changed default value of ini directive serialize_precision from 100 to 17.
(Gustavo)
. Fixed bug #54055 (buffer overrun with high values for precision ini
setting). (Gustavo)
. Fixed bug #53959 (reflection data for fgetcsv out-of-date). (Richard)
. Fixed bug #53577 (Regression introduced in 5.3.4 in open_basedir with a
trailing forward slash). (lekensteyn at gmail dot com, Pierre)
. Fixed bug #53682 (Fix compile on the VAX). (Rasmus, jklos)
. Fixed bug #48484 (array_product() always returns 0 for an empty array).
(Ilia)
. Fixed bug #48607 (fwrite() doesn't check reply from ftp server before
exiting). (Ilia)
- Calendar extension:
. Fixed bug #53574 (Integer overflow in SdnToJulian, sometimes leading to
segfault). (Gustavo)
- DOM extension:
. Implemented FR #39771 (Made DOMDocument::saveHTML accept an optional DOMNode
like DOMDocument::saveXML). (Gustavo)
- DateTime extension:
. Fixed a bug in DateTime->modify() where absolute date/time statements had
no effect. (Derick)
. Fixed bug #53729 (DatePeriod fails to initialize recurrences on 64bit
big-endian systems). (Derick, rein@basefarm.no)
. Fixed bug #52808 (Segfault when specifying interval as two dates). (Stas)
. Fixed bug #52738 (Can't use new properties in class extended from
DateInterval). (Stas)
. Fixed bug #52290 (setDate, setISODate, setTime works wrong when DateTime
created from timestamp). (Stas)
. Fixed bug #52063 (DateTime constructor's second argument doesn't have a
null default value). (Gustavo, Stas)
- Exif extension:
. Fixed bug #54002 (crash on crafted tag, reported by Luca Carettoni).
(Pierre) (CVE-2011-0708)
- Filter extension:
. Fixed bug #53924 (FILTER_VALIDATE_URL doesn't validate port number).
(Ilia, Gustavo)
. Fixed bug #53150 (FILTER_FLAG_NO_RES_RANGE is missing some IP ranges).
(Ilia)
. Fixed bug #52209 (INPUT_ENV returns NULL for set variables (CLI)). (Ilia)
. Fixed bug #47435 (FILTER_FLAG_NO_RES_RANGE don't work with ipv6).
(Ilia, valli at icsurselva dot ch)
- Fileinfo extension:
. Fixed bug #54016 (finfo_file() Cannot determine filetype in archives).
(Hannes)
- Gettext
. Fixed bug #53837 (_() crashes on Windows when no LANG or LANGUAGE
environment variable are set). (Pierre)
- IMAP extension:
. Implemented FR #53812 (get MIME headers of the part of the email). (Stas)
. Fixed bug #53377 (imap_mime_header_decode() doesn't ignore \t during long
MIME header unfolding). (Adam)
- Intl extension:
. Fixed bug #53612 (Segmentation fault when using cloned several intl
objects). (Gustavo)
. Fixed bug #53512 (NumberFormatter::setSymbol crash on bogus $attr values).
(Felipe)
. Implemented clone functionality for number, date & message formatters.
(Stas).
- JSON extension:
. Fixed bug #53963 (Ensure error_code is always set during some failed
decodings). (Scott)
- mysqlnd
. Fixed problem with always returning 0 as num_rows for unbuffered sets.
(Andrey, Ulf)
- MySQL Improved extension:
. Added 'db' and 'catalog' keys to the field fetching functions (FR #39847).
(Kalle)
. Fixed buggy counting of affected rows when using the text protocol. The
collected statistics were wrong when multi_query was used with mysqlnd
(Andrey)
. Fixed bug #53795 (Connect Error from MySqli (mysqlnd) when using SSL).
(Kalle)
. Fixed bug #53503 (mysqli::query returns false after successful LOAD DATA
query). (Kalle, Andrey)
. Fixed bug #53425 (mysqli_real_connect() ignores client flags when built to
call libmysql). (Kalle, tre-php-net at crushedhat dot com)
- OpenSSL extension:
. Fixed stream_socket_enable_crypto() not honoring the socket timeout in
server mode. (Gustavo)
. Fixed bug #54060 (Memory leaks when openssl_encrypt). (Pierre)
. Fixed bug #54061 (Memory leaks when openssl_decrypt). (Pierre)
. Fixed bug #53592 (stream_socket_enable_crypto() busy-waits in client mode).
(Gustavo)
. Implemented FR #53447 (Cannot disable SessionTicket extension for servers
that do not support it) by adding a no_ticket SSL context option. (Adam,
Tony)
- PDO MySQL driver:
. Fixed bug #53551 (PDOStatement execute segfaults for pdo_mysql driver).
(Johannes)
. Implemented FR #47802 (Support for setting character sets in DSN strings).
(Kalle)
- PDO Oracle driver:
. Fixed bug #39199 (Cannot load Lob data with more than 4000 bytes on
ORACLE 10). (spatar at mail dot nnov dot ru)
- PDO PostgreSQL driver:
. Fixed bug #53517 (segfault in pgsql_stmt_execute() when postgres is down).
(gyp at balabit dot hu)
- Phar extension:
. Fixed bug #54247 (format-string vulnerability on Phar). (Felipe)
(CVE-2011-1153)
. Fixed bug #53541 (format string bug in ext/phar).
(crrodriguez at opensuse dot org, Ilia)
. Fixed bug #53898 (PHAR reports invalid error message, when the directory
does not exist). (Ilia)
- PHP-FPM SAPI:
. Enforce security in the fastcgi protocol parsing.
(ef-lists at email dotde)
. Fixed bug #53777 (php-fpm log format now match php_error log format). (fat)
. Fixed bug #53527 (php-fpm --test doesn't set a valuable return value). (fat)
. Fixed bug #53434 (php-fpm slowlog now also logs the original request). (fat)
- Readline extension:
. Fixed bug #53630 (Fixed parameter handling inside readline() function).
(jo at feuersee dot de, Ilia)
- Reflection extension:
. Fixed bug #53915 (ReflectionClass::getConstant(s) emits fatal error on
constants with self::). (Gustavo)
- Shmop extension:
. Fixed bug #54193 (Integer overflow in shmop_read()). (Felipe)
Reported by Jose Carlos Norte <jose at eyeos dot org> (CVE-2011-1092)
- SNMP extension:
. Fixed bug #51336 (snmprealwalk (snmp v1) does not handle end of OID tree
correctly). (Boris Lytochkin)
- SOAP extension:
. Fixed possible crash introduced by the NULL poisoning patch.
(Mateusz Kocielski, Pierre)
- SPL extension:
. Fixed memory leak in DirectoryIterator::getExtension() and
SplFileInfo::getExtension(). (Felipe)
. Fixed bug #53914 (SPL assumes HAVE_GLOB is defined). (Chris Jones)
. Fixed bug #53515 (property_exists incorrect on ArrayObject null and 0
values). (Felipe)
. Fixed bug #49608 (Using CachingIterator on DirectoryIterator instance
segfaults). (Felipe)
. Added SplFileInfo::getExtension(). FR #48767. (Peter Cowburn)
- SQLite3 extension:
. Fixed memory leaked introduced by the NULL poisoning patch.
(Mateusz Kocielski, Pierre)
. Fixed memory leak on SQLite3Result and SQLite3Stmt when assigning to a
reference. (Felipe)
. Add SQlite3_Stmt::readonly() for checking if a statement is read only.
(Scott)
. Implemented FR #53466 (SQLite3Result::columnType() should return false after
all of the rows have been fetched). (Scott)
- Streams:
. Fixed bug #54092 (Segmentation fault when using HTTP proxy with the FTP
wrapper). (Gustavo)
. Fixed bug #53913 (Streams functions assume HAVE_GLOB is defined). (Chris
Jones)
. Fixed bug #53903 (userspace stream stat callback does not separate the
elements of the returned array before converting them). (Gustavo)
. Implemented FR #26158 (open arbitrary file descriptor with fopen). (Gustavo)
- Tokenizer Extension
. Fixed bug #54089 (token_get_all() does not stop after __halt_compiler).
(Ilia)
- XSL extension:
. Fixed memory leaked introduced by the NULL poisoning patch.
(Mateusz Kocielski, Pierre)
- Zip extension:
. Added the filename into the return value of stream_get_meta_data(). (Hannes)
. Fixed bug #53923 (Zip functions assume HAVE_GLOB is defined). (Adam)
. Fixed bug #53893 (Wrong return value for ZipArchive::extractTo()). (Pierre)
. Fixed bug #53885 (ZipArchive segfault with FL_UNCHANGED on empty archive).
(Stas, Maksymilian Arciemowicz). (CVE-2011-0421)
. Fixed bug #53854 (Missing constants for compression type). (Richard, Adam)
. Fixed bug #53603 (ZipArchive should quiet stat errors). (brad dot froehle at
gmail dot com, Gustavo)
. Fixed bug #53579 (stream_get_contents() segfaults on ziparchive streams).
(Hannes)
. Fixed bug #53568 (swapped memset arguments in struct initialization).
(crrodriguez at opensuse dot org)
. Fixed bug #53166 (Missing parameters in docs and reflection definition).
(Richard)
. Fixed bug #49072 (feof never returns true for damaged file in zip).
(Gustavo, Richard Quadling)
06 Jan 2011, PHP 5.3.5
- Fixed Bug #53632 (infinite loop with x87 fpu). (CVE-2010-4645) (Scott,
Rasmus)
09 Dec 2010, PHP 5.3.4
- Upgraded bundled Sqlite3 to version 3.7.3. (Ilia)
- Upgraded bundled PCRE to version 8.10. (Ilia)
- Security enhancements:
. Fixed crash in zip extract method (possible CWE-170).
(Maksymilian Arciemowicz, Pierre)
. Paths with NULL in them (foo\0bar.txt) are now considered as invalid.
(Rasmus)
. Fixed a possible double free in imap extension (Identified by Mateusz
Kocielski). (CVE-2010-4150). (Ilia)
. Fixed NULL pointer dereference in ZipArchive::getArchiveComment.
(CVE-2010-3709). (Maksymilian Arciemowicz)
. Fixed possible flaw in open_basedir (CVE-2010-3436). (Pierre)
. Fixed MOPS-2010-24, fix string validation. (CVE-2010-2950). (Pierre)
. Fixed symbolic resolution support when the target is a DFS share. (Pierre)
. Fixed bug #52929 (Segfault in filter_var with FILTER_VALIDATE_EMAIL with
large amount of data) (CVE-2010-3710). (Adam)
- General improvements:
. Added stat support for zip stream. (Pierre)
. Added follow_location (enabled by default) option for the http stream
support. (Pierre)
. Improved support for is_link and related functions on Windows. (Pierre)
. Added a 3rd parameter to get_html_translation_table. It now takes a charset
hint, like htmlentities et al. (Gustavo)
- Implemented feature requests:
. Implemented FR #52348, added new constant ZEND_MULTIBYTE to detect
zend multibyte at runtime. (Kalle)
. Implemented FR #52173, added functions pcntl_get_last_error() and
pcntl_strerror(). (nick dot telford at gmail dot com, Arnaud)
. Implemented symbolic links support for open_basedir checks. (Pierre)
. Implemented FR #51804, SplFileInfo::getLinkTarget on Windows. (Pierre)
. Implemented FR #50692, not uploaded files don't count towards
max_file_uploads limit. As a side improvement, temporary files are not
opened for empty uploads and, in debug mode, 0-length uploads. (Gustavo)
- Improved MySQLnd:
. Added new character sets to mysqlnd, which are available in MySQL 5.5
(Andrey)
- Improved PHP-FPM SAPI:
. Added '-p/--prefix' to php-fpm to use a custom prefix and run multiple
instances. (fat)
. Added custom process title for FPM. (fat)
. Added '-t/--test' to php-fpm to check and validate FPM conf file. (fat)
. Added statistics about listening socket queue length for FPM.
(andrei dot nigmatulin at gmail dot com, fat)
- Core:
. Fixed extract() to do not overwrite $GLOBALS and $this when using
EXTR_OVERWRITE. (jorto at redhat dot com)
. Fixed bug in the Windows implementation of dns_get_record, where the two
last parameters wouldn't be filled unless the type were DNS_ANY (Gustavo).
. Changed the $context parameter on copy() to actually have an effect. (Kalle)
. Fixed htmlentities/htmlspecialchars accepting certain ill-formed UTF-8
sequences. (Gustavo)
. Fixed bug #53409 (sleep() returns NULL on Windows). (Pierre)
. Fixed bug #53319 (strip_tags() may strip '<br />' incorrectly). (Felipe)
. Fixed bug #53304 (quot_print_decode does not handle lower-case hex digits).
(Ilia, daniel dot mueller at inexio dot net)
. Fixed bug #53248 (rawurlencode RFC 3986 EBCDIC support misses tilde char).
(Justin Martin)
. Fixed bug #53226 (file_exists fails on big filenames). (Adam)
. Fixed bug #53198 (changing INI setting "from" with ini_set did not have any
effect). (Gustavo)
. Fixed bug #53180 (post_max_size=0 not disabling the limit when the content
type is application/x-www-form-urlencoded or is not registered with PHP).
(gm at tlink dot de, Gustavo)
. Fixed bug #53141 (autoload misbehaves if called from closing session).
(ladislav at marek dot su)
. Fixed bug #53021 (In html_entity_decode, failure to convert numeric entities
with ENT_NOQUOTES and ISO-8859-1). Fixed and extended the fix of
ENT_NOQUOTES in html_entity_decode that had introduced the bug (rev
#185591) to other encodings. Additionaly, html_entity_decode() now doesn't
decode &#34; if ENT_NOQUOTES is given. (Gustavo)
. Fixed bug #52931 (strripos not overloaded with function overloading
enabled). (Felipe)
. Fixed bug #52772 (var_dump() doesn't check for the existence of
get_class_name before calling it). (Kalle, Gustavo)
. Fixed bug #52534 (var_export array with negative key). (Felipe)
. Fixed bug #52327 (base64_decode() improper handling of leading padding in
strict mode). (Ilia)
. Fixed bug #52260 (dns_get_record fails with non-existing domain on Windows).
(a_jelly_doughnut at phpbb dot com, Pierre)
. Fixed bug #50953 (socket will not connect to IPv4 address when the host has
both IPv4 and IPv6 addresses, on Windows). (Gustavo, Pierre)
. Fixed bug #50524 (proc_open on Windows does not respect cwd as it does on
other platforms). (Pierre)
. Fixed bug #49687 (utf8_decode vulnerabilities and deficiencies in the number
of reported malformed sequences). (CVE-2010-3870) (Gustavo)
. Fixed bug #49407 (get_html_translation_table doesn't handle UTF-8).
(Gustavo)
. Fixed bug #48831 (php -i has different output to php --ini). (Richard,
Pierre)
. Fixed bug #47643 (array_diff() takes over 3000 times longer than php 5.2.4).
(Felipe)
. Fixed bug #47168 (printf of floating point variable prints maximum of 40
decimal places). (Ilia)
. Fixed bug #46587 (mt_rand() does not check that max is greater than min).
(Ilia)
. Fixed bug #29085 (bad default include_path on Windows). (Pierre)
. Fixed bug #25927 (get_html_translation_table calls the ' &#39; instead of
&#039;). (Gustavo)
- Zend engine:
. Reverted fix for bug #51176 (Static calling in non-static method behaves
like $this->). (Felipe)
. Changed deprecated ini options on startup from E_WARNING to E_DEPRECATED.
(Kalle)
. Fixed NULL dereference in lex_scan on zend multibyte builds where the script
had a flex incompatible encoding and there was no converter. (Gustavo)
. Fixed covariance of return-by-ref constraints. (Etienne)
. Fixed bug #53305 (E_NOTICE when defining a constant starts with
__COMPILER_HALT_OFFSET__). (Felipe)
. Fixed bug #52939 (zend_call_function does not respect ZEND_SEND_PREFER_REF).
(Dmitry)
. Fixed bug #52879 (Objects unreferenced in __get, __set, __isset or __unset
can be freed too early). (mail_ben_schmidt at yahoo dot com dot au, Dmitry)
. Fixed bug #52786 (PHP should reset section to [PHP] after ini sections).
(Fedora at famillecollet dot com)
. Fixed bug #52508 (newline problem with parse_ini_file+INI_SCANNER_RAW).
(Felipe)
. Fixed bug #52484 (__set() ignores setting properties with empty names).
(Felipe)
. Fixed bug #52361 (Throwing an exception in a destructor causes invalid
catching). (Dmitry)
. Fixed bug #51008 (Zend/tests/bug45877.phpt fails). (Dmitry)
- Build issues:
. Fixed bug #52436 (Compile error if systems do not have stdint.h)
(Sriram Natarajan)
. Fixed bug #50345 (nanosleep not detected properly on some solaris versions).
(Ulf, Tony)
. Fixed bug #49215 (make fails on glob_wrapper). (Felipe)
- Calendar extension:
. Fixed bug #52744 (cal_days_in_month incorrect for December 1 BCE).
(gpap at internet dot gr, Adam)
- cURL extension:
. Fixed bug #52828 (curl_setopt does not accept persistent streams).
(Gustavo, Ilia)
. Fixed bug #52827 (cURL leaks handle and causes assertion error
(CURLOPT_STDERR)). (Gustavo)
. Fixed bug #52202 (CURLOPT_PRIVATE gets corrupted). (Ilia)
. Fixed bug #50410 (curl extension slows down PHP on Windows). (Pierre)
- DateTime extension:
. Fixed bug #53297 (gettimeofday implementation in php/win32/time.c can return
1 million microsecs). (ped at 7gods dot org)
. Fixed bug #52668 (Iterating over a dateperiod twice is broken). (Derick)
. Fixed bug #52454 (Relative dates and getTimestamp increments by one day).
(Derick)
. Fixed bug #52430 (date_parse parse 24:xx:xx as valid time). (Derick)
. Added support for the ( and ) delimiters/separators to
DateTime::createFromFormat(). (Derick)
- DBA extension:
. Added Berkeley DB 5.1 support to the DBA extension. (Oracle Corp.)
- DOM extension:
. Fixed bug #52656 (DOMCdataSection does not work with splitText). (Ilia)
- Filter extension:
. Fixed the filter extension accepting IPv4 octets with a leading 0 as that
belongs to the unsupported "dotted octal" representation. (Gustavo)
. Fixed bug #53236 (problems in the validation of IPv6 addresses with leading
and trailing :: in the filter extension). (Gustavo)
. Fixed bug #50117 (problems in the validation of IPv6 addresses with IPv4
addresses and ::). (Gustavo)
- GD extension:
. Fixed bug #53492 (fix crash if anti-aliasing steps are invalid). (Pierre)
- GMP extension:
. Fixed bug #52906 (gmp_mod returns negative result when non-negative is
expected). (Stas)
. Fixed bug #52849 (GNU MP invalid version match). (Adam)
- Hash extension:
. Fixed bug #51003 (unaligned memory access in ext/hash/hash_tiger.c).
(Mike, Ilia)
- Iconv extension:
. Fixed bug #52941 (The 'iconv_mime_decode_headers' function is skipping
headers). (Adam)
. Fixed bug #52599 (iconv output handler outputs incorrect content type
when flags are used). (Ilia)
. Fixed bug #51250 (iconv_mime_decode() does not ignore malformed Q-encoded
words). (Ilia)
- Intl extension:
. Fixed crashes on invalid parameters in intl extension. (CVE-2010-4409).
(Stas, Maksymilian Arciemowicz)
. Added support for formatting the timestamp stored in a DateTime object.
(Stas)
. Fixed bug #50590 (IntlDateFormatter::parse result is limited to the integer
range). (Stas)
- Mbstring extension:
. Fixed bug #53273 (mb_strcut() returns garbage with the excessive length
parameter). (CVE-2010-4156) (Mateusz Kocielski, Pierre, Moriyoshi)
. Fixed bug #52981 (Unicode casing table was out-of-date. Updated with
UnicodeData-6.0.0d7.txt and included the source of the generator program
with the distribution) (Gustavo).
. Fixed bug #52681 (mb_send_mail() appends an extra MIME-Version header).
(Adam)
- MSSQL extension:
. Fixed possible crash in mssql_fetch_batch(). (Kalle)
. Fixed bug #52843 (Segfault when optional parameters are not passed in to
mssql_connect). (Felipe)
- MySQL extension:
. Fixed bug #52636 (php_mysql_fetch_hash writes long value into int).
(Kalle, rein at basefarm dot no)
- MySQLi extension:
. Fixed bug #52891 (Wrong data inserted with mysqli/mysqlnd when using
mysqli_stmt_bind_param and value> PHP_INT_MAX). (Andrey)
. Fixed bug #52686 (mysql_stmt_attr_[gs]et argument points to incorrect type).
(rein at basefarm dot no)
. Fixed bug #52654 (mysqli doesn't install headers with structures it uses).
(Andrey)
. Fixed bug #52433 (Call to undefined method mysqli::poll() - must be static).
(Andrey)
. Fixed bug #52417 (MySQLi build failure with mysqlnd on MacOS X). (Andrey)
. Fixed bug #52413 (MySQLi/libmysql build failure on OS X, FreeBSD). (Andrey)
. Fixed bug #52390 (mysqli_report() should be per-request setting). (Kalle)
. Fixed bug #52302 (mysqli_fetch_all does not work with MYSQLI_USE_RESULT).
(Andrey)
. Fixed bug #52221 (Misbehaviour of magic_quotes_runtime (get/set)). (Andrey)
. Fixed bug #45921 (Can't initialize character set hebrew). (Andrey)
- MySQLnd:
. Fixed bug #52613 (crash in mysqlnd after hitting memory limit). (Andrey)
- ODBC extension:
- Fixed bug #52512 (Broken error handling in odbc_execute).
(mkoegler at auto dot tuwien dot ac dot at)
- Openssl extension:
. Fixed possible blocking behavior in openssl_random_pseudo_bytes on Windows.
(Pierre)
. Fixed bug #53136 (Invalid read on openssl_csr_new()). (Felipe)
. Fixed bug #52947 (segfault when ssl stream option capture_peer_cert_chain
used). (Felipe)
- Oracle Database extension (OCI8):
. Fixed bug #53284 (Valgrind warnings in oci_set_* functions) (Oracle Corp.)
. Fixed bug #51610 (Using oci_connect causes PHP to take a long time to
exit). Requires Oracle 11.2.0.2 client libraries (or Oracle bug fix
9891199) for this patch to have an effect. (Oracle Corp.)
- PCNTL extension:
. Fixed bug #52784 (Race condition when handling many concurrent signals).
(nick dot telford at gmail dot com, Arnaud)
- PCRE extension:
. Fixed bug #52971 (PCRE-Meta-Characters not working with utf-8). (Felipe)
. Fixed bug #52732 (Docs say preg_match() returns FALSE on error, but it
returns int(0)). (slugonamission at gmail dot com)
- PHAR extension:
. Fixed bug #50987 (unaligned memory access in phar.c).
(geissert at debian dot org, Ilia)
- PHP-FPM SAPI:
. Fixed bug #53412 (segfault when using -y). (fat)
. Fixed inconsistent backlog default value (-1) in FPM on many systems. (fat)
. Fixed bug #52501 (libevent made FPM crashed when forking -- libevent has
been removed). (fat)
. Fixed bug #52725 (gcc builtin atomic functions were sometimes used when they
were not available). (fat)
. Fixed bug #52693 (configuration file errors are not logged to stderr). (fat)
. Fixed bug #52674 (FPM Status page returns inconsistent Content-Type
headers). (fat)
. Fixed bug #52498 (libevent was not only linked to php-fpm). (fat)
- PDO:
. Fixed bug #52699 (PDO bindValue writes long int 32bit enum).
(rein at basefarm dot no)
. Fixed bug #52487 (PDO::FETCH_INTO leaks memory). (Felipe)
- PDO DBLib driver:
. Fixed bug #52546 (pdo_dblib segmentation fault when iterating MONEY values).
(Felipe)
- PDO Firebird driver:
. Restored firebird support (VC9 builds only). (Pierre)
. Fixed bug #53335 (pdo_firebird did not implement rowCount()).
(preeves at ibphoenix dot com)
. Fixed bug #53323 (pdo_firebird getAttribute() crash).
(preeves at ibphoenix dot com)
- PDO MySQL driver:
. Fixed bug #52745 (Binding params doesn't work when selecting a date inside a
CASE-WHEN). (Andrey)
- PostgreSQL extension:
. Fixed bug #47199 (pg_delete() fails on NULL). (ewgraf at gmail dot com)
- Reflection extension:
. Fixed ReflectionProperty::isDefault() giving a wrong result for properties
obtained with ReflectionClass::getProperties(). (Gustavo)
- Reflection extension:
. Fixed bug #53366 (Reflection doesnt get dynamic property value from
getProperty()). (Felipe)
. Fixed bug #52854 (ReflectionClass::newInstanceArgs does not work for classes
without constructors). (Johannes)
- SOAP extension:
. Fixed bug #44248 (RFC2616 transgression while HTTPS request through proxy
with SoapClient object). (Dmitry)
- SPL extension:
. Fixed bug #53362 (Segmentation fault when extending SplFixedArray). (Felipe)
. Fixed bug #53279 (SplFileObject doesn't initialise default CSV escape
character). (Adam)
. Fixed bug #53144 (Segfault in SplObjectStorage::removeAll()). (Felipe)
. Fixed bug #53071 (SPLObjectStorage defeats gc_collect_cycles). (Gustavo)
. Fixed bug #52573 (SplFileObject::fscanf Segmentation fault). (Felipe)
. Fixed bug #51763 (SplFileInfo::getType() does not work symbolic link
and directory). (Pierre)
. Fixed bug #50481 (Storing many SPLFixedArray in an array crashes). (Felipe)
. Fixed bug #50579 (RegexIterator::REPLACE doesn't work). (Felipe)
- SQLite3 extension:
. Fixed bug #53463 (sqlite3 columnName() segfaults on bad column_number).
(Felipe)
- Streams:
. Fixed forward stream seeking emulation in streams that don't support seeking
in situations where the read operation gives back less data than requested
and when there was data in the buffer before the emulation started. Also
made more consistent its behavior -- should return failure every time less
data than was requested was skipped. (Gustavo)
. Fixed bug #53241 (stream casting that relies on fdopen/fopencookie fails
with streams opened with, inter alia, the 'xb' mode). (Gustavo)
. Fixed bug #53006 (stream_get_contents has an unpredictable behavior when the
underlying stream does not support seeking). (Gustavo)
. Fixed bug #52944 (Invalid write on second and subsequent reads with an
inflate filter fed invalid data). (Gustavo)
. Fixed bug #52820 (writes to fopencookie FILE* not commited when seeking the
stream). (Gustavo)
- WDDX extension:
. Fixed bug #52468 (wddx_deserialize corrupts integer field value when left
empty). (Felipe)
- Zlib extension:
. Fixed bug #52926 (zlib fopen wrapper does not use context). (Gustavo)
22 Jul 2010, PHP 5.3.3
- Upgraded bundled sqlite to version 3.6.23.1. (Ilia)
- Upgraded bundled PCRE to version 8.02. (Ilia)
@@ -29,8 +905,11 @@ PHP NEWS
__construct now. (Stas)
- Reset error state in PDO::beginTransaction() reset error state. (Ilia)
- Implemented FR#51295 (SQLite3::busyTimeout not existing). (Mark)
- Implemented FR#35638 (Adding udate to imap_fetch_overview results).
(Charles_Duffy at dell dot com )
- Rewrote var_export() to use smart_str rather than output buffering, prevents
data disclosure if a fatal error occurs (CVE-2010-2531). (Scott)
- Fixed possible buffer overflows in mysqlnd_list_fields, mysqlnd_change_user.
(Andrey)
- Fixed possible buffer overflows when handling error packets in mysqlnd.
@@ -73,7 +952,27 @@ PHP NEWS
- Fixed a NULL pointer dereference when processing invalid XML-RPC
requests (Fixes CVE-2010-0397, bug #51288). (Raphael Geissert)
- Fixed 64-bit integer overflow in mhash_keygen_s2k(). (Clément LECIGNE, Stas)
- Fixed SplObjectStorage unserialization problems (CVE-2010-2225). (Stas)
- Fixed the mail.log ini setting when no filename was given. (Johannes)
- Fixed bug #52317 (Segmentation fault when using mail() on a rhel 4.x (only 64
bit)). (Adam)
- Fixed bug #52262 (json_decode() shows no errors on invalid UTF-8).
(Scott)
- Fixed bug #52240 (hash_copy() does not copy the HMAC key, causes wrong
results and PHP crashes). (Felipe)
- Fixed bug #52238 (Crash when an Exception occured in iterator_to_array).
(Johannes)
- Fixed bug #52193 (converting closure to array yields empty array). (Felipe)
- Fixed bug #52183 (Reflectionfunction reports invalid number of arguments for
function aliases). (Felipe)
- Fixed bug #52162 (custom request header variables with numbers are removed).
(Sriram Natarajan)
- Fixed bug #52160 (Invalid E_STRICT redefined constructor error). (Felipe)
- Fixed bug #52138 (Constants are parsed into the ini file for section names).
(Felipe)
- Fixed bug #52115 (mysqli_result::fetch_all returns null, not an empty array).
(Andrey)
- Fixed bug #52101 (dns_get_record() garbage in 'ipv6' field on Windows).
(Pierre)
- Fixed bug #52082 (character_set_client & character_set_connection reset after
@@ -87,12 +986,16 @@ PHP NEWS
- Fixed bug #52057 (ReflectionClass fails on Closure class). (Felipe)
- Fixed bug #52051 (handling of case sensitivity of old-style constructors
changed in 5.3+). (Felipe)
- Fixed bug #52037 (Concurrent builds fail in install-programs). (seanius at
debian dot org, Kalle)
- Fixed bug #52019 (make lcov doesn't support TESTS variable anymore). (Patrick)
- Fixed bug #52010 (open_basedir restrictions mismatch on vacuum command).
(Ilia)
- Fixed bug #52001 (Memory allocation problems after using variable variables).
(Dmitry)
- Fixed bug #51991 (spl_autoload and *nix support with namespace). (Felipe)
- Fixed bug #51943 (AIX: Several files are out of ANSI spec). (Kalle,
coreystup at gmail dot com)
- Fixed bug #51911 (ReflectionParameter::getDefaultValue() memory leaks with
constant array). (Felipe)
- Fixed bug #51905 (ReflectionParameter fails if default value is an array
@@ -115,6 +1018,8 @@ PHP NEWS
(David Zuelke)
- Fixed bug #51712 (Test mysql_mysqlnd_read_timeout_long must fail on MySQL4).
(Andrey)
- Fixed bug #51697 (Unsafe operations in free_storage of SPL iterators,
causes crash during shutdown). (Etienne)
- Fixed bug #51690 (Phar::setStub looks for case-sensitive
__HALT_COMPILER()). (Ilia)
- Fixed bug #51688 (ini per dir crashes when invalid document root are given).
@@ -141,6 +1046,7 @@ PHP NEWS
- Fixed bug #51604 (newline in end of header is shown in start of message).
(Daniel Egeberg)
- Fixed bug #51590 (JSON_ERROR_UTF8 is undefined). (Felipe)
- Fixed bug #51583 (Bus error due to wrong alignment in mysqlnd). (Rainer Jung)
- Fixed bug #51582 (Don't assume UINT64_C it's ever available).
(reidrac at usebox dot net, Pierre)
- Fixed bug #51577 (Uninitialized memory reference with oci_bind_array_by_name)
@@ -204,8 +1110,6 @@ PHP NEWS
com, Pierre)
- Fixed bug #50578 (incorrect shebang in phar.phar). (Fedora at FamilleCollet
dot com)
- Fixed bug #50555 (DateTime::sub() allows 'relative' time modifications).
(Derick)
- Fixed bug #50392 (date_create_from_format enforces 6 digits for 'u' format
character). (Derick)
- Fixed bug #50383 (Exceptions thrown in __call / __callStatic do not include
@@ -213,6 +1117,8 @@ PHP NEWS
- Fixed bug #50358 (Compile failure compiling ext/phar/util.lo). (Felipe)
- Fixed bug #50101 (name clash between global and local variable).
(patch by yoarvi at gmail dot com)
- Fixed bug #50055 (DateTime::sub() allows 'relative' time modifications).
(Derick)
- Fixed bug #51002 (fix possible memory corruption with very long names).
(Pierre)
- Fixed bug #49893 (Crash while creating an instance of Zend_Mail_Storage_Pop3).
@@ -227,12 +1133,15 @@ PHP NEWS
- Fixed bug #49429 (odbc_autocommit doesn't work). (Felipe)
- Fixed bug #49320 (PDO returns null when SQLite connection fails). (Felipe)
- Fixed bug #49234 (mysqli_ssl_set not found). (Andrey)
- Fixed bug #49216 (Reflection doesn't seem to work properly on MySqli).
(Andrey)
- Fixed bug #49192 (PHP crashes when GC invoked on COM object). (Stas)
- Fixed bug #49081 (DateTime::diff() mistake if start in January and interval >
28 days). (Derick)
- Fixed bug #49059 (DateTime::diff() repeats previous sub() operation).
(yoarvi@gmail.com, Derick)
- Fixed bug #48983 (DomDocument : saveHTMLFile wrong charset). (Rob)
- Fixed bug #48930 (__COMPILER_HALT_OFFSET__ incorrect in PHP >= 5.3). (Felipe)
- Fixed bug #48902 (Timezone database fallback map is outdated). (Derick)
- Fixed bug #48781 (Cyclical garbage collector memory leak). (Dmitry)
- Fixed bug #48601 (xpath() returns FALSE for legitimate query). (Rob)
@@ -242,9 +1151,12 @@ PHP NEWS
(Adam, patch from hiroaki dot kawai at gmail dot com).
- Fixed bug #47842 (sscanf() does not support 64-bit values). (Mike)
- Fixed bug #46111 (Some timezone identifiers can not be parsed). (Derick)
- Fixed bug #45808 (stream_socket_enable_crypto() blocks and eats CPU).
(vincent at optilian dot com)
- Fixed bug #43233 (sasl support for ldap on Windows). (Pierre)
- Fixed bug #35673 (formatOutput does not work with saveHTML). (Rob)
- Fixed bug #33210 (getimagesize() fails to detect width/height on certain
JPEGs). (Ilia)
04 Mar 2010, PHP 5.3.2
+20 -7
View File
@@ -51,27 +51,40 @@ SUCH DAMAGE.
6. ext/standard crypt's blowfish implementation
The crypt_blowfish homepage is:
http://www.openwall.com/crypt/
This code comes from John the Ripper password cracker, with reentrant
and crypt(3) interfaces added, but optimizations specific to password
cracking removed.
Written by Solar Designer <solar at openwall.com> in 1998-2002 and
placed in the public domain.
Written by Solar Designer <solar at openwall.com> in 1998-2011.
No copyright is claimed, and the software is hereby placed in the public
domain. In case this attempt to disclaim copyright and place the software
in the public domain is deemed null and void, then the software is
Copyright (c) 1998-2011 Solar Designer and it is hereby released to the
general public under the following terms:
There's absolutely no warranty.
Redistribution and use in source and binary forms, with or without
modification, are permitted.
There's ABSOLUTELY NO WARRANTY, express or implied.
It is my intent that you should be able to use this on your system,
as a part of a software package, or anywhere else to improve security,
as part of a software package, or anywhere else to improve security,
ensure compatibility, or for any other purpose. I would appreciate
it if you give credit where it is due and keep your modifications in
the public domain as well, but I don't require that in order to let
you place this code and any modifications you make under a license
of your choice.
This implementation is compatible with OpenBSD bcrypt.c (version 2a)
by Niels Provos <provos at citi.umich.edu>, and uses some of his
This implementation is mostly compatible with OpenBSD's bcrypt.c (prefix
"$2a$") by Niels Provos <provos at citi.umich.edu>, and uses some of his
ideas. The password hashing algorithm was designed by David Mazieres
<dm at lcs.mit.edu>.
<dm at lcs.mit.edu>. For more information on the level of compatibility,
please refer to the comments in BF_set_key() and to the crypt(3) man page
included in the crypt_blowfish tarball.
There's a paper on the algorithm that explains its design decisions:
+10 -14
View File
@@ -100,16 +100,14 @@ Derick) run the following commands for you:
``sudo -u ezmlm ezmlm-sub ~ezmlm/primary-qa-tester/mod moderator-email-address``
3. Update the MD5 sums in ``web/qa/trunk/include/rc-md5sums.txt`` (no empty lines).
3. Update ``web/qa/trunk/include/release-qa.php`` with the appropriate information.
See the documentation within release-qa.php for more information, but all releases
and RCs are configured here. Only $QA_RELEASES needs to be edited.
4. Update in ``web/qa/trunk/include/release-qa.php`` constants with the new RC and
commit this.
Example: When rolling an RC, set the 'rc' with appropriate information for the
given version.
a. ``$BUILD_TEST_RELEASES`` = array("4.4.7RC1", "5.2.2RC1")
b. ``$CURRENT_QA_RELEASE_4`` = "4.4.7RC1" (``$CURRENT_QA_RELEASE_5`` for PHP5)
c. ``$RELEASE_PROCESS`` = array(4 => true, 5 => true)
Note: Remember to update the MD5 checksum information.
1. Update in ``php-bugs/trunk/include/functions.inc`` the ``show_version_option``
function to include the new RC and commit.
@@ -244,13 +242,11 @@ number, and remove the RC from there.
11. Update ``qaweb/include/release-qa.php``
a. Update the $BUILD_TEST_RELEASES array with the release name
- Update $QA_RELEASES with the appropriate information, which means bumping
the version number to an upcoming version.
b. Update $RELEASE_PROCESS array (set to false)
I. For PHP4: Set $CURRENT_QA_RELEASE_4 to false
II. For PHP5: Set $CURRENT_QA_RELEASE_5 to false
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)
--------------------------------------
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Thread Safe Resource Manager |
+----------------------------------------------------------------------+
| Copyright (c) 1999-2010, Andi Gutmans, Sascha Schumann, Zeev Suraski |
| Copyright (c) 1999-2011, Andi Gutmans, Sascha Schumann, Zeev Suraski |
| This source file is subject to the TSRM license, that is bundled |
| with this package in the file LICENSE |
+----------------------------------------------------------------------+
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Thread Safe Resource Manager |
+----------------------------------------------------------------------+
| Copyright (c) 1999-2010, Andi Gutmans, Sascha Schumann, Zeev Suraski |
| Copyright (c) 1999-2011, Andi Gutmans, Sascha Schumann, Zeev Suraski |
| This source file is subject to the TSRM license, that is bundled |
| with this package in the file LICENSE |
+----------------------------------------------------------------------+
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2011 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-2011 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 |
+261 -92
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2011 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 |
@@ -14,6 +14,7 @@
+----------------------------------------------------------------------+
| Authors: Andi Gutmans <andi@zend.com> |
| Sascha Schumann <sascha@schumann.cx> |
| Pierre Joye <pierre@php.net> |
+----------------------------------------------------------------------+
*/
@@ -38,6 +39,18 @@
# ifndef IO_REPARSE_TAG_SYMLINK
# define IO_REPARSE_TAG_SYMLINK 0xA000000C
# endif
# ifndef VOLUME_NAME_NT
# define VOLUME_NAME_NT 0x2
# endif
# ifndef VOLUME_NAME_DOS
# define VOLUME_NAME_DOS 0x0
# endif
#endif
#ifndef S_IFLNK
# define S_IFLNK 0120000
#endif
#ifdef NETWARE
@@ -83,14 +96,14 @@ cwd_state main_cwd_state; /* True global */
#include <tchar.h>
#define tsrm_strtok_r(a,b,c) _tcstok((a),(b))
#define TOKENIZER_STRING "/\\"
static int php_check_dots(const char *element, int n)
static int php_check_dots(const char *element, int n)
{
while (n-- > 0) if (element[n] != '.') break;
return (n != -1);
}
#define IS_DIRECTORY_UP(element, len) \
(len >= 2 && !php_check_dots(element, len))
@@ -124,7 +137,7 @@ static int php_check_dots(const char *element, int n)
/* define this to check semantics */
#define IS_DIR_OK(s) (1)
#ifndef IS_DIR_OK
#define IS_DIR_OK(state) (php_is_dir_ok(state) == 0)
#endif
@@ -137,7 +150,7 @@ static int php_check_dots(const char *element, int n)
#define CWD_STATE_FREE(s) \
free((s)->cwd);
#ifdef TSRM_WIN32
#ifdef CTL_CODE
@@ -202,21 +215,98 @@ static inline time_t FileTimeToUnixTime(const FILETIME FileTime)
return (time_t)UnixTime;
}
CWD_API int php_sys_readlink(const char *link, char *target, size_t target_len){ /* {{{ */
HINSTANCE kernel32;
HANDLE hFile;
DWORD dwRet;
typedef BOOL (WINAPI *gfpnh_func)(HANDLE, LPTSTR, DWORD, DWORD);
gfpnh_func pGetFinalPathNameByHandle;
kernel32 = LoadLibrary("kernel32.dll");
if (kernel32) {
pGetFinalPathNameByHandle = (gfpnh_func)GetProcAddress(kernel32, "GetFinalPathNameByHandleA");
if (pGetFinalPathNameByHandle == NULL) {
return -1;
}
} else {
return -1;
}
hFile = CreateFile(link, // file to open
GENERIC_READ, // open for reading
FILE_SHARE_READ, // share for reading
NULL, // default security
OPEN_EXISTING, // existing file only
FILE_FLAG_BACKUP_SEMANTICS, // normal file
NULL); // no attr. template
if( hFile == INVALID_HANDLE_VALUE) {
return -1;
}
dwRet = pGetFinalPathNameByHandle(hFile, target, MAXPATHLEN, VOLUME_NAME_DOS);
if(dwRet >= MAXPATHLEN) {
return -1;
}
CloseHandle(hFile);
if(dwRet > 4) {
/* Skip first 4 characters if they are "\??\" */
if(target[0] == '\\' && target[1] == '\\' && target[2] == '?' && target[3] == '\\') {
char tmp[MAXPATHLEN];
unsigned int offset = 4;
dwRet -= 4;
/* \??\UNC\ */
if (dwRet > 7 && target[4] == 'U' && target[5] == 'N' && target[6] == 'C') {
offset += 2;
dwRet -= 2;
target[offset] = '\\';
}
memcpy(tmp, target + offset, dwRet);
memcpy(target, tmp, dwRet);
}
}
target[dwRet] = '\0';
return dwRet;
}
/* }}} */
CWD_API int php_sys_stat(const char *path, struct stat *buf) /* {{{ */
{
return php_sys_stat_ex(path, buf, 0);
}
/* }}} */
CWD_API int php_sys_lstat(const char *path, struct stat *buf) /* {{{ */
{
return php_sys_stat_ex(path, buf, 1);
}
/* }}} */
CWD_API int php_sys_stat_ex(const char *path, struct stat *buf, int lstat) /* {{{ */
{
WIN32_FILE_ATTRIBUTE_DATA data;
__int64 t;
const size_t path_len = strlen(path);
if (!GetFileAttributesEx(path, GetFileExInfoStandard, &data)) {
return stat(path, buf);
}
if (path[1] == ':') {
if (path_len >= 1 && path[1] == ':') {
if (path[0] >= 'A' && path[0] <= 'Z') {
buf->st_dev = buf->st_rdev = path[0] - 'A';
} else {
buf->st_dev = buf->st_rdev = path[0] - 'a';
}
} else if (IS_UNC_PATH(path, path_len)) {
buf->st_dev = buf->st_rdev = 0;
} else {
char cur_path[MAXPATHLEN+1];
DWORD len = sizeof(cur_path);
@@ -245,19 +335,56 @@ CWD_API int php_sys_stat(const char *path, struct stat *buf) /* {{{ */
}
if (tmp != cur_path) {
free(tmp);
}
}
}
buf->st_uid = buf->st_gid = buf->st_ino = 0;
buf->st_mode = (data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ? (S_IFDIR|S_IEXEC|(S_IEXEC>>3)|(S_IEXEC>>6)) : S_IFREG;
buf->st_mode |= (data.dwFileAttributes & FILE_ATTRIBUTE_READONLY) ? (S_IREAD|(S_IREAD>>3)|(S_IREAD>>6)) : (S_IREAD|(S_IREAD>>3)|(S_IREAD>>6)|S_IWRITE|(S_IWRITE>>3)|(S_IWRITE>>6));
if (lstat && data.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) {
/* File is a reparse point. Get the target */
HANDLE hLink = NULL;
REPARSE_DATA_BUFFER * pbuffer;
unsigned int retlength = 0;
TSRM_ALLOCA_FLAG(use_heap_large);
hLink = CreateFile(path, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_FLAG_OPEN_REPARSE_POINT|FILE_FLAG_BACKUP_SEMANTICS, NULL);
if(hLink == INVALID_HANDLE_VALUE) {
return -1;
}
pbuffer = (REPARSE_DATA_BUFFER *)tsrm_do_alloca(MAXIMUM_REPARSE_DATA_BUFFER_SIZE, use_heap_large);
if(!DeviceIoControl(hLink, FSCTL_GET_REPARSE_POINT, NULL, 0, pbuffer, MAXIMUM_REPARSE_DATA_BUFFER_SIZE, &retlength, NULL)) {
tsrm_free_alloca(pbuffer, use_heap_large);
CloseHandle(hLink);
return -1;
}
CloseHandle(hLink);
if(pbuffer->ReparseTag == IO_REPARSE_TAG_SYMLINK) {
buf->st_mode = S_IFLNK;
buf->st_mode |= (data.dwFileAttributes & FILE_ATTRIBUTE_READONLY) ? (S_IREAD|(S_IREAD>>3)|(S_IREAD>>6)) : (S_IREAD|(S_IREAD>>3)|(S_IREAD>>6)|S_IWRITE|(S_IWRITE>>3)|(S_IWRITE>>6));
}
#if 0 /* Not used yet */
else if(pbuffer->ReparseTag == IO_REPARSE_TAG_MOUNT_POINT) {
buf->st_mode |=;
}
#endif
tsrm_free_alloca(pbuffer, use_heap_large);
} else {
buf->st_mode = (data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ? (S_IFDIR|S_IEXEC|(S_IEXEC>>3)|(S_IEXEC>>6)) : S_IFREG;
buf->st_mode |= (data.dwFileAttributes & FILE_ATTRIBUTE_READONLY) ? (S_IREAD|(S_IREAD>>3)|(S_IREAD>>6)) : (S_IREAD|(S_IREAD>>3)|(S_IREAD>>6)|S_IWRITE|(S_IWRITE>>3)|(S_IWRITE>>6));
}
if ((data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0) {
int len = strlen(path);
if (path[len-4] == '.') {
if (_memicmp(path+len-3, "exe", 3) == 0 ||
_memicmp(path+len-3, "com", 3) == 0 ||
_memicmp(path+len-3, "bat", 3) == 0 ||
_memicmp(path+len-3, "cmd", 3) == 0) {
_memicmp(path+len-3, "com", 3) == 0 ||
_memicmp(path+len-3, "bat", 3) == 0 ||
_memicmp(path+len-3, "cmd", 3) == 0) {
buf->st_mode |= (S_IEXEC|(S_IEXEC>>3)|(S_IEXEC>>6));
}
}
@@ -332,7 +459,7 @@ CWD_API void virtual_cwd_startup(void) /* {{{ */
}
}
#else
result = getcwd(cwd, sizeof(cwd));
result = getcwd(cwd, sizeof(cwd));
#endif
if (!result) {
cwd[0] = '\0';
@@ -382,8 +509,11 @@ CWD_API char *virtual_getcwd_ex(size_t *length TSRMLS_DC) /* {{{ */
*length = 1;
retval = (char *) malloc(2);
if (retval == NULL) {
return NULL;
}
retval[0] = DEFAULT_SLASH;
retval[1] = '\0';
retval[1] = '\0';
return retval;
}
@@ -394,6 +524,9 @@ CWD_API char *virtual_getcwd_ex(size_t *length TSRMLS_DC) /* {{{ */
*length = state->cwd_length+1;
retval = (char *) malloc(*length+1);
if (retval == NULL) {
return NULL;
}
memcpy(retval, state->cwd, *length);
retval[0] = toupper(retval[0]);
retval[*length-1] = DEFAULT_SLASH;
@@ -493,10 +626,17 @@ CWD_API void realpath_cache_del(const char *path, int path_len TSRMLS_DC) /* {{{
while (*bucket != NULL) {
if (key == (*bucket)->key && path_len == (*bucket)->path_len &&
memcmp(path, (*bucket)->path, path_len) == 0) {
memcmp(path, (*bucket)->path, path_len) == 0) {
realpath_cache_bucket *r = *bucket;
*bucket = (*bucket)->next;
CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1 + r->realpath_len + 1;
/* if the pointers match then only subtract the length of the path */
if(r->path == r->realpath) {
CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1;
} else {
CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1 + r->realpath_len + 1;
}
free(r);
return;
} else {
@@ -510,9 +650,9 @@ static inline void realpath_cache_add(const char *path, int path_len, const char
{
long size = sizeof(realpath_cache_bucket) + path_len + 1;
int same = 1;
if (realpath_len != path_len ||
memcmp(path, realpath, path_len) != 0) {
memcmp(path, realpath, path_len) != 0) {
size += realpath_len + 1;
same = 0;
}
@@ -521,6 +661,10 @@ static inline void realpath_cache_add(const char *path, int path_len, const char
realpath_cache_bucket *bucket = malloc(size);
unsigned long n;
if (bucket == NULL) {
return;
}
#ifdef PHP_WIN32
bucket->key = realpath_cache_key(path, path_len TSRMLS_CC);
#else
@@ -567,10 +711,17 @@ static inline realpath_cache_bucket* realpath_cache_find(const char *path, int p
if (CWDG(realpath_cache_ttl) && (*bucket)->expires < t) {
realpath_cache_bucket *r = *bucket;
*bucket = (*bucket)->next;
CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1 + r->realpath_len + 1;
/* if the pointers match then only subtract the length of the path */
if(r->path == r->realpath) {
CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1;
} else {
CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1 + r->realpath_len + 1;
}
free(r);
} else if (key == (*bucket)->key && path_len == (*bucket)->path_len &&
memcmp(path, (*bucket)->path, path_len) == 0) {
memcmp(path, (*bucket)->path, path_len) == 0) {
return *bucket;
} else {
bucket = &(*bucket)->next;
@@ -582,21 +733,21 @@ static inline realpath_cache_bucket* realpath_cache_find(const char *path, int p
CWD_API realpath_cache_bucket* realpath_cache_lookup(const char *path, int path_len, time_t t TSRMLS_DC) /* {{{ */
{
return realpath_cache_find(path, path_len, t TSRMLS_CC);
return realpath_cache_find(path, path_len, t TSRMLS_CC);
}
/* }}} */
CWD_API int realpath_cache_size(TSRMLS_D)
CWD_API int realpath_cache_size(TSRMLS_D)
{
return CWDG(realpath_cache_size);
}
CWD_API int realpath_cache_max_buckets(TSRMLS_D)
CWD_API int realpath_cache_max_buckets(TSRMLS_D)
{
return (sizeof(CWDG(realpath_cache)) / sizeof(CWDG(realpath_cache)[0]));
}
CWD_API realpath_cache_bucket** realpath_cache_get_buckets(TSRMLS_D)
CWD_API realpath_cache_bucket** realpath_cache_get_buckets(TSRMLS_D)
{
return CWDG(realpath_cache);
}
@@ -650,14 +801,14 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
if (!start) {
/* leading '..' must not be removed in case of relative path */
if (j == 0 && path[0] == '.' && path[1] == '.' &&
IS_SLASH(path[2])) {
IS_SLASH(path[2])) {
path[3] = '.';
path[4] = '.';
path[5] = DEFAULT_SLASH;
j = 5;
} else if (j > 0 &&
path[j+1] == '.' && path[j+2] == '.' &&
IS_SLASH(path[j+3])) {
} else if (j > 0 &&
path[j+1] == '.' && path[j+2] == '.' &&
IS_SLASH(path[j+3])) {
j += 4;
path[j++] = '.';
path[j++] = '.';
@@ -673,7 +824,7 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
}
return j;
}
path[len] = 0;
save = (use_realpath != CWD_EXPAND);
@@ -683,18 +834,18 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
if (!*t) {
*t = time(0);
}
if ((bucket = realpath_cache_find(path, len, *t TSRMLS_CC)) != NULL) {
if (is_dir && !bucket->is_dir) {
if ((bucket = realpath_cache_find(path, len, *t TSRMLS_CC)) != NULL) {
if (is_dir && !bucket->is_dir) {
/* not a directory */
return -1;
} else {
if (link_is_dir) {
*link_is_dir = bucket->is_dir;
}
} else {
if (link_is_dir) {
*link_is_dir = bucket->is_dir;
}
memcpy(path, bucket->realpath, bucket->realpath_len + 1);
return bucket->realpath_len;
return bucket->realpath_len;
}
}
}
}
#ifdef TSRM_WIN32
@@ -706,7 +857,7 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
/* continue resolution anyway but don't save result in the cache */
save = 0;
}
if (save) {
FindClose(hFind);
}
@@ -714,9 +865,9 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
tmp = tsrm_do_alloca(len+1, use_heap);
memcpy(tmp, path, len+1);
if(save &&
!(IS_UNC_PATH(path, len) && len >= 3 && path[2] != '?') &&
(data.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT)) {
if(save &&
!(IS_UNC_PATH(path, len) && len >= 3 && path[2] != '?') &&
(data.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT)) {
/* File is a reparse point. Get the target */
HANDLE hLink = NULL;
REPARSE_DATA_BUFFER * pbuffer;
@@ -739,6 +890,9 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
}
pbuffer = (REPARSE_DATA_BUFFER *)tsrm_do_alloca(MAXIMUM_REPARSE_DATA_BUFFER_SIZE, use_heap_large);
if (pbuffer == NULL) {
return -1;
}
if(!DeviceIoControl(hLink, FSCTL_GET_REPARSE_POINT, NULL, 0, pbuffer, MAXIMUM_REPARSE_DATA_BUFFER_SIZE, &retlength, NULL)) {
tsrm_free_alloca(pbuffer, use_heap_large);
CloseHandle(hLink);
@@ -751,7 +905,7 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
reparsetarget = pbuffer->SymbolicLinkReparseBuffer.ReparseTarget;
printname_len = pbuffer->MountPointReparseBuffer.PrintNameLength / sizeof(WCHAR);
isabsolute = (pbuffer->SymbolicLinkReparseBuffer.Flags == 0) ? 1 : 0;
if (!WideCharToMultiByte(CP_THREAD_ACP, 0,
if (!WideCharToMultiByte(CP_THREAD_ACP, 0,
reparsetarget + pbuffer->MountPointReparseBuffer.PrintNameOffset / sizeof(WCHAR),
printname_len + 1,
printname, MAX_PATH, NULL, NULL
@@ -763,7 +917,7 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
printname[printname_len] = 0;
substitutename_len = pbuffer->MountPointReparseBuffer.SubstituteNameLength / sizeof(WCHAR);
if (!WideCharToMultiByte(CP_THREAD_ACP, 0,
if (!WideCharToMultiByte(CP_THREAD_ACP, 0,
reparsetarget + pbuffer->MountPointReparseBuffer.SubstituteNameOffset / sizeof(WCHAR),
substitutename_len + 1,
substitutename, MAX_PATH, NULL, NULL
@@ -777,7 +931,7 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
isabsolute = 1;
reparsetarget = pbuffer->MountPointReparseBuffer.ReparseTarget;
printname_len = pbuffer->MountPointReparseBuffer.PrintNameLength / sizeof(WCHAR);
if (!WideCharToMultiByte(CP_THREAD_ACP, 0,
if (!WideCharToMultiByte(CP_THREAD_ACP, 0,
reparsetarget + pbuffer->MountPointReparseBuffer.PrintNameOffset / sizeof(WCHAR),
printname_len + 1,
printname, MAX_PATH, NULL, NULL
@@ -788,7 +942,7 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
printname[pbuffer->MountPointReparseBuffer.PrintNameLength / sizeof(WCHAR)] = 0;
substitutename_len = pbuffer->MountPointReparseBuffer.SubstituteNameLength / sizeof(WCHAR);
if (!WideCharToMultiByte(CP_THREAD_ACP, 0,
if (!WideCharToMultiByte(CP_THREAD_ACP, 0,
reparsetarget + pbuffer->MountPointReparseBuffer.SubstituteNameOffset / sizeof(WCHAR),
substitutename_len + 1,
substitutename, MAX_PATH, NULL, NULL
@@ -803,29 +957,31 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
}
if(isabsolute && substitutename_len > 4) {
/* Do not resolve volumes (for now). A mounted point can
/* Do not resolve volumes (for now). A mounted point can
target a volume without a drive, it is not certain that
all IO functions we use in php and its deps support
all IO functions we use in php and its deps support
path with volume GUID instead of the DOS way, like:
d:\test\mnt\foo
\\?\Volume{62d1c3f8-83b9-11de-b108-806e6f6e6963}\foo
*/
if (strncmp(substitutename, "\\??\\Volume{",11) == 0
|| strncmp(substitutename, "\\\\?\\Volume{",11) == 0) {
isVolume = TRUE;
if (strncmp(substitutename, "\\??\\Volume{",11) == 0
|| strncmp(substitutename, "\\\\?\\Volume{",11) == 0
|| strncmp(substitutename, "\\??\\UNC\\", 8) == 0
) {
isVolume = TRUE;
substitutename_off = 0;
} else
/* do not use the \??\ and \\?\ prefix*/
if (strncmp(substitutename, "\\??\\", 4) == 0
if (strncmp(substitutename, "\\??\\", 4) == 0
|| strncmp(substitutename, "\\\\?\\", 4) == 0) {
substitutename_off = 4;
}
}
if (!isVolume) {
char * tmp = substitutename + substitutename_off;
char * tmp2 = substitutename + substitutename_off;
for(bufindex = 0; bufindex < (substitutename_len - substitutename_off); bufindex++) {
*(path + bufindex) = *(tmp + bufindex);
*(path + bufindex) = *(tmp2 + bufindex);
}
*(path + bufindex) = 0;
@@ -887,7 +1043,7 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
tmp = tsrm_do_alloca(len+1, use_heap);
memcpy(tmp, path, len+1);
#else
if (save && lstat(path, &st) < 0) {
if (save && php_sys_lstat(path, &st) < 0) {
if (use_realpath == CWD_REALPATH) {
/* file not found */
return -1;
@@ -900,8 +1056,8 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
memcpy(tmp, path, len+1);
if (save && S_ISLNK(st.st_mode)) {
if (++(*ll) > LINK_MAX || (j = readlink(tmp, path, MAXPATHLEN)) < 0) {
/* too many links or broken symlinks */
if (++(*ll) > LINK_MAX || (j = php_sys_readlink(tmp, path, MAXPATHLEN)) < 0) {
/* too many links or broken symlinks */
tsrm_free_alloca(tmp, use_heap);
return -1;
}
@@ -913,10 +1069,10 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
return -1;
}
} else {
if (i + j >= MAXPATHLEN-1) {
if (i + j >= MAXPATHLEN-1) {
tsrm_free_alloca(tmp, use_heap);
return -1; /* buffer overflow */
}
}
memmove(path+i, path, j+1);
memcpy(path, tmp, i-1);
path[i-1] = DEFAULT_SLASH;
@@ -937,6 +1093,7 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
}
if (is_dir && !directory) {
/* not a directory */
tsrm_free_alloca(tmp, use_heap);
return -1;
}
}
@@ -1038,18 +1195,18 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
state_cwd_length = 2;
while (IS_SLASH(state->cwd[state_cwd_length])) {
state_cwd_length++;
}
}
while (state->cwd[state_cwd_length] &&
!IS_SLASH(state->cwd[state_cwd_length])) {
!IS_SLASH(state->cwd[state_cwd_length])) {
state_cwd_length++;
}
}
while (IS_SLASH(state->cwd[state_cwd_length])) {
state_cwd_length++;
}
}
while (state->cwd[state_cwd_length] &&
!IS_SLASH(state->cwd[state_cwd_length])) {
!IS_SLASH(state->cwd[state_cwd_length])) {
state_cwd_length++;
}
}
}
}
#endif
@@ -1061,7 +1218,7 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
memcpy(resolved_path + state_cwd_length + 1, path, path_length + 1);
path_length += state_cwd_length + 1;
}
} else {
} else {
#ifdef TSRM_WIN32
if (path_length > 2 && path[1] == ':' && !IS_SLASH(path[2])) {
resolved_path[0] = path[0];
@@ -1072,11 +1229,11 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
} else
#endif
memcpy(resolved_path, path, path_length + 1);
}
}
#ifdef TSRM_WIN32
if (memchr(resolved_path, '*', path_length) ||
memchr(resolved_path, '?', path_length)) {
memchr(resolved_path, '?', path_length)) {
return 1;
}
#endif
@@ -1126,12 +1283,12 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
add_slash = (use_realpath != CWD_REALPATH) && path_length > 0 && IS_SLASH(resolved_path[path_length-1]);
t = CWDG(realpath_cache_ttl) ? 0 : -1;
path_length = tsrm_realpath_r(resolved_path, start, path_length, &ll, &t, use_realpath, 0, NULL TSRMLS_CC);
if (path_length < 0) {
errno = ENOENT;
return 1;
}
if (!start && !path_length) {
resolved_path[path_length++] = '.';
}
@@ -1184,7 +1341,7 @@ verify:
memcpy(state->cwd, resolved_path, state->cwd_length+1);
ret = 0;
}
#if VIRTUAL_CWD_DEBUG
fprintf (stderr, "virtual_file_ex() = %s\n",state->cwd);
#endif
@@ -1207,7 +1364,7 @@ CWD_API int virtual_chdir_file(const char *path, int (*p_chdir)(const char *path
if (length == 0) {
return 1; /* Can't cd to empty string */
}
}
while(--length >= 0 && !IS_SLASH(path[length])) {
}
@@ -1241,17 +1398,25 @@ CWD_API char *virtual_realpath(const char *path, char *real_path TSRMLS_DC) /* {
/* realpath("") returns CWD */
if (!*path) {
new_state.cwd = (char*)malloc(1);
if (new_state.cwd == NULL) {
retval = NULL;
goto end;
}
new_state.cwd[0] = '\0';
new_state.cwd_length = 0;
if (VCWD_GETCWD(cwd, MAXPATHLEN)) {
path = cwd;
new_state.cwd_length = 0;
if (VCWD_GETCWD(cwd, MAXPATHLEN)) {
path = cwd;
}
} else if (!IS_ABSOLUTE_PATH(path, strlen(path))) {
CWD_STATE_COPY(&new_state, &CWDG(cwd));
} else {
new_state.cwd = (char*)malloc(1);
if (new_state.cwd == NULL) {
retval = NULL;
goto end;
}
new_state.cwd[0] = '\0';
new_state.cwd_length = 0;
new_state.cwd_length = 0;
}
if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH)==0) {
@@ -1265,7 +1430,7 @@ CWD_API char *virtual_realpath(const char *path, char *real_path TSRMLS_DC) /* {
}
CWD_STATE_FREE(&new_state);
end:
return retval;
}
/* }}} */
@@ -1317,7 +1482,7 @@ CWD_API int virtual_access(const char *pathname, int mode TSRMLS_DC) /* {{{ */
{
cwd_state new_state;
int ret;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, pathname, NULL, CWD_REALPATH)) {
CWD_STATE_FREE(&new_state);
@@ -1329,9 +1494,9 @@ CWD_API int virtual_access(const char *pathname, int mode TSRMLS_DC) /* {{{ */
#else
ret = access(new_state.cwd, mode);
#endif
CWD_STATE_FREE(&new_state);
return ret;
}
/* }}} */
@@ -1352,12 +1517,12 @@ static void UnixTimeToFileTime(time_t t, LPFILETIME pft) /* {{{ */
TSRM_API int win32_utime(const char *filename, struct utimbuf *buf) /* {{{ */
{
FILETIME mtime, atime;
HANDLE hFile;
HANDLE hFile;
hFile = CreateFile(filename, GENERIC_WRITE, FILE_SHARE_WRITE|FILE_SHARE_READ, NULL,
OPEN_ALWAYS, FILE_FLAG_BACKUP_SEMANTICS, NULL);
/* OPEN_ALWAYS mode sets the last error to ERROR_ALREADY_EXISTS but
/* OPEN_ALWAYS mode sets the last error to ERROR_ALREADY_EXISTS but
the CreateFile operation succeeds */
if (GetLastError() == ERROR_ALREADY_EXISTS) {
SetLastError(0);
@@ -1477,7 +1642,7 @@ CWD_API int virtual_open(const char *path TSRMLS_DC, int flags, ...) /* {{{ */
f = open(new_state.cwd, flags, mode);
} else {
f = open(new_state.cwd, flags);
}
}
CWD_STATE_FREE(&new_state);
return f;
}
@@ -1556,7 +1721,6 @@ CWD_API int virtual_stat(const char *path, struct stat *buf TSRMLS_DC) /* {{{ */
}
/* }}} */
#if !defined(TSRM_WIN32)
CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC) /* {{{ */
{
cwd_state new_state;
@@ -1568,13 +1732,12 @@ CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC) /* {{{ *
return -1;
}
retval = lstat(new_state.cwd, buf);
retval = php_sys_lstat(new_state.cwd, buf);
CWD_STATE_FREE(&new_state);
return retval;
}
/* }}} */
#endif
CWD_API int virtual_unlink(const char *path TSRMLS_DC) /* {{{ */
{
@@ -1738,7 +1901,7 @@ CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC) /*
}
*ptr++ = '\'';
}
*ptr++ = ' ';
*ptr++ = ';';
*ptr++ = ' ';
@@ -1760,19 +1923,25 @@ CWD_API char *tsrm_realpath(const char *path, char *real_path TSRMLS_DC) /* {{{
/* realpath("") returns CWD */
if (!*path) {
new_state.cwd = (char*)malloc(1);
if (new_state.cwd == NULL) {
return NULL;
}
new_state.cwd[0] = '\0';
new_state.cwd_length = 0;
if (VCWD_GETCWD(cwd, MAXPATHLEN)) {
path = cwd;
new_state.cwd_length = 0;
if (VCWD_GETCWD(cwd, MAXPATHLEN)) {
path = cwd;
}
} else if (!IS_ABSOLUTE_PATH(path, strlen(path)) &&
VCWD_GETCWD(cwd, MAXPATHLEN)) {
VCWD_GETCWD(cwd, MAXPATHLEN)) {
new_state.cwd = strdup(cwd);
new_state.cwd_length = strlen(cwd);
} else {
new_state.cwd = (char*)malloc(1);
if (new_state.cwd == NULL) {
return NULL;
}
new_state.cwd[0] = '\0';
new_state.cwd_length = 0;
new_state.cwd_length = 0;
}
if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH)) {
+14 -10
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2011 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 |
@@ -14,6 +14,7 @@
+----------------------------------------------------------------------+
| Authors: Andi Gutmans <andi@zend.com> |
| Sascha Schumann <sascha@schumann.cx> |
| Pierre Joye <pierre@php.net> |
+----------------------------------------------------------------------+
*/
@@ -107,7 +108,7 @@ typedef unsigned short mode_t;
#define COPY_WHEN_ABSOLUTE(path) 0
#endif
#ifndef IS_ABSOLUTE_PATH
#ifndef IS_ABSOLUTE_PATH
#define IS_ABSOLUTE_PATH(path, len) \
(IS_SLASH(path[0]))
#endif
@@ -129,9 +130,16 @@ typedef unsigned short mode_t;
#endif
#ifdef TSRM_WIN32
CWD_API int php_sys_stat_ex(const char *path, struct stat *buf, int lstat);
CWD_API int php_sys_stat(const char *path, struct stat *buf);
CWD_API int php_sys_lstat(const char *path, struct stat *buf);
CWD_API int php_sys_readlink(const char *link, char *target, size_t target_len);
#else
# define php_sys_stat stat
# define php_sys_lstat lstat
# ifdef HAVE_SYMLINK
# define php_sys_readlink(link, target, target_len) readlink(link, target, target_len)
# endif
#endif
typedef struct _cwd_state {
@@ -155,9 +163,7 @@ CWD_API int virtual_open(const char *path TSRMLS_DC, int flags, ...);
CWD_API int virtual_creat(const char *path, mode_t mode TSRMLS_DC);
CWD_API int virtual_rename(char *oldname, char *newname TSRMLS_DC);
CWD_API int virtual_stat(const char *path, struct stat *buf TSRMLS_DC);
#if !defined(TSRM_WIN32)
CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC);
#endif
CWD_API int virtual_unlink(const char *path TSRMLS_DC);
CWD_API int virtual_mkdir(const char *pathname, mode_t mode TSRMLS_DC);
CWD_API int virtual_rmdir(const char *pathname TSRMLS_DC);
@@ -188,7 +194,7 @@ CWD_API int virtual_chmod(const char *filename, mode_t mode TSRMLS_DC);
CWD_API int virtual_chown(const char *filename, uid_t owner, gid_t group, int link TSRMLS_DC);
#endif
/* One of the following constants must be used as the last argument
/* One of the following constants must be used as the last argument
in virtual_file_ex() call. */
#define CWD_EXPAND 0 /* expand "." and ".." but dont resolve symlinks */
@@ -216,7 +222,7 @@ typedef struct _realpath_cache_bucket {
unsigned char is_wvalid;
unsigned char is_writable;
#endif
struct _realpath_cache_bucket *next;
struct _realpath_cache_bucket *next;
} realpath_cache_bucket;
typedef struct _virtual_cwd_globals {
@@ -244,7 +250,7 @@ CWD_API realpath_cache_bucket** realpath_cache_get_buckets(TSRMLS_D);
/* The actual macros to be used in programs using TSRM
* If the program defines VIRTUAL_DIR it will use the
* virtual_* functions
* virtual_* functions
*/
#ifdef VIRTUAL_DIR
@@ -261,9 +267,7 @@ CWD_API realpath_cache_bucket** realpath_cache_get_buckets(TSRMLS_D);
#define VCWD_REALPATH(path, real_path) virtual_realpath(path, real_path TSRMLS_CC)
#define VCWD_RENAME(oldname, newname) virtual_rename(oldname, newname TSRMLS_CC)
#define VCWD_STAT(path, buff) virtual_stat(path, buff TSRMLS_CC)
#if !defined(TSRM_WIN32)
# define VCWD_LSTAT(path, buff) virtual_lstat(path, buff TSRMLS_CC)
#endif
#define VCWD_LSTAT(path, buff) virtual_lstat(path, buff TSRMLS_CC)
#define VCWD_UNLINK(path) virtual_unlink(path TSRMLS_CC)
#define VCWD_MKDIR(pathname, mode) virtual_mkdir(pathname, mode TSRMLS_CC)
#define VCWD_RMDIR(pathname) virtual_rmdir(pathname TSRMLS_CC)
+5 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2011 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 |
@@ -532,6 +532,10 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
}
cmd = (char*)malloc(strlen(command)+strlen(TWG(comspec))+sizeof(" /c ")+2);
if (!cmd) {
return NULL;
}
sprintf(cmd, "%s /c \"%s\"", TWG(comspec), command);
if (asuser) {
res = CreateProcessAsUser(token_user, NULL, cmd, &security, &security, security.bInheritHandle, dwCreateFlags, env, cwd, &startup, &process);
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2011 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 |
+16 -1
View File
@@ -40,6 +40,9 @@ UPGRADE NOTES - PHP 5.3
2. Changes made to existing functions
=====================================
- Paths containing NULL (like /some/path\0foo.txt) are now considered invalid.
See http://news.php.net/php.internals/50191
- The HTTP stream wrapper now considers all status codes from 200 to 399 to be
successful.
@@ -273,6 +276,8 @@ UPGRADE NOTES - PHP 5.3
- MySQLi: Now supports persistent connections by prepending the hostname
with "p:".
- imagepstext now rejects invalid antialiasing steps and raises a warning.
d. no longer possible to disable
- PCRE
@@ -457,6 +462,14 @@ UPGRADE NOTES - PHP 5.3
- Firebird and SNMP support are no longer available on Windows. Firebird support
may be reintroduced in the future.
=====================
11.1 New in PHP 5.3.4
=====================
- open_basedir supports now symbolic links (checks the target).
- is_link and SplFileInfo symbolic links related method are now fully supported
(on Windows Vista or later).
===================
12. New in PHP 5.3:
===================
@@ -657,7 +670,9 @@ UPGRADE NOTES - PHP 5.3
ReflectionClass::inNamespace()
ReflectionClass::getNamespaceName()
ReflectionClass::getShortName()
- SPL SplObjectStorage::addAll()
- SPL: DirectoryIterator::getExtension()
SplFileInfo::getExtension()
SplObjectStorage::addAll()
SplObjectStorage::removeAll()
- XSL: XSLTProcessor::setProfiling()
+23
View File
@@ -0,0 +1,23 @@
$Id$
UPGRADE NOTES - PHP 5.3.4
1. Internal API changes
========================
1. Internal API changes
========================
a. stat/lstat support
lstat is now available on all platforms. On unix-like platform
php_sys_lstat is an alias to lstat (when avaible). On Windows it is now
available using php_sys_lstat. php_sys_stat and php_sys_lstat usage is recommended
instead of calling lstat directly, to ensure portability.
b. readlink support
readlink is now available on all platforms. On unix-like platform
php_sys_readlink is an alias to readlink (when avaible). On Windows it is now
available using php_sys_readlink. php_sys_readlink usage is recommended
instead of calling readlink directly, to ensure portability.
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+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"
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"
# for standalone build of Zend Engine
test -z "$SED" && SED=sed
+4 -2
View File
@@ -30,7 +30,9 @@ if (defined("pass3")) {
set_error_handler('errorHandler');
define("pass2", 1);
include(__FILE__);
print "ok\n";
}
?>
--EXPECTF--
Error: Redefining already defined constructor for class TestClass (%sbug35634.php:12)
--EXPECT--
ok
+4 -4
View File
@@ -43,11 +43,11 @@ __call:
string(3) "ABC"
__call:
string(3) "ABC"
__callstatic:
__call:
string(3) "XYZ"
__callstatic:
__call:
string(3) "WWW"
__callstatic:
__call:
string(3) "ABC"
__callstatic:
string(1) "A"
@@ -58,4 +58,4 @@ string(1) "C"
__callstatic:
string(3) "FOO"
__callstatic:
string(3) "FOO"
string(3) "FOO"
+4 -4
View File
@@ -35,17 +35,17 @@ call_user_func('self::y');
?>
--EXPECTF--
__callstatic:
__call:
string(3) "ABC"
__callstatic:
__call:
string(3) "ABC"
__call:
string(3) "xyz"
__callstatic:
__call:
string(3) "www"
__call:
string(1) "y"
__callstatic:
__call:
string(1) "y"
ok
__callstatic:
+1 -1
View File
@@ -20,5 +20,5 @@ var_dump( ArrayProperty::$array );
--EXPECT--
array(1) {
[1]=>
int(23)
int(42)
}
-2
View File
@@ -29,8 +29,6 @@ $b->A();
?>
===DONE===
--EXPECTF--
Strict Standards: Redefining already defined constructor for class A in %s on line %d
B::__construct
A::__construct
B::A
-3
View File
@@ -16,7 +16,4 @@ $c = new c();
?>
===DONE===
--EXPECTF--
Strict Standards: Redefining already defined constructor for class a in %s on line %d
Fatal error: Call to undefined method b::b() in %s on line %d
+16
View File
@@ -0,0 +1,16 @@
--TEST--
Bug #48930 (__COMPILER_HALT_OFFSET__ incorrect in PHP>=5.3)
--FILE--
#!php
<?php
/*
* Test
*/
printf("__COMPILER_HALT_OFFSET__ is %d\n",__COMPILER_HALT_OFFSET__);
__halt_compiler();
?>
--EXPECT--
__COMPILER_HALT_OFFSET__ is 116
+48
View File
@@ -0,0 +1,48 @@
--TEST--
Bug #50816 (Using class constants in array definition fails)
--FILE--
<?php
define("ONE", 1);
define("TWO", 1);
class Foo {
const ONE = 1;
const TWO = 1;
public static $mapWithConst = array(self::ONE => 'one', self::TWO => 'two',);
public static $mapWithConst1 = array(1 => 'one', self::TWO => 'two',);
public static $mapWithConst2 = array(self::ONE => 'one', 1 => 'two',);
public static $mapWithoutConst = array(1 => 'one', 1 => 'two',);
}
$mapWithConst = array(1 => 'one', 1 => 'two',);
$mapWithoutConst = array(Foo::ONE => 'one', Foo::TWO => 'two',);
$mapWithoutConst0 = array(1 => 'one', 1 => 'two',);
$mapWithoutConst1 = array(ONE => 'one', 1 => 'two',);
$mapWithoutConst2 = array(1 => 'one', TWO => 'two',);
$mapWithoutConst3 = array(ONE => 'one', TWO => 'two',);
var_dump(Foo::$mapWithConst[1]);
var_dump(Foo::$mapWithConst1[1]);
var_dump(Foo::$mapWithConst2[1]);
var_dump(Foo::$mapWithoutConst[1]);
var_dump($mapWithConst[1]);
var_dump($mapWithoutConst[1]);
var_dump($mapWithoutConst0[1]);
var_dump($mapWithoutConst1[1]);
var_dump($mapWithoutConst2[1]);
var_dump($mapWithoutConst3[1]);
--EXPECT--
string(3) "two"
string(3) "two"
string(3) "two"
string(3) "two"
string(3) "two"
string(3) "two"
string(3) "two"
string(3) "two"
string(3) "two"
string(3) "two"
+3 -3
View File
@@ -27,6 +27,6 @@ $foo->start();
?>
--EXPECT--
static
static
static
instance
instance
instance
+34
View File
@@ -0,0 +1,34 @@
--TEST--
Bug #52160 (Invalid E_STRICT redefined constructor error)
--FILE--
<?php
class bar {
function __construct() { }
static function bar() {
var_dump(1);
}
}
bar::bar();
class foo {
static function foo() {
var_dump(2);
}
function __construct() { }
}
foo::foo();
class baz {
static function baz() {
var_dump(3);
}
}
?>
--EXPECTF--
Strict Standards: Redefining already defined constructor for class foo in %s on line %d
Fatal error: Constructor baz::baz() cannot be static in %s on line %d
+78
View File
@@ -0,0 +1,78 @@
--TEST--
Bug #52193 (converting closure to array yields empty array)
--FILE--
<?php
var_dump((array) 1);
var_dump((array) NULL);
var_dump((array) new stdclass);
var_dump($h = (array) function () { return 2; });
var_dump($h[0]());
$i = function () use (&$h) {
return $h;
};
var_dump($x = (array)$i);
var_dump($y = $x[0]);
var_dump($y());
$items = range(1, 5);
$func = function(){ return 'just a test'; };
array_splice($items, 0 , 4, $func);
var_dump($items);
?>
--EXPECTF--
array(1) {
[0]=>
int(1)
}
array(0) {
}
array(0) {
}
array(1) {
[0]=>
object(Closure)#%d (0) {
}
}
int(2)
array(1) {
[0]=>
object(Closure)#%d (1) {
["static"]=>
array(1) {
["h"]=>
&array(1) {
[0]=>
object(Closure)#%d (0) {
}
}
}
}
}
object(Closure)#%d (1) {
["static"]=>
array(1) {
["h"]=>
&array(1) {
[0]=>
object(Closure)#%d (0) {
}
}
}
}
array(1) {
[0]=>
object(Closure)#%d (0) {
}
}
array(2) {
[0]=>
object(Closure)#%d (0) {
}
[1]=>
int(5)
}
+11
View File
@@ -0,0 +1,11 @@
--TEST--
Bug #52237 (Crash when passing the reference of the property of a non-object)
--FILE--
<?php
$data = 'test';
preg_match('//', '', $data->info);
var_dump($data);
?>
--EXPECTF--
Warning: Attempt to modify property of non-object in %sbug52237.php on line 3
string(4) "test"
+35
View File
@@ -0,0 +1,35 @@
--TEST--
Bug #52361 (Throwing an exception in a destructor causes invalid catching)
--FILE--
<?php
class aaa {
public function __destruct() {
try {
throw new Exception(__CLASS__);
} catch(Exception $ex) {
echo "1. $ex\n";
}
}
}
function bbb() {
$a = new aaa();
throw new Exception(__FUNCTION__);
}
try {
bbb();
echo "must be skipped !!!";
} catch(Exception $ex) {
echo "2. $ex\n";
}
?>
--EXPECTF--
1. exception 'Exception' with message 'aaa' in %sbug52361.php:5
Stack trace:
#0 %sbug52361.php(16): aaa->__destruct()
#1 %sbug52361.php(16): bbb()
#2 {main}
2. exception 'Exception' with message 'bbb' in %sbug52361.php:13
Stack trace:
#0 %sbug52361.php(16): bbb()
#1 {main}
+19
View File
@@ -0,0 +1,19 @@
--TEST--
Bug #52484 (__set() ignores setting properties with empty names)
--FILE--
<?php
class A {
function __unset($prop) {
unset($this->$prop);
}
}
$a = new A();
$prop = null;
unset($a->$prop);
?>
--EXPECTF--
Fatal error: Cannot access empty property in %s on line %d
+19
View File
@@ -0,0 +1,19 @@
--TEST--
Bug #52484.2 (__set() ignores setting properties with empty names)
--FILE--
<?php
class A {
function __set($prop, $val) {
$this->$prop = $val;
}
}
$a = new A();
$prop = null;
$a->$prop = 2;
?>
--EXPECTF--
Fatal error: Cannot access empty property in %s on line %d
+19
View File
@@ -0,0 +1,19 @@
--TEST--
Bug #52484.3 (__set() ignores setting properties with empty names)
--FILE--
<?php
class A {
function __get($prop) {
var_dump($this->$prop);
}
}
$a = new A();
$prop = null;
var_dump($a->$prop);
?>
--EXPECTF--
Fatal error: Cannot access empty property in %s on line %d
+20
View File
@@ -0,0 +1,20 @@
--TEST--
Bug #52508 (newline problem with parse_ini_file+INI_SCANNER_RAW)
--FILE--
<?php
$file = dirname(__FILE__) .'/bug52508.ini';
file_put_contents($file, "a = 1");
$ini_array = parse_ini_file($file, true, INI_SCANNER_RAW);
var_dump($ini_array);
unlink($file);
?>
--EXPECT--
array(1) {
["a"]=>
string(1) "1"
}
+16
View File
@@ -0,0 +1,16 @@
--TEST--
Bug #52879 (Objects unreferenced in __get, __set, __isset or __unset can be freed too early)
--FILE--
<?php
class MyClass {
public $myRef;
public function __set($property,$value) {
$this->myRef = $value;
}
}
$myGlobal=new MyClass($myGlobal);
$myGlobal->myRef=&$myGlobal;
$myGlobal->myNonExistentProperty="ok\n";
echo $myGlobal;
--EXPECT--
ok
+40
View File
@@ -0,0 +1,40 @@
--TEST--
Bug #52939 (zend_call_function_array does not respect ZEND_SEND_PREFER_REF)
--FILE--
<?php
$ar1 = array("row1" => 2, "row2" => 1);
var_dump(array_multisort($ar1));
var_dump($ar1);
$ar1 = array("row1" => 2, "row2" => 1);
$args = array(&$ar1);
var_dump(call_user_func_array("array_multisort", $args));
var_dump($ar1);
$ar1 = array("row1" => 2, "row2" => 1);
$args = array($ar1);
var_dump(call_user_func_array("array_multisort", $args));
var_dump($ar1);
?>
--EXPECT--
bool(true)
array(2) {
["row2"]=>
int(1)
["row1"]=>
int(2)
}
bool(true)
array(2) {
["row2"]=>
int(1)
["row1"]=>
int(2)
}
bool(true)
array(2) {
["row1"]=>
int(2)
["row2"]=>
int(1)
}
+19
View File
@@ -0,0 +1,19 @@
--TEST--
Bug #53305 (E_NOTICE when defining a constant starts with __COMPILER_HALT_OFFSET__)
--FILE--
<?php
error_reporting(E_ALL);
define('__COMPILER_HALT_OFFSET__1', 1);
define('__COMPILER_HALT_OFFSET__2', 2);
define('__COMPILER_HALT_OFFSET__', 3);
define('__COMPILER_HALT_OFFSET__1'.chr(0), 4);
var_dump(__COMPILER_HALT_OFFSET__1);
var_dump(constant('__COMPILER_HALT_OFFSET__1'.chr(0)));
?>
--EXPECTF--
Notice: Constant __COMPILER_HALT_OFFSET__ already defined in %s on line %d
int(1)
int(4)
+31
View File
@@ -0,0 +1,31 @@
--TEST--
Bug #53629 (memory leak inside highlight_string())
--FILE--
<?php
$str = '
<?php
class foo {
public $bar = <<<EOT
bar
EOT;
}
?>
';
$str2 = '
<?php
var_dump(array(<<<EOD
foobar!
EOD
));
?>
';
highlight_string($str, true);
highlight_string($str2, true);
echo "Done\n";
?>
--EXPECT--
Done
+10
View File
@@ -0,0 +1,10 @@
--TEST--
zend_strtod() hangs with 2.2250738585072011e-308
--FILE--
<?php
$d = 2.2250738585072011e-308;
echo "Done\n";
?>
--EXPECTF--
Done
+22
View File
@@ -0,0 +1,22 @@
--TEST--
Bug #53727 (Inconsistent behavior of is_subclass_of with interfaces)
--FILE--
<?php
interface MyInterface {
const TEST_CONSTANT = true;
}
class ParentClass implements MyInterface { }
class ChildClass extends ParentClass { }
echo (is_subclass_of('ChildClass', 'MyInterface') ? 'true' : 'false') . "\n";
echo (defined('ChildClass::TEST_CONSTANT') ? 'true' : 'false') . "\n";
echo (is_subclass_of('ParentClass', 'MyInterface') ? 'true' : 'false') . "\n";
echo (defined('ParentClass::TEST_CONSTANT') ? 'true' : 'false') . "\n";
--EXPECT--
true
true
true
true
+61
View File
@@ -0,0 +1,61 @@
--TEST--
Bug #53958 (Closures can't 'use' shared variables by value and by reference)
--FILE--
<?php
// TEST 1
$a = 1;
$fn1 = function() use ($a) {echo "$a\n"; $a++;};
$fn2 = function() use ($a) {echo "$a\n"; $a++;};
$a = 5;
$fn1(); // 1
$fn2(); // 1
$fn1(); // 1
$fn2(); // 1
// TEST 2
$b = 1;
$fn1 = function() use (&$b) {echo "$b\n"; $b++;};
$fn2 = function() use (&$b) {echo "$b\n"; $b++;};
$b = 5;
$fn1(); // 5
$fn2(); // 6
$fn1(); // 7
$fn2(); // 8
// TEST 3
$c = 1;
$fn1 = function() use (&$c) {echo "$c\n"; $c++;};
$fn2 = function() use ($c) {echo "$c\n"; $c++;};
$c = 5;
$fn1(); // 5
$fn2(); // 1
$fn1(); // 6
$fn2(); // 1
// TEST 4
$d = 1;
$fn1 = function() use ($d) {echo "$d\n"; $d++;};
$fn2 = function() use (&$d) {echo "$d\n"; $d++;};
$d = 5;
$fn1(); // 1
$fn2(); // 5
$fn1(); // 1
$fn2(); // 6
?>
--EXPECT--
1
1
1
1
5
6
7
8
5
1
6
1
1
5
1
6
+11
View File
@@ -0,0 +1,11 @@
--TEST--
Bug #53971 (isset() and empty() produce apparently spurious runtime error)
--FILE--
<?php
$s = "";
var_dump(isset($s[0][0]));
?>
--EXPECT--
bool(false)
+31
View File
@@ -0,0 +1,31 @@
--TEST--
Bug #54013 (ReflectionParam for duplicate parameter contains garbage)
--FILE--
<?php
class a
{
function b($aaaaaaaa, $aaaaaaaa)
{
$params = func_get_args();
}
}
$c = new a;
$c->b('waa?', 'meukee!');
$reflectionClass = new ReflectionClass($c);
$params = $reflectionClass->getMethod('b')->getParameters();
var_dump($params[0], $params[1]);
?>
--EXPECTF--
object(ReflectionParameter)#%d (1) {
["name"]=>
string(8) "aaaaaaaa"
}
object(ReflectionParameter)#%d (1) {
["name"]=>
string(8) "aaaaaaaa"
}
+58
View File
@@ -0,0 +1,58 @@
--TEST--
Bug #54039 (use() of static variables in lambda functions can break staticness)
--FILE--
<?php
function test_1() {
static $v = 0;
++$v;
echo "Outer function increments \$v to $v\n";
$f = function() use($v) {
echo "Inner function reckons \$v is $v\n";
};
return $f;
}
$f = test_1(); $f();
$f = test_1(); $f();
function test_2() {
static $v = 0;
$f = function() use($v) {
echo "Inner function reckons \$v is $v\n";
};
++$v;
echo "Outer function increments \$v to $v\n";
return $f;
}
$f = test_2(); $f();
$f = test_2(); $f();
function test_3() {
static $v = "";
$v .= 'b';
echo "Outer function catenates 'b' onto \$v to give $v\n";
$f = function() use($v) {
echo "Inner function reckons \$v is $v\n";
};
$v .= 'a';
echo "Outer function catenates 'a' onto \$v to give $v\n";
return $f;
}
$f = test_3(); $f();
$f = test_3(); $f();
--EXPECT--
Outer function increments $v to 1
Inner function reckons $v is 1
Outer function increments $v to 2
Inner function reckons $v is 2
Outer function increments $v to 1
Inner function reckons $v is 0
Outer function increments $v to 2
Inner function reckons $v is 1
Outer function catenates 'b' onto $v to give b
Outer function catenates 'a' onto $v to give ba
Inner function reckons $v is b
Outer function catenates 'b' onto $v to give bab
Outer function catenates 'a' onto $v to give baba
Inner function reckons $v is bab
+17
View File
@@ -0,0 +1,17 @@
--TEST--
Bug #54262 (Crash when assigning value to a dimension in a non-array)
--FILE--
<?php
$a = '0';
var_dump(isset($a['b']));
$simpleString = preg_match('//', '', $a->a);
$simpleString["wrong"] = "f";
echo "ok\n";
?>
--EXPECTF--
bool(true)
Warning: Attempt to modify property of non-object in %s/Zend/tests/bug54262.php on line 4
Warning: Cannot use a scalar value as an array in %s/Zend/tests/bug54262.php on line 5
ok
+17
View File
@@ -0,0 +1,17 @@
--TEST--
Bug #54265 (crash when variable gets reassigned in error handler)
--FILE--
<?php
function my_errorhandler($errno,$errormsg) {
global $my_var;
$my_var = 0;
echo "EROOR: $errormsg\n";
}
set_error_handler("my_errorhandler");
$my_var = str_repeat("A",$my_var[0]->errormsg = "xyz");
echo "ok\n";
?>
--EXPECT--
EROOR: Creating default object from empty value
ok
+35
View File
@@ -0,0 +1,35 @@
--TEST--
Bug #54268 (Double free when destroy_zend_class fails)
--INI--
memory_limit=8M
--SKIPIF--
<?php
$zend_mm_enabled = getenv("USE_ZEND_ALLOC");
if ($zend_mm_enabled === "0") {
die("skip Zend MM disabled");
}
?>
--FILE--
<?php
class DestructableObject
{
public function __destruct()
{
DestructableObject::__destruct();
}
}
class DestructorCreator
{
public function __destruct()
{
$this->test = new DestructableObject;
}
}
class Test
{
public static $mystatic;
}
$x = new Test();
Test::$mystatic = new DestructorCreator();
--EXPECTF--
Fatal error: Allowed memory size of %s bytes exhausted%s(tried to allocate %s bytes) in %s on line %d
+22
View File
@@ -0,0 +1,22 @@
--TEST--
Bug #54305 (Crash in gc_remove_zval_from_buffer)
--FILE--
<?php
class TestClass {
public function methodWithArgs($a, $b) {
}
}
abstract class AbstractClass {
}
$methodWithArgs = new ReflectionMethod('TestClass', 'methodWithArgs');
echo $methodWithArgs++;
?>
--EXPECTF--
Method [ <user> public method methodWithArgs ] {
@@ %sbug54305.php %d - %d
- Parameters [2] {
Parameter #0 [ <required> $a ]
Parameter #1 [ <required> $b ]
}
}
+39
View File
@@ -0,0 +1,39 @@
--TEST--
Bug #54358 (Closure, use and reference)
--FILE--
<?php
class asserter {
public function call($function) {
}
}
$asserter = new asserter();
$closure = function() use ($asserter, &$function) {
$asserter->call($function = 'md5');
};
$closure();
var_dump($function);
$closure = function() use ($asserter, $function) {
$asserter->call($function);
};
$closure();
var_dump($function);
$closure = function() use ($asserter, $function) {
$asserter->call($function);
};
$closure();
var_dump($function);
?>
--EXPECT--
string(3) "md5"
string(3) "md5"
string(3) "md5"
+24
View File
@@ -0,0 +1,24 @@
--TEST--
Bug #54367 (Use of closure causes problem in ArrayAccess)
--FILE--
<?php
class MyObjet implements ArrayAccess
{
public function offsetSet($offset, $value) { }
public function offsetExists($offset) { }
public function offsetUnset($offset) { }
public function offsetGet ($offset)
{
return function ($var) use ($offset) { // here is the problem
var_dump($offset, $var);
};
}
}
$a = new MyObjet();
echo $a['p']('foo');
?>
--EXPECT--
string(1) "p"
string(3) "foo"
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Bug #54372 (Crash accessing global object itself returned from its __get() handle)
--FILE--
<?php
class test_class
{
public function __get($name)
{
return $this;
}
public function b()
{
echo "ok\n";
}
}
global $test3;
$test3 = new test_class();
$test3->a->b();
?>
--EXPECT--
ok
+15
View File
@@ -0,0 +1,15 @@
--TEST--
Bug #54585 (track_errors causes segfault)
--INI--
track_errors=On
--FILE--
<?php
function testing($source) {
unset($source[$cos]);
}
testing($_GET);
echo "ok\n";
?>
--EXPECTF--
Notice: Undefined variable: cos in %sbug54585.php on line 3
ok
+26
View File
@@ -0,0 +1,26 @@
--TEST--
Bug #54624 (class_alias and type hint)
--FILE--
<?php
class A
{
function foo(A $param) {
}
}
class_alias('A', 'AliasA');
eval('
class B extends A
{
function foo(AliasA $param) {
}
}
');
echo "DONE\n";
?>
--EXPECTF--
DONE
+3
View File
@@ -0,0 +1,3 @@
<?php
namespace b\c {}
namespace b\d {}
+11
View File
@@ -0,0 +1,11 @@
--TEST--
Bug #54804 (__halt_compiler and imported namespaces)
--FILE--
<?php
namespace a;
require __DIR__ . '/bug54804.inc';
echo 'DONE';
__halt_compiler();
?>
--EXPECT--
DONE
+28
View File
@@ -0,0 +1,28 @@
--TEST--
Bug #54910 (Crash when calling call_user_func with unknown function name)
--FILE--
<?php
class A {
public function __call($method, $args) {
if (stripos($method, 'get') === 0) {
return $this->get();
}
die("No such method - '$method'\n");
}
protected function get() {
$class = get_class($this);
$call = array($class, 'noSuchMethod');
if (is_callable($call)) {
call_user_func($call);
}
}
}
class B extends A {}
$input = new B();
echo $input->getEmail();
--EXPECT--
No such method - 'noSuchMethod'
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Bug #55007 (compiler fail after previous fail)
--FILE--
<?php
function __autoload($classname) {
if ('CompileErrorClass'==$classname) eval('class CompileErrorClass { function foo() { $a[] } }');
if ('MyErrorHandler'==$classname) eval('class MyErrorHandler { function __construct() { print "My error handler runs.\n"; } }');
}
function shutdown() {
new MyErrorHandler();
}
register_shutdown_function('shutdown');
new CompileErrorClass();
?>
--EXPECTF--
Fatal error: Cannot use [] for reading in %s(%d) : eval()'d code on line %d
My error handler runs.
+30
View File
@@ -0,0 +1,30 @@
--TEST--
Bug #55156 (ReflectionClass::getDocComment() returns comment even though the class has none)
--FILE--
<?php
/** test */
namespace foo {
function test() { }
$x = new \ReflectionFunction('foo\test');
var_dump($x->getDocComment());
/** test1 */
class bar { }
/** test2 */
class foo extends namespace\bar { }
$x = new \ReflectionClass('foo\bar');
var_dump($x->getDocComment());
$x = new \ReflectionClass('foo\foo');
var_dump($x->getDocComment());
}
?>
--EXPECTF--
bool(false)
string(12) "/** test1 */"
string(12) "/** test2 */"
+31
View File
@@ -0,0 +1,31 @@
--TEST--
Bug #55339 (Segfault with allow_call_time_pass_reference = Off)
--INI--
allow_call_time_pass_reference=off
--FILE--
<?php
function error_handler($errno, $errstr, $errfile, $errline) {
eval(';');
}
set_error_handler('error_handler');
eval(<<<'EOF'
function foo()
{
$array = array();
foreach ($array as $key => $value) {
bar($key, &$value);
}
}
function bar()
{
}
EOF
);
echo "OK\n";
--EXPECT--
OK
+2 -2
View File
@@ -28,9 +28,9 @@ foo::BAZ();
--EXPECT--
nonstatic
string(6) "fOoBaR"
static
nonstatic
string(6) "foOBAr"
static
nonstatic
string(6) "fOOBAr"
static
string(3) "bAr"
+1 -1
View File
@@ -30,5 +30,5 @@ a::Foo();
--EXPECT--
__callstatic: Test
__call: Test
__callstatic: Bar
__call: Bar
__callstatic: Foo
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
concat difffent types
concat different types
--INI--
precision=14
--FILE--
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Persistent case insensetive and user defined constants
Persistent case insensitive and user defined constants
--FILE--
<?php
var_dump(ZEND_THREAD_safe);
+397
View File
@@ -0,0 +1,397 @@
--TEST--
debug_backtrace options
--FILE--
<?php
function backtrace_print($opt = null)
{
if(is_null($opt)) {
print_r(debug_backtrace());
} else {
print_r(debug_backtrace($opt));
}
}
function doit($a, $b, $how)
{
echo "==default\n";
$how();
echo "==true\n";
$how(true);
echo "==false\n";
$how(false);
echo "==DEBUG_BACKTRACE_PROVIDE_OBJECT\n";
$how(DEBUG_BACKTRACE_PROVIDE_OBJECT);
echo "==DEBUG_BACKTRACE_IGNORE_ARGS\n";
$how(DEBUG_BACKTRACE_IGNORE_ARGS);
echo "==both\n";
$how(DEBUG_BACKTRACE_PROVIDE_OBJECT|DEBUG_BACKTRACE_IGNORE_ARGS);
}
class foo {
protected function doCall($dowhat, $how)
{
$dowhat('a','b', $how);
}
static function statCall($dowhat, $how)
{
$obj = new self();
$obj->doCall($dowhat, $how);
}
}
foo::statCall("doit", "debug_print_backtrace");
foo::statCall("doit", "backtrace_print");
?>
--EXPECTF--
==default
#0 doit(a, b, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
#1 foo->doCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
#2 foo::statCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
==true
#0 doit(a, b, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
#1 foo->doCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
#2 foo::statCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
==false
#0 doit(a, b, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
#1 foo->doCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
#2 foo::statCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
==DEBUG_BACKTRACE_PROVIDE_OBJECT
#0 doit(a, b, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
#1 foo->doCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
#2 foo::statCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
==DEBUG_BACKTRACE_IGNORE_ARGS
#0 doit() called at [%sdebug_backtrace_options.php:%d]
#1 foo->doCall() called at [%sdebug_backtrace_options.php:%d]
#2 foo::statCall() called at [%sdebug_backtrace_options.php:%d]
==both
#0 doit() called at [%sdebug_backtrace_options.php:%d]
#1 foo->doCall() called at [%sdebug_backtrace_options.php:%d]
#2 foo::statCall() called at [%sdebug_backtrace_options.php:%d]
==default
Array
(
[0] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => backtrace_print
[args] => Array
(
)
)
[1] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doit
[args] => Array
(
[0] => a
[1] => b
[2] => backtrace_print
)
)
[2] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doCall
[class] => foo
[object] => foo Object
(
)
[type] => ->
[args] => Array
(
[0] => doit
[1] => backtrace_print
)
)
[3] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => statCall
[class] => foo
[type] => ::
[args] => Array
(
[0] => doit
[1] => backtrace_print
)
)
)
==true
Array
(
[0] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => 17
[function] => backtrace_print
[args] => Array
(
[0] => 1
)
)
[1] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doit
[args] => Array
(
[0] => a
[1] => b
[2] => backtrace_print
)
)
[2] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doCall
[class] => foo
[object] => foo Object
(
)
[type] => ->
[args] => Array
(
[0] => doit
[1] => backtrace_print
)
)
[3] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => statCall
[class] => foo
[type] => ::
[args] => Array
(
[0] => doit
[1] => backtrace_print
)
)
)
==false
Array
(
[0] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => 19
[function] => backtrace_print
[args] => Array
(
[0] =>
)
)
[1] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doit
[args] => Array
(
[0] => a
[1] => b
[2] => backtrace_print
)
)
[2] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doCall
[class] => foo
[type] => ->
[args] => Array
(
[0] => doit
[1] => backtrace_print
)
)
[3] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => statCall
[class] => foo
[type] => ::
[args] => Array
(
[0] => doit
[1] => backtrace_print
)
)
)
==DEBUG_BACKTRACE_PROVIDE_OBJECT
Array
(
[0] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => 21
[function] => backtrace_print
[args] => Array
(
[0] => 1
)
)
[1] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doit
[args] => Array
(
[0] => a
[1] => b
[2] => backtrace_print
)
)
[2] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doCall
[class] => foo
[object] => foo Object
(
)
[type] => ->
[args] => Array
(
[0] => doit
[1] => backtrace_print
)
)
[3] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => statCall
[class] => foo
[type] => ::
[args] => Array
(
[0] => doit
[1] => backtrace_print
)
)
)
==DEBUG_BACKTRACE_IGNORE_ARGS
Array
(
[0] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => 23
[function] => backtrace_print
)
[1] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doit
)
[2] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doCall
[class] => foo
[type] => ->
)
[3] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => statCall
[class] => foo
[type] => ::
)
)
==both
Array
(
[0] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => 25
[function] => backtrace_print
)
[1] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doit
)
[2] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doCall
[class] => foo
[object] => foo Object
(
)
[type] => ->
)
[3] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => statCall
[class] => foo
[type] => ::
)
)
+6
View File
@@ -1,5 +1,11 @@
--TEST--
Testing declare statement with several type values
--SKIPIF--
<?php
if (in_array("detect_unicode", array_keys(ini_get_all()))) {
die("skip");
}
?>
--FILE--
<?php
+5 -1
View File
@@ -20,4 +20,8 @@ echo "Done\n";
--EXPECTF--
string(12) "test thrown!"
Fatal error: Exception thrown without a stack frame in Unknown on line 0
Fatal error: Uncaught exception 'Exception' in %sexception_handler_002.php:7
Stack trace:
#0 [internal function]: foo(Object(test))
#1 {main}
thrown in %sexception_handler_002.php on line %d
+9
View File
@@ -0,0 +1,9 @@
--TEST--
Argument parsing error #001
--FILE--
<?php
function foo($arg1 string) {}
?>
--EXPECTF--
Parse error: syntax error, unexpected T_STRING, expecting ')' in %sfunction_arguments_001.php on line %d
+9
View File
@@ -0,0 +1,9 @@
--TEST--
Argument parsing error #002
--FILE--
<?php
function foo($arg1/) {}
?>
--EXPECTF--
Parse error: syntax error, unexpected '/', expecting ')' in %sfunction_arguments_002.php on line %d
+40
View File
@@ -0,0 +1,40 @@
--TEST--
GC 032: Crash in GC because of invalid reference counting
--FILE--
<?php
$a = array();
$b =& $a;
$a[0] = $a;
debug_zval_dump($a);
$a = array(array());
$b =& $a;
$a[0][0] = $a;
debug_zval_dump($a);
?>
--EXPECT--
array(1) refcount(1){
[0]=>
array(1) refcount(3){
[0]=>
array(1) refcount(3){
[0]=>
*RECURSION*
}
}
}
array(1) refcount(1){
[0]=>
array(1) refcount(3){
[0]=>
array(1) refcount(1){
[0]=>
array(1) refcount(3){
[0]=>
array(1) refcount(1){
[0]=>
*RECURSION*
}
}
}
}
}
+13
View File
@@ -0,0 +1,13 @@
--TEST--
Indirect referenced $this
--FILE--
<?php
class X {
function f($x){var_dump($$x);}
}
$x = new X;
$x->f("this");
?>
--EXPECTF--
object(X)#%d (0) {
}
+1 -1
View File
@@ -38,6 +38,6 @@ bool(true)
bool(false)
bool(false)
bool(true)
bool(false)
bool(true)
AUTOLOAD 'X1'
bool(false)
Binary file not shown.
+1 -2
View File
@@ -14,6 +14,5 @@ class test {
echo "Done\n";
?>
--EXPECTF--
Strict Standards: Redefining already defined constructor for class test in %s on line %d
--EXPECT--
Done
+40
View File
@@ -0,0 +1,40 @@
--TEST--
Covariant return-by-ref constraints
--FILE--
<?php
class A implements ArrayAccess {
public $foo = array();
public function &offsetGet($n) {
return $this->foo[$n];
}
public function offsetSet($n, $v) {
}
public function offsetUnset($n) {
}
public function offsetExists($n) {
}
}
$a = new A;
$a['foo']['bar'] = 2;
var_dump($a);
?>
==DONE==
--EXPECTF--
object(A)#1 (1) {
["foo"]=>
array(1) {
["foo"]=>
array(1) {
["bar"]=>
int(2)
}
}
}
==DONE==
+1 -1
View File
@@ -19,7 +19,7 @@ echo $HTTP_SESSION_VARS;
echo "\nok\n";
?>
--EXPECTF--
Warning: Directive 'register_long_arrays' is deprecated in PHP %d.%d and greater in Unknown on line 0
Deprecated: Directive 'register_long_arrays' is deprecated in PHP %d.%d and greater in Unknown on line 0
ok
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at %sunset_cv05.php on line %d
+1 -1
View File
@@ -19,7 +19,7 @@ echo $x;
echo "ok\n";
?>
--EXPECTF--
Warning: Directive 'register_globals' is deprecated in PHP %d.%d and greater in Unknown on line 0
Deprecated: Directive 'register_globals' is deprecated in PHP %d.%d and greater in Unknown on line 0
1
Deprecated: Function session_register() is deprecated in %s on line %d
+47 -5
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -114,7 +114,7 @@ ZEND_API zval zval_used_for_init; /* True global variable */
/* version information */
static char *zend_version_info;
static uint zend_version_info_length;
#define ZEND_CORE_VERSION_INFO "Zend Engine v" ZEND_VERSION ", Copyright (c) 1998-2010 Zend Technologies\n"
#define ZEND_CORE_VERSION_INFO "Zend Engine v" ZEND_VERSION ", Copyright (c) 1998-2011 Zend Technologies\n"
#define PRINT_ZVAL_INDENT 4
static void print_hash(zend_write_func_t write_func, HashTable *ht, int indent, zend_bool is_object TSRMLS_DC) /* {{{ */
@@ -808,6 +808,7 @@ ZEND_API void _zend_bailout(char *filename, uint lineno) /* {{{ */
exit(-1);
}
CG(unclean_shutdown) = 1;
CG(active_class_entry) = NULL;
CG(in_compilation) = EG(in_execution) = 0;
EG(current_execute_data) = NULL;
LONGJMP(*EG(bailout), FAILURE);
@@ -820,7 +821,7 @@ void zend_append_version_info(const zend_extension *extension) /* {{{ */
char *new_info;
uint new_info_length;
new_info_length = sizeof(" with v, by \n")
new_info_length = sizeof(" with v, , by \n")
+ strlen(extension->name)
+ strlen(extension->version)
+ strlen(extension->copyright)
@@ -828,10 +829,10 @@ void zend_append_version_info(const zend_extension *extension) /* {{{ */
new_info = (char *) malloc(new_info_length + 1);
sprintf(new_info, " with %s v%s, %s, by %s\n", extension->name, extension->version, extension->copyright, extension->author);
snprintf(new_info, new_info_length, " with %s v%s, %s, by %s\n", extension->name, extension->version, extension->copyright, extension->author);
zend_version_info = (char *) realloc(zend_version_info, zend_version_info_length+new_info_length + 1);
strcat(zend_version_info, new_info);
strncat(zend_version_info, new_info, new_info_length);
zend_version_info_length += new_info_length;
free(new_info);
}
@@ -957,6 +958,23 @@ ZEND_API int zend_get_configuration_directive(const char *name, uint name_length
}
/* }}} */
#define SAVE_STACK(stack) do { \
if (CG(stack).top) { \
memcpy(&stack, &CG(stack), sizeof(zend_stack)); \
CG(stack).top = CG(stack).max = 0; \
CG(stack).elements = NULL; \
} else { \
stack.top = 0; \
} \
} while (0)
#define RESTORE_STACK(stack) do { \
if (stack.top) { \
zend_stack_destroy(&CG(stack)); \
memcpy(&CG(stack), &stack, sizeof(zend_stack)); \
} \
} while (0)
ZEND_API void zend_error(int type, const char *format, ...) /* {{{ */
{
va_list args;
@@ -969,6 +987,14 @@ ZEND_API void zend_error(int type, const char *format, ...) /* {{{ */
zval *orig_user_error_handler;
zend_bool in_compilation;
zend_class_entry *saved_class_entry;
zend_stack bp_stack;
zend_stack function_call_stack;
zend_stack switch_cond_stack;
zend_stack foreach_copy_stack;
zend_stack object_stack;
zend_stack declare_stack;
zend_stack list_stack;
zend_stack labels_stack;
TSRMLS_FETCH();
/* Obtain relevant filename and lineno */
@@ -1096,6 +1122,14 @@ ZEND_API void zend_error(int type, const char *format, ...) /* {{{ */
if (in_compilation) {
saved_class_entry = CG(active_class_entry);
CG(active_class_entry) = NULL;
SAVE_STACK(bp_stack);
SAVE_STACK(function_call_stack);
SAVE_STACK(switch_cond_stack);
SAVE_STACK(foreach_copy_stack);
SAVE_STACK(object_stack);
SAVE_STACK(declare_stack);
SAVE_STACK(list_stack);
SAVE_STACK(labels_stack);
}
if (call_user_function_ex(CG(function_table), NULL, orig_user_error_handler, &retval, 5, params, 1, NULL TSRMLS_CC) == SUCCESS) {
@@ -1112,6 +1146,14 @@ ZEND_API void zend_error(int type, const char *format, ...) /* {{{ */
if (in_compilation) {
CG(active_class_entry) = saved_class_entry;
RESTORE_STACK(bp_stack);
RESTORE_STACK(function_call_stack);
RESTORE_STACK(switch_cond_stack);
RESTORE_STACK(foreach_copy_stack);
RESTORE_STACK(object_stack);
RESTORE_STACK(declare_stack);
RESTORE_STACK(list_stack);
RESTORE_STACK(labels_stack);
}
if (!EG(user_error_handler)) {
+4 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -771,6 +771,9 @@ ZEND_API void zend_save_error_handling(zend_error_handling *current TSRMLS_DC);
ZEND_API void zend_replace_error_handling(zend_error_handling_t error_handling, zend_class_entry *exception_class, zend_error_handling *current TSRMLS_DC);
ZEND_API void zend_restore_error_handling(zend_error_handling *saved TSRMLS_DC);
#define DEBUG_BACKTRACE_PROVIDE_OBJECT (1<<0)
#define DEBUG_BACKTRACE_IGNORE_ARGS (1<<1)
#endif /* ZEND_H */
/*
+28 -5
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -928,7 +928,7 @@ ZEND_API int zend_parse_method_parameters_ex(int flags, int num_args TSRMLS_DC,
va_end(va);
} else {
p++;
RETURN_IF_ZERO_ARGS(num_args-1, p, quiet);
RETURN_IF_ZERO_ARGS(num_args, p, quiet);
va_start(va, type_spec);
@@ -941,6 +941,7 @@ ZEND_API int zend_parse_method_parameters_ex(int flags, int num_args TSRMLS_DC,
zend_error(E_CORE_ERROR, "%s::%s() must be derived from %s::%s",
ce->name, get_active_function_name(TSRMLS_C), Z_OBJCE_P(this_ptr)->name, get_active_function_name(TSRMLS_C));
}
va_end(va);
return FAILURE;
}
@@ -1082,7 +1083,7 @@ ZEND_API int _object_and_properties_init(zval *arg, zend_class_entry *class_type
} else {
ALLOC_HASHTABLE_REL(object->properties);
zend_hash_init(object->properties, zend_hash_num_elements(&class_type->default_properties), NULL, ZVAL_PTR_DTOR, 0);
zend_hash_copy(object->properties, &class_type->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *));
zend_hash_copy(object->properties, &class_type->default_properties, zval_copy_property_ctor(class_type), (void *) &tmp, sizeof(zval *));
}
} else {
Z_OBJVAL_P(arg) = class_type->create_object(class_type TSRMLS_CC);
@@ -2082,6 +2083,22 @@ ZEND_API int zend_get_module_started(const char *module_name) /* {{{ */
}
/* }}} */
static int clean_module_class(const zend_class_entry **ce, int *module_number TSRMLS_DC) /* {{{ */
{
if ((*ce)->type == ZEND_INTERNAL_CLASS && (*ce)->module->module_number == *module_number) {
return ZEND_HASH_APPLY_REMOVE;
} else {
return ZEND_HASH_APPLY_KEEP;
}
}
/* }}} */
static void clean_module_classes(int module_number TSRMLS_DC) /* {{{ */
{
zend_hash_apply_with_argument(EG(class_table), (apply_func_arg_t) clean_module_class, (void *) &module_number TSRMLS_CC);
}
/* }}} */
void module_destructor(zend_module_entry *module) /* {{{ */
{
TSRMLS_FETCH();
@@ -2089,6 +2106,7 @@ void module_destructor(zend_module_entry *module) /* {{{ */
if (module->type == MODULE_TEMPORARY) {
zend_clean_module_rsrc_dtors(module->module_number TSRMLS_CC);
clean_module_constants(module->module_number TSRMLS_CC);
clean_module_classes(module->module_number TSRMLS_CC);
}
if (module->module_started && module->module_shutdown_func) {
@@ -2290,7 +2308,7 @@ ZEND_API ZEND_FUNCTION(display_disabled_function)
static zend_function_entry disabled_function[] = {
ZEND_FE(display_disabled_function, NULL)
{ NULL, NULL, NULL }
ZEND_FE_END
};
ZEND_API int zend_disable_function(char *function_name, uint function_name_length TSRMLS_DC) /* {{{ */
@@ -2316,7 +2334,7 @@ static zend_object_value display_disabled_class(zend_class_entry *class_type TSR
/* }}} */
static const zend_function_entry disabled_class_new[] = {
{ NULL, NULL, NULL }
ZEND_FE_END
};
ZEND_API int zend_disable_class(char *class_name, uint class_name_length TSRMLS_DC) /* {{{ */
@@ -2573,6 +2591,11 @@ get_function_via_handler:
if (fcc->function_handler) {
retval = 1;
call_via_handler = (fcc->function_handler->common.fn_flags & ZEND_ACC_CALL_VIA_HANDLER) != 0;
if (call_via_handler && !fcc->object_ptr && EG(This) &&
Z_OBJ_HT_P(EG(This))->get_class_entry &&
instanceof_function(Z_OBJCE_P(EG(This)), fcc->calling_scope TSRMLS_CC)) {
fcc->object_ptr = EG(This);
}
}
}
}
+3 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -96,6 +96,8 @@ typedef struct _zend_fcall_info_cache {
#define ZEND_NS_FALIAS(ns, name, alias, arg_info) ZEND_NS_FENTRY(ns, name, ZEND_FN(alias), arg_info, 0)
#define ZEND_NS_DEP_FALIAS(ns, name, alias, arg_info) ZEND_NS_FENTRY(ns, name, ZEND_FN(alias), arg_info, ZEND_ACC_DEPRECATED)
#define ZEND_FE_END { NULL, NULL, NULL, 0, 0 }
#define ZEND_ARG_INFO(pass_by_ref, name) { #name, sizeof(#name)-1, NULL, 0, 0, 0, pass_by_ref, 0, 0 },
#define ZEND_ARG_PASS_INFO(pass_by_ref) { NULL, 0, NULL, 0, 0, 0, pass_by_ref, 0, 0 },
#define ZEND_ARG_OBJ_INFO(pass_by_ref, name, classname, allow_null) { #name, sizeof(#name)-1, #classname, sizeof(#classname)-1, 0, allow_null, pass_by_ref, 0, 0 },
+13 -3
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -241,6 +241,10 @@ static zend_mm_storage* zend_mm_mem_win32_init(void *params)
return NULL;
}
storage = (zend_mm_storage*)malloc(sizeof(zend_mm_storage));
if (storage == NULL) {
HeapDestroy(heap);
return NULL;
}
storage->data = (void*) heap;
return storage;
}
@@ -1066,7 +1070,13 @@ ZEND_API zend_mm_heap *zend_mm_startup_ex(const zend_mm_mem_handlers *handlers,
storage->handlers = handlers;
heap = malloc(sizeof(struct _zend_mm_heap));
if (heap == NULL) {
fprintf(stderr, "Cannot allocate heap for zend_mm storage [%s]\n", handlers->name);
#ifdef PHP_WIN32
fflush(stderr);
#endif
exit(255);
}
heap->storage = storage;
heap->block_size = block_size;
heap->compact_size = 0;
@@ -1115,7 +1125,7 @@ ZEND_API zend_mm_heap *zend_mm_startup_ex(const zend_mm_mem_handlers *handlers,
mm_heap->large_free_buckets[i]->parent = &mm_heap->large_free_buckets[i];
}
}
mm_heap->rest_buckets[0]->next_free_block = mm_heap->rest_buckets[1]->prev_free_block = ZEND_MM_REST_BUCKET(mm_heap);
mm_heap->rest_buckets[0] = mm_heap->rest_buckets[1] = ZEND_MM_REST_BUCKET(mm_heap);
free(heap);
heap = mm_heap;
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+24 -42
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -211,7 +211,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_get_defined_constants, 0, 0, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_debug_backtrace, 0, 0, 0)
ZEND_ARG_INFO(0, provide_object)
ZEND_ARG_INFO(0, options)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_extension_loaded, 0, 0, 1)
@@ -272,7 +272,7 @@ static const zend_function_entry builtin_functions[] = { /* {{{ */
ZEND_FE(get_extension_funcs, arginfo_extension_loaded)
ZEND_FE(get_defined_constants, arginfo_get_defined_constants)
ZEND_FE(debug_backtrace, arginfo_debug_backtrace)
ZEND_FE(debug_print_backtrace, arginfo_zend__void)
ZEND_FE(debug_print_backtrace, arginfo_debug_backtrace)
#if ZEND_DEBUG
ZEND_FE(zend_test_func, NULL)
#ifdef ZTS
@@ -283,7 +283,7 @@ static const zend_function_entry builtin_functions[] = { /* {{{ */
ZEND_FE(gc_enabled, arginfo_zend__void)
ZEND_FE(gc_enable, arginfo_zend__void)
ZEND_FE(gc_disable, arginfo_zend__void)
{ NULL, NULL, NULL }
ZEND_FE_END
};
/* }}} */
@@ -822,45 +822,25 @@ static void is_a_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool only_subclass)
return;
}
if (only_subclass && Z_TYPE_P(obj) == IS_STRING) {
if (Z_TYPE_P(obj) == IS_STRING) {
zend_class_entry **the_ce;
if (zend_lookup_class(Z_STRVAL_P(obj), Z_STRLEN_P(obj), &the_ce TSRMLS_CC) == FAILURE) {
zend_error(E_WARNING, "Unknown class passed as parameter");
RETURN_FALSE;
}
instance_ce = *the_ce;
} else if (Z_TYPE_P(obj) != IS_OBJECT) {
RETURN_FALSE;
} else if (Z_TYPE_P(obj) == IS_OBJECT && HAS_CLASS_ENTRY(*obj)) {
instance_ce = Z_OBJCE_P(obj);
} else {
instance_ce = NULL;
}
/* TBI!! new object handlers */
if (Z_TYPE_P(obj) == IS_OBJECT && !HAS_CLASS_ENTRY(*obj)) {
RETURN_FALSE;
}
if (zend_lookup_class_ex(class_name, class_name_len, 0, &ce TSRMLS_CC) == FAILURE) {
retval = 0;
} else {
if (only_subclass) {
if (!instance_ce) {
instance_ce = Z_OBJCE_P(obj)->parent;
} else {
instance_ce = instance_ce->parent;
}
} else {
instance_ce = Z_OBJCE_P(obj);
}
if (!instance_ce) {
RETURN_FALSE;
}
if (instanceof_function(instance_ce, *ce TSRMLS_CC)) {
retval = 1;
} else {
if (only_subclass && instance_ce == *ce) {
retval = 0;
} else {
retval = instanceof_function(instance_ce, *ce TSRMLS_CC);
}
}
@@ -1733,7 +1713,7 @@ ZEND_FUNCTION(create_function)
function_name[0] = '\0';
do {
function_name_length = 1 + sprintf(function_name + 1, "lambda_%d", ++EG(lambda_count));
function_name_length = 1 + snprintf(function_name + 1, sizeof("lambda_")+MAX_LENGTH_OF_LONG, "lambda_%d", ++EG(lambda_count));
} while (zend_hash_add(EG(function_table), function_name, function_name_length+1, &new_function, sizeof(zend_function), NULL)==FAILURE);
zend_hash_del(EG(function_table), LAMBDA_TEMP_FUNCNAME, sizeof(LAMBDA_TEMP_FUNCNAME));
RETURN_STRINGL(function_name, function_name_length, 0);
@@ -1944,7 +1924,7 @@ void debug_print_backtrace_args(zval *arg_array TSRMLS_DC)
}
}
/* {{{ proto void debug_print_backtrace(void) */
/* {{{ proto void debug_print_backtrace([int options]) */
ZEND_FUNCTION(debug_print_backtrace)
{
zend_execute_data *ptr, *skip;
@@ -1956,8 +1936,9 @@ ZEND_FUNCTION(debug_print_backtrace)
char *include_filename = NULL;
zval *arg_array = NULL;
int indent = 0;
long options = 0;
if (zend_parse_parameters_none() == FAILURE) {
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &options) == FAILURE) {
return;
}
@@ -2016,7 +1997,7 @@ ZEND_FUNCTION(debug_print_backtrace)
call_type = NULL;
}
if ((! ptr->opline) || ((ptr->opline->opcode == ZEND_DO_FCALL_BY_NAME) || (ptr->opline->opcode == ZEND_DO_FCALL))) {
if (ptr->function_state.arguments) {
if (ptr->function_state.arguments && (options & DEBUG_BACKTRACE_IGNORE_ARGS) == 0) {
arg_array = debug_backtrace_get_args(ptr->function_state.arguments TSRMLS_CC);
}
}
@@ -2066,7 +2047,7 @@ ZEND_FUNCTION(debug_print_backtrace)
ZEND_PUTS(class_name);
ZEND_PUTS(call_type);
}
zend_printf("%s(", function_name?function_name:"main");
zend_printf("%s(", function_name);
if (arg_array) {
debug_print_backtrace_args(arg_array TSRMLS_CC);
zval_ptr_dtor(&arg_array);
@@ -2103,7 +2084,7 @@ ZEND_FUNCTION(debug_print_backtrace)
/* }}} */
ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last, int provide_object TSRMLS_DC)
ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last, int options TSRMLS_DC)
{
zend_execute_data *ptr, *skip;
int lineno;
@@ -2187,7 +2168,7 @@ ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last, int
add_assoc_string_ex(stack_frame, "class", sizeof("class"), class_name, dup);
}
if (provide_object) {
if ((options & DEBUG_BACKTRACE_PROVIDE_OBJECT) != 0) {
add_assoc_zval_ex(stack_frame, "object", sizeof("object"), ptr->object);
Z_ADDREF_P(ptr->object);
}
@@ -2198,7 +2179,8 @@ ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last, int
add_assoc_string_ex(stack_frame, "type", sizeof("type"), "::", 1);
}
if ((! ptr->opline) || ((ptr->opline->opcode == ZEND_DO_FCALL_BY_NAME) || (ptr->opline->opcode == ZEND_DO_FCALL))) {
if ((options & DEBUG_BACKTRACE_IGNORE_ARGS) == 0 &&
((! ptr->opline) || ((ptr->opline->opcode == ZEND_DO_FCALL_BY_NAME) || (ptr->opline->opcode == ZEND_DO_FCALL)))) {
if (ptr->function_state.arguments) {
add_assoc_zval_ex(stack_frame, "args", sizeof("args"), debug_backtrace_get_args(ptr->function_state.arguments TSRMLS_CC));
}
@@ -2264,17 +2246,17 @@ ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last, int
/* }}} */
/* {{{ proto array debug_backtrace([bool provide_object])
/* {{{ proto array debug_backtrace([int options])
Return backtrace as array */
ZEND_FUNCTION(debug_backtrace)
{
zend_bool provide_object = 1;
long options = DEBUG_BACKTRACE_PROVIDE_OBJECT;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &provide_object) == FAILURE) {
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &options) == FAILURE) {
return;
}
zend_fetch_debug_backtrace(return_value, 1, provide_object TSRMLS_CC);
zend_fetch_debug_backtrace(return_value, 1, options TSRMLS_CC);
}
/* }}} */
+2 -2
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -25,7 +25,7 @@
int zend_startup_builtin_functions(TSRMLS_D);
BEGIN_EXTERN_C()
ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last, int provide_object TSRMLS_DC);
ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last, int options TSRMLS_DC);
END_EXTERN_C()
#endif /* ZEND_BUILTIN_FUNCTIONS_H */
+16 -7
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -323,6 +323,7 @@ static int zval_copy_static_var(zval **p TSRMLS_DC, int num_args, va_list args,
{
HashTable *target = va_arg(args, HashTable*);
zend_bool is_ref;
zval *tmp;
if (Z_TYPE_PP(p) & (IS_LEXICAL_VAR|IS_LEXICAL_REF)) {
is_ref = Z_TYPE_PP(p) & IS_LEXICAL_REF;
@@ -332,25 +333,32 @@ static int zval_copy_static_var(zval **p TSRMLS_DC, int num_args, va_list args,
}
if (zend_hash_quick_find(EG(active_symbol_table), key->arKey, key->nKeyLength, key->h, (void **) &p) == FAILURE) {
if (is_ref) {
zval *tmp;
ALLOC_INIT_ZVAL(tmp);
Z_SET_ISREF_P(tmp);
zend_hash_quick_add(EG(active_symbol_table), key->arKey, key->nKeyLength, key->h, &tmp, sizeof(zval*), (void**)&p);
} else {
p = &EG(uninitialized_zval_ptr);
tmp = EG(uninitialized_zval_ptr);
zend_error(E_NOTICE,"Undefined variable: %s", key->arKey);
}
} else {
if (is_ref) {
SEPARATE_ZVAL_TO_MAKE_IS_REF(p);
tmp = *p;
} else if (Z_ISREF_PP(p)) {
SEPARATE_ZVAL(p);
ALLOC_INIT_ZVAL(tmp);
*tmp = **p;
zval_copy_ctor(tmp);
Z_SET_REFCOUNT_P(tmp, 0);
Z_UNSET_ISREF_P(tmp);
} else {
tmp = *p;
}
}
} else {
tmp = *p;
}
if (zend_hash_quick_add(target, key->arKey, key->nKeyLength, key->h, p, sizeof(zval*), NULL) == SUCCESS) {
Z_ADDREF_PP(p);
if (zend_hash_quick_add(target, key->arKey, key->nKeyLength, key->h, &tmp, sizeof(zval*), NULL) == SUCCESS) {
Z_ADDREF_P(tmp);
}
return ZEND_HASH_APPLY_KEEP;
}
@@ -365,6 +373,7 @@ ZEND_API void zend_create_closure(zval *res, zend_function *func TSRMLS_DC) /* {
closure = (zend_closure *)zend_object_store_get_object(res TSRMLS_CC);
closure->func = *func;
closure->func.common.prototype = NULL;
if (closure->func.type == ZEND_USER_FUNCTION) {
if (closure->func.op_array.static_variables) {
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+106 -72
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -387,6 +387,7 @@ void fetch_simple_variable_ex(znode *result, znode *varname, int bp, zend_uchar
result->op_type = IS_CV;
result->u.var = lookup_cv(CG(active_op_array), varname->u.constant.value.str.val, varname->u.constant.value.str.len);
result->u.EA.type = 0;
varname->u.constant.value.str.val = CG(active_op_array)->vars[result->u.var].name;
return;
}
}
@@ -625,7 +626,7 @@ void zend_do_assign(znode *result, znode *variable, const znode *value TSRMLS_DC
if (variable->op_type == IS_CV) {
if (variable->u.var == CG(active_op_array)->this_var) {
zend_error(E_COMPILE_ERROR, "Cannot re-assign $this");
}
}
} else if (variable->op_type == IS_VAR) {
int n = 0;
@@ -705,7 +706,7 @@ void zend_do_assign_ref(znode *result, const znode *lvar, const znode *rvar TSRM
if (lvar->op_type == IS_CV) {
if (lvar->u.var == CG(active_op_array)->this_var) {
zend_error(E_COMPILE_ERROR, "Cannot re-assign $this");
}
}
} else if (lvar->op_type == IS_VAR) {
int last_op_number = get_next_op_number(CG(active_op_array));
@@ -1008,7 +1009,7 @@ void zend_do_end_variable_parse(znode *variable, int type, int arg_offset TSRMLS
variable->op_type = IS_CV;
variable->u.var = CG(active_op_array)->this_var;
}
} else if (CG(active_op_array)->this_var == -1) {
} else if (CG(active_op_array)->this_var == -1) {
CG(active_op_array)->this_var = lookup_cv(CG(active_op_array), estrndup("this", sizeof("this")-1), sizeof("this")-1);
}
}
@@ -1277,9 +1278,7 @@ void zend_do_begin_function_declaration(znode *function_token, znode *function_n
/* Improve after RC: cache the lowercase class name */
if ((CG(active_class_entry)->name_length == name_len) && (!memcmp(class_lcname, lcname, name_len))) {
if (CG(active_class_entry)->constructor) {
zend_error(E_STRICT, "Redefining already defined constructor for class %s", CG(active_class_entry)->name);
} else {
if (!CG(active_class_entry)->constructor) {
CG(active_class_entry)->constructor = (zend_function *) CG(active_op_array);
}
} else if ((name_len == sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_CONSTRUCTOR_FUNC_NAME, sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)))) {
@@ -1896,14 +1895,14 @@ void zend_resolve_goto_label(zend_op_array *op_array, zend_op *opline, int pass2
long current, distance;
if (CG(labels) == NULL ||
zend_hash_find(CG(labels), Z_STRVAL(opline->op2.u.constant), Z_STRLEN(opline->op2.u.constant)+1, (void**)&dest) == FAILURE) {
zend_hash_find(CG(labels), Z_STRVAL(opline->op2.u.constant), Z_STRLEN(opline->op2.u.constant)+1, (void**)&dest) == FAILURE) {
if (pass2) {
CG(in_compilation) = 1;
CG(active_op_array) = op_array;
CG(zend_lineno) = opline->lineno;
if (pass2) {
CG(in_compilation) = 1;
CG(active_op_array) = op_array;
CG(zend_lineno) = opline->lineno;
zend_error(E_COMPILE_ERROR, "'goto' to undefined label '%s'", Z_STRVAL(opline->op2.u.constant));
} else {
} else {
/* Label is not defined. Delay to pass 2. */
INC_BPC(op_array);
return;
@@ -1917,11 +1916,11 @@ void zend_resolve_goto_label(zend_op_array *op_array, zend_op *opline, int pass2
current = opline->extended_value;
for (distance = 0; current != dest->brk_cont; distance++) {
if (current == -1) {
if (pass2) {
CG(in_compilation) = 1;
CG(active_op_array) = op_array;
CG(zend_lineno) = opline->lineno;
}
if (pass2) {
CG(in_compilation) = 1;
CG(active_op_array) = op_array;
CG(zend_lineno) = opline->lineno;
}
zend_error(E_COMPILE_ERROR, "'goto' into loop or switch statement is disallowed");
}
current = op_array->brk_cont_array[current].parent;
@@ -1937,9 +1936,9 @@ void zend_resolve_goto_label(zend_op_array *op_array, zend_op *opline, int pass2
ZVAL_LONG(&opline->op2.u.constant, distance);
}
if (pass2) {
if (pass2) {
DEC_BPC(op_array);
}
}
}
/* }}} */
@@ -2011,7 +2010,7 @@ int zend_do_begin_class_member_function_call(znode *class_name, znode *method_na
if (method_name->op_type == IS_CONST) {
char *lcname = zend_str_tolower_dup(Z_STRVAL(method_name->u.constant), Z_STRLEN(method_name->u.constant));
if ((sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)-1) == Z_STRLEN(method_name->u.constant) &&
memcmp(lcname, ZEND_CONSTRUCTOR_FUNC_NAME, sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)-1) == 0) {
memcmp(lcname, ZEND_CONSTRUCTOR_FUNC_NAME, sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)-1) == 0) {
zval_dtor(&method_name->u.constant);
SET_UNUSED(*method_name);
}
@@ -2019,7 +2018,7 @@ int zend_do_begin_class_member_function_call(znode *class_name, znode *method_na
}
if (class_name->op_type == IS_CONST &&
ZEND_FETCH_CLASS_DEFAULT == zend_get_class_fetch_type(Z_STRVAL(class_name->u.constant), Z_STRLEN(class_name->u.constant))) {
ZEND_FETCH_CLASS_DEFAULT == zend_get_class_fetch_type(Z_STRVAL(class_name->u.constant), Z_STRLEN(class_name->u.constant))) {
fetch_type = ZEND_FETCH_CLASS_GLOBAL;
zend_resolve_class_name(class_name, &fetch_type, 1 TSRMLS_CC);
class_node = *class_name;
@@ -2082,9 +2081,9 @@ void zend_do_pass_param(znode *param, zend_uchar op, int offset TSRMLS_DC) /* {{
if (original_op == ZEND_SEND_REF && !CG(allow_call_time_pass_reference)) {
if (function_ptr &&
function_ptr->common.function_name &&
function_ptr->common.type == ZEND_USER_FUNCTION &&
!ARG_SHOULD_BE_SENT_BY_REF(function_ptr, (zend_uint) offset)) {
function_ptr->common.function_name &&
function_ptr->common.type == ZEND_USER_FUNCTION &&
!ARG_SHOULD_BE_SENT_BY_REF(function_ptr, (zend_uint) offset)) {
zend_error(E_DEPRECATED,
"Call-time pass-by-reference has been deprecated; "
"If you would like to pass it by reference, modify the declaration of %s(). "
@@ -2530,17 +2529,20 @@ static void do_inherit_method(zend_function *function) /* {{{ */
}
/* }}} */
static zend_bool zend_do_perform_implementation_check(const zend_function *fe, const zend_function *proto) /* {{{ */
static zend_bool zend_do_perform_implementation_check(const zend_function *fe, const zend_function *proto TSRMLS_DC) /* {{{ */
{
zend_uint i;
/* If it's a user function then arg_info == NULL means we don't have any parameters but we still need to do the arg number checks. We are only willing to ignore this for internal functions because extensions don't always define arg_info. */
/* If it's a user function then arg_info == NULL means we don't have any parameters but
* we still need to do the arg number checks. We are only willing to ignore this for internal
* functions because extensions don't always define arg_info.
*/
if (!proto || (!proto->common.arg_info && proto->common.type != ZEND_USER_FUNCTION)) {
return 1;
}
/* Checks for constructors only if they are declared in an interface */
if ((fe->common.fn_flags & ZEND_ACC_CTOR) && !(proto->common.scope->ce_flags & ZEND_ACC_INTERFACE)) {
if ((fe->common.fn_flags & ZEND_ACC_CTOR) && (proto->common.scope->ce_flags & ZEND_ACC_INTERFACE) == 0) {
return 1;
}
@@ -2550,12 +2552,14 @@ static zend_bool zend_do_perform_implementation_check(const zend_function *fe, c
return 0;
}
if (proto->common.pass_rest_by_reference
if (fe->common.type != ZEND_USER_FUNCTION
&& proto->common.pass_rest_by_reference
&& !fe->common.pass_rest_by_reference) {
return 0;
}
if (fe->common.return_reference != proto->common.return_reference) {
/* by-ref constraints on return values are covariant */
if (proto->common.return_reference && !fe->common.return_reference) {
return 0;
}
@@ -2568,17 +2572,32 @@ static zend_bool zend_do_perform_implementation_check(const zend_function *fe, c
&& strcasecmp(fe->common.arg_info[i].class_name, proto->common.arg_info[i].class_name)!=0) {
char *colon;
if (fe->common.type != ZEND_USER_FUNCTION ||
strchr(proto->common.arg_info[i].class_name, '\\') != NULL ||
if (fe->common.type != ZEND_USER_FUNCTION) {
return 0;
} else if (strchr(proto->common.arg_info[i].class_name, '\\') != NULL ||
(colon = zend_memrchr(fe->common.arg_info[i].class_name, '\\', fe->common.arg_info[i].class_name_len)) == NULL ||
strcasecmp(colon+1, proto->common.arg_info[i].class_name) != 0) {
return 0;
zend_class_entry **fe_ce, **proto_ce;
int found, found2;
found = zend_lookup_class(fe->common.arg_info[i].class_name, fe->common.arg_info[i].class_name_len, &fe_ce TSRMLS_CC);
found2 = zend_lookup_class(proto->common.arg_info[i].class_name, proto->common.arg_info[i].class_name_len, &proto_ce TSRMLS_CC);
/* Check for class alias */
if (found != SUCCESS || found2 != SUCCESS ||
(*fe_ce)->type == ZEND_INTERNAL_CLASS ||
(*proto_ce)->type == ZEND_INTERNAL_CLASS ||
*fe_ce != *proto_ce) {
return 0;
}
}
}
if (fe->common.arg_info[i].array_type_hint != proto->common.arg_info[i].array_type_hint) {
/* Only one has an array type hint and the other one doesn't */
return 0;
}
/* by-ref constraints on arguments are invariant */
if (fe->common.arg_info[i].pass_by_reference != proto->common.arg_info[i].pass_by_reference) {
return 0;
}
@@ -2662,11 +2681,11 @@ static zend_bool do_inherit_method_check(HashTable *child_function_table, zend_f
}
if (child->common.prototype && (child->common.prototype->common.fn_flags & ZEND_ACC_ABSTRACT)) {
if (!zend_do_perform_implementation_check(child, child->common.prototype)) {
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 that of %s::%s()", ZEND_FN_SCOPE_NAME(child), child->common.function_name, ZEND_FN_SCOPE_NAME(child->common.prototype), child->common.prototype->common.function_name);
}
} 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)) {
if (!zend_do_perform_implementation_check(child, parent TSRMLS_CC)) {
zend_error(E_STRICT, "Declaration of %s::%s() should be compatible with that of %s::%s()", ZEND_FN_SCOPE_NAME(child), child->common.function_name, ZEND_FN_SCOPE_NAME(parent), parent->common.function_name);
}
}
@@ -2816,6 +2835,9 @@ static int inherit_static_prop(zval **p TSRMLS_DC, int num_args, va_list args, c
}
/* }}} */
#define zval_property_ctor(parent_ce, ce) \
((copy_ctor_func_t) (((parent_ce)->type != (ce)->type) ? zval_shared_property_ctor : zval_add_ref))
ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent_ce TSRMLS_DC) /* {{{ */
{
if ((ce->ce_flags & ZEND_ACC_INTERFACE)
@@ -2839,7 +2861,7 @@ ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent
zend_do_inherit_interfaces(ce, parent_ce TSRMLS_CC);
/* Inherit properties */
zend_hash_merge(&ce->default_properties, &parent_ce->default_properties, (void (*)(void *)) zval_add_ref, NULL, sizeof(zval *), 0);
zend_hash_merge(&ce->default_properties, &parent_ce->default_properties, zval_property_ctor(parent_ce, ce), NULL, sizeof(zval *), 0);
if (parent_ce->type != ce->type) {
/* User class extends internal class */
zend_update_class_constants(parent_ce TSRMLS_CC);
@@ -2849,7 +2871,7 @@ ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent
}
zend_hash_merge_ex(&ce->properties_info, &parent_ce->properties_info, (copy_ctor_func_t) (ce->type & ZEND_INTERNAL_CLASS ? zend_duplicate_property_info_internal : zend_duplicate_property_info), sizeof(zend_property_info), (merge_checker_func_t) do_inherit_property_access_check, ce);
zend_hash_merge(&ce->constants_table, &parent_ce->constants_table, (void (*)(void *)) zval_add_ref, NULL, sizeof(zval *), 0);
zend_hash_merge(&ce->constants_table, &parent_ce->constants_table, zval_property_ctor(parent_ce, ce), NULL, sizeof(zval *), 0);
zend_hash_merge_ex(&ce->function_table, &parent_ce->function_table, (copy_ctor_func_t) do_inherit_method, sizeof(zend_function), (merge_checker_func_t) do_inherit_method_check, ce);
do_inherit_parent_constructor(ce);
@@ -3051,9 +3073,9 @@ void zend_do_early_binding(TSRMLS_D) /* {{{ */
zend_class_entry **pce;
if ((zend_lookup_class(Z_STRVAL_P(parent_name), Z_STRLEN_P(parent_name), &pce TSRMLS_CC) == FAILURE) ||
((CG(compiler_options) & ZEND_COMPILE_IGNORE_INTERNAL_CLASSES) &&
((*pce)->type == ZEND_INTERNAL_CLASS))) {
if (CG(compiler_options) & ZEND_COMPILE_DELAYED_BINDING) {
((CG(compiler_options) & ZEND_COMPILE_IGNORE_INTERNAL_CLASSES) &&
((*pce)->type == ZEND_INTERNAL_CLASS))) {
if (CG(compiler_options) & ZEND_COMPILE_DELAYED_BINDING) {
zend_uint *opline_num = &CG(active_op_array)->early_binding;
while (*opline_num != -1) {
@@ -3383,7 +3405,7 @@ void zend_do_begin_class_declaration(const znode *class_token, znode *class_name
/* Class name must not conflict with import names */
if (CG(current_import) &&
zend_hash_find(CG(current_import), lcname, Z_STRLEN(class_name->u.constant)+1, (void**)&ns_name) == SUCCESS) {
zend_hash_find(CG(current_import), lcname, Z_STRLEN(class_name->u.constant)+1, (void**)&ns_name) == SUCCESS) {
error = 1;
}
@@ -3618,7 +3640,7 @@ void zend_do_declare_property(const znode *var_name, const znode *value, zend_ui
if (access_type & ZEND_ACC_FINAL) {
zend_error(E_COMPILE_ERROR, "Cannot declare property %s::$%s final, the final modifier is allowed only for methods and classes",
CG(active_class_entry)->name, var_name->u.constant.value.str.val);
CG(active_class_entry)->name, var_name->u.constant.value.str.val);
}
if (zend_hash_find(&CG(active_class_entry)->properties_info, var_name->u.constant.value.str.val, var_name->u.constant.value.str.len+1, (void **) &existing_property_info)==SUCCESS) {
@@ -3681,8 +3703,8 @@ void zend_do_fetch_property(znode *result, znode *object, const znode *property
if (object->op_type == IS_CV) {
if (object->u.var == CG(active_op_array)->this_var) {
SET_UNUSED(*object); /* this means $this for objects */
}
SET_UNUSED(*object); /* this means $this for objects */
}
} else if (fetch_list_ptr->count == 1) {
zend_llist_element *le = fetch_list_ptr->head;
zend_op *opline_ptr = (zend_op *) le->data;
@@ -3740,6 +3762,10 @@ void zend_do_halt_compiler_register(TSRMLS_D) /* {{{ */
zend_mangle_property_name(&name, &len, haltoff, sizeof(haltoff) - 1, cfilename, clen, 0);
zend_register_long_constant(name, len+1, zend_get_scanned_file_offset(TSRMLS_C), CONST_CS, 0 TSRMLS_CC);
pefree(name, 0);
if (CG(in_namespace)) {
zend_do_end_namespace(TSRMLS_C);
}
}
/* }}} */
@@ -3857,10 +3883,10 @@ static zend_constant* zend_get_ct_const(const zval *const_name, int all_internal
return c;
}
if (all_internal_constants_substitution &&
(c->flags & CONST_PERSISTENT) &&
!(CG(compiler_options) & ZEND_COMPILE_NO_CONSTANT_SUBSTITUTION) &&
Z_TYPE(c->value) != IS_CONSTANT &&
Z_TYPE(c->value) != IS_CONSTANT_ARRAY) {
(c->flags & CONST_PERSISTENT) &&
!(CG(compiler_options) & ZEND_COMPILE_NO_CONSTANT_SUBSTITUTION) &&
Z_TYPE(c->value) != IS_CONSTANT &&
Z_TYPE(c->value) != IS_CONSTANT_ARRAY) {
return c;
}
return NULL;
@@ -4253,7 +4279,7 @@ void zend_do_fetch_lexical_variable(znode *varname, zend_bool is_ref TSRMLS_DC)
znode value;
if (Z_STRLEN(varname->u.constant) == sizeof("this") - 1 &&
memcmp(Z_STRVAL(varname->u.constant), "this", sizeof("this") - 1) == 0) {
memcmp(Z_STRVAL(varname->u.constant), "this", sizeof("this") - 1) == 0) {
zend_error(E_COMPILE_ERROR, "Cannot use $this as lexical variable");
return;
}
@@ -4343,6 +4369,10 @@ void zend_do_indirect_references(znode *result, const znode *num_references, zno
}
zend_do_begin_variable_parse(TSRMLS_C);
fetch_simple_variable(result, variable, 1 TSRMLS_CC);
/* there is a chance someone is accessing $this */
if (CG(active_op_array)->scope && CG(active_op_array)->this_var == -1) {
CG(active_op_array)->this_var = lookup_cv(CG(active_op_array), estrndup("this", sizeof("this")-1), sizeof("this")-1);
}
}
/* }}} */
@@ -4463,7 +4493,7 @@ void zend_do_foreach_begin(znode *foreach_token, znode *open_brackets_token, zno
open_brackets_token->u.opline_num = get_next_op_number(CG(active_op_array));
zend_do_end_variable_parse(array, BP_VAR_W, 0 TSRMLS_CC);
if (CG(active_op_array)->last > 0 &&
CG(active_op_array)->opcodes[CG(active_op_array)->last-1].opcode == ZEND_FETCH_OBJ_W) {
CG(active_op_array)->opcodes[CG(active_op_array)->last-1].opcode == ZEND_FETCH_OBJ_W) {
/* Only lock the container if we are fetching from a real container and not $this */
if (CG(active_op_array)->opcodes[CG(active_op_array)->last-1].op1.op_type == IS_VAR) {
CG(active_op_array)->opcodes[CG(active_op_array)->last-1].extended_value |= ZEND_FETCH_ADD_LOCK;
@@ -4650,8 +4680,8 @@ void zend_do_declare_stmt(znode *var, znode *val TSRMLS_DC) /* {{{ */
int num = CG(active_op_array)->last;
/* ignore ZEND_EXT_STMT and ZEND_TICKS */
while (num > 0 &&
(CG(active_op_array)->opcodes[num-1].opcode == ZEND_EXT_STMT ||
CG(active_op_array)->opcodes[num-1].opcode == ZEND_TICKS)) {
(CG(active_op_array)->opcodes[num-1].opcode == ZEND_EXT_STMT ||
CG(active_op_array)->opcodes[num-1].opcode == ZEND_TICKS)) {
--num;
}
@@ -4884,14 +4914,12 @@ void zend_do_extended_fcall_end(TSRMLS_D) /* {{{ */
void zend_do_ticks(TSRMLS_D) /* {{{ */
{
if (Z_LVAL(CG(declarables).ticks)) {
zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);
zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);
opline->opcode = ZEND_TICKS;
opline->op1.u.constant = CG(declarables).ticks;
opline->op1.op_type = IS_CONST;
SET_UNUSED(opline->op2);
}
opline->opcode = ZEND_TICKS;
opline->op1.u.constant = CG(declarables).ticks;
opline->op1.op_type = IS_CONST;
SET_UNUSED(opline->op2);
}
/* }}} */
@@ -5065,7 +5093,7 @@ void zend_do_build_namespace_name(znode *result, znode *prefix, znode *name TSRM
if (prefix) {
*result = *prefix;
if (Z_TYPE(result->u.constant) == IS_STRING &&
Z_STRLEN(result->u.constant) == 0) {
Z_STRLEN(result->u.constant) == 0) {
/* namespace\ */
if (CG(current_namespace)) {
znode tmp;
@@ -5113,8 +5141,8 @@ void zend_do_begin_namespace(const znode *name, zend_bool with_bracket TSRMLS_DC
/* ignore ZEND_EXT_STMT and ZEND_TICKS */
int num = CG(active_op_array)->last;
while (num > 0 &&
(CG(active_op_array)->opcodes[num-1].opcode == ZEND_EXT_STMT ||
CG(active_op_array)->opcodes[num-1].opcode == ZEND_TICKS)) {
(CG(active_op_array)->opcodes[num-1].opcode == ZEND_EXT_STMT ||
CG(active_op_array)->opcodes[num-1].opcode == ZEND_TICKS)) {
--num;
}
if (num > 0) {
@@ -5130,9 +5158,9 @@ void zend_do_begin_namespace(const znode *name, zend_bool with_bracket TSRMLS_DC
if (name) {
lcname = zend_str_tolower_dup(Z_STRVAL(name->u.constant), Z_STRLEN(name->u.constant));
if (((Z_STRLEN(name->u.constant) == sizeof("self")-1) &&
!memcmp(lcname, "self", sizeof("self")-1)) ||
((Z_STRLEN(name->u.constant) == sizeof("parent")-1) &&
!memcmp(lcname, "parent", sizeof("parent")-1))) {
!memcmp(lcname, "self", sizeof("self")-1)) ||
((Z_STRLEN(name->u.constant) == sizeof("parent")-1) &&
!memcmp(lcname, "parent", sizeof("parent")-1))) {
zend_error(E_COMPILE_ERROR, "Cannot use '%s' as namespace name", Z_STRVAL(name->u.constant));
}
efree(lcname);
@@ -5194,9 +5222,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));
}
@@ -5208,13 +5236,13 @@ void zend_do_use(znode *ns_name, znode *new_name, int is_global TSRMLS_DC) /* {{
c_ns_name[Z_STRLEN_P(CG(current_namespace))] = '\\';
memcpy(c_ns_name+Z_STRLEN_P(CG(current_namespace))+1, lcname, Z_STRLEN_P(name)+1);
if (zend_hash_exists(CG(class_table), c_ns_name, Z_STRLEN_P(CG(current_namespace)) + 1 + Z_STRLEN_P(name)+1)) {
char *tmp = zend_str_tolower_dup(Z_STRVAL_P(ns), Z_STRLEN_P(ns));
char *tmp2 = zend_str_tolower_dup(Z_STRVAL_P(ns), Z_STRLEN_P(ns));
if (Z_STRLEN_P(ns) != Z_STRLEN_P(CG(current_namespace)) + 1 + Z_STRLEN_P(name) ||
memcmp(tmp, c_ns_name, Z_STRLEN_P(ns))) {
memcmp(tmp2, c_ns_name, Z_STRLEN_P(ns))) {
zend_error(E_COMPILE_ERROR, "Cannot use %s as %s because the name is already in use", Z_STRVAL_P(ns), Z_STRVAL_P(name));
}
efree(tmp);
efree(tmp2);
}
efree(c_ns_name);
} else if (zend_hash_find(CG(class_table), lcname, Z_STRLEN_P(name)+1, (void**)&pce) == SUCCESS &&
@@ -5292,6 +5320,12 @@ void zend_do_end_namespace(TSRMLS_D) /* {{{ */
efree(CG(current_import));
CG(current_import) = NULL;
}
if (CG(doc_comment)) {
efree(CG(doc_comment));
CG(doc_comment) = NULL;
CG(doc_comment_len) = 0;
}
}
/* }}} */
@@ -5340,7 +5374,7 @@ ZEND_API size_t zend_dirname(char *path, size_t len)
if (len_adjust == len) {
return len;
}
}
}
#endif
if (len == 0) {
+2 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -39,6 +39,7 @@
#define INC_BPC(op_array) if (op_array->fn_flags & ZEND_ACC_INTERACTIVE) { ((op_array)->backpatch_count++); }
#define DEC_BPC(op_array) if (op_array->fn_flags & ZEND_ACC_INTERACTIVE) { ((op_array)->backpatch_count--); }
#define HANDLE_INTERACTIVE() if (CG(active_op_array)->fn_flags & ZEND_ACC_INTERACTIVE) { execute_new_code(TSRMLS_C); }
#define DO_TICKS() if (Z_LVAL(CG(declarables).ticks)) { zend_do_ticks(TSRMLS_C); }
#define RESET_DOC_COMMENT() \
{ \
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+13 -3
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -113,6 +113,8 @@ void zend_register_standard_constants(TSRMLS_D)
REGISTER_MAIN_LONG_CONSTANT("E_ALL", E_ALL, CONST_PERSISTENT | CONST_CS);
REGISTER_MAIN_LONG_CONSTANT("DEBUG_BACKTRACE_PROVIDE_OBJECT", DEBUG_BACKTRACE_PROVIDE_OBJECT, CONST_PERSISTENT | CONST_CS);
REGISTER_MAIN_LONG_CONSTANT("DEBUG_BACKTRACE_IGNORE_ARGS", DEBUG_BACKTRACE_IGNORE_ARGS, CONST_PERSISTENT | CONST_CS);
/* true/false constants */
{
zend_constant c;
@@ -434,8 +436,16 @@ ZEND_API int zend_register_constant(zend_constant *c TSRMLS_DC)
}
}
if ((strncmp(name, "__COMPILER_HALT_OFFSET__", sizeof("__COMPILER_HALT_OFFSET__") - 1) == 0) ||
zend_hash_add(EG(zend_constants), name, c->name_len, (void *) c, sizeof(zend_constant), NULL)==FAILURE) {
/* Check if the user is trying to define the internal pseudo constant name __COMPILER_HALT_OFFSET__ */
if ((c->name_len == sizeof("__COMPILER_HALT_OFFSET__")
&& !memcmp(name, "__COMPILER_HALT_OFFSET__", sizeof("__COMPILER_HALT_OFFSET__")-1))
|| zend_hash_add(EG(zend_constants), name, c->name_len, (void *) c, sizeof(zend_constant), NULL)==FAILURE) {
/* The internal __COMPILER_HALT_OFFSET__ is prefixed by NULL byte */
if (c->name[0] == '\0' && c->name_len > sizeof("\0__COMPILER_HALT_OFFSET__")
&& memcmp(name, "\0__COMPILER_HALT_OFFSET__", sizeof("\0__COMPILER_HALT_OFFSET__")) == 0) {
name++;
}
zend_error(E_NOTICE,"Constant %s already defined", name);
free(c->name);
if (!(c->flags & CONST_PERSISTENT)) {
Loaded 100 of 2012 files, more files were not shown because too many files have changed in this diff. Show more