Compare commits

...
1188 Commits
Author SHA1 Message Date
Johannes Schlüter 6632004c65 PHP 5.3.2 2010-03-03 16:49:51 +00:00
Johannes Schlüter 8fa71890bd Release day is tomorrow, not today 2010-03-03 16:45:49 +00:00
Johannes Schlüter 4cb022e064 PHP 5.3.2 2010-03-03 16:36:07 +00:00
Johannes Schlüter 3961cacaa8 merge 5.3.2 NEWS 2010-03-03 15:40:44 +00:00
Pierre Joye 5afa611861 - tz update entry 2010-03-03 15:15:28 +00:00
Pierre Joye 1095947a4f - Updated to version 2010.3 (2010c) 2010-03-03 11:42:54 +00:00
Pierre Joye 6af0766d44 - merge/update/fix 2010-02-24 19:57:56 +00:00
Johannes Schlüter 7470398f7f back to -dev 2010-02-23 19:33:30 +00:00
Johannes Schlüter bdf43efbfa PHP 5.3.2 RC3 2010-02-23 18:47:15 +00:00
Pierre Joye 784ac4e3ac - update 2010-02-23 17:50:08 +00:00
Pierre Joye 0889b619f2 - return *0/*1 on failure instead of FALSE, to avoid possible issues with bad user code 2010-02-23 17:49:00 +00:00
Pierre Joye 6f0ab0d058 - get the right error on windows 2010-02-23 15:04:29 +00:00
Johannes Schlüter d6cf3ce346 merge r295164: update copyright (iliaa) 2010-02-23 14:46:39 +00:00
Pierre Joye 984b5b1cba - fix build when __GMP_BITS_PER_MP_LIMB is not defined but GMP_LIMB_BITS (no trace of this change in gmp's changelog...) 2010-02-23 11:18:24 +00:00
Pierre Joye 7b02569aed - crypt() fixes and sync with Solar Designer updates (rev. 295294, 295294, 295294, 295294, 295294, 295294) 2010-02-22 00:34:22 +00:00
Johannes Schlüter 1d3534ad22 Back to -dev 2010-02-12 00:53:32 +00:00
Johannes Schlüter 1cd9bf1b91 5.3.2RC2 2010-02-12 00:20:28 +00:00
Johannes Schlüter e70bbee4d5 merge 290786: Revert 290786: Fixed bug #49521 (PDO fetchObject sets values
before calling constructor)
2010-02-12 00:19:10 +00:00
Pierre Joye d5591791bc - missing patch for the resourcebunlde support in intl 2010-02-11 23:55:19 +00:00
Pierre Joye 650a934c29 - fix php_date_llabs declaration 2010-02-11 22:37:50 +00:00
Pierre Joye f3e782585a - missing entries 2010-02-11 21:12:11 +00:00
Johannes Schlüter 30d2e1ddf6 merge NEWS entries missing here 2010-02-11 19:51:28 +00:00
Johannes Schlüter 122d3583ee Merge 294882: Fixed safe_mode validation inside tempnam() when the directory
path does not end (iliaa)
2010-02-11 18:03:57 +00:00
Johannes Schlüter beb0118357 merge 294866: Spelling typo in new check message (sixd) 2010-02-11 18:00:21 +00:00
Johannes Schlüter 0e9d95d447 merge r293409: Fixes #50496. Drop stdbool.h dependency as it requires _STDC_C99
set on some systems. (dsp)
2010-02-11 17:53:22 +00:00
Johannes Schlüter b2698c09fd merge r292620: Fixed bug #50558 (Broken object model when extending tidy)
(pierrick)
2010-02-11 17:36:40 +00:00
Johannes Schlüter d3340d41a7 Merg extern declarations:
r293721: Add extern declarations for fixing the build with some compilers (johannes)
r293730: A few more extern declarations (johannes)
2010-02-11 17:24:43 +00:00
Johannes Schlüter da769e6c1d merge r294762: Fix bug#50416
PROCEDURE db.myproc can't return a result set in the given context (andrey)
2010-02-11 17:14:44 +00:00
Pierre Joye 43cc33b6f2 - merge fix for: #45866,#50930, revert fix for #50392, Fixed a bug with the 'r' formatting function, added or fixed tests for #45866 and #46268 2010-02-11 11:11:47 +00:00
Pierre Joye 1ca0576665 - Fixed bug #49585 (date_format buffer not long enough for >4 digit years). 2010-02-11 11:02:53 +00:00
Pierre Joye 675e3b0daa - Update to 2010.2 2010-02-10 16:11:14 +00:00
Johannes Schlüter 8ffb75d21e merge 294847: fix config test (johannes) 2010-02-10 13:46:39 +00:00
Johannes Schlüter ef916d7774 merge 294825: Detect if we can rely on compiler-specific alignment features else
use custom workarounds. Fixes #50753 (johannes)
2010-02-09 22:29:10 +00:00
Pierre Joye a1da67e846 - It's a size_t here, not an unsigned int 2010-02-09 17:51:39 +00:00
Pierre Joye 994869f966 - improve netsnmp detectio and restore snmp on win 2010-02-09 16:42:40 +00:00
Pierre Joye 9fddc2285f - fix leak 2010-02-07 21:09:19 +00:00
Pierre Joye 3d4ab24d98 - fix/sync tests 2010-02-07 21:07:10 +00:00
Pierre Joye a8682814f3 - prevent unexpectable behaviors (for the user) with invalid path and update tests (portability) 2010-02-07 20:45:46 +00:00
Pierre Joye 7d51db88d0 - Fixed #44098, imap_utf8() returns only capital letters 2010-02-07 13:06:54 +00:00
Pierre Joye d915ce7452 - Fixed bug #50952 (allow underscore _ in constants parsed in php.ini files) 2010-02-07 12:08:22 +00:00
Pierre Joye ba2f4f923d - Fix bug #50940 2010-02-05 19:34:47 +00:00
Pierre Joye 1f9405a525 - Explicitly set mail.add_x_header in php.ini 2010-02-05 00:43:02 +00:00
Pierre Joye 289c6be23d - Fixed bug #50657 2010-02-05 00:39:31 +00:00
Pierre Joye ca5eda4467 - Fix #48667 (Implementing Iterator and IteratorAggregate is now restricted.. 2010-02-05 00:37:07 +00:00
Pierre Joye 66aa6d05d6 - Fixed bug #50907 (X-PHP-Originating-Script adding two new lines in *NIX). 2010-02-05 00:19:32 +00:00
Pierre Joye 65ca56c2fe - if they are outdated/wrong, no need to confuse the users 2010-02-05 00:17:54 +00:00
Pierre Joye f1bb004062 - silent warning 2010-02-05 00:14:18 +00:00
Johannes Schlüter f06bee27f0 Merge mysql changes
293815 Add possibility to restrain the number of levels (andrey)
293816 decrement correctly! (andrey)
293976 Fix for bug#50772  (andrey)
294302 Tests related to #50727 (uw)
294313 Fix a bug in mysqlnd where a pointer was not incremented (andrey)
294317 Fix second bug in that code, + instead of += thus not increasing (andrey)
294337 No idea which recent change has cause this little API change, however it is not (uw)
294421 Pass tsrmls to all functions, which might need it in the future. (andrey)
2010-02-04 20:28:55 +00:00
Pierre Joye e1a9c54427 - fix write access check when write mode only is requested (not RW) 2010-02-04 19:54:04 +00:00
Pierre Joye 9bef1ff30e - Allow newer oracle versions 2010-02-04 19:50:49 +00:00
Pierre Joye b136310d53 - Fixed bug #50723 (Bug in garbage collector causes crash) 2010-02-04 10:21:05 +00:00
Pierre Joye 1d94c46fe8 - missing patch for #45986 (r294053) 2010-02-04 10:13:54 +00:00
Pierre Joye 2d996f80c2 - update lib to 0.9.3, fix leaks and test 2010-02-04 10:09:25 +00:00
Pierre Joye 11063bfdf5 - set errno on failure so that the caller can still rely on strerror, missing patch 2010-02-04 09:57:30 +00:00
Pierre Joye ef06baa1bf - - set errno on failure so that the caller can still rely on strerror 2010-02-04 09:55:13 +00:00
Pierre Joye fe7efe346c - try again to get a crypto context when the key container did not exist 2010-02-04 09:48:02 +00:00
Pierre Joye 07804e2482 - Fixed bug #50847 (strip_tags() removes all tags greater then 1023 bytes long) 2010-02-04 09:44:16 +00:00
Pierre Joye 9907c0e3e8 - Update the libmagic.patch 2010-02-04 09:42:06 +00:00
Pierre Joye a10aaa35e9 - Fixed a possible open_basedir/safe_mode bypass in session extension 2010-02-04 09:40:38 +00:00
Pierre Joye 295b7bb34d - Fixed crash in ZTS mode due to ini values not being initialized 2010-02-04 09:37:38 +00:00
Pierre Joye 9e16810a3d - fix leak 2010-02-04 09:31:09 +00:00
Pierre Joye 67ec39e86b - don't go through the reparse code when we have a share or DFS path 2010-02-04 09:29:24 +00:00
Pierre Joye 227cca88c7 - fix leak in the realpath cache, win only 2010-02-04 09:27:40 +00:00
Pierre Joye 979052f70b - fix leak when the SID is already used and duplicated, windows only 2010-02-04 09:25:09 +00:00
Pierre Joye 56b859b607 - Fixed bug #50859 (build fails with openssl 1.0 due to md2 deprecation) 2010-02-04 09:23:22 +00:00
Pierre Joye 0b9c4463b7 - [doc] #45986, bad file descriptor warning when rename is used with invalid path 2010-02-04 09:21:02 +00:00
Pierre Joye d464de88e2 - Fixed bug #50832 (HTTP fopen wrapper does not support passwordless HTTP 2010-02-04 09:17:20 +00:00
Pierre Joye 639d24ee08 - Ensure that stderr output are not buffered, portability for tests 2010-02-04 09:13:14 +00:00
Pierre Joye 4db44d2205 - pls don't add .swp/bak/etc 2010-02-04 09:11:00 +00:00
Pierre Joye 39ff9ec3ec - #50690, putenv does assign value when their length is one char on windows 2010-02-04 09:08:57 +00:00
Pierre Joye a7584fbbe3 - make getservbyname on windows behaves like *nux when proto is an empty string 2010-02-04 09:04:37 +00:00
Pierre Joye f5edfecaec - prevent possible crash when error/warnings are raised during startup on windows 2010-02-04 09:02:19 +00:00
Pierre Joye 14c843fd88 - Overlong hostnames breakthistest on NIS enabled FreeBSD 2010-02-04 08:58:49 +00:00
Pierre Joye 25dfc9457d Fixed bug #50829 (php.ini directive pdo_mysql.default_socket is ignored) 2010-02-03 21:00:20 +00:00
Pierre Joye 3cdecf365b - Updated to version 2010.1 2010-02-03 20:57:08 +00:00
Pierre Joye 9202398a35 - Fixed bug #50756 (CURLOPT_FTP_SKIP_PASV_IP does not exist.) 2010-02-03 20:53:31 +00:00
Pierre Joye 4c8a92f913 - fix test 2010-02-03 20:50:38 +00:00
Pierre Joye fd45079159 - Fixed bug #50791 (Compile failure: Bad logic in defining fopencookie emulation 2010-02-03 20:49:03 +00:00
Pierre Joye 65a2bc180e - fix libgd FS100 (spurious horizontal line drawn by gdImageFilledPolygon) 2010-02-03 20:46:41 +00:00
Pierre Joye bbe65b07d7 - Fix gcc version check - bug #50771 2010-02-03 20:44:43 +00:00
Pierre Joye 7fb35c0d05 - fix wrong type and useless assignments 2010-02-03 20:42:50 +00:00
Pierre Joye 5cdc02daef - Don't free soap_headers just before comparing the length. This causes SoapClient.. 2010-02-03 20:29:09 +00:00
Pierre Joye 2ed5e109c7 -fix tests 2010-02-03 20:26:26 +00:00
Pierre Joye c760ca2743 - Upgraded bundled sqlite to version 3.6.22 2010-02-03 20:23:53 +00:00
Pierre Joye 5ec9dbfad6 - Fixed bug #50787 (stream_set_write_buffer() has no effect on socket streams). 2010-02-03 20:21:40 +00:00
Pierre Joye bd7a8c3b55 - Fixed bug #50761 (system.multiCall crashes in xmlrpc extension). 2010-02-03 20:19:05 +00:00
Pierre Joye 822d0f17fe - kill/update old docs 2010-02-03 20:16:21 +00:00
Pierre Joye 7620f18599 - Fixed bug #48811 (Directives in PATH section do not get applied to subdirector 2010-02-03 20:13:18 +00:00
Pierre Joye aca44dde04 Worked with Samy Kamkar to improve LCG entropy. 2010-02-03 20:10:35 +00:00
Pierre Joye fa919a4891 Bug #47281 ( is limited in size of characters). Also remove redundant code line 2010-02-03 20:08:42 +00:00
Pierre Joye f37142f337 - fix bug #49463 (setAttributeNS fails setting default namespace) 2010-02-03 20:04:38 +00:00
Pierre Joye 8a017aff9f - Bump version in early preparation for release 2010-02-03 20:00:49 +00:00
Pierre Joye b6b58d3958 - Fixed bug #50728 (All PDOExceptions hardcode 'code' property to 0) 2010-02-03 19:48:04 +00:00
Pierre Joye 7ed7e0e304 - Fixed bug #50680 (strtotime() does not support eighth ordinal number). 2010-02-03 19:44:23 +00:00
Pierre Joye 59cd709602 - Fixed bug #49560 (oci8: using LOBs causes slow PHP shutdown) 2010-02-03 19:37:35 +00:00
Pierre Joye e08d410d98 - Revert commit 292222. It's not needed anymore to specify c99. 2010-02-03 18:52:17 +00:00
Pierre Joye f599aa59c3 - year++ 2010-02-03 18:47:13 +00:00
Pierre Joye a033ab55f3 fix bug #50661 (DOMDocument::loadXML does not allow UTF-16) 2010-02-03 18:41:27 +00:00
Pierre Joye 20d70b186b - Addressing minor leak noticed while addressing bug #48590 2010-02-03 18:38:11 +00:00
Pierre Joye ec64f45282 - Fixed bug #50576 (XML_OPTION_SKIP_TAGSTART option has no effect). 2010-02-03 18:35:58 +00:00
Pierre Joye e75a645121 - merge fix build for sha 2010-02-03 18:29:52 +00:00
Pierre Joye 5be6666b3b -merge: imagepolygon() and imagefilledpolygon() does not allow negative number of points 2010-02-03 18:15:16 +00:00
Pierre Joye 7f2ad54e02 - merge: Fixed bug #50732 (exec() adds single byte twice to array). 2010-02-03 18:11:24 +00:00
Pierre Joye ff708d0f50 - merge info 2010-02-03 18:08:05 +00:00
Pierre Joye 2c0c185700 - Fixed bug #50519 (segfault in garbage collection when using set_error_handler an.. 2010-02-03 18:07:25 +00:00
Pierre Joye ca46cf3de5 - merge info 2010-02-03 17:55:57 +00:00
Pierre Joye dc4fdaa861 - Merge: use png_sig_cmp to support libpng 1.4, old is deprecated already in older vers 2010-02-03 17:47:28 +00:00
Pierre Joye a617a56cfd - Merge #49600 (imageTTFText text shifted right) 2010-02-03 17:41:00 +00:00
Johannes Schlüter e31a3f01d9 merge r293144 - Added test case for bug #50632 (iliaa) 2010-01-28 01:45:47 +00:00
Johannes Schlüter c44d80de9e merge r293131 - Fixed bug #48590 (SoapClient does not honor max_redirects)
(srinatar)
2010-01-27 17:42:17 +00:00
Johannes Schlüter 23441ef90c merge r293126 - [doc] add support for DISABLE_AUTHENTICATOR in imap_open (fix
#33500) (pajoye)
2010-01-27 17:36:46 +00:00
Johannes Schlüter 0e26c0d93e Merge r293114: add ICU resource bundle support, contributed by Hans-Peter Oeri
(stas)
2010-01-27 17:29:38 +00:00
Johannes Schlüter 8137470f63 merge r293075: Update copyright year in the man file (iliaa) 2010-01-27 17:24:34 +00:00
Johannes Schlüter 96107ed2ca merge r293051: Fixed bug #50632 (filter_input() does not return default value if
the variable does not exist) (iliaa)
2010-01-27 17:22:54 +00:00
Johannes Schlüter f61ee70de6 merge r292823 Fixed bug #44827 (define() allows :: in constant names). (iliaa)
and r293974 Added test case for bug #44827 (iliaa)
2010-01-25 23:41:18 +00:00
Johannes Schlüter 927580e795 Merge rfc1867.c changes
r292762 - Fixed bug #48190 (Content-type parameter "boundary" is not case-
   insensitive in HTTP uploads). (iliaa)
r292771 - WS + CS + folding tags (jani)
r292777 - Sync with HEAD (jani)
2010-01-25 23:26:15 +00:00
Johannes Schlüter acaa7fd01d Merge -r292683 Share the php_sockets.h header (mkoppanen) 2010-01-25 23:12:42 +00:00
Johannes Schlüter 3e8a63f409 merge r292677: Along with the valid char set, also add a length check to the
session id here to avoid a lower-level error on the open() 
later on in case we exceed MAX_PATH.  The lower level open()
error includes the session dir path in it, so this is a very
low-priority security fix.  People should not be running
production systems with display_errors turned on. (rasmus)
2010-01-25 23:06:09 +00:00
Johannes Schlüter 415bd9115f Merge libmagic update
r292654 - Upgrade bundled libmagic to 5.03 (fixes CDF parsing related issues)
          (mkoppanen)
r292682 - spprintf the dbname (mkoppanen)
r292693 - Fixed ZTS build (felipe)
2010-01-25 22:43:29 +00:00
Johannes Schlüter a0638f421b Merge tidynode changes: (pierrick)
r292635 - Changed tidyNode class to disallow manual node creation.
r292719 - Set the tidyNode constructor private
r292765 - Add a test for tidyNode::__construct()
2010-01-25 17:29:37 +00:00
Johannes Schlüter 2c37c7203c merge r292632: remove automatic file unlocking on shutdown and/or stream close
(tony2001)
2010-01-25 17:15:41 +00:00
Johannes Schlüter f3fab11089 merge postgresql 8.5 test changes (mbeccati)
-r292630 - Updated pdo_pgsql tests to be 8.5+ friendly
-r292633 - Updated ext/pgsql tests to work w/ PostgreSQL 8.5
-r292634 - Removed spurious high-ascii char from previous commmit
2010-01-25 17:02:37 +00:00
Johannes Schlüter 3bbeb4a368 merge -r292624: Fixed bug #50519 (segfault in garbage collection when using
set_error_handler and DomDocument (dmitry)
2010-01-25 16:46:55 +00:00
Johannes Schlüter 42a4264f8e merge r292611: Added missing host validation for HTTP urls inside
FILTER_VALIDATE_URL. (iliaa)
2010-01-25 16:14:28 +00:00
Johannes Schlüter c8a83ccbb7 merge r292595: Changed stream_resolve_include_path to use zend_resolve_path
(mkoppanen)
2010-01-25 15:57:24 +00:00
Johannes Schlüter ba11bd5dcf merge r292594: fix the fix for #47409 (tony2001) 2010-01-25 14:11:32 +00:00
Johannes Schlüter 95c9768107 merge -r292574: - Update tests to reflect current behavior after fix for bug
#50185 (srinatar)
2010-01-25 14:07:05 +00:00
Johannes Schlüter 7cf2a0e138 merge r292571 fix flags handling in zend_parse_method_parameters_ex (stas) 2010-01-25 14:02:09 +00:00
Johannes Schlüter b99cab1921 merge r292566: cleanup some code, improve error handling (stas) 2010-01-25 13:59:35 +00:00
Johannes Schlüter 5ceb13932c merge r292562: -ws (jani) 2010-01-25 13:55:41 +00:00
Johannes Schlüter 9e84cce858 Merge mysql changes
292528 Unify. The typedef-ed structs in mysqlnd are always capitalized. (andrey)
293076 The internal zval cache has been removed and not been reintroduced... remove cor (uw)
293080 Tweaking test. Andrey, you once requested such a test, please have a look if it (uw)
293084 Fixing test(uw)
293085 The internal zval cache has been removed and not been reintroduced... remove cor (uw)
292986 Updating test to new libmysql feature set (first introduced in MySQL 6.0 but now (uw)
293229 Change of way the packet objects are created/initialised (andrey)
293273 add restart_psession and end_psession hooks (andrey)
293286 improve the stats subsystem. Reduce the number of macro definitions (andrey)
293287 export some calls to init/deinit code outside of the module (andrey)
293402 missed to commit to the branch (andrey)
293407 Rework the statistics macros to be reusable by external entities. (andrey)
293418 missed to commit in 5_3, here it comes, reusability of stats (andrey)
293424 remove extern defintion of a variable that is no more (andrey)
293428 cosmetics. typedef-ed types should be in capital case (andrey)
293429 removed stale export (andrey)
293430 more typedef cosmetics (andrey)
293504 make mysqlnd's tracing API more reusable (andrey)
293512 more PHPAPI for phpize-d builds (andrey)
293535 Fix build of mysqli when libmysql is used, mysqlnd_portability.h (andrey)
293537 removed redefinition of bit_uint8korr (andrey)
293539 Fix compiler warning (andrey)
293542 Fix compiler warning, copy&paste error (andrey)
293723 fix windows (andrey)
293725 Make it GCC only feature (tracing). VC7 and up do the work (andrey)
2010-01-20 17:09:28 +00:00
Johannes Schlüter 92b59f81d0 Merge 292549: Fixed bug #47409 (extract() problem with array containing word
"this"). (iliaa)
2010-01-20 16:07:10 +00:00
Johannes Schlüter c73740afec merge 292519: fix minor leak in CGI sapi (happened once per child) (tony2001) 2010-01-20 16:02:28 +00:00
Johannes Schlüter cec7da17ec Merge 292504: Where using svn now, use svn paths (johannes) 2010-01-20 15:59:56 +00:00
Sebastian Bergmann db03563e2d sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php 2010-01-05 20:46:53 +00:00
Sebastian Bergmann df23567639 sed -i "s#1998-2009#1998-2010#g" **/*.re **/*.y **/*.l 2010-01-05 20:40:23 +00:00
Sebastian Bergmann 92feaf1b39 sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
Sebastian Bergmann 0d91dea9d3 sed -i "s#1997-2009#1997-2010#g" **/*.re **/*.y **/*.l 2010-01-03 08:22:14 +00:00
Johannes Schlüter db569a3dc4 back to -dev 2009-12-22 22:06:47 +00:00
Johannes Schlüter f25081724b PHP 5.3.2RC1 2009-12-22 22:02:50 +00:00
Johannes Schlüter 8d662076c4 release branch 5.3.2 2009-12-22 21:43:59 +00:00
Johannes Schlüter 5927cec714 Wrap at 80 chars 2009-12-22 21:17:58 +00:00
Johannes Schlüter c764995c8e install mysqlnd headers to allow shared build of extensions 2009-12-22 19:30:09 +00:00
Andrey Hristov c95fa280ed Fix double calls to free_contents if the connection cannot be
opened. mysqlnd have no probs, external code should not have too.
In any case, double call is not needed.
2009-12-22 17:44:42 +00:00
Andrey Hristov e1251edc16 move state setting to the right place, in mysqlnd_init, no more
in mysqlnd::connect
2009-12-22 17:31:31 +00:00
Pierre Joye 9309f2bf64 - fix build and warning (introduced by my last commit) 2009-12-22 14:57:57 +00:00
Jani Taskinen 294401cfa0 - Fixed bug #50517 (EXTRA_LDFLAGS polluted by wrong entries)
# Until someone shows me use case for LDFLAGS, this is gone.
# This was wrong place to import it anyway.
2009-12-22 09:57:19 +00:00
Moriyoshi Koizumi 7d9a7dbad6 - Fix bug #46478 (htmlentities() uses obsolete mapping table for character
entity references)
2009-12-22 05:50:34 +00:00
Ilia Alshanetsky 800519fcbb Fixed bug #45599 (strip_tags() truncates rest of string with invalid attribute). 2009-12-22 02:04:12 +00:00
Derick Rethans bfa1c91d9b - Updated to version 2009.20 (2009t) 2009-12-21 20:46:12 +00:00
Sriram Natarajan 20cd29d0a2 Fixed bug #50540 (Crash within ldap_first_reference function) 2009-12-21 20:39:48 +00:00
Stanislav Malyshev baaec77e78 clean up normalizer code 2009-12-21 20:12:46 +00:00
Andrey Hristov 41ac91aecf Move this function to MYSQLND_NET as it works on the
php stream
2009-12-21 16:52:10 +00:00
Andrey Hristov ce349e3540 magic numbers to macros 2009-12-21 16:17:31 +00:00
Andrey Hristov b4477669b4 Move compression and decompression code to separate functions
which can be overloaded on purpose.
2009-12-21 16:09:13 +00:00
Jani Taskinen 4bba459d8f - Sync (and KEEP it synced!) 2009-12-21 15:44:58 +00:00
Jani Taskinen d0a956c2b7 - Tune the fix for bug #50508 and make it work with MacOSX, bug #50541. 2009-12-21 15:22:40 +00:00
Felipe Pena e83e52eba1 - New tests 2009-12-20 22:04:55 +00:00
Stanislav Malyshev ae70213177 Fixed bug #50196 stream_copy_to_stream() produces warning when source is not file 2009-12-19 01:15:30 +00:00
Stanislav Malyshev 0401c6ca2d fix bug #50196 2009-12-19 01:13:33 +00:00
Stanislav Malyshev e665b0955a Fixed bug #50394 (Reference argument converted to value in __call) 2009-12-18 19:20:33 +00:00
Stanislav Malyshev fc1e17ee76 fix regression bug #50394: Reference argument converted to value in __call 2009-12-18 19:12:11 +00:00
Jani Taskinen b7608c91e4 touch 2009-12-18 12:48:59 +00:00
Jani Taskinen 52f83608d8 - Fixed bug #50508 (compile fails: Conflicting HEADER type declarations)
# NEVER ever include nameser_compat.h, it's included in various ways in different OSes by nameser.h if needed
2009-12-18 11:02:07 +00:00
Pierre Joye dea1d412e1 - [DOC] add INTERNALDATE to imap_append (will merge to trunk later) 2009-12-17 17:28:26 +00:00
Jani Taskinen 215dd9d02c - These are 2 separate sections.. 2009-12-17 16:10:53 +00:00
Ulf Wendel e2a2205a58 Test for what Andrey has found with 16M packets 2009-12-17 14:15:28 +00:00
Andrey Hristov 028bd4ba02 refactoring : move more network related functions to
mysqlnd_net.c . Now communication is split on two levels:
- logical (functions send and receive)
- physical (functions network_read and network_write)
2009-12-17 13:29:46 +00:00
Andrey Hristov 22528b14a4 During refactoring of the function mysqlnd_stream_write_w_header() it was
found that there is a bug in the way the data is sent, although a very rare
one which will only affect very large queries which have length 16777214. The
communication will hang. A way to test it is to execute the following:
./php -r '$c=mysqli_connect("127.0.0.1","root","root","test");
$q="insert into test.tblob values(\"".str_repeat("a",256*256*256-1-34)."\")";
$c->query($q);'
2009-12-17 12:30:58 +00:00
Sriram Natarajan 4e06ca007f - Fix NEWS for bug #50496
# Update NEWS to keep resolved bugs in decreasing order (Christopher Jones)
2009-12-16 21:33:20 +00:00
Sriram Natarajan cbc6619fe3 - Fixed bug #50496 (Use of <stdbool.h> is valid only in a c99 compilation environment.) 2009-12-16 20:49:08 +00:00
Andrey Hristov d233b0b2af call free_contents in every case, in case something is not freed
by the calling code
2009-12-16 14:38:30 +00:00
Andrey Hristov a1ef2d9fb3 Remove unneeded dereferences
(oops, committed the trunk changes from a wrong directory, which splitted
this commit).
2009-12-16 14:06:09 +00:00
Andrey Hristov b3546d1b5e move MYSQLND_NET code to a separate file.
mysqlnd_wireprotocol is about the protocol not the transport
layer
2009-12-16 12:59:38 +00:00
Pierre Joye 6ec6a9d62e - add a test case and update the skip clause 2009-12-16 10:09:34 +00:00
Andrey Hristov 5e1c95fda4 remove duplicated code 2009-12-15 17:39:30 +00:00
Andrey Hristov c101f7f542 Move code out of mysqlnd_conn::connect to mysqlnd_net::connect.
Thus mysqlnd_conn::connect() does less of what it should not do - think
about the transport level.
2009-12-15 17:33:06 +00:00
Andrey Hristov 70690e1163 remove C++ comments 2009-12-15 14:48:24 +00:00
Andrey Hristov 523471f7e8 export this function 2009-12-15 14:26:24 +00:00
Andrey Hristov 0371ef1070 refactor: move code that belongs to MYSQLND_NET out of MYSQLND 2009-12-15 13:13:51 +00:00
Ilia Alshanetsky d0f6848e66 Fixed bu #50392 (date_create_from_format() enforces 6 digits for 'u' format character) 2009-12-15 12:34:12 +00:00
Jani Taskinen 4e10081f8f - Make $sbindir be usable in C code as well (like $bindir and co.) 2009-12-15 11:17:47 +00:00
Jani Taskinen def4e7c0e6 - Allow using $sbindir as well 2009-12-15 10:55:27 +00:00
Felipe Pena c00a91a024 - Added SKIPIF 2009-12-15 00:37:43 +00:00
Felipe Pena 286f36e702 - Fixed memory leak when E_STRICT message is getted 2009-12-14 21:44:56 +00:00
Jani Taskinen 9f210d53cc - Fix test 2009-12-14 09:42:55 +00:00
Jani Taskinen 16dbf3060b - Fix test 2009-12-14 09:26:49 +00:00
Pierrick Charron c2fccc1606 - Fixed bug #50469 (Fixed typo in imagepsencodefont error string). 2009-12-14 04:09:18 +00:00
Pierrick Charron 7d4643193d - Fixed bug #50458 (PDO::FETCH_FUNC fails with Closures) 2009-12-14 03:44:33 +00:00
Felipe Pena 35ad330849 - Improved the bug#49174 entry summary 2009-12-13 20:51:15 +00:00
Felipe Pena 85f96a8132 - Completing the phrase 2009-12-13 20:04:44 +00:00
Felipe Pena 93a406ac9c - Fixed bug #49174 (crash on queryString set) 2009-12-13 19:53:44 +00:00
Felipe Pena 4411621217 - Fixed bug #50209 (Compiling with libedit cannot find readline.h)
(patch by tcallawa at redhat dot com)
2009-12-13 17:06:47 +00:00
Felipe Pena eb3eea2669 - Fixed tests for when running using libedit 2009-12-13 16:53:24 +00:00
Ilia Alshanetsky d56c1fdf14 Fixed bug #50451 (http wrapper breaks on 2048 char long headers)
# Improvement on the fix for bug #49851
2009-12-13 15:44:22 +00:00
Felipe Pena 81ad353ec2 - Fixed bug #50464 (declare encoding doesn't work with)
# The bug (BC) only happens in this branch.
2009-12-13 15:18:58 +00:00
Felipe Pena 5eae703705 - Fixed bug #50445 (PDO-ODBC stored procedure call from Solaris 64-bit causes seg fault).
(Original patch by davbrown4 at yahoo dot com)
2009-12-11 22:30:46 +00:00
Pierre Joye af206a90ae - fix build, come on, it is not that hard to test before commit, is it? 2009-12-11 16:35:42 +00:00
Pierre Joye a2cf15fcc6 - #50334, add sha support for VC6 too, not merged in trunk as we don't support vc6 there 2009-12-11 16:07:57 +00:00
Pierre Joye 560ed89bfb - #50334, use our own implementations of stpncpy and mempcy, avoiding weird behaviors on certain platforms like solaris 2009-12-11 15:57:01 +00:00
Jani Taskinen b9ac76c51c - Fix test 2009-12-11 15:38:15 +00:00
Jani Taskinen 70a2b56337 fix test 2009-12-11 15:06:50 +00:00
Andrey Hristov 13c8bba00a Make MYSQLND_NET dynamically allocated structure with allocator
and deallocator. More member functions will come.
2009-12-11 11:58:57 +00:00
Jani Taskinen 35a4d5831b Fix test 2009-12-11 10:55:56 +00:00
Andrey Hristov a9295f0343 remove stale comment 2009-12-11 10:21:34 +00:00
Andrey Hristov 0c7a9b8010 Move two functions which are used in the extension as methods of
the connection. Two functions less in the global namespace.
2009-12-11 10:18:00 +00:00
Jani Taskinen 03a47e9b03 - Fix problem with SKIPIF failing to skip in some cases (deprecated warnings f.e.) 2009-12-11 07:34:06 +00:00
Christopher Jones 1aebd220f8 Add new 'fetch' test and make several small test fixes 2009-12-10 19:07:08 +00:00
Christopher Jones e435285b39 Remove text recently merged to online doc 2009-12-10 17:28:19 +00:00
Pierre Joye f59f7a3f49 - #50334, add define on win as well 2009-12-10 14:08:19 +00:00
Andrey Hristov a633de0020 bump version number 2009-12-10 11:59:14 +00:00
Andrey Hristov 00d76a8445 Add plugin storage for MYSQLND_STMT too 2009-12-10 11:18:05 +00:00
Andrey Hristov c8c250df80 Fix pdo build, forgot to remove the zval caching from pdo-mysql 2009-12-10 09:35:10 +00:00
Jani Taskinen 01eae78ec3 - not needed anymore 2009-12-10 09:23:06 +00:00
Jani Taskinen 5e7fddab93 - Fix test mess (testing the deprecated ini option is pointless when using the func does same thing) 2009-12-10 09:22:54 +00:00
Ilia Alshanetsky 47b3371122 Fixed bug #49851 (http wrapper breaks on 1024 char long headers). 2009-12-10 03:23:05 +00:00
Pierre Joye 7179910573 - [DOC] expose MPIR version when mpir is used instead of gmp 2009-12-10 02:25:47 +00:00
Andrey Hristov 06a417b6a9 Remove stub code which never actually was used for anything.
Things like this can be built on top of the core.
2009-12-09 20:38:11 +00:00
Andrey Hristov 6f598e62ff Remove the zval caching from mysqlnd. It was disabled versions ago
due to problems on windows, which were not debugged. Better have 
code that is disabled not in the core.
2009-12-09 20:21:05 +00:00
Andrey Hristov d8a8d823ce Fix compilation warnings 2009-12-09 18:11:03 +00:00
Pierre Joye 8d58b31495 - #50334, fix build for platform without endian.h (like solaris) 2009-12-09 17:40:19 +00:00
Andrey Hristov 4d2735007d Remove disabled code - threaded fetching. This can be implemented
on a upper level and by offloading it we reduce the complexity of
the core.
2009-12-09 16:57:03 +00:00
Jani Taskinen 64fb1fca1f - Add one test from HEAD 2009-12-09 13:25:10 +00:00
Ulf Wendel 671ebe958a Adapting tests to accept actual behaviour found in 5.2, 5.3 and 6.0. The behaviour is wrong according to the documentation: mysqli_connect_error() should return an empty string (not NULL), if there is no error. However, changing this would break BC and most users will not notice the difference between NULL and empty string anyway. 2009-12-09 12:06:10 +00:00
Pierre Joye bf377f6aab - #50334, add missing file 2009-12-09 10:39:03 +00:00
Jani Taskinen 6dff9d7632 FIFO 2009-12-09 10:15:34 +00:00
Pierre Joye 77afccc28c - #50334, add CRYPT_SHA* constants and tests [DOC] 2009-12-09 01:43:23 +00:00
Pierre Joye 6a9f96f267 - update 2009-12-09 00:35:30 +00:00
Pierre Joye 2e6c08b289 - drop non used code and fix warning 2009-12-09 00:32:14 +00:00
Pierre Joye 9001b4036a - #50334, crypt ignores sha512 and add support for sha256/512 to php's crypt [DOC] 2009-12-09 00:20:14 +00:00
William Martin d06e06007a Backported 5.3 tests to 5.2 and added more RecursiveIteratorIterator tests 2009-12-08 19:51:56 +00:00
Jani Taskinen c4819e9ff3 MFH: static before const 2009-12-08 17:30:22 +00:00
Ilia Alshanetsky 752b9fde5a Upgraded to Sqlite 3.6.21 2009-12-08 13:24:27 +00:00
Dmitry Stogov 76c445dd73 - Forgotten patch for trunk
- Fixed stdin filename in error messages
2009-12-08 10:16:38 +00:00
Jani Taskinen 0e218d3512 FIFO 2009-12-08 06:19:56 +00:00
Felipe Pena a94558c855 - Added MAKE_COPY_ZVAL(ppzv, pzv) macro 2009-12-08 01:57:37 +00:00
Stanislav Malyshev a9044795da ouch, that ZTS 2009-12-08 01:57:16 +00:00
Stanislav Malyshev 327cf380e8 win32 should have different test 2009-12-08 01:52:57 +00:00
Felipe Pena da22aa9aad - Fixed ZTS build 2009-12-08 01:51:34 +00:00
Stanislav Malyshev 90df6f2ca2 add "no params" check 2009-12-08 01:44:15 +00:00
Stanislav Malyshev 7beb1af8de add realpath cache inspect functions 2009-12-08 01:35:08 +00:00
Moriyoshi Koizumi 413196c574 - Take account of surrogate pairs. 2009-12-07 15:41:43 +00:00
Ilia Alshanetsky 2be6de0a50 Added FILTER_FLAG_STRIP_BACKTICK option to the filter extension. 2009-12-07 13:43:44 +00:00
Dmitry Stogov 6ab5f53d52 Fixed bug #49866 (Making reference on string offsets crashes PHP) 2009-12-07 08:47:18 +00:00
Dmitry Stogov 7a96fdff4c Fixed bug #50351 (performance regression handling objects, ten times slower in 5.3 than in 5.2. foreach statement should not initiate GC) 2009-12-07 08:14:48 +00:00
Jani Taskinen 4963d99213 - Fix NEWS 2009-12-07 07:30:41 +00:00
Pierrick Charron 99ba48dc60 Fixed bug #50323 (Allow use of ; in values via ;; in PDO DSN even in the middle of a string). 2009-12-06 21:32:58 +00:00
Ilia Alshanetsky bf550fe8da Fixed bug #50323 (Allow use of ; in values via ;; in PDO DSN). 2009-12-06 19:34:12 +00:00
Felipe Pena 30188d3c58 - Fixed bug #50162 (Memory leak when fetching timestamp column from Oracle database)
- Fixed bug #34852 (Failure in odbc_exec() using oracle-supplied odbc driver) (patch by tim dot tassonis at trivadis dot com)
2009-12-06 18:53:16 +00:00
Sriram Natarajan 77895623dc BFN 2009-12-06 16:43:46 +00:00
Felipe Pena 8afad00a16 - Fixed tests 2009-12-04 11:32:39 +00:00
Dmitry Stogov 5ab649e65f Fixed compilation 2009-12-04 07:11:37 +00:00
Stanislav Malyshev 3e6ac4fb6b protect http_session_vars from interrupt corruption
improve save_path check
2009-12-04 01:21:32 +00:00
Jani Taskinen 1f8638b1f1 bfn 2009-12-03 22:24:04 +00:00
Rob Richards 3fa1ea9731 fix bug #47848 (importNode doesn't preserve attribute namespaces)
add tests
2009-12-03 20:19:38 +00:00
Pierrick Charron e2efe4bc7b Fixed bug #45120 (PDOStatement->execute() returns true then false for same statement). 2009-12-03 15:24:43 +00:00
Felipe Pena 7914d298b4 - Fixed bug #49472 (Constants defined in Interfaces can be overridden) 2009-12-03 12:34:50 +00:00
Kalle Sommer Nielsen 1063c8346b MFT: VC10 build support 2009-12-03 11:50:32 +00:00
Andrey Hristov 0f0f5f229b I svn-commit.2.tmp (Modified) Row 2 Col 28 11:45 Ctrl-K H for help
fix compilation on windows and with other compilers who
don't like void* arithmetic
2009-12-03 10:50:02 +00:00
Pierre Joye 2386938aea - disable this debug code until it is actually fixed 2009-12-03 10:41:20 +00:00
Andrey Hristov bfc0ec1891 fix segfault introduced by Pierre in a recent commit
old code was doing something like
conn + sizeof(MYSQLND) * MYSQLND + plugin * sizeof(void) * sizeof(MYSQLND)
because `conn` is not casted to void*. `conn` has to be casted to void * and
then the whole experession will be void * and the calculations will work.
2009-12-03 09:43:26 +00:00
Jani Taskinen 28d53f8752 the order 2009-12-03 08:21:28 +00:00
Ilia Alshanetsky 6f3532a266 BFN 2009-12-03 00:11:58 +00:00
Gwynne Raskind ea03ad31b7 One change in trying to update Autoconf was missed. This makes phpize work again. 2009-12-02 17:42:58 +00:00
Jani Taskinen 572d0e32ef - Fix order 2009-12-02 12:09:06 +00:00
Andrey Hristov aead25f5f7 and the news 2009-12-02 11:59:24 +00:00
Andrey Hristov 2bc887e1d3 fix macro so that 5-byte BIT values are decoded correctly 2009-12-02 11:58:04 +00:00
Jani Taskinen 14c70e0959 - Fixed bug #50345 (nanosleep not detected properly on some solaris versions) 2009-12-02 08:54:50 +00:00
Jani Taskinen 4944354eec - Sync files 2009-12-02 08:22:05 +00:00
Rasmus Lerdorf 2bdd3538de Fix broken build.
This constant is not in older versions of MySQL.
2009-12-01 21:39:19 +00:00
Felipe Pena 9b8f2525aa - Fixed bug #49660 (libxml 2.7.3+ limits text nodes to 10MB). (Felipe)
- Added LIBXML_PARSEHUGE constant to overrides the maximum text size of a
  single text node when using libxml2.7.3+. (Kalle)
[DOC]
2009-12-01 02:05:28 +00:00
Jani Taskinen af3adf8504 - Touché filés 2009-11-30 22:39:59 +00:00
Jani Taskinen 19d320ea05 - Fixed bug #50340 (php.ini parser does not allow spaces in ini keys) 2009-11-30 22:38:32 +00:00
Gwynne Raskind b2cc8c69dc The old Darwin hack is BROKEN and INCORRECT. It works only for Darwin 9, not 10, and uses an ugly CFLAGS hack that messes with the entire build. This version sets one cached value to the correct result for Darwin 9 and 10. It's cleaner, has no side effects, has nothing to do with Autoconf versions, and works for everyone. 2009-11-30 21:38:44 +00:00
Jani Taskinen 50a24392e9 - Fix tests assuming wrong ini options and extensions that might not be there 2009-11-30 20:31:52 +00:00
Arnaud Le Blanc c9016a4383 news 2009-11-30 15:43:36 +00:00
Jani Taskinen 39f3ede145 bfn 2009-11-30 15:16:50 +00:00
Jani Taskinen c1aa547b18 - Fixed bug #50231 (Socket path passed using --with-mysql-sock is ignored when mysqlnd is enabled) 2009-11-30 15:11:29 +00:00
Dmitry Stogov b26c9d400d Fixed bug #50168 (FastCGI fails with wrong error on HEAD request to non-existant file) 2009-11-30 14:43:22 +00:00
Dmitry Stogov 2ad406e518 Fixed bug #50159 (wrong working directory in symlinked files) 2009-11-30 14:21:23 +00:00
Jani Taskinen d261e6f4a2 - Restore configure.in before the madness started 2009-11-30 14:08:33 +00:00
Arnaud Le Blanc 7c0803a8ca merge from trunk: openssl sni support (rev 289831) 2009-11-30 13:31:53 +00:00
Dmitry Stogov 832e181304 Reverted accidental change 2009-11-30 12:27:18 +00:00
Dmitry Stogov 5c56abb6e3 Fixed bug #50261 (Crash When Calling Parent Constructor with call_user_func()) 2009-11-30 11:39:53 +00:00
Pierre Joye 2a3ec70d10 - void is NaN, you can't do math ops on void. Declarations go first. Fix TS build 2009-11-30 10:56:01 +00:00
Pierre Joye 8109abba8b - MFH: vs2010 detection support, restore /W3 2009-11-30 09:52:33 +00:00
Jani Taskinen 16450418b1 - Revert bad patch 2009-11-30 08:31:32 +00:00
Gwynne Raskind 477649cd3f re-committing: unsetting LIBS and LDFLAGS just makes it impossible to specify LDFLAGS from the environment. keeping them doesn't seem to cause any trouble 2009-11-30 08:18:44 +00:00
Gwynne Raskind f275cd0815 once and for all remove the old broken Darwin hack, replace it with the new and much cleaner and simpler one 2009-11-30 08:17:13 +00:00
Jani Taskinen f1ffc9b2e8 - Revert bad patch 2009-11-29 18:08:38 +00:00
Stanislav Malyshev 8b64f74baa proper fix for bug #50006
add modify protection to all user array sorts
2009-11-29 08:35:01 +00:00
Rasmus Lerdorf 937358ebc7 Revert attempt at supporting both autoconf 2.13 and
modern versions in the same build chain.  There are
simply too many broken things in 2.13 to make it work.
Cache handling is broken as well which is why I need
to revert the pdo_inc_path cache fix as well.

trunk is now 2.60+ only and I'll work on cleaning out
all the legacy cruft from there.
2009-11-29 06:13:22 +00:00
Stanislav Malyshev 20ee379007 fix interrupt problem in serialize() 2009-11-29 04:38:46 +00:00
Rasmus Lerdorf deec59ab2c Last attempt to get this stuff right before punting it
and being stuck on 1996 autoconf for eternity
2009-11-29 03:32:54 +00:00
Rasmus Lerdorf 7cdd773081 More work on the autoconf 2.13->2.60+ transition code.
2.13 should be working again with one weird libtool issue
left to solve.  It doesn't seem directly related to this
stuff.
2009-11-28 23:06:54 +00:00
Gwynne Raskind 8d169e42de socket location needs to be checked before mysqlnd in order for --with-mysql-sock to work with mysqlnd 2009-11-28 21:11:39 +00:00
Gwynne Raskind 21a6e1f962 unsetting LIBS and LDFLAGS just makes it impossible to specify LDFLAGS from the environment. keeping them doesn't seem to cause any trouble 2009-11-28 19:48:38 +00:00
Gwynne Raskind d271615ba4 Remove the now-unnecessary (and wrong anyway) Darwin hack 2009-11-28 19:19:11 +00:00
Rasmus Lerdorf c9ab4df521 This macro needs to come after AC_INIT 2009-11-28 18:56:20 +00:00
Rasmus Lerdorf 6961cd023a Ok, new attempt. Require autoconf-2.60 in this branch.
This simplifies things quite a bit by entirely getting
rid of the m4 diversions which were messing things up.
Now we are using the built-in autoconf diversions the
way they were intended and the HELP output order is
preserved through the AC_PRESERVE_HELP_ORDER macro 
which was introduced in autoconf-2.59c

The next thing to clean up are the template warnings
and I want to get to the bottom of the cache warning
we generate as well.  Now that I fixed the _cv_ stuff, 
I am not sure that is still a valid warning.
2009-11-28 17:56:03 +00:00
Jani Taskinen c4d350632b - Use correct revision 2009-11-28 00:47:42 +00:00
Jani Taskinen 2e5546d71e - Fixed bug #50266 (conflicting types for llabs) 2009-11-28 00:38:05 +00:00
Jani Taskinen e8e213ca01 - No dots here 2009-11-28 00:35:56 +00:00
Jani Taskinen b55675e517 - Fix bad merge (Sorry Ilia..) 2009-11-28 00:06:54 +00:00
Rasmus Lerdorf befa23748a Fix bug #50315 2009-11-27 23:41:13 +00:00
Jani Taskinen 47a9c71dcc - Fixed bug #49935 (Deprecated warnings make "make test" to fail) 2009-11-27 23:34:36 +00:00
David Soria Parra 7957efe4d4 Use extended base if we build again gmp 4.2.0 which is usually available. 2009-11-27 22:24:44 +00:00
Jani Taskinen 9cfacabe55 - Re-fixed bug #47104 (Linking shared extensions fails with icc) 2009-11-27 12:50:29 +00:00
Jani Taskinen 2457e0bbc8 - Restore sanity in the NEWS. (duplicate, wrong order, etc..) 2009-11-27 09:20:43 +00:00
Ilia Alshanetsky eae259b7ea Fixe build 2009-11-27 03:02:01 +00:00
Andrey Hristov 1cf1cb3015 fix debug windows build as well as remove a compilation warning
(a header not included)
2009-11-26 11:10:47 +00:00
David Soria Parra 99c43e1b93 Also allow base 62 for gmp_init as requested in (#50283) 2009-11-25 23:38:34 +00:00
David Soria Parra 579a6e39de Really use 62 as the upper boundary as requested and not 32. 2009-11-25 18:15:25 +00:00
Ilia Alshanetsky 23f4da9113 Fixed bug #50195 (pg_copy_to() fails when table name contains schema). 2009-11-25 14:28:00 +00:00
Jani Taskinen bf7ed5eff5 - Fixed bug #49677 (ini parser crashes with apache2 and using ${something} ini variables) 2009-11-25 12:35:42 +00:00
Jani Taskinen afc44b981e ws 2009-11-25 12:26:10 +00:00
Jani Taskinen 2dddaac042 *sigh* 2009-11-25 07:48:43 +00:00
Pierre Joye 3d650105dd - merge NEWS from 5.3.1 2009-11-25 07:40:13 +00:00
Jani Taskinen 711e06d47e - Do not forget NEWS for 5.2.. 2009-11-25 07:21:38 +00:00
Rasmus Lerdorf b442bc3b79 The constructor generates that next line of output, so the expected
output had these 2 lines in the wrong order.  Test your tests!
2009-11-25 05:44:27 +00:00
Rasmus Lerdorf 4507292dfc And there is no 23,24,25 in this test at all. Perhaps these lines were
added to the wrong file by mistake?  Those were the same ones missing from
pdo_mysql___construct_options.phpt
2009-11-25 05:38:33 +00:00
Rasmus Lerdorf 04927191c7 Unless I am completely misreading this test case, these 3 lines at the
end should be in the expected output.
2009-11-25 05:29:57 +00:00
Rasmus Lerdorf 064a419827 Another test that doesn't work as root 2009-11-25 04:00:55 +00:00
Rasmus Lerdorf 978452be20 These tests don't work when run as root 2009-11-25 03:53:50 +00:00
Rasmus Lerdorf c072199d1e . 2009-11-25 02:42:03 +00:00
Felipe Pena 74d4059fb1 - Fixed bug #50285 (xmlrpc does not preserve keys in encoded indexed arrays) 2009-11-25 02:03:02 +00:00
Rasmus Lerdorf 58ae9eeb11 Missed a few - now it really works with autoconf-2.64+ 2009-11-25 01:36:41 +00:00
Rasmus Lerdorf 5a2b41a627 Someone strap down Jani and give him a sedative please.
This makes our toolchain work with the latest versions
of autoconf and avoids a lot of end-user grief.
2009-11-25 01:30:06 +00:00
Felipe Pena bb179ad150 - Fixed bug #50255 (isset() and empty() silently casts array to object) 2009-11-24 21:54:12 +00:00
Jani Taskinen 5c77b94e60 - Fix news 2009-11-24 14:14:13 +00:00
Andrey Hristov 4ebc0fdfbc Update charset table 2009-11-24 13:59:56 +00:00
Rasmus Lerdorf 99f469f707 Fix null deref found by Michael Maclean 2009-11-24 13:57:39 +00:00
David Soria Parra 18f32db810 Implement feature request #50283 (allow base in gmp_strval to use full range: 2 to 62, and -2 to -36) 2009-11-24 13:33:35 +00:00
Felipe Pena 2e35533fc6 - Fixed bug #50282 (xmlrpc_encode_request() changes object into array in calling function) 2009-11-24 11:32:31 +00:00
Jani Taskinen ebc1b9f13d Fixed bug #50267 (get_browser(null) does not use HTTP_USER_AGENT) 2009-11-24 00:18:16 +00:00
Felipe Pena a83156d5c1 - Added test for bug #50261 2009-11-23 23:07:07 +00:00
Jani Taskinen 5f8df17097 - Upgraded bundled libtool to 1.5.26 2009-11-23 21:53:30 +00:00
Olivier DOUCET db8c6d5dcf Adding IMAP tests (PHP 5.3) 2009-11-23 21:48:57 +00:00
Rasmus Lerdorf eab96b63ca Need the PCNTL extension loaded since that is where the SIGKILL constant comes from 2009-11-23 21:24:20 +00:00
Rasmus Lerdorf daf47a8519 This will only get a permission defined error if not running as root. 2009-11-23 21:13:26 +00:00
Rasmus Lerdorf 8af473e496 Don't try to remove an empty output_obj here.
This gets rid of the annoying:
rm: invalid argument: `'
I was seeing.
(I really shouldn't be hacking libtool)
2009-11-23 16:51:45 +00:00
Ilia Alshanetsky 755318926e Fixed bug #50240 (pdo_mysql.default_socket in php.ini shouldn't used if it is empty). 2009-11-23 15:45:04 +00:00
Rasmus Lerdorf f76c5282ae When Ilia fixed bug #49470 and removed the '/' as a valid
email char, he forgot to make the corresponding change in
filter test 033.
2009-11-23 14:54:57 +00:00
Rasmus Lerdorf c79d16d40b Pierre added certinfo to the curl info array, but that is
only available in newer versions of curl and this test
doesn't test for it.
2009-11-23 14:43:52 +00:00
Ilia Alshanetsky 0ebe3a7690 Extend the previously added large string concatenation validation 2009-11-23 04:12:36 +00:00
Jani Taskinen f395a2e34f - Fixed error_log() to be binary safe when using message_type 3 (message appended to file). 2009-11-22 18:31:01 +00:00
Pierre Joye 09cd363e35 - add tests dir 2009-11-22 12:33:14 +00:00
Felipe Pena f1d5433959 - Fixed bug #50258 (typos in error strings) 2009-11-21 19:43:00 +00:00
Brian Shire 0639396ac1 MFH: Fix phar regex test when '.php' is part of the path, instead be more specific with '.php$' regex. 2009-11-21 05:40:16 +00:00
Pierrick Charron 84ab9cd30e Fixed bug #50219 (soap call Segmentation fault on a redirected url). 2009-11-21 01:22:32 +00:00
Christopher Jones e53f363548 Mention account access so we can refer account-requestors to this README 2009-11-20 21:52:02 +00:00
Ilia Alshanetsky 51c17c413c Don't ignore the 2nd parameter to PDO's quote() method that identifies the data type 2009-11-20 18:54:08 +00:00
Andrey Hristov 5143fe41e2 Compressed protocol support + extensibility for mysqlnd 2009-11-20 08:12:14 +00:00
Christopher Jones 4e010297f1 New test 2009-11-19 17:44:46 +00:00
Christopher Jones ebb7a0d077 Refactor test 2009-11-19 16:49:58 +00:00
Ilia Alshanetsky 63e4efe784 Fixed bug #50207 (segmentation fault when concatenating very large strings
on 64bit linux).
2009-11-19 14:04:34 +00:00
Jani Taskinen a1269238fe - Fix news 2009-11-18 17:59:18 +00:00
Jani Taskinen 9a12e9a1f9 - Fixed "make test" in phpize builds when ini file(s) contain extension directives 2009-11-18 17:52:22 +00:00
Jani Taskinen b741b026a1 - Fixed bug #50185 (ldap_get_entries() return false instead of an empty array when there is no error).
# This is also revert of bad patch to bug #48469 and fixes it properly.
2009-11-18 17:44:58 +00:00
Ilia Alshanetsky b7bb8aa545 Fixed bug #50212 (crash by ldap_get_option() with LDAP_OPT_NETWORK_TIMEOUT). 2009-11-18 13:37:45 +00:00
Uwe Schindler bdef3ee350 Fix bug #50140: With default compilation option, php symbols are unresolved for nsapi 2009-11-17 21:17:49 +00:00
Rasmus Lerdorf 0ab68199d4 News entry for post_max_size fix 2009-11-17 20:41:47 +00:00
Rasmus Lerdorf 2e9c3ed919 Make it possible to disable post_max_size 2009-11-17 20:33:51 +00:00
Felipe Pena 5dd6b9ffa9 - Fixed bug #50145 (crash while running bug35634.phpt) 2009-11-17 11:18:40 +00:00
Felipe Pena c8faf7e13b - Added CG(encoding_declared) initialization 2009-11-16 22:52:00 +00:00
Derick Rethans 171f72061d - Updated to version 2009.19 (2009s) 2009-11-16 15:57:13 +00:00
Ilia Alshanetsky 2e13e89bd1 Simpify the max_file_uploads handling code 2009-11-16 13:34:57 +00:00
Felipe Pena f61a06350a - Switching to TSRMLS_FETCH version 2009-11-16 10:36:27 +00:00
Felipe Pena 5411bb32a8 - Fixed bug #49936 (crash with ftp stream in php_stream_context_get_option())
(patch by Pierrick)
2009-11-15 20:30:57 +00:00
Felipe Pena 64f530d182 - Improve test 2009-11-15 17:05:48 +00:00
Felipe Pena 8b456901f5 - Fixed bug #50158 (FILTER_VALIDATE_EMAIL fails with valid addresses containing = or ?).
(Patch by Pierrick)
2009-11-15 16:53:40 +00:00
Felipe Pena 4bafbf58f8 - Fixed bug #49521 (PDO fetchObject sets values before calling constructor)
(patch by Pierrick)
2009-11-15 16:20:37 +00:00
Jani Taskinen 3a9f74967d - Nuke ws 2009-11-15 00:31:42 +00:00
Rasmus Lerdorf 4e6b9899a5 Fix bug #49868
As far as I can tell this was a copy-paste induced bug when I added
the reset_signals flag to zend_set_timeout.
2009-11-15 00:21:31 +00:00
Jani Taskinen f1cf3fb185 - Temporary hack to fix bug #49816 (works fine in HEAD which has working output buffering..) 2009-11-15 00:13:19 +00:00
Christopher Jones 5fc8120bd6 New test 2009-11-14 23:28:53 +00:00
Felipe Pena fa2bb07a47 - Fixed bug #50174 (Incorrectly matched docComment) 2009-11-14 19:17:22 +00:00
Greg Beaver d7f50ac2c4 fix PHP Bug #49938: Phar::isBuffering() returns inverted value 2009-11-13 00:58:11 +00:00
Greg Beaver 2c248d1b50 fix completely random ordering of bugs in NEWS (what happened here?) 2009-11-13 00:41:37 +00:00
David Coallier 10ca1684cf - MFH: Added test for bug 49910 for phar 2009-11-12 17:47:17 +00:00
Christopher Jones c95b8ab1df Add auroraeos's article URL. Add IRC channels 2009-11-12 17:36:37 +00:00
Uwe Schindler d80507b7d9 As I am working on it, further improvement for bug #50087 2009-11-12 17:13:05 +00:00
Uwe Schindler 47189cac7b Fix bug #50087: NSAPI performance improvements 2009-11-12 15:19:35 +00:00
Johannes Schlüter 473d75475a Fix #50063 (safe_mode_include_dir fails) 2009-11-12 15:05:03 +00:00
Jani Taskinen a12240f5c7 bfn 2009-11-12 09:07:51 +00:00
Rasmus Lerdorf 4ce641d759 NEWS entries for mysqli crash fix bug 2009-11-12 08:26:43 +00:00
Rasmus Lerdorf c6502213b4 Fix bug #49098 2009-11-12 01:09:16 +00:00
Felipe Pena 48b6597dd3 - Fix typo 2009-11-12 00:44:43 +00:00
Felipe Pena 8f0a451747 - Fixed bug #50005 (Throwing through Reflection modified Exception object makes segmentation fault) 2009-11-12 00:10:00 +00:00
Greg Beaver 01d9f2c9ce fix PHP Bug #49910: no support for ././@LongLink for long filenames in phar tar support 2009-11-11 21:02:59 +00:00
Christopher Jones 9933df614a Sigh. Fix grammar of title 2009-11-11 19:44:53 +00:00
Felipe Pena dcf91e6266 - Fixed bug #50146 (property_exists: Closure object cannot have properties) 2009-11-11 18:59:37 +00:00
Felipe Pena eea23b2794 - Fixed bug #50152 (ReflectionClass::hasProperty hehaves like isset() not property_exists)
[5_2 is OK]
2009-11-11 18:52:12 +00:00
Ilia Alshanetsky 34bd384898 typo fix 2009-11-11 13:49:21 +00:00
Christopher Jones d91f464e00 Add test for long fixed bug 2009-11-10 22:48:37 +00:00
Rasmus Lerdorf 315b9956b6 Fix bug #50129 2009-11-09 17:21:15 +00:00
Jani Taskinen 91cc127ce4 - Fix bad section names (extra - in the end..) 2009-11-09 17:08:48 +00:00
Derick Rethans 983e02ffb2 - Updated to version 2009.18 (2009r) 2009-11-09 15:39:15 +00:00
Rasmus Lerdorf 95a522a72c Fix bug #50124 2009-11-09 15:13:07 +00:00
Ilia Alshanetsky 6585a5af32 Upgraded bundled sqlite to version 3.6.20 2009-11-09 01:54:23 +00:00
Rasmus Lerdorf 188f1abfd4 Fix bug #50115 2009-11-08 15:18:10 +00:00
Felipe Pena 99497dea70 - Added SKIPIF 2009-11-08 15:02:54 +00:00
Felipe Pena 8f11dc62d5 - Fixed bug #50090 (Typo in IteratorIterator constructor) 2009-11-07 21:27:15 +00:00
Scott MacVicar 065167bdae Fix a typo 2009-11-06 09:02:52 +00:00
Christopher Jones 8883a631b9 Add pecl mail list 2009-11-06 02:09:47 +00:00
Christopher Jones f634f06f8d Update and fix grammar 2009-11-05 23:03:28 +00:00
andy wharmby 203da56982 Fix tests 2009-11-05 22:44:02 +00:00
Ilia Alshanetsky 9d095a6011 Make sure that max_file_uploads is set to 20 by-default in all places 2009-11-05 13:29:34 +00:00
Ulf Wendel d7f1cfe6a4 Fixing test: of course, libmysql won't care about open_basedir, but mysqlnd should 2009-11-05 12:14:08 +00:00
Ulf Wendel ea3ef35f19 Fixing test: it didn't do a select_db and gave a false-positive with libmysql 2009-11-05 11:51:21 +00:00
Jani Taskinen c4b9737695 - Missing entry 2009-11-05 11:33:32 +00:00
Dmitry Stogov cf4dc24743 Avoid invoking setitimer when timeouts have been disabled (Arvind Srinivasan) 2009-11-05 10:38:56 +00:00
Dmitry Stogov 10b30b51bc Fixed unnecessary invokation of setitimer when timeouts have been disabled (Arvind Srinivasan) 2009-11-05 09:33:19 +00:00
Matteo Beccati fa67c860e0 - Properly fixed bug #49985 (pdo_pgsql prepare() re-use previous aborted transaction).
# Removed usage of the memory address when generating prepared statemend names
# as uniqueness can't be enforced. Used a statment counter instead.
2009-11-04 19:32:27 +00:00
Matteo Beccati e6f4503f29 - Reverting previous fix for bug #49985
# Unmerged changes from revision 289924
2009-11-04 19:16:39 +00:00
Ulf Wendel 5ed0015f62 mysqli won't accept empty string for socket, skip test of mysqli.default_socket if test run does not use socket 2009-11-04 16:56:32 +00:00
Ulf Wendel 5ce96c2b3b Skipping if MySQL old password algorithm is in use as it seems to be the case on gcov.php.net 2009-11-04 16:09:07 +00:00
Ilia Alshanetsky 41611fd003 Fixed bug #50073 (parse_url() incorrect when ? in fragment). 2009-11-04 13:44:10 +00:00
Ulf Wendel 973d7badd5 Adding CLEAN sections and making tests portable between PHP 5 and PHP 6 by replacing string(n) with %unicode|string%(n) and similar. 2009-11-04 12:33:49 +00:00
Guenter Knauf 04448f215b added timezone define for NetWare. 2009-11-03 21:26:39 +00:00
Guenter Knauf 824692fab8 removed now obsolete NetWare hack since I fixed this
with Novell some longer time ago in their SDK header.
2009-11-03 21:21:34 +00:00
Ulf Wendel 4a95aa3989 Fix for bug #49965 . Let mysqli_options() try to cast option values to the appropriate type. 2009-11-03 14:56:04 +00:00
Scott MacVicar e048c24d27 BFN 2009-11-03 12:23:54 +00:00
Scott MacVicar f03b175f7c Update PCRE to 8.00 2009-11-03 12:15:03 +00:00
Pierre Joye 26e3082abc - fix lenght for alloc and cpy (Kanwal) 2009-11-03 10:48:12 +00:00
Pierre Joye 826ca288e7 - Fixed #50052, Different Hashes on Windows and Linux on wrong Salt size 2009-11-02 20:46:52 +00:00
Felipe Pena 574b0882a1 - Fixed bug #49244 (Floating point NaN cause garbage characters). (patch by Sjoerd) 2009-11-02 17:37:32 +00:00
Derick Rethans ca8f7d9467 - Updated to version 2009.17 (2009q) 2009-11-02 16:12:20 +00:00
Ilia Alshanetsky 03ddb4f2b5 Fixed compiler warnings 2009-11-02 13:33:24 +00:00
Felipe Pena 779ce8fd00 - Fixed bug #49908 (throwing exception in __autoload crashes when interface is not defined) 2009-11-01 21:26:03 +00:00
Felipe Pena be32cb2268 - Fixed bug #50006 (Segfault caused by uksort()) [5_2 only] 2009-11-01 17:30:55 +00:00
Felipe Pena 8e91d46481 - Fixed bug #49719 (ReflectionClass::hasProperty returns true for a private property in base class) 2009-11-01 15:12:34 +00:00
Takeshi Abe 94cb01177a Fixed a possible memory leak in case that FT_Glyph_To_Bitmap() fails 2009-11-01 05:04:35 +00:00
Stanislav Malyshev f7420d58da report collator_get_sort_key 2009-10-30 17:27:55 +00:00
Kalle Sommer Nielsen df0252a399 Set WINVER to Windows 2000 like in config.w32.h.in 2009-10-30 14:20:15 +00:00
Ilia Alshanetsky 1e50b1892a Fixed bug #50023 (pdo_mysql doesn't use PHP_MYSQL_UNIX_SOCK_ADDR)
# Original patch by six at aegis-corp dot org
2009-10-29 13:33:51 +00:00
Ilia Alshanetsky 8dae9275fc Lower the max upload default to 20 2009-10-28 13:04:42 +00:00
Stanislav Malyshev af0bfc8859 fix version 2009-10-27 23:21:00 +00:00
Jani Taskinen 1376b76e8c - You add, remove, fix or implement. Introduce yourself to someone else. 2009-10-27 22:15:19 +00:00
Felipe Pena 8ce58b2490 - Fixed bug #50018 (Typo in spl_limit_it_seek()) 2009-10-27 21:57:26 +00:00
Felipe Pena 361d6789f1 - Fixed memory leak in openssl_pkcs12_export_to_file() 2009-10-27 21:37:03 +00:00
Pierre Joye 1431ba235b - Fixed crash in com_print_typeinfo when an invalid typelib is given 2009-10-27 19:16:55 +00:00
Ilia Alshanetsky e2211cee86 Introduced a max_file_uploads INI setting, which is set to limit the
number of file uploads per-request to 100 by default, to prevent possible
DOS via temporary file exhaustion.
2009-10-27 16:13:48 +00:00
David Soria Parra e8359d3f90 - Fixed bug #49142 (crash when exception thrown from __tostring()) 2009-10-27 13:02:36 +00:00
Pierre Joye 89fec084f1 - #48752, crash during date parsing with invalid date 2009-10-27 10:41:45 +00:00
Stanislav Malyshev f22ef52836 add test 2009-10-26 22:37:26 +00:00
Stanislav Malyshev 65c1421f3f add collator_get_sort_key() 2009-10-26 22:35:48 +00:00
Derick Rethans 8b2735632e - Updated to version 2009.16 (2009p) 2009-10-26 14:09:23 +00:00
Ilia Alshanetsky ff5a2ce931 Fixed bug #49921 (Curl post upload functions changed). 2009-10-26 12:57:01 +00:00
Ulf Wendel 58f7c5f578 Updating test - no error message any more. Maybe the PDO core has changed... whatever, one issue less 2009-10-26 11:48:47 +00:00
Ulf Wendel ee36281037 Updating test, mysqlnd support init commands 2009-10-26 11:41:30 +00:00
Ilia Alshanetsky 42626ae6fa - Fixed bug #49985 (pdo_pgsql prepare() re-use previous aborted transaction). 2009-10-26 02:02:28 +00:00
Jani Taskinen 70e8b40fc7 - Fixed bug #49990 (SNMP3 warning message about security level printed twice). 2009-10-25 20:17:04 +00:00
Pierre Joye bcf7db5f92 - #49986, fix ICU DLLs path 2009-10-24 19:52:23 +00:00
Johannes Schlüter 0a8fc25b7d Fix #49972 (AppendIterator undefined function crash) 2009-10-23 16:47:35 +00:00
Ulf Wendel 08db32e073 Fix: log slow queries in stats regardless of mysqlnd.log_mask setting. 2009-10-23 12:44:05 +00:00
Ilia Alshanetsky 855e8802bb Fixed test 2009-10-22 19:39:08 +00:00
Andrey Hristov 7b5ce9ab49 Don't forget to update the length too 2009-10-22 17:36:12 +00:00
Andrey Hristov f2814dd0df Have the lengths also to skip many calls to strlen 2009-10-22 17:07:55 +00:00
Ulf Wendel 629d8fe47e Updating mysqlnd version number. 2009-10-22 16:10:02 +00:00
Ulf Wendel 00654b8a06 Fixing stats, updating test to accept new stats 2009-10-22 16:05:33 +00:00
Andrey Hristov 1aad525c6e Move definition 2009-10-22 15:17:03 +00:00
Andrey Hristov a692479d21 Count number of affected_rows for normal and PS queries 2009-10-22 14:30:51 +00:00
Ulf Wendel d356459971 There subtle differences between Linux and Win. mysqlnd is a bit more verbose on Win... silencing to make the test pass 2009-10-21 18:57:45 +00:00
Pierre Joye 26270b4fd7 - fix leak in DL on error (windows) 2009-10-21 06:42:08 +00:00
Ulf Wendel 8df115c25e Making test a bit more portable 2009-10-20 17:54:57 +00:00
Ulf Wendel 03c3c1edb3 Fixing test 2009-10-20 17:03:32 +00:00
Ulf Wendel 3258a6572d libmysql is still 'buggy' - skip test with libmysql 2009-10-20 14:11:43 +00:00
Ulf Wendel 3fb67347ea Well, hacking around to cope with mysql version specific behaviour if using libmysql... 2009-10-20 13:58:57 +00:00
Antony Dovgal f298e6ce6e fix crash on empty doc_root 2009-10-20 12:57:44 +00:00
Ulf Wendel 87a4f09cbf Skipping tests if InnoDB is available but disabled. I wonder what InnoDB status comes next... 2009-10-20 12:41:58 +00:00
Ulf Wendel 57c1b63c2d Fixing typo in SKIPIF and partly skipping tests if using remote MySQL because LOAD LOCAL INFILE will fail 2009-10-20 12:31:04 +00:00
Ulf Wendel 0efa2445ad Making test pass when MySQL runs on Win* 2009-10-20 08:41:11 +00:00
Ulf Wendel 9bb4db8781 Bail if connect.inc gets included twice. Including twice is most likely a 'bug'. See also http://news.php.net/php.cvs/60720 2009-10-20 08:23:06 +00:00
Pierre Joye 5e0f3731ac - MFH: fix realloc usage 2009-10-19 23:41:14 +00:00
Pierre Joye 0304ec7900 - Fix ACL support and add support for ACL for TS SAPI. Be sure to get the impersonated token when the impersonation has been done. Add the SID as part of the key for the cache (so each SID gets its cache and not previous requests run under other SID) 2009-10-19 23:32:07 +00:00
Johannes Schlüter f5a5d321ed Fix test to remove temporary files 2009-10-19 21:50:08 +00:00
Johannes Schlüter 4a8de304e2 Merge #289581 (Fixed PDORow and PDOStatement crashes when instantiating throught
Reflection (Felipe)
2009-10-19 21:43:34 +00:00
Johannes Schlüter 8dcb351345 Merge NEWS for merged stuff from PHP_5_3 to PHP_5_3_1 2009-10-19 21:16:07 +00:00
Ulf Wendel eb0e09f5dc Using require[_once] instead of include. Adding logic to connect.inc to detect multiple inclusions of connect.inc which leads to a Fatal error because of my_mysqli_connect() function redefinition. Some tests did include connect.inc twice -> run-tests - even the one from trunk - did not detect Fatal error in SKIPIF -> false-positive test result... 2009-10-19 20:07:25 +00:00
Pierre Joye 3766730f3c - we don't distribute the crt9 dll, don't try to add it 2009-10-19 19:58:45 +00:00
Pierre Joye 97595a14a5 - add custom DLL to the package and fix the path to the deps bin (needs absolute path in some cases) 2009-10-19 19:02:12 +00:00
Derick Rethans afaa4ed8ad - Updated to version 2009.15 (2009o) 2009-10-19 16:29:13 +00:00
Ulf Wendel 344d6803ec mysqlnd is a bit more verbose than libmysql - silence mysqlnd here for easier comparison of test results. 2009-10-19 16:07:10 +00:00
Jani Taskinen fc4352e2d8 - It is not const in PHP_5_2 but it is in HEAD and PHP_5_3 2009-10-19 15:34:50 +00:00
Ulf Wendel f610cdd9a2 MySQL server and metadata - a sad story... trying to make the test pass with a few more server versions 2009-10-19 12:55:11 +00:00
Jani Taskinen 21d12bc17e fn 2009-10-19 12:37:17 +00:00
Ulf Wendel d01d398bad Fixing host info for TCP/IP and aligning mysqlnd and libmysql 2009-10-19 12:09:48 +00:00
Stanislav Malyshev a226082475 improve fix for #49767 and #47627 - make PHP report
"no script" on 404 again
2009-10-16 23:34:31 +00:00
Ulf Wendel 3eeaf566e0 Extending mysqlnd statistics/monitoring. Now counting COM_* commands. 2009-10-16 13:02:01 +00:00
Nuno Lopes 4750dc35de ignore php_mysqlnd_config.h file 2009-10-16 10:51:29 +00:00
Scott MacVicar cd5e3b1632 Add metadata support to the bundled version of libsqlite on Windows, part of bug #49206.
Will commit the new feature part separately.
2009-10-16 02:22:48 +00:00
Scott MacVicar 76d875278c Part fix for bug #49224 2009-10-16 02:10:52 +00:00
Scott MacVicar 5af006d640 Update libsqlite to 3.6.19 2009-10-16 01:56:36 +00:00
Ulf Wendel d8dc47d58f Making mysqlnd emit no warnings when fetching pooled persistent connections that have timed out or are unusable for any other reason - bug #49761 2009-10-15 20:46:08 +00:00
Ulf Wendel ab4670ee53 Fixing problems when calling connect (again and again) on a valid connection handle. Most of the patch comes from Andrey. 2009-10-15 15:49:40 +00:00
Pierre Joye e4adfe4f61 - #48779, fix another use case where / usage may differ 2009-10-15 13:09:25 +00:00
Ilia Alshanetsky ef1731590a Fixed bug #49855 (import_request_variables() always returns NULL). 2009-10-15 12:26:54 +00:00
Ilia Alshanetsky 31729738c7 Fixed bug #49847 (exec() fails to return data inside 2nd parameter, given output lines >4095 bytes). 2009-10-14 01:32:07 +00:00
Stanislav Malyshev 0e38a3d303 oops, that doesn't belong to this patch 2009-10-13 20:54:28 +00:00
Stanislav Malyshev dd15b8810c add safeguard for UpdateIniFromRegistry on NULL arg 2009-10-13 20:10:07 +00:00
Stanislav Malyshev 207e75b2cd fix crash for bug #47627 2009-10-13 19:58:59 +00:00
Derick Rethans 5c9ac94eab - Updated to version 2009.14 (2009n) 2009-10-13 08:16:35 +00:00
Moriyoshi Koizumi 20737bac6a - Bug #49785: take 5. What the hell happened to me... 2009-10-13 05:18:37 +00:00
Felipe Pena 5d34329dab - BFN 2009-10-12 19:23:07 +00:00
Felipe Pena 16be0343d7 - Fixed possible crash when calling SQLiteDatabase::{ArrayQuery, SingleQuery} methods using Reflection 2009-10-12 19:04:00 +00:00
Felipe Pena b394a75ad5 - Fixed PDORow and PDOStatement crashes when instantiating throught Reflection 2009-10-12 17:09:11 +00:00
Pierre Joye e5d4b019b9 - #48779, improve fix, drop usage of _tolower and use zend_strtolower 2009-10-12 14:40:27 +00:00
Moriyoshi Koizumi 884cf3f1c0 - Bug #49785: take 4 - typo. this flaw is unharmful since the return value of get_next_char() is only used when UTF-8 is specified to the third argument. 2009-10-12 14:29:45 +00:00
Pierre Joye ed3e96197d - check max colors while loading gd2 palette image (patch by Tomas Hoger) 2009-10-12 10:01:37 +00:00
Moriyoshi Koizumi 1835a63dfd - A couple more fix for my previous fix.
(one of the fix by Arnaud Le Blanc. Thanks!)
2009-10-11 23:52:33 +00:00
Pierre Joye 112379ba24 - fix possible issue in TS environment (we don't have to do that anymore anyway in 5.3+) 2009-10-11 21:04:35 +00:00
Pierre Joye 4d63bd1132 - #48779, don't loop twice over the path chars 2009-10-11 20:50:53 +00:00
Felipe Pena 8952155898 - Fix compiler warning 2009-10-11 15:23:09 +00:00
Felipe Pena 994307d429 - Fixed build and comment-style 2009-10-09 20:01:16 +00:00
Garrett Serack 8e5a00e546 - changed ini file directives [PATH=](on Win32) and [HOST=](on all) to be case insensitive (garretts) 2009-10-09 19:43:00 +00:00
Moriyoshi Koizumi 8a22597b65 - More tests to go. 2009-10-09 17:13:05 +00:00
Moriyoshi Koizumi 9d19866476 - Fixed bug #49785 (insufficient input string validation of htmlspecialchars()). 2009-10-09 10:02:38 +00:00
Pierre Joye f88c96a7f3 - missing define 2009-10-08 20:59:50 +00:00
Pierre Joye 878ba27e60 - typo 2009-10-08 20:40:48 +00:00
Pierre Joye 02a046b1d9 - [DOC] add enchant_broket_set_dict_path and enchant_broker_get_dict_path
- add constants ENCHANT_MYSPELL and ENCHANT_ISPELL
2009-10-08 20:28:21 +00:00
Ulf Wendel a1d3a3224e Avoid buffer resizing and let the initial buffer allocation happen a couple of lines later with conn->m->set_client_option(conn, MYSQLND_OPT_NET_CMD_BUFFER_SIZE, ...). Andrey, I leave it to you to change the default size to 128k. 2009-10-08 16:33:17 +00:00
Jani Taskinen b2ff362a5c - Fixed bug #49809 (time_sleep_until is not available on solaris) 2009-10-08 14:21:53 +00:00
Ulf Wendel 4e6a1c2754 Fixing pconnect statistics. 2009-10-08 11:40:16 +00:00
Matteo Beccati 9ee8dd90a3 - Fixed bug #48764 (PDO_pgsql::query always uses implicit prepared statements if v3 proto available)
# original patch by Mark Kirkwood
2009-10-07 17:40:16 +00:00
Andrey Hristov 309fced64d Increase the minimal size of the command buffer, which is used
for sending queries and in the future commpressed patch for reading
almost all packets from the wire instead of using stack buffers.
2009-10-07 17:33:51 +00:00
Ilia Alshanetsky b6b56ba87a Fixed bug #49800 (SimpleXML allow (un)serialize() calls without warning).
# original patch by wmeler at wp-sa dot pl
2009-10-07 12:46:29 +00:00
Christopher Jones 264d6db5a6 bump ver 2009-10-06 23:21:11 +00:00
Christopher Jones 2769ae0444 1. Introduce connection attribute functions:
oci_set_module_name
         oci_set_action
         oci_set_client_info
         oci_set_client_identifier
      
       These functions set values that are visible and used by the
       database.  They aid tracing, authentication and auditing.

    2. Introduce connection attribute function:

         oci_set_edition

       Oracle 11g R2 "editions" allow multiple versions of DB objects
       to exist at one time.  By setting different editions, two
       different versions of an application can run concurrently,
       making upgrades or A/B testing easier.

    3. Introduce OCI_NO_AUTO_COMMIT as an alias for the OCI_DEFAULT
       constant (which is not the default value) used by oci_execute().

    4. Allow the oci_set_prefetch value to be 0.  This is important in
       some cases using REF CURSORS in Oracle 11gR2.

    5. Set the DRIVER_NAME attribute of Oracle Database 11gR2
       connections to aid application tracing.  The value used is to
       "PHP OCI8" followed by the OCI8 version number.  Note the
       version number may get truncated in DB views such as
       v$session_connect_info.

    6. Generate an error if an invalid resource type is used in
       oci_bind_by_name

[DOC] Documentation will be added for the changes
2009-10-06 22:36:32 +00:00
Etienne Kneuss ef2b799a28 Fix bug #49263 (Offset error when unserializing self-references in SplObjectStorage) 2009-10-06 13:34:56 +00:00
Andrey Hristov 06523621dd revert the last change 2009-10-06 12:53:01 +00:00
Andrey Hristov d9382399fc count the queries 2009-10-06 10:33:23 +00:00
Jani Taskinen d7b5703eab pff 2009-10-06 10:00:53 +00:00
Christopher Jones 76b321c350 Fix odd little diff in some environments. No need for trunk merge 2009-10-05 22:57:48 +00:00
Christopher Jones 7c7cc5d785 Fix diff when full connection string used. Clean up helper files 2009-10-05 22:51:21 +00:00
Ilia Alshanetsky a3430a6b24 Fixed bug #49757 (long2ip() can return wrong value in a multi-threaded applications).
# original patch by Florian Anderiasch
2009-10-05 14:45:54 +00:00
Dmitry Stogov ffb07732f7 Fixed bug #49627 (error_log to specified file does not log time according to date.timezone) 2009-10-05 13:56:49 +00:00
Felipe Pena 8172c388b0 - Fix some arginfos (thanks Philip)
- Added arginfo info. for void params
2009-10-03 20:45:29 +00:00
Pierre Joye f86cde26fb - drop unused var and fix example 2009-10-03 10:19:06 +00:00
Christopher Jones 2d64d1ff72 Oracle 11.2 (and beyond) compat changes 2009-10-02 22:39:28 +00:00
Christopher Jones de0592a3a3 refactor tests 2009-10-02 20:16:59 +00:00
Christopher Jones 460a4ceaff Fix skipifs to accept Oracle 11.2 2009-10-02 04:19:48 +00:00
Sriram Natarajan 0f57b15e23 - Fixed bug #49738 (calling mcrypt after mcrypt_generic_deinit crashes). 2009-10-02 00:13:53 +00:00
Jani Taskinen a71da78442 pff, no idea what is merged where by who and when and wtf.. 2009-10-01 15:55:05 +00:00
Christopher Jones 9d48ec4f51 Add PECL bug #16842 2009-10-01 14:56:53 +00:00
Pierre Joye e0b392f028 - fix #49732, fix crash when timestamp conversion fails 2009-10-01 13:55:16 +00:00
Ulf Wendel 5cb8e9b22a Updating test because of http://news.php.net/php.cvs/60561 2009-10-01 08:56:28 +00:00
Christopher Jones 8f65525ce6 Add xmltype_02.phpt. Add XFAIL to xmltype_01 for PHP 6 2009-10-01 06:22:32 +00:00
Christopher Jones 8fca6e46eb Eliminate type warnings. This change is not needed in other branches 2009-10-01 06:06:41 +00:00
Christopher Jones 609804cd44 PECL Bug #16842 (oci_error return false when NO_DATA_FOUND is raised) 2009-10-01 05:51:11 +00:00
Andrey Hristov 2f81bcd44b Fix ZTS build 2009-09-30 23:34:56 +00:00
Andrey Hristov ba5c40b2ad Use mnd_ wrappers wherever possible. Needed for
statistics.
2009-09-30 23:13:43 +00:00
Andrey Hristov b9dcc28c24 Fix trace output. DBG_RETURN should be used in traced
functions.
2009-09-30 22:26:19 +00:00
Ilia Alshanetsky d35c2b14dd Fixed bug #48805 (IPv6 socket transport is not working). 2009-09-30 20:48:41 +00:00
Ulf Wendel 9408303390 Fixing a leak in mysqlnd when passing invalid fetch modes to mysqlnd. 2009-09-30 14:39:33 +00:00
Dmitry Stogov 7a535b807c pcntl_exec() should inherit environment in case it's not provided as an argument 2009-09-30 13:04:28 +00:00
Pierre Joye a4cbecd20c - restore W3 flag to get usefull errors (unused vars, etc.) 2009-09-30 11:53:29 +00:00
Ilia Alshanetsky 809dbcda08 Fixed bug #49517 (cURL's CURLOPT_FILE prevents file from being deleted after fclose). 2009-09-30 02:34:17 +00:00
Ulf Wendel e56e60c3a0 Fixing test 2009-09-29 16:37:50 +00:00
Rafael Machado Dohms e91fffb24a Fixing tests for head and wrong SKIPIF blocks 2009-09-29 14:34:06 +00:00
Rasmus Lerdorf 80bdbc8f66 Fixed a safe_mode bypass in tempnam() identified by Grzegorz Stachowiak. 2009-09-29 14:14:02 +00:00
Rasmus Lerdorf 8c15aa2314 Add missing open_basedir check in posix_mkfifo 2009-09-29 14:02:50 +00:00
Rasmus Lerdorf 99f30c1b6a Fix date_sunrise/date_sunset tests 2009-09-29 13:56:51 +00:00
Rafael Machado Dohms 9ba46557e9 Adding tests for bug #49692 2009-09-28 22:57:41 +00:00
Kalle Sommer Nielsen 94b320b268 NEWS for Rasmus' bug fix 2009-09-28 15:07:37 +00:00
Rasmus Lerdorf b3de24c9b8 Fix for bug #49698 2009-09-28 13:29:53 +00:00
Ulf Wendel 91315a9307 Fixing test 2009-09-28 10:42:36 +00:00
Ulf Wendel fbfd13310b Allow setting of default connection flags through the environment variable MYSQL_TEST_CONNECT_FLAGS 2009-09-28 10:39:42 +00:00
Ilia Alshanetsky 5edef9d2dd Fixed test 2009-09-28 03:14:46 +00:00
Felipe Pena b6a1b37889 - Fixed tests 2009-09-26 17:59:33 +00:00
Felipe Pena 5132913dd3 - Fixed tests 2009-09-26 16:54:08 +00:00
Rasmus Lerdorf 5afa8a23bb Refix bug #49558 as per bug #49676 2009-09-26 00:53:59 +00:00
Ulf Wendel 8621a06eed Trying to respect time limit to please Andrey who must be using slooow hardware... 2009-09-25 13:21:44 +00:00
Andrey Hristov 3828ca158e Fix mysqli_stmt_attr_set in libmysql mode.
mysql_stmt_attr_set returns my_bool instead of int.
If it was int, then 0 is success and !0 is failure, but
for my_bool 0 (FALSE) is failure and !0 is success.
2009-09-25 12:25:54 +00:00
Andrey Hristov 5d3152b181 Fix a crash in the rare case when a persistent connection
is found dead, after CHNG_USER. mysql->mysql will be NULL
and segfault will follow.
2009-09-25 11:38:19 +00:00
Ulf Wendel bd69506171 Large package to check how compression handles package queues. 2009-09-25 10:56:17 +00:00
Andrey Hristov 9b44cbb490 Remove unused variable 2009-09-25 10:55:06 +00:00
Ulf Wendel a5e4c6f795 Replacing MYSQL_TEST_COMPRESS env var with more generic MYSQL_TEST_CONNECT_FLAGS to be able to test all connection flags. Fixing some test. 2009-09-25 10:54:16 +00:00
Andrey Hristov eea0660def Fix error code checking for mysql_stmt_attr_set. There
is a test that checks this.
2009-09-25 10:52:29 +00:00
Andrey Hristov 80f629ed9f Fix possible crash when conn is NULL 2009-09-25 10:37:44 +00:00
Felipe Pena 22876972a5 - Fix test 2009-09-25 02:07:41 +00:00
Felipe Pena 20c5df8cce - Fixed mem leak 2009-09-25 01:46:58 +00:00
Jani Taskinen 4a95cb8938 fn 2009-09-24 22:40:15 +00:00
Ilia Alshanetsky eb2d54822b Make tempnam() return FALSE on error as documented 2009-09-24 18:59:28 +00:00
Sriram Natarajan 92c08b1224 - Fixed bug #49571 (CURLOPT_POSTREDIR not implemented). 2009-09-24 18:20:49 +00:00
Jani Taskinen 2c90fb8ea2 - Fix the build issue with php_mysqlnd_config.h ending up in wrong build directory 2009-09-24 18:01:17 +00:00
Rob Richards c3d66dbfed Fixed bug #49647 (DOMUserData does not exist) 2009-09-24 13:18:22 +00:00
Ulf Wendel c01b505a44 Proxying as many connect calls as possible to make testing of the compression protocol @ mysqlnd easier. By setting the environment variable MYSQL_TEST_COMPRESS you can tell the tests to set the MYSQLI_CLIENT_COMPRESS flag upon connect. 2009-09-24 12:51:03 +00:00
Rob Richards 9b923dd6ce fix memleak 2009-09-24 12:40:59 +00:00
Antony Dovgal 5e810ee5e4 save LDFLAGS in EXTRA_LDFLAGS before unsetting
this patch makes sure that LDFLAGS are taken into account when
configuring the build
2009-09-24 10:43:13 +00:00
Ulf Wendel 7b50b0794d Fixing test 2009-09-24 09:40:24 +00:00
Ulf Wendel 057a62fc52 Coverage for the OO variants of some functions 2009-09-24 08:19:56 +00:00
Ilia Alshanetsky 7eeff10cc0 Fixed unused var 2009-09-23 23:14:17 +00:00
Moriyoshi Koizumi 0c974164e2 - Fixed bug #49354 (mb_strcut() cuts wrong length when offset is within a
multibyte character).

(This bug was introduced by the commit by r202895. Please double-check the
 specification of the function you are going to *fix*.)
2009-09-23 15:22:47 +00:00
Dmitry Stogov 4b1c7c5615 Fixed ext/standard/tests/streams/stream_get_contents_002.phpt 2009-09-23 10:25:54 +00:00
Dmitry Stogov 6f32199f75 Fixed compilation error 2009-09-23 08:33:23 +00:00
Felipe Pena 788031f093 - Fixed bug #49531 (CURLOPT_INFILESIZE sometimes causes warning "CURLPROTO_FILE cannot be set ...") 2009-09-23 02:08:19 +00:00
Ilia Alshanetsky 420a3abc6a Fixed compiler warning 2009-09-23 00:18:32 +00:00
Felipe Pena 5596b05449 - Fixed bug #49630 (imap_listscan function missing)
# Missing PHP_FE(), though nowdays it is used through of two aliases. (imap_scan() and imap_scanmailbox())
2009-09-22 18:18:57 +00:00
Ulf Wendel 381ebe751b mysqlnd supports INIT_COMMAND and so we can add it to PDO_MYSQL @ mysqlnd 2009-09-22 15:31:35 +00:00
Andrey Hristov ac93b60f68 MFH:Fix handling of BIT fields for non-PS. We need
macros from mysqlnd to be able to convert a bit
stream to a number.
2009-09-22 15:08:11 +00:00
Dmitry Stogov 38cdb16dd2 Fixed tests which fail from time to time because of race conditions ("echo" command didn't wait for all the data php tried to send and as result php got a SIGPIPE) 2009-09-22 14:52:47 +00:00
Andrey Hristov 452aca97e3 MFH:Check for the different types and create the
corresponding configuration file, so it can be used
by mysqli, even if mysqlnd is not enabled at all.
2009-09-22 14:44:11 +00:00
Andrey Hristov dcb5c5b0a4 MFH: Fix handling of BIT fields in mysqli, when libmysql is used
We need to use macros from mysqlnd to be able to read the
bit fields, as they are specially encoded. mysqlnd is always
there, 5.3+, so its macros can be used, even if mysqlnd is
not compiled as library of choice.
2009-09-22 13:59:29 +00:00
Nuno Lopes 24090104ef allow tests to pass when a random username is used.
patch by Olivier Doucet
2009-09-22 12:30:21 +00:00
Nuno Lopes fb86d5b462 spread some svn:ignore love 2009-09-22 12:12:43 +00:00
Ulf Wendel 26b4248799 Fixing test 2009-09-22 11:58:46 +00:00
Dmitry Stogov bb81ef5d71 Fixed test (it failed from time to time because of very small timeouts) 2009-09-22 10:15:10 +00:00
Jani Taskinen 4cce432eeb - Move tests in the right location 2009-09-22 09:41:39 +00:00
Ulf Wendel 75d415efbe Fixing test 2009-09-22 08:42:44 +00:00
Dmitry Stogov 17aff0eb25 Fixed test (removed "bad" locale) 2009-09-22 08:22:29 +00:00
Dmitry Stogov 42b62e7ca6 Fixed ext/spl/tests/arrayObject_magicMethods2.phpt 2009-09-22 07:54:06 +00:00
Ulf Wendel 77f44b7926 Fixing test. There is nothing we can do about the MySQL Client Library allocate huge 4GB buffers for some SQL types. 2009-09-22 07:11:50 +00:00
Ulf Wendel 5c67cdf62b Fixing test. Can't wait to see the new run-tests materialize for detecting skip section parse errors. 2009-09-22 06:59:04 +00:00
Ilia Alshanetsky d223d65aad Fixed build with older version of libcurl 2009-09-22 01:17:16 +00:00
Ulf Wendel 6ef632d129 Fixing test 2009-09-21 15:59:22 +00:00
Ulf Wendel e94d475ad0 Fixing test 2009-09-21 15:24:47 +00:00
Dmitry Stogov 883b992ea7 Fixed tests (removed irrelevant check which makes test to fail from time to time) 2009-09-21 15:23:25 +00:00
Dmitry Stogov d12c66770f Fixed tests ("none" is an alias of "false" and it can't be used as a string value of ini option) 2009-09-21 14:32:20 +00:00
Ulf Wendel e4f41b1f9f Moving test code around to get test failures down without testing less. Users of the MySQL Client Lib should always call stmt_bind_result after execute - not before. 2009-09-21 14:20:05 +00:00
Dmitry Stogov c36b27db63 Fixed memleak in tests/lang/engine_assignExecutionOrder_001.phpt 2009-09-21 13:01:17 +00:00
Ulf Wendel 9afd024715 Fixing test by calling it a known limit. We keept the test failing as a reminder to think about how to handle BIT(32) and up but none of us has an idea. Thinks work fine up to BIT(31) - the limitation should be documented. 2009-09-21 12:02:30 +00:00
Ulf Wendel 47b209a3cd Fixing test 2009-09-21 11:54:15 +00:00
Dmitry Stogov d49abc2736 Fixed tests 2009-09-21 11:38:14 +00:00
Dmitry Stogov 623fe9aaf9 Fixed tests 2009-09-21 11:30:38 +00:00
Dmitry Stogov b4ba7fb96e Fixed memory leak 2009-09-21 11:22:13 +00:00
Ulf Wendel dc1e7d6d6d Not nice but neither the MySQL Client Library not mysqlnd are supposed to detect invalid flags. Therefore: fixing test 2009-09-21 10:16:44 +00:00
Ulf Wendel 1a3b7774e6 Fixing mysqli_result_references_mysqlnd.php 2009-09-21 10:06:13 +00:00
Dmitry Stogov 7bfe056174 Fixed tests 2009-09-21 09:52:19 +00:00
Ulf Wendel a0a8c5832f Fixing mysqli_get_client_stats.phpt. More testing for MYSQLI_INIT_COMMAND 2009-09-21 09:35:23 +00:00
Ulf Wendel 025e670f54 Fixing test: references has to be collected even if the users disables the collection of statistics. It is needed for memory management. 2009-09-21 08:59:00 +00:00
Ulf Wendel a77ee71cf0 Fixing test - the standard test table will not accept NULL values for column id 2009-09-21 08:36:14 +00:00
Dmitry Stogov acc71e71bc Fixed tests 2009-09-21 08:28:53 +00:00
Kalle Sommer Nielsen 1dfc3ac4a4 Fix NEWS 2009-09-21 03:20:31 +00:00
Pierre Joye 6711276b3c - fix ACL cache for read check 2009-09-19 20:54:34 +00:00
Hannes Magnusson f7096da972 And now use proper colspanning 2009-09-18 23:06:21 +00:00
Hannes Magnusson 07618b1edd Fix typo in comment (danbrown) 2009-09-18 22:26:44 +00:00
Hannes Magnusson e3134c3139 Throw some credit around 2009-09-18 22:01:58 +00:00
Andrey Hristov 967239727e MFH:Fix for bug#48909 Segmentation fault in mysqli_stmt_execute 2009-09-18 14:33:08 +00:00
Andrey Hristov 8aae3baa45 MFH:Fix for bug#48754 mysql_close() crash php when no handle specified 2009-09-18 10:49:31 +00:00
Andrey Hristov c2e66884e1 MFH, a fix not included by the fix committed by Ulf.
pemalloc and then efree - too bad!
Sorry for committing in two passes, my big tree is already patched
with compressed.
2009-09-17 15:13:14 +00:00
Ulf Wendel 1388912ded better coverage for mysqli_info 2009-09-17 07:11:25 +00:00
Sriram Natarajan fbc335e5d1 - Fixed bug #49572 (use of C++ style comments causes build failure) 2009-09-17 02:45:25 +00:00
Felipe Pena fff0a24656 - Fixed ZTS build 2009-09-16 18:01:10 +00:00
Sebastian Bergmann ceaf590530 Merge ReflectionMethod::setAccessible() to PHP 5.3.2, approved by Johannes. 2009-09-16 17:24:46 +00:00
Ulf Wendel e6cf6693e6 Fix (by Andrey) and test for bug #49442 . Don't use efree() for memory allocated with malloc()... If a connection gets created by mysqli_init(), mysqlnd makes it 'persistent'. 'Persistent' means that mysqlnd uses malloc(). mysqlnd does use malloc() instead of ealloc() because it is unknown if the connection will become a true persistent connection in the sense of ext/mysqli. It is unknown if the user wants a persistent connection or not until the user calls mysqli_real_connect(). To avoid tricky conversions mysqlnd uses malloc(), which sets a private persistent flag in the mysqlnd structures. A precondition for the crash to happen was that the private persistent flag is set. The flag is also set when creating a real persistent connection (in the sense of ext/mysqli) and so the bug can happen with mysql_init()/mysqli_real_connect() and mysql_connect('p:<host>', ...). Therefore we test both cases. Note the (tricky?) difference between the implementation detail'mysqlnd private persistent flag = use malloc()' and persistent connections from a user perspective. Although mysqlnd will always set its private persistent flag and use malloc() for connections created with mysqli_init() it is still up to the user to decide in mysqli_real_connect() if the connection shall become a (true) persistent connection or not. 2009-09-16 17:03:44 +00:00
Ulf Wendel 20005db2a0 Fix and tests for bug #49511 . mysqlnd and the MySQL Client Library (libmysql) use different networking APIs. mysqlnd does use PHP streams whereas libmysql uses its own wrapper of the operating level network calls. PHP sets by default a read timeout of 60s for streams - php.ini, default_socket_timeout. This default applies to all streams that set no other timeout value. mysqlnd has not set any other value and therefore it connections of long running queries can have been cut off after default_socket_timeout seconds resulting in a 2006 - MySQL Server has gone away error message. The MySQL Client Library sets a default timeout of 365 * 24 * 3600 seconds (1year) and waits for other timeouts to happen, e.g. TCP/IP timeouts. mysqlnd now uses the same very long timeout. The value is configurable through a new php.ini setting: mysqlnd.net_read_timeout. mysqlnd.net_read_timeout gets used by any extension (ext/mysql, ext/mysqli, PDO_MySQL) that uses mysqlnd. mysqlnd tells PHP Streams to use mysqlnd.net_read_timeout. Please note that there may be subtle differences between MYSQL_OPT_READ_TIMEOUT from the MySQL Client Library and PHP Streams. E.g. MYSQL_OPT_READ_TIMEOUT is documented to work only for TCP/IP connections and, prior to MySQL 5.1.2, only for Windows. PHP streams may not have this limitation. Please check the streams documentation, if in doubt. 2009-09-16 15:00:54 +00:00
Jani Taskinen fb9c4bd709 - What a mess.. 2009-09-16 06:56:37 +00:00
andy wharmby e509cc4283 Fix SKIPIF sections 2009-09-15 21:44:08 +00:00
Rasmus Lerdorf d032060ea8 Fix bug #49558
And as Colin mentioned in the bug report, this means date_sunrise()
and date_sunset() have been off by 26 seconds in most cases until now.
2009-09-15 20:28:42 +00:00
Ilia Alshanetsky f611b66025 Upgraded bundled sqlite to version 3.6.18. 2009-09-15 16:54:11 +00:00
Pierre Joye 15398c4ed5 - #49253, add support for libcurl's CERTINFO option 2009-09-15 15:47:06 +00:00
Moriyoshi Koizumi b91e3db105 - WS fix (spaces to tabs) 2009-09-15 00:09:13 +00:00
Pierre Joye ada5eb95ad - Fix #48746, improve fix to support all possible cases (see latest comment in the report) 2009-09-14 18:46:56 +00:00
Ilia Alshanetsky 62d78d7ccc Fixed certificate validation inside php_openssl_apply_verification_policy 2009-09-14 12:50:30 +00:00
Moriyoshi Koizumi 6a0402413d - Looks like bug #48697 has already been fixed in RC1. 2009-09-14 04:11:29 +00:00
Felipe Pena 2c388a4eaa - Fixed warnings (Kalle) 2009-09-13 14:42:36 +00:00
Ilia Alshanetsky 9e76501f1e Fixed test 2009-09-13 13:14:11 +00:00
andy wharmby e4c38fc1f0 Add missing SKIPIF 2009-09-11 21:57:04 +00:00
Moriyoshi Koizumi 8f9acfedb3 - Fix bug #49536 (mb_detect_encoding() returns incorrect results when strict_mode is turned on.)
(patch by komura, thanks!)
2009-09-11 21:26:18 +00:00
Ulf Wendel 617b4e9bd1 Fix for bug #49357 (MySQLi extension fails to recognize POINT (spatial) colums).
Do yourself a favour and use mysqlnd. mysqlnd has no isuses here.

If you insist on using the MySQL Client Library (libmysql) I strongly recommend to use mysqli_stmt_store_result() when fetching geometry data using prepared statements. When streaming data, which is the default for prepared statements, ext/mysqli will have to make a guess on the size of the result buffer it needs. The guess is based on a length reported by the MySQL CLient Library (libmysql). The MySQL Client Library reports 4GB (!) for a POINT - a conservative and safe guess. Consequently, ext/mysqli will try to allocate 4GB of RAM. The true (maximum) size of the column is not available before buffering the result on the client using mysqli_stmt_store_result(). If you call mysqli_stmt_store_result(), the result buffers will not get bigger than needed. However, store_result()/buffering is usually not what you want when you ask for prepared statements.
2009-09-11 13:38:47 +00:00
Ulf Wendel 5dfd12ddb7 Stepping back to PHP 5.2.x and earlier logic of allocating even huge pieces of memory for large BLOB types to avoid data truncation. This fixes the test failure of 005.phpt when using MySQL Client
Library (libmysql). The test does pass with mysqlnd because mysqlnd does not have any issues here.
2009-09-11 12:28:47 +00:00
Ulf Wendel c4c11fd38a Fixing a crash which must have existed since PHP 5.0. At least the crash can be reproduced with PHP 5.0.6. The crash happens only when using the MySQL Client Library (libmysql) - it does not happen
when using mysqlnd.
2009-09-11 12:16:56 +00:00
Moriyoshi Koizumi b39126de9a - Fix bug #49528 (UTF-16 strings prefixed by BOM wrongly converted). 2009-09-11 08:22:19 +00:00
Jani Taskinen ccd6e501d1 - Simplified a bit and fixed possible memory corruption and definate leak. 2009-09-10 16:19:42 +00:00
Jani Taskinen 0f1b93a1ca - Fix skips 2009-09-10 15:05:34 +00:00
Ilia Alshanetsky f0c6eaa024 Fixed test 2009-09-10 02:15:08 +00:00
Felipe Pena 8c74835795 - Possible fix for bug #49344 on Windows (pdo_mssql fails to connect,throws PDOException SQLSTATE[] (null) (severity 0)) 2009-09-10 01:20:42 +00:00
Ulf Wendel 416ff5872d Andrey fixed the bug but the test was somewhat borked. Fixing test. 2009-09-09 18:31:00 +00:00
Ulf Wendel 31573498d8 Some extra test coverage for http://bugs.php.net/bug.php?id=48754 . 2009-09-09 17:16:24 +00:00
Ulf Wendel f51e935e96 Tests for http://bugs.php.net/bug.php?id=49357 (libmysql only) . The simple fix suggested in the bug system is not good enough, therefore no fix yet. 2009-09-09 17:10:29 +00:00
Ulf Wendel 5f260e14b2 Next attempt to fix http://bugs.php.net/bug.php?id=48745. Patch by Andrey. 2009-09-09 17:03:03 +00:00
Derick Rethans 95b3863579 - Updated to version 2009.13 (2009m) 2009-09-08 14:03:53 +00:00
Ilia Alshanetsky 62557f1d81 Fixed tests 2009-09-07 14:18:46 +00:00
Ilia Alshanetsky 6d0b9484d9 Fixed bug #49470 (FILTER_SANITIZE_EMAIL allows disallowed characters). 2009-09-07 02:35:25 +00:00
Pierre Joye 3e359ee5b4 - fix #40013, php_uname() doesnt return nodename (MFH) 2009-09-06 22:01:18 +00:00
Felipe Pena b4ee727353 - Fixed bug #49483 (preg_replace 'subject' parameter listed as optional) 2009-09-06 17:41:34 +00:00
Pierre Joye d198853416 - revert last commit, breaks the build and needs test case(s) 2009-09-06 15:56:58 +00:00
Moriyoshi Koizumi e3c94d503a - Fix leaks. 2009-09-06 14:43:09 +00:00
Pierre Joye b24e1609a1 - don't hide previous declaration 2009-09-05 21:16:05 +00:00
Pierre Joye 7f36b2ead4 - don't hide early declaration 2009-09-05 19:00:05 +00:00
Felipe Pena 5c9579c27f - Drop unused var 2009-09-05 18:22:16 +00:00
Pierre Joye eb3801f5b0 - add test for #48746 2009-09-05 18:10:31 +00:00
Pierre Joye 3dd3cbb662 - fix #49274, filter_var does not accept object without a toString implementation 2009-09-05 17:35:26 +00:00
Jani Taskinen f723d368b3 - Fixed bug #49182 (PHP CGI always outputs the shebang line) 2009-09-05 17:07:14 +00:00
Pierre Joye a2cffa2590 - #49464, fix build 2009-09-04 19:53:39 +00:00
Jani Taskinen 4361f2370a I have no idea. This might or might not fix a bug in some branch. At least it works. 2009-09-04 11:02:40 +00:00
Sriram Natarajan ac2d3990f2 - Fixed bug #49447 (php engine need to correctly check for socket API
return status on windows). (Sriram Natarajan)
2009-09-04 07:59:48 +00:00
Pierre Joye 542c087a86 - be sure that we use the user token by default (Christian Wenz) 2009-09-04 06:59:08 +00:00
Johannes Schlüter bcde6a023c This will become 5.3.2, the NEWS file will be merged once 5.3.1 is out 2009-09-03 21:35:17 +00:00
Pierre Joye 511c923785 - #27051, improve fix on xp/2k3 2009-09-03 19:16:50 +00:00
Dmitry Stogov 4016bfcd71 Fixed bug #46074 (Bus error during running PHP CLI under IRIX 6.5.30) 2009-09-03 14:33:11 +00:00
Sebastian Bergmann 853c6de65b Make invokeArgs() error messages consistent with invoke(). 2009-09-03 14:02:51 +00:00
Pierre Joye 8f8220917e - Fix sanity check for the color index in imagecolortransparent 2009-09-03 09:45:56 +00:00
Pierre Joye a8c40d5b3a - #48746, len includes null already 2009-09-02 22:59:58 +00:00
Pierre Joye 4417646d72 - be sure to get all crt dbg errors in stderr 2009-09-02 20:02:17 +00:00
Ilia Alshanetsky 556dde6a34 Fixed return value to comply with tests 2009-09-02 13:07:44 +00:00
Pierre Joye da9aee9703 - #27051, we need the thread token here, not the process 2009-09-02 01:59:17 +00:00
Ilia Alshanetsky bfd9f29773 Fixed typo 2009-09-02 00:14:46 +00:00
Pierre Joye ddab8be51e - #27051, create process as impersonated user 2009-09-01 22:51:31 +00:00
Pierre Joye ad2bb4bcb1 - fix TS build 2009-09-01 19:41:51 +00:00
Pierre Joye 39178112fc - readdir/scandir entry 2009-09-01 17:53:00 +00:00
Pierre Joye b6882eddf6 - #48746, revert previous about volume. Fix volume support to allow all mounted points (with or without drives) 2009-09-01 17:50:59 +00:00
Pierre Joye 12a7305e21 - #48746, fix regression in readdir/scandir and mounted points or junctions on windows 2009-09-01 17:46:17 +00:00
Antony Dovgal 580c51215f add -g along with -O0 2009-09-01 15:13:02 +00:00
Patrick Allaert 74560ac75e Merging last tests made in HEAD 2009-09-01 13:41:18 +00:00
Jani Taskinen b3a23c7d88 fix typo 2009-08-31 21:19:29 +00:00
Jani Taskinen 6bb0603c4f - Fixed zlib.deflate compress filter to actually accpet level parameter. 2009-08-31 21:18:55 +00:00
Zoe Slattery b964306fd7 add missing skipifs 2009-08-31 19:22:29 +00:00
Antony Dovgal 66990d357c nuke duplicated tests 2009-08-31 15:32:39 +00:00
Ilia Alshanetsky 6a73387877 Fixed bug #49361 (wordwrap() wraps incorrectly on end of line boundaries). 2009-08-31 12:28:46 +00:00
Antony Dovgal fe7e08432e export le_socket from ext/sockets 2009-08-31 08:41:03 +00:00
Zoe Slattery 4cc35aeaaf The last of the 2009 testfest tests 2009-08-30 18:18:50 +00:00
Pierre Joye ceb607af13 - Fixed leak on error in popen/exec (and related functions) 2009-08-30 17:13:45 +00:00
Ilia Alshanetsky 30b7102746 Bug #49391 ldap.c utilizing deprecated ldap_modify_s 2009-08-30 15:33:59 +00:00
Zoe Slattery b08e82a736 More tests from 2009 testfest 2009-08-30 12:19:50 +00:00
Zoe Slattery d84163c639 bc math tests from testfest 2009 2009-08-30 11:10:20 +00:00
Zoe Slattery c0c141d0cf server for ftp tests 2009-08-30 09:31:54 +00:00
Zoe Slattery 6a22ec3eda More tests from 2009 testfest 2009-08-30 09:30:13 +00:00
Zoe Slattery 94039c35b9 Fixed to allow for http etc 2009-08-30 08:18:53 +00:00
Antony Dovgal f97132fe1a fix tests 2009-08-29 19:18:27 +00:00
Pierre Joye 45c58fc449 - Fix #48746, mounted volume support & resolution 2009-08-29 12:21:47 +00:00
Jani Taskinen 99d3fe5a0c - Fix news 2009-08-29 01:16:30 +00:00
andy wharmby 037f617a60 New basic network function tests. Tested on Windows, Linux and Linux 64 bit 2009-08-28 22:46:43 +00:00
Zoe Slattery 0e4ce3bcca More tests from 2009 testfest 2009-08-28 14:31:19 +00:00
Andrey Hristov 9bf747605d Fix for bug#48745
mysqlnd: mysql_num_fields returns wrong column count for mysql_list_fields
2009-08-28 09:30:16 +00:00
Pierre Joye 5b39f5ca24 - fix VC6 build 2009-08-27 14:45:41 +00:00
Andrey Hristov 955a611211 Forgot to save the file. Here comes the entry 2009-08-27 13:26:46 +00:00
Andrey Hristov 67c7a37d9b Fixed bug #49027 (mysqli_options() doesn't work when using mysqlnd) 2009-08-27 13:16:39 +00:00
Andrey Hristov 43d33e8a99 Fix for bug#46614 Extended MySQLi class gives incorrect empty() result 2009-08-27 12:41:14 +00:00
andy wharmby 39fd3a2b3c Fix tests. Add missing SKIPIF sections so test do not run when POSIX extension not available. 2009-08-27 12:21:19 +00:00
Pierre Joye 17a4191575 - Fix for #48746, fix mounted volume and junctions when used from vista or later, they are actually prepended with \??\ 2009-08-27 09:39:01 +00:00
Rasmus Lerdorf b73fe4a9b6 This needs to be larger to avoid an overflow on the bit-shifting in this function 2009-08-27 05:05:42 +00:00
Pierre Joye 137b9210f2 - fix #49372, segfault in php_curl_option_url 2009-08-26 22:24:10 +00:00
Pierre Joye 5d017c3e2d - silent warning (fix for #28038) 2009-08-26 21:59:54 +00:00
Pierre Joye 43b4d73dc2 - update 2009-08-26 20:58:06 +00:00
Pierre Joye 0c366503a6 - fix #48746, regression with file operaiton on path with junctions 2009-08-26 20:44:05 +00:00
Pierre Joye 46ba563fe1 - update 2009-08-26 20:03:49 +00:00
Pierre Joye bae3df7505 - fix #44683, popen crashes when an invalid mode is passed (works on 2k8/vista/win7) 2009-08-26 19:57:01 +00:00
Pierre Joye 48d031aa6e - fix build 2009-08-26 19:17:32 +00:00
Zoe Slattery 1c98e49afd Test from 2009 testfest 2009-08-26 17:17:58 +00:00
Pierre Joye c7167ced0b - fix test and use __DIR__ as usual 2009-08-26 16:07:05 +00:00
Ilia Alshanetsky 19f11e401d Fixed variable clobbering 2009-08-26 15:29:06 +00:00
Pierre Joye b4b9615c0b - add win32 version 2009-08-26 14:09:45 +00:00
Dmitry Stogov 60ef4a1ef6 Fixed bug #47273 (Encoding bug in SoapServer->fault) 2009-08-26 14:05:48 +00:00
Pierre Joye 9fe6294cdf - fix test 2009-08-26 09:59:20 +00:00
Pierre Joye bea1685a21 Improved readlink, supress \??\ and use the drive syntax only 2009-08-25 23:51:04 +00:00
Pierre Joye ef582b5397 - update news for my last TSRM fixes 2009-08-25 23:22:52 +00:00
Andrey Hristov 2dcfcf7387 MFH: fix of the fix 2009-08-25 14:32:10 +00:00
Andrey Hristov 27cbcc6078 MFH:
Fix bug#48198 error: 'MYSQLND_LLU_SPEC' undeclared
Possibly fix also :
Bug #48780      mysqlnd compile failure
Bug #46952      mysqlnd compile failure with suncc
2009-08-25 14:25:01 +00:00
Ilia Alshanetsky cc8cacd80e Fixed a compiler warning (variable clobbering) 2009-08-25 12:47:28 +00:00
Pierre Joye eeb9429de5 - be sure that the directory flag is set when we save a path in the cache 2009-08-25 09:32:31 +00:00
Pierre Joye 056f0aea30 - fix #49047, touch may fail on directory 2009-08-25 09:16:53 +00:00
Pierre Joye 4c85f48c89 - fix test when part of the path is a symlink 2009-08-25 00:22:11 +00:00
Pierre Joye 3db4fe36a4 - fix test 2009-08-25 00:14:23 +00:00
Pierre Joye ebd24fc10f - sigh. that too (separate fix). 2009-08-24 20:33:36 +00:00
Pierre Joye 063196c8aa - that part was for a separate fix 2009-08-24 20:32:11 +00:00
Pierre Joye 55d26cab56 - split atime and mtime 2009-08-24 20:27:52 +00:00
Pierre Joye 39ba13c3ad - fix test 2009-08-24 19:19:43 +00:00
Pierre Joye 64918d5168 - fix test 2009-08-24 18:44:59 +00:00
Pierre Joye 30c4b8ff29 - fix test 2009-08-24 18:43:21 +00:00
Ilia Alshanetsky 64b3f7d45b Don't clober variables 2009-08-24 18:40:13 +00:00
Pierre Joye e877e1280c - fix object dir usage (ie: relative path called from a symlinked dir), also fix nmake test for similar cases 2009-08-24 14:18:19 +00:00
Rafael Machado Dohms 609a573b23 Adding tests for imagecolorallocatealpha 2009-08-24 02:50:19 +00:00
Mikko Koppanen e4c11010f1 Fixes a memory leak in ssl streams. The context was not properly freed 2009-08-22 02:31:23 +00:00
Antony Dovgal 193bbbbd59 fix build broken by the fix for bug #49306 2009-08-21 07:46:43 +00:00
Jani Taskinen 767abb9b66 - Fixed bug #49286 (php://input (php_stream_input_read) is broken) 2009-08-20 12:40:15 +00:00
Jani Taskinen 5e733571b3 - WS + CS + sync 2009-08-20 12:17:32 +00:00
Ilia Alshanetsky 019f4f2c22 Fixed bug #49306 (inside pdo_mysql default socket settings are ignored). 2009-08-20 12:13:38 +00:00
Jani Taskinen e1f42c3bbb - Fixed bug #49289 (bcmath module does not compile with phpize configure). 2009-08-20 11:19:20 +00:00
Pierre Joye 05f86b6edb - revert fix for #43327, it breaks system&co functions 2009-08-20 09:03:19 +00:00
Pierre Joye 897083659e - fix NEWS 2009-08-19 18:45:13 +00:00
Pierre Joye b64e5e6bd0 - fixed #43327, wrong return value from mail(), if sendmail_path is wrong 2009-08-19 18:43:46 +00:00
andy wharmby e90f0eda2d New basic test for md5(). Tested on Windows, Linux and Linux 64 bit 2009-08-19 08:39:33 +00:00
Stanislav Malyshev d6ba6c69fb fix crash when unexpectedly passed by-ref parameter is modified 2009-08-18 20:51:49 +00:00
Garrett Serack 827469c94e - Fixed bug #28038 (Sent incorrect RCPT TO commands to SMTP server) 2009-08-18 18:58:33 +00:00
Pierre Joye 26f27ad7a8 - fix NEWS 2009-08-18 15:18:50 +00:00
Garrett Serack ad3f197c55 added missing NEWS entry for bug #49223 2009-08-18 14:38:41 +00:00
Ilia Alshanetsky e6fd4c1fc0 NULL the value after free 2009-08-18 12:44:32 +00:00
Dmitry Stogov f1ab855cfe Fixed ability to call user functions from user opcodes without recursion 2009-08-18 10:12:32 +00:00
Stanislav Malyshev a515259047 cleanup parameter parsing 2009-08-18 00:41:43 +00:00
andy wharmby e9a960bba6 New str_replace() tests. All tested on Windows, Linux and Linux 64 2009-08-17 22:41:30 +00:00
Stanislav Malyshev fa2310b177 fix parameter parsing for SNMP 2009-08-17 22:15:18 +00:00
Garrett Serack 6cec8d8ed3 - Fix for bug #49223 Inconsistency using get_defined_constants(true) 2009-08-17 21:28:22 +00:00
Jani Taskinen 918dea038b - Fix news 2009-08-17 20:14:25 +00:00
Dmitry Stogov b06436f171 Fixed bug #49144 (import of schema from different host transmits original authentication details) 2009-08-17 18:23:48 +00:00
Jani Taskinen 5ae549c8fd - Fixed bug #49236 (Missing PHP_SUBST(PDO_MYSQL_SHARED_LIBADD)). 2009-08-17 17:57:40 +00:00
Jani Taskinen db53d49623 - Fixed bug #49248 by fixing bug #48994 properly 2009-08-17 17:30:32 +00:00
Jani Taskinen 46bd9ed597 - Try disabling zlib.output_compression always for images. (zlib extension might be compiled as shared and not same time as the main PHP binary) 2009-08-17 16:54:39 +00:00
Ilia Alshanetsky 229212c5ca Fixed typo 2009-08-17 14:50:34 +00:00
Derick Rethans 718b7d160d - Updated to version 2009.12 (2009l) 2009-08-17 14:46:58 +00:00
andy wharmby 6c56fd6898 New basic tests for uniqid(). Tested on Windows, Linux and Linux 64 bit 2009-08-17 14:22:02 +00:00
andy wharmby 1cfc27bb8c New basic string tests - includes back-porting a few existing tests back to 5.2. All tested on Windows, Linux and Linux 64 2009-08-17 10:37:30 +00:00
Dmitry Stogov f694c09a35 Fixed bug #49269 (Ternary operator fails on Iterator object when used inside foreach declaration). (Etienne, Dmitry) 2009-08-17 07:40:43 +00:00
Ilia Alshanetsky 4687f6e0ba MFB: Added missing sanity checks around exif processing. 2009-08-16 14:32:32 +00:00
Felipe Pena 88056c6bac - Improved param. parsing for ldap_read(), ldap_search() and ldap_list() 2009-08-15 00:52:31 +00:00
Gwynne Raskind c336c2e5d0 fix broken test (spurious tab characters caused run-tests to spaz) 2009-08-14 09:44:45 +00:00
Dmitry Stogov 85560842c2 Fixed crash in usort() and uasort() in case user comparison function modifyes th
e array.
2009-08-14 06:20:21 +00:00
Rasmus Lerdorf 5ca166b1d2 FIx test after Stas' explode() fix 2009-08-14 01:42:11 +00:00
Etienne Kneuss 6e164aa35a Fix several recursion problems when var_dump'ing self-referencing objects 2009-08-13 22:07:05 +00:00
Felipe Pena a8604e2c20 - Fix ZTS build 2009-08-13 20:10:18 +00:00
Stanislav Malyshev e52517d610 standardise and clean up string functions parameter parsing 2009-08-13 06:44:50 +00:00
Christopher Jones de65a02f1c refactor & WS for local test config change 2009-08-12 14:54:16 +00:00
Scott MacVicar ce24f04694 Fix build on platforms where crypt isn't always available 2009-08-12 09:18:41 +00:00
Scott MacVicar fbcfcfd8e6 Use the correct tense for the NEWS entries 2009-08-12 08:40:05 +00:00
Sriram Natarajan c35177b6a4 - Simplify default flags for Sun C compiler. 2009-08-11 23:45:35 +00:00
Scott MacVicar a090cd733a Fix BC break in mime_content_type() 2009-08-11 23:05:13 +00:00
Stanislav Malyshev b73ac1a57a fix potential memory issue on serialization
# When internal class uses zend_mangle_property_name it's malloc()
# so it should be freed with free()
2009-08-11 22:46:07 +00:00
Scott MacVicar 777fb4f911 Update NEWS entry with some stuff I missed. 2009-08-11 22:45:21 +00:00
Scott MacVicar f8d8723ff1 Update libsqlite to 3.6.17. 2009-08-11 22:22:21 +00:00
Scott MacVicar 050653466f Merge chanes from head to improve DNS on OSX and allow usage of bind9 stuff with the bind8 compatibility layer. 2009-08-11 22:07:35 +00:00
Scott MacVicar 6ffe4b2eff We should check /usr/local/include last 2009-08-11 21:40:15 +00:00
Pierre Joye 73fbaa9ee0 - remove double include 2009-08-11 17:08:23 +00:00
Pierre Joye f578a07128 - fix news 2009-08-11 15:12:38 +00:00
Pierre Joye 33a93474df - fixed bug #49072, feof never returns true for damaged file in zip 2009-08-11 15:12:00 +00:00
Scott MacVicar 94976f4694 Search /usr/include too for those wanting to use a system PCRE. 2009-08-11 12:03:29 +00:00
David Soria Parra 495a5ab005 Add actions for the gitclean target. 2009-08-11 02:21:09 +00:00
Rasmus Lerdorf 5f962f0e38 Oops, didn't mean to remove the -0 here 2009-08-10 23:18:07 +00:00
Kalle Sommer Nielsen 4f3d67ea89 Don't build sqlite as threadsafe if we are doing an NTS build 2009-08-10 16:58:53 +00:00
Etienne Kneuss 4881a9cff4 Fix endless recursion of var_dump() over self-referencing closures 2009-08-10 15:18:13 +00:00
Pierre Joye 80696a6f77 - fix and improve dns' AAAA support on windows 2009-08-10 08:05:11 +00:00
Rasmus Lerdorf 4a607c147d Tweak a few tests that failed on OSX 2009-08-10 06:53:49 +00:00
Ilia Alshanetsky ecfe3ae047 BFN 2009-08-09 15:36:17 +00:00
Rasmus Lerdorf a2c564b9e6 Make these socket tests less Linux-specific 2009-08-09 14:50:51 +00:00
Rasmus Lerdorf ecb9a94472 The system error here may not be "Filename too long". On OSX, for example,
it is "Invalid ioctl" in this case.
2009-08-09 14:20:54 +00:00
Ilia Alshanetsky 3189707681 Fixed bug #49193 (gdJpegGetVersionString() inside gd_compact identifies wrong type in declaration) 2009-08-09 13:15:45 +00:00
Rasmus Lerdorf d02332b43f Skip this test on osx because ceil(-0.5) doesn't return -0 like
everywhere else because of weird optimizations.
2009-08-09 05:16:17 +00:00
Andi Gutmans 4f34f5b0e3 - MFH 2009-08-09 04:46:30 +00:00
Rasmus Lerdorf 53349c7769 Doing a strnatcasecmp(chr(128),chr(255)) is completely non-sensical.
Logically one might think that chr(128) would collate before chr(255) except
this is a case-insensitive comparison and internally we toupper() both args.
toupper(chr(128)) is 128.  There is no upper-case equivalent of this char.
toupper(chr(255)) is 120 so chr(255) collates before chr(128) in this
case-insensitive comparison.  And these are rather bogus characters to feed
to a natsort test anyway.
2009-08-08 14:48:47 +00:00
Rasmus Lerdorf 124a0a5a69 Restore intra-string whitespace collapsing broken in the previous change. 2009-08-08 14:39:34 +00:00
Pierre Joye 4668ca80b5 - [DOC] Fixed #49183 patch for VC6, NAPTR is only available in VC9+ build 2009-08-08 13:01:13 +00:00
Rasmus Lerdorf 2ee8b65e4e Oops, true/false are not defined on Linux. They are on OSX. 2009-08-07 17:32:31 +00:00
Rasmus Lerdorf 934a9037c8 Only skip leading 0's - fixes a test I broke a while ago 2009-08-07 17:14:19 +00:00
Jani Taskinen d5fd4ecc48 - Generated files 2009-08-07 15:45:56 +00:00
Jani Taskinen 6e18b9718d - Fixed bug #48719 parse_ini_*(): scanner mode is not checked for sanity) 2009-08-07 15:44:37 +00:00
Jani Taskinen 7af570b685 - Generated files.. 2009-08-07 14:22:49 +00:00
Jani Taskinen 46505193b2 - Fixed bug #48660 (parse_ini_*(): dollar sign as last character of value fails) 2009-08-07 14:21:38 +00:00
Pierre Joye 35ad8e6c46 - Fixed #49183, dns_get_record does not return NAPTR records 2009-08-07 13:31:09 +00:00
Jani Taskinen 46a94ebaa6 - Fix test 2009-08-06 13:54:21 +00:00
Rasmus Lerdorf 6704038c73 More eol crap 2009-08-06 13:31:03 +00:00
Rasmus Lerdorf 97b1247f2f Fix more tests messed up by svn 2009-08-06 13:26:43 +00:00
Rasmus Lerdorf 50957fe3a5 Fix test 2009-08-06 13:08:13 +00:00
Jani Taskinen d35dc78dd3 - Remove duplicate section 2009-08-06 12:40:36 +00:00
Ilia Alshanetsky 92cb2b634f Make test more generic 2009-08-06 12:23:35 +00:00
Jani Taskinen a93fef41c2 - Fix CS and remove extra strlen() call 2009-08-06 11:11:15 +00:00
Jani Taskinen b124f39010 - Missing svn:ignore 2009-08-06 11:05:07 +00:00
Jani Taskinen dc74c5136e - Restore PHP-5.2 behaviour when passing null inside object scope to get_class() 2009-08-06 11:02:25 +00:00
Rasmus Lerdorf 889e8990a2 The user argument cannot be NULL here - fixes 2 tests 2009-08-06 10:56:00 +00:00
Scott MacVicar c54f6df978 Fix bug #48575 - Use dlopen() just like all the other *nixes instead of OSX specific code. 2009-08-06 01:33:54 +00:00
Scott MacVicar af5df4c813 Change dns.h to php_dns.h, part of my dns cleanup 2009-08-05 23:20:17 +00:00
Kalle Sommer Nielsen d46ca6d3b5 MFH: Fixed compiler warnings in ext/date 2009-08-05 21:25:39 +00:00
Scott MacVicar f1521e18c0 res_search is already checked within ext/standard/config.m4
also check for arpa/nameser_compat.h, OSX puts some old defines in there (not used yet)
2009-08-05 20:01:33 +00:00
Ilia Alshanetsky 5a40aa7217 Minor tweak 2009-08-05 19:45:13 +00:00
andy wharmby 8275f0d254 Basic test for is_resource() and isset() functions. tested on Windows, Linux and Linux 64 2009-08-05 16:10:46 +00:00
andy wharmby e0b0c49ae3 Add new use-case to parse_str() test. Tested on Windows, Linux and Linux 64 2009-08-05 08:54:27 +00:00
andy wharmby 3eaa521ed9 Fix tests 2009-08-04 23:16:25 +00:00
Jani Taskinen b312b3af2e - Revert bad fix for bug #49122 and only enable this when mysqlnd is used 2009-08-04 14:49:33 +00:00
Jani Taskinen b053fb5af6 - Add test (yes, it fails still :) 2009-08-04 12:16:40 +00:00
Jani Taskinen 5d757fddf5 - Fixed bug #48608 (Invalid libreadline version not detected during configure) 2009-08-04 11:20:49 +00:00
Jani Taskinen ca8a41215f - Retouch without my path in the #line directives 2009-08-04 11:15:37 +00:00
Antony Dovgal bb8d9fa656 cosmetic fix 2009-08-04 09:27:15 +00:00
Antony Dovgal 307a2259e9 fix memleak and possible segfault in HTTP fopen wrapper 2009-08-04 09:24:48 +00:00
Jani Taskinen 35f0411352 - Generated files 2009-08-04 02:58:29 +00:00
Jani Taskinen d03720480f - Fixed bug #48768 (parse_ini_*() crash with INI_SCANNER_RAW) 2009-08-04 02:56:26 +00:00
Jani Taskinen a845f681bb - Fix title 2009-08-04 02:55:24 +00:00
Jani Taskinen 206cc46aab - Generated files 2009-08-04 02:35:38 +00:00
Jani Taskinen 1c2b8b6abb - cosmetics 2009-08-04 02:34:32 +00:00
Jani Taskinen ea98d7a72e - Fixed bug #49056 (parse_ini_file() regression in 5.3.0 when using non-ASCII strings as option keys) 2009-08-04 02:34:04 +00:00
andy wharmby 4d8d8d73db New basic tests for get_defined_constants(), get_loaded_extensions() and get_resource_type() functions. Tested on Windows, Linux and Linux 64 bit 2009-08-03 23:12:43 +00:00
andy wharmby cfc417af37 Add missing SKIPIF sections to tests 2009-08-03 22:40:58 +00:00
Felipe Pena 6bebbf1086 - Fixed bug #49095 (proc_get_status['exitcode'] fails on win32) 2009-08-03 19:05:56 +00:00
Jani Taskinen 08f8621a9f - Fixed bug #48994 (zlib.output_compression does not ouput HTTP headers when set to a string value)
# also fixes bug #35936 (ini.zlib.output-compression Documentation :)
2009-08-03 18:15:30 +00:00
Felipe Pena d744463d33 - CS 2009-08-03 15:58:18 +00:00
Andrey Hristov cac5325aac test 2 2009-08-03 14:50:10 +00:00
Andrey Hristov af22257ba4 test 2009-08-03 14:46:11 +00:00
Felipe Pena 80ec45861a - Improved. No ugly copy. (Tony) 2009-08-03 13:26:15 +00:00
Felipe Pena 1648ab5750 - Re-fix stream_is_local() memory leaks 2009-08-03 13:16:24 +00:00
Jani Taskinen 952a193f94 - Fixed bug #48400 (imap crashes when closing stream opened with OP_PROTOTYPE flag) 2009-08-03 13:02:53 +00:00
Jani Taskinen e3d23b959f - Fixed bBug #48873 (Using both --with-libedit and --with-readline cause unknown option warning)
# This isn't worth of NEWS entry, it's just cosmetic
2009-08-03 11:21:44 +00:00
Jani Taskinen 96498c468c - These tests fail if mbstring is enabled, not because of bad libc.. 2009-08-03 10:23:23 +00:00
Uwe Schindler 847f637497 MFH: Fix bug #46020: With Sun Java System Web Server 7.0 on HPUX, #define HPUX 2009-08-03 10:13:49 +00:00
Antony Dovgal 24086c42b6 revert bogus memleak fix causing Valgrind to scream 2009-08-03 08:45:28 +00:00
Rasmus Lerdorf 12bad6796f Fix a few more tests 2009-08-03 05:17:53 +00:00
Rasmus Lerdorf f42081c6a2 Given that we have a DB connection by the time we get here,
mysql_affected_rows() cannot return false.
2009-08-03 04:57:31 +00:00
Rasmus Lerdorf 8af64e6f34 Fix broken json tests in all branches 2009-08-03 04:01:57 +00:00
Rasmus Lerdorf 7e32cc59f7 Give this test more headroom since it needs to allocate a 90M block 2009-08-02 23:08:21 +00:00
Rasmus Lerdorf 1a6cda905a Fix test on 32-bit 2009-08-02 22:37:07 +00:00
Etienne Kneuss 8fd8c65df6 Addref on clone as well 2009-08-02 21:21:46 +00:00
Antony Dovgal 9a7bf0436a fix test 2009-08-02 20:49:20 +00:00
Greg Beaver d6a608f7e1 fix Bug #43857 2009-08-02 19:11:15 +00:00
Jani Taskinen 4397aa9881 - More and more missing svn:ignore entries. 2009-08-02 01:48:27 +00:00
Jani Taskinen 8c88903798 - More missing svn:ignore entries 2009-08-02 01:16:41 +00:00
Jani Taskinen fb61eaf34a - Missing svn:ignore 2009-08-02 01:10:26 +00:00
Jani Taskinen 7b411d7cdf - Fixed bug #49122 (undefined reference to mysqlnd_stmt_next_result on compile with --with-mysqli and MySQL 6.0) 2009-08-02 01:07:38 +00:00
Jani Taskinen 938c1230df - Add missing svn:ignore 2009-08-02 00:27:51 +00:00
Felipe Pena 96d24a59e5 - Fixed paths 2009-08-01 23:26:02 +00:00
Felipe Pena 085067a9aa - Fixed bug #49125 (Error in dba_exists C code)
patch by: jdornan at stanford dot edu
2009-08-01 23:10:11 +00:00
Felipe Pena c75f162165 - Fixed ReflectionClass::getStaticProperties() to do not return the private properties from parent class;
behavior already adopted in ReflectionClass::getDefaultProperties() and ReflectionClass::getProperties().
2009-08-01 20:44:00 +00:00
Felipe Pena ade24c7e35 - Fixed bug #49132 (posix_times returns false without error)
patch by: phpbugs at gunnu dot us
2009-08-01 18:22:31 +00:00
Felipe Pena 8ad9bd1930 - Fixed tests 2009-08-01 15:46:50 +00:00
Derick Rethans e4e7e2b8ee - Added a function to print all CVs from the local scope. 2009-08-01 12:55:36 +00:00
Jani Taskinen be6338014a - Fixed bug #43510 (stream_get_meta_data() does not return same mode as used in fopen) 2009-08-01 03:17:31 +00:00
Jani Taskinen adf8f72f14 - Fixed bug #49092 (ReflectionFunction fails to work with functions in fully qualified namespaces) 2009-08-01 01:45:22 +00:00
Jani Taskinen 0b03346bf8 - Added test for bug #49074 2009-08-01 01:01:43 +00:00
Jani Taskinen edbf332cea - Fixed bug #49074 (private class static fields can be modified by using reflection) 2009-08-01 00:48:04 +00:00
Rasmus Lerdorf 8608857c1a Fix bug #48880
The ini entry was being corrupted because it wasn't being set
on the ACTIVATE and DEACTIVATE stages.
2009-07-31 21:09:45 +00:00
Garrett Serack f56d6b67b5 - Updated fix for bug #48911 (embed sapi misses SAPI_API)
#- Windows didn't need SAPI_API
2009-07-30 20:20:56 +00:00
Felipe Pena f8ee7db001 - Fixed bug #49108 (2nd scan_dir produces seg fault) 2009-07-30 12:06:40 +00:00
Jani Taskinen 96a053288f - Fixed compile failure with older openssl libs (< 0.9.8), fixes bug #49012 2009-07-30 11:32:08 +00:00
Jani Taskinen 10a7066591 - Fix test 2009-07-30 10:53:04 +00:00
Stanislav Malyshev 9fd8469e94 fix for bug #49000 2009-07-30 05:01:53 +00:00
Kalle Sommer Nielsen fa09704cea Test case for bug #42434 2009-07-30 03:54:27 +00:00
Felipe Pena b16441622e - Added missing entries from me 2009-07-30 00:18:48 +00:00
Felipe Pena 99013d8321 - Fixed memleak in stream_is_local() 2009-07-29 19:09:17 +00:00
Greg Beaver 93054e9b38 oops, released as beta instead of stable, Gwynne: svn rm tags/RELEASE_2_0_0 fails, perhaps this can be allowed? 2009-07-29 16:29:30 +00:00
Felipe Pena 9e253ac6e7 - Fixed memleak on Phar::mungServer() 2009-07-29 16:17:57 +00:00
Derick Rethans 24b973cafc - Fixed bug #45554 (Inconsistent behavior of the u format char). 2009-07-29 15:34:59 +00:00
Johannes Schlüter 3e0d13859a Remove .project files (doesn't exist in trunk) 2009-07-29 13:51:52 +00:00
Ilia Alshanetsky 06a2acc527 Fixed bug #45141 (setcookie will output expires years of >4 digits). 2009-07-29 13:44:16 +00:00
Greg Beaver e29bccaae2 make phar tests pass in php 5.2, prepare for release of pecl/phar 2.0.0, merge Gwynne's TSRM fix to phar_object.c to other branches 2009-07-29 10:14:04 +00:00
Greg Beaver 5c4609021f sync run-tests.php with revision 286499 changes making php 6 tests with EXPECTF that can have arbitrary binary data in output work 2009-07-29 10:06:55 +00:00
Jani Taskinen 4fbc6a54ec - Fix news 2009-07-29 09:10:52 +00:00
Moriyoshi Koizumi 7ce2bff511 * Fix bug #48645 (mb_convert_encoding() doesn't understand hexadecimal html-entities) 2009-07-29 04:44:08 +00:00
Stanislav Malyshev 9e445b043b report fix for bug #49065 2009-07-29 00:18:19 +00:00
Stanislav Malyshev d1a16fc86d fix extension functions disabling (bug #49065) 2009-07-29 00:17:10 +00:00
Hannes Magnusson cc23b8d600 MFH: Fixed bug #44144 & add test 2009-07-28 22:25:31 +00:00
Jani Taskinen f48cab06ff - Fixed bug #48971 (Missing ZEND_NS_NAMED_FE macro) 2009-07-28 21:12:42 +00:00
Jani Taskinen 907763a20a - Fixed bug #48911 (embed sapi misses SAPI_API) 2009-07-28 21:07:43 +00:00
Kalle Sommer Nielsen b5b8303194 Fixed bug #42434 (ImageLine w/ antialias = 1px shorter)
- patch by wojjie at gmail dot com
2009-07-28 20:35:06 +00:00
Sriram Natarajan 34d8ee27cc - 48182 ssl handshake fails during asynchronous socket connection 2009-07-28 19:28:08 +00:00
Jani Taskinen 48a514673a - Skip some tests in 32bit systems, add cleanups where missing 2009-07-28 19:16:02 +00:00
Derick Rethans d936dd1802 - Updated to version 2009.11 (2009k) 2009-07-28 15:25:16 +00:00
Rasmus Lerdorf ee01362c98 Get rid of this platform-specific test 2009-07-28 14:56:08 +00:00
Dmitry Stogov ff766c1de2 Fixed bug #48912 (Namespace causes unexpected strict behaviour with extract()) 2009-07-28 12:35:27 +00:00
Antony Dovgal 421b6e0f2c configure dependency has to be optional as well 2009-07-28 08:59:08 +00:00
Antony Dovgal 75fc702162 fix segfault in session/tests/031.phpt by adding optional extension
dependency (php_hash_hashtable has to be initialized when setting
session.hash_function)
2009-07-28 08:54:23 +00:00
Takeshi Abe 59ff212783 added test for #43073 2009-07-27 22:11:43 +00:00
Takeshi Abe 366c261cce MFH: fixed #48732 (TTF Bounding box wrong for letters below baseline) and #48801 (Problem with imagettfbbox) 2009-07-27 15:06:28 +00:00
Felipe Pena 28add3cbf3 - MFH: Cosmetic changes 2009-07-27 14:11:53 +00:00
Jani Taskinen 2539da79ba - HEAD and PHP_5_2 have it like this, PHP_5_3 should not be different! 2009-07-27 09:23:06 +00:00
Kalle Sommer Nielsen 82cfb15677 Fixed bug #48872 (string.c: errors: duplicate case values) (Only in PHP_5_3) 2009-07-27 07:14:40 +00:00
Scott MacVicar 87dbefa03b MFH: Add error constant when json_encode detects an invalid UTF-8 sequence. 2009-07-27 03:43:38 +00:00
Felipe Pena 837732acc5 - Fix ZTS build 2009-07-26 23:44:59 +00:00
Jani Taskinen e2d044db40 - Regenerated 2009-07-26 23:22:27 +00:00
Jani Taskinen 8877a37f3e - Fixed bug #49064 (--enable-session=shared does not work: undefined symbol:
php_url_scanner_reset_vars). (Jani)

# Note: This does not exist in PHP_5_2. Merged there as well to keep these files synced.
2009-07-26 23:20:34 +00:00
Jani Taskinen ae492897c6 - Removed unused code (replaced long time ago by url_scanner_ex.* 2009-07-26 22:59:46 +00:00
Antony Dovgal d132b9985d fix test 2009-07-26 19:59:04 +00:00
Antony Dovgal 6d04f1a141 fix test 2009-07-26 19:53:23 +00:00
Antony Dovgal 3af4a22a3c fix test 2009-07-26 19:51:24 +00:00
Antony Dovgal 2fffc2b06c fix test 2009-07-26 19:45:38 +00:00
Rasmus Lerdorf 0e2af69d55 Not binary 2009-07-26 19:29:11 +00:00
Ilia Alshanetsky 899cb30275 Fixed bug #49026 (proc_open() can bypass safe_mode_protected_env_vars
restrictions).
2009-07-26 15:14:18 +00:00
Greg Beaver 1d50248937 make cache_list tests pass in php 6 2009-07-26 03:07:23 +00:00
Greg Beaver e8d80c8bfd fix buildFromIterator with filesystem iterator in php 6 2009-07-26 02:43:14 +00:00
Greg Beaver 96dd763df4 fix generation of phar.phar in php 6, fix remaining tests broken by PHP 6 (and not by spl/other stuff in php6) 2009-07-26 02:18:50 +00:00
Rasmus Lerdorf a37d7529ba The test for bug #46739 doesn't actually need the remote
responder, so get rid of the skipif in PHP 5, and it was
broken in PHP 6 because the keys in the curl_info array 
were not unicode.  All internally-generated arrays should
have unicode keys.
2009-07-26 02:12:38 +00:00
Greg Beaver 66908185b7 fix basic phar test issues, failing tests phar_oo_009.phpt and phar_buildfromiterator10.phpt are due to bugs in Spl 2009-07-26 01:24:12 +00:00
Greg Beaver 732f4af082 re-organize slightly, fix more php6-only compile warnings in php_stream_copy_to_mem 2009-07-26 01:03:47 +00:00
Greg Beaver 571dfc1e49 fix zip front controller tests for php6 2009-07-26 00:39:40 +00:00
Greg Beaver 39125fdd47 fix tar front controller tests for php6 2009-07-26 00:35:17 +00:00
Greg Beaver 7761a39314 fix more tests for php6 2009-07-26 00:28:50 +00:00
Greg Beaver cfbd6d852f more php6 fixes for phar, fix more tests 2009-07-25 23:45:45 +00:00
Kalle Sommer Nielsen 42afb1f209 BFN #48189 2009-07-25 23:40:22 +00:00
Kalle Sommer Nielsen 310bfadf3c Fixed bug #48189 (ibase_execute error in return param) 2009-07-25 23:37:47 +00:00
Jani Taskinen bc8155d737 - Fix tests to be more comptatible AND to test what they are supposed to test 2009-07-25 22:20:18 +00:00
Felipe Pena badd102c83 - Opss, fix the fix... 2009-07-25 21:56:31 +00:00
Felipe Pena 7c30b3c2dc - Fix test 2009-07-25 21:52:33 +00:00
Rasmus Lerdorf 5471bd7f6a Fix dumb typo in the skipif 2009-07-25 21:37:04 +00:00
Jani Taskinen 555b177c83 - Fix this again :) 2009-07-25 21:07:02 +00:00
Jani Taskinen 1f0c710ef2 - Add missing EXPERIMENTAL note (this thing REALLY is experimental at best..) 2009-07-25 20:58:51 +00:00
Jani Taskinen 776cb8a669 - Fixed bug #48637 ("file" wrapper is overwritten when using --with-curlwrappers)
# Also fixes bug #48603, basically same issue.
2009-07-25 20:44:19 +00:00
Felipe Pena 57140f7db0 - Making Valgrind happy 2009-07-25 20:39:01 +00:00
Derick Rethans ee084018e7 - Updated to version 2009.11 (2009k) 2009-07-25 15:14:28 +00:00
Jani Taskinen 5e22b47d05 - Fix bad environment usage 2009-07-25 14:52:52 +00:00
Jani Taskinen 1ca46f5ddd - Fix test when responder is something like lighttpd 2009-07-25 14:49:17 +00:00
Jani Taskinen 57d04afff0 - Fix test 2009-07-25 14:20:38 +00:00
Jani Taskinen 4f760d11f8 - Fixed bug #49052 (context option headers freed too early when using --with-curlwrappers) 2009-07-25 13:00:25 +00:00
Jani Taskinen ee992d9ff7 - Fix tests .oO(why are there so many things broken in this branch..?) 2009-07-25 00:43:42 +00:00
Jani Taskinen dad7c68b27 - Fix test 2009-07-25 00:35:25 +00:00
Greg Beaver 7d114c2e7f merge from HEAD changes to test 2009-07-24 23:55:49 +00:00
Greg Beaver e8756a3c3c begin work on making phar php6-ready 2009-07-24 23:53:24 +00:00
Moriyoshi Koizumi 4390903e75 - MFH (using svn merge; it seems I won't need to repeat the commit message anymore) 2009-07-24 23:48:58 +00:00
Greg Beaver aa65955c8c update test to work in php 6 2009-07-24 22:09:36 +00:00
Greg Beaver 96740db9ab fix PHAR_ARG_INFO #define to work with PHP major versions > 5 2009-07-24 21:27:51 +00:00
Jani Taskinen 2d549b7bdf - Fixed bug #48835 (Deprecated php.ini options in old php.inis makes "make test" to fail) 2009-07-24 20:24:12 +00:00
Jani Taskinen d6091b2521 - Fix test 2009-07-24 19:51:55 +00:00
Jani Taskinen 4892c04168 - Missing svn:ignore 2009-07-24 19:44:07 +00:00
Greg Beaver cd23986a7a fix --CLEAN-- of all.phpt, remove unnecessary check in phar_convert_again.phpt, and fix signature generation and checking for zip to also include central directory up to the signature, implement better check for end-of-zip at signature verification 2009-07-24 19:40:41 +00:00
Greg Beaver d68cc96ebd merge unmerged changes between branches, remove unnecessary test for zip signature failure in badparameters.phpt 2009-07-24 17:07:05 +00:00
Derick Rethans fb5d7e4748 - Added - to the list of "unsafe" characters so that the pecl dir can have the
- character in the name.
2009-07-24 16:30:48 +00:00
Greg Beaver e1962da708 fix minor memory leak 2009-07-24 16:21:40 +00:00
Greg Beaver 42e0e5dfb7 fix signature generation/validation for zip archives by phar extension, fix a few edge cases where memory was leaked on error conditions by missing efree() 2009-07-24 15:42:17 +00:00
Rafael Machado Dohms f7873d0aee Adding tests for imagesetthickness, basic and errors for both params, and complementing imagetruecolortopalette with out of bound params 2009-07-24 03:06:05 +00:00
Jani Taskinen b991dfdb1f - Fixed tests to be more portable 2009-07-23 19:06:56 +00:00
Jani Taskinen cce5a75b26 - Add missing svn:ignore property 2009-07-23 17:38:03 +00:00
Greg Beaver 115e370d6e fix PHP Bug #48377: error message unclear on converting phar with existing file 2009-07-23 17:04:24 +00:00
Greg Beaver 09b8bbc97f new phar test for zip with data descriptor in local file header 2009-07-23 16:40:47 +00:00
Greg Beaver 1723b16898 fix PHP bug #48791: open office files always reported as corrupted 2009-07-23 16:30:27 +00:00
Jani Taskinen af0c2c4760 - Fix test 2009-07-23 16:25:07 +00:00
Greg Beaver 01659b8b7c fix php bug #48783: make install will fail saying phar file exists 2009-07-23 15:48:04 +00:00
Greg Beaver 3bf5d05047 fix PHP bug #48740: PHAR install fails when INSTALL_ROOT is not the final install location 2009-07-23 15:40:10 +00:00
Jani Taskinen 6dc86facd0 - Fixed bug #48802 (printf() returns incorrect outputted length) 2009-07-23 14:54:04 +00:00
Jani Taskinen 855034b955 - Fixed bug #49032 (SplFileObject::fscanf() variables passed by reference) 2009-07-23 14:42:46 +00:00
Ilia Alshanetsky b89985ac55 Fixed bug #49014 (dechunked filter broken when serving more than 8192 bytes in
a chunk)         

# Original patch by andreas dot streichardt at globalpark dot com
2009-07-23 12:18:40 +00:00
Greg Beaver 4744223055 fix Bug #49021: phar tar signature algorithm reports as Unknown (0) in getSignature() call 2009-07-22 20:21:39 +00:00
Greg Beaver 667c59abd6 Fix Bug #49020: phar misinterprets ustar long filename standard 2009-07-22 19:51:37 +00:00
Greg Beaver fb3adb16fc don't package up subversion directory in phar.phar 2009-07-22 18:37:32 +00:00
Greg Beaver d967e29541 fix php bug #49018 (phar tar stores long filenames with prefix/name reversed) 2009-07-22 18:13:38 +00:00
Patrick Allaert 9b9363af5b MFH: The exact error message might differ (it's "Not owner" on Solaris) (r265951) 2009-07-22 12:20:56 +00:00
Rasmus Lerdorf 7bba051009 Fix bug #49003 by tweaking the fix to bug #44929 slightly.
A 0 followed by any punctuation is now significant instead
of just 0's in front of a period.
2009-07-21 21:15:48 +00:00
Sriram Natarajan 27dccf7ac0 - Fixed bug #48774 (SIGSEGVs when using curl_copy_handle()). 2009-07-21 20:32:32 +00:00
Ilia Alshanetsky 160c88cfa1 Fixed bug #48962 (cURL does not upload files with specified filename). 2009-07-21 15:56:08 +00:00
Zoe Slattery 9ff94c82df Remove empty sections. Fix bad use of --SKIP-- 2009-07-21 14:02:24 +00:00
Jani Taskinen d671793295 - There is only one Makefile that needs removing 2009-07-21 13:57:33 +00:00
Jani Taskinen 36b94bea86 - Fixed problem with vcsclean which caused it not to really clean whole tree 2009-07-21 12:01:26 +00:00
Johannes Schlüter 569869855e CVS->SVN 2009-07-20 14:34:09 +00:00
Gwynne Raskind 3832578522 revert Nuno's commit of my patch 2009-07-20 11:48:04 +00:00
Jani Taskinen c0aab038ba Fixed bug #48929 (Double \r\n after HTTP headers when "header" context option is an array) 2009-07-20 10:54:37 +00:00
Jani Taskinen a56e81fe13 - Removed unused parts 2009-07-20 10:51:40 +00:00
Kalle Sommer Nielsen 5c1d0c3eab Fix Windows build 2009-07-20 04:31:07 +00:00
Rafael Machado Dohms 12ef53b204 Removing deprecated test replaced by individual tests for imageistruecolor and imagetruecolortopalette 2009-07-20 03:48:55 +00:00
Rafael Machado Dohms 23a423aea0 Separating and complementing imageistruecolor and imagetruecolortopalette tests 2009-07-20 03:47:29 +00:00
Felipe Pena 00054412e4 - Fixed bug #48057 (Only the date fields of the first row are fetched, others are empty)
patch by: info at programmiernutte dot net
2009-07-20 00:17:24 +00:00
Felipe Pena 2507033c79 - Fixed bug #48980 (Crash when compiling with pdo_firebird) 2009-07-19 23:33:50 +00:00
Felipe Pena 9f8ff2f968 - Revert my mistake 2009-07-19 22:46:03 +00:00
Felipe Pena a0e5576f23 - Fixed module check (Related to bug #48785) 2009-07-19 20:53:26 +00:00
Felipe Pena cdf9cf3033 - Fixed bug #48773 (Incorrect error when setting PDO::ATTR_STATEMENT_CLASS with ctor_args)
[HEAD only]
2009-07-19 18:55:31 +00:00
Pierre Joye 4028b77c34 - #49763 entry (and test commit in multiple branches :) 2009-07-19 17:02:03 +00:00
Felipe Pena 0c9a16ffb7 - New tests 2009-07-19 16:31:43 +00:00
Christopher Jones defb5d1f7d MFH: Bug #48722 (Update OCI8 --enable-sigchild warning) 2009-07-19 16:27:59 +00:00
Christopher Jones 085daea052 make it easier for maintainers to set un/pw in environments that don't pass shell variables 2009-07-19 16:08:24 +00:00
Christopher Jones ce919053f3 Fix expected output to match final PHP 5.3 deprecated behavior 2009-07-19 16:06:19 +00:00
Christopher Jones 4c12299c08 Reduce Oracle version-dependent diffs. Make PHP 5/6 compatible 2009-07-19 16:05:08 +00:00
Pierre Joye 38bb4c1099 - MFB: Fix #48763, create corrupt archive 2009-07-19 15:32:09 +00:00
Pierre Joye f031901b1b - WS 2009-07-19 15:20:48 +00:00
Nuno Lopes 7655762e40 ignore a few generated files 2009-07-19 14:57:28 +00:00
Nuno Lopes 4526eee6db Add support for proc_open()'s bypass_shell feature for Unix systems (slightly modified patch from Gwynne) 2009-07-19 14:52:27 +00:00
Felipe Pena ea2abdc378 - Removed unnecessary strlen() call and if statement. 2009-07-19 14:36:16 +00:00
Felipe Pena 91841e0987 - New test 2009-07-19 03:36:46 +00:00
Felipe Pena d49b4fa597 - Tests related to bug #48770 2009-07-19 03:25:49 +00:00
Rafael Machado Dohms d7276e46e1 Commiting imagecreatetruecolor tests for PHP_5_3 branch 2009-07-19 01:42:08 +00:00
Pierre Joye a134024ea3 - let try to be smart, read the bug report.... 2009-07-18 17:06:21 +00:00
Zoe Slattery 98c8c6738a Added comment to XFAIL 2009-07-18 17:00:53 +00:00
Zoe Slattery 3c3c9d544e Adding explanation 2009-07-18 16:53:54 +00:00
Zoe Slattery d93cf1f610 removing empty XFAIL sections 2009-07-18 16:41:16 +00:00
Zoe Slattery d09ab2ab42 Removing unnecessary SKIPIF sections 2009-07-18 13:46:08 +00:00
Zoe Slattery 546a927dc8 fixing paths in INI section 2009-07-18 13:14:21 +00:00
Rasmus Lerdorf 15b0218437 Fix TTF Files 2009-07-18 03:18:36 +00:00
andy wharmby fbea458808 New cURL tests. Tested on Windows, Linux and Linux 64 bit 2009-07-17 20:46:30 +00:00
andy wharmby f3d407964e Fix cURL tests 2009-07-17 20:44:50 +00:00
Alexey Zakhlestin d3e8085c28 removing test. this one tests system-specific behavior, not something implemented in php 2009-07-17 17:17:57 +00:00
Alexey Zakhlestin edb55a4166 fixed tests. money_format() is implemented in underlying system, not in php. So, we shouldn't test for actual values returned. They are different between systems 2009-07-17 15:56:36 +00:00
Gwynne Raskind 2673b9be38 MFH: fix crash when session hash function generated long hashes with hash_bits_per_character larger than 4 2009-07-17 14:21:59 +00:00
Felipe Pena c803fbe66c - Fix test 2009-07-17 14:04:06 +00:00
Gwynne Raskind c08473090c MFH: document the hash name functionality available since 5.3 2009-07-17 13:22:56 +00:00
Jani Taskinen eb4446a812 - Add missing file exts 2009-07-17 12:31:58 +00:00
Jani Taskinen 5e76a611df - Fixed bug #48947 (vcsclean does not remove all created files) 2009-07-17 12:14:21 +00:00
Jani Taskinen 8503b66cb6 CS 2009-07-17 11:49:50 +00:00
Jani Taskinen 785f1bd170 - Fixed bug #47481 (natcasesort() does not sort extended ASCII characters correctly) 2009-07-17 11:13:51 +00:00
Zoe Slattery 4e0b75042a fix tests 2009-07-17 09:28:19 +00:00
Zoe Slattery 6917639217 fix tests 2009-07-17 09:04:52 +00:00
Zoe Slattery 29b557ae61 fix tests 2009-07-17 08:18:27 +00:00
Rasmus Lerdorf 4fdd6bacb7 Multi-branch test commit to see if email notifications are working 2009-07-17 04:26:33 +00:00
Stanislav Malyshev 326cb1bb0f fix memleak 2009-07-17 00:48:59 +00:00
Felipe Pena f4f825a7a5 - MFH: Fixed bug #48893 (Problems compiling with Curl) 2009-07-17 00:25:54 +00:00
Felipe Pena 520591607e - MFH: Fixed bug #48762 (IPv6 address filter still rejects valid address) 2009-07-16 23:29:36 +00:00
Jani Taskinen ecdd8ebbb9 MFH 2009-07-16 12:25:17 +00:00
Gwynne Raskind 24f9b1bd1e one more attempt at ridding us of some of those annoying mime types 2009-07-16 08:10:50 +00:00
Gwynne Raskind ad3dd7a718 MFH: dropped some more mime types, svnclean -> clean for multiple VCS 2009-07-16 04:50:06 +00:00
Felipe Pena 2adf42f890 - Removed trailing zeros on double to string conversion (noticed on #48924) 2009-07-16 00:59:34 +00:00
Rasmus Lerdorf 0f004989e9 Buffer handling fixes 2009-07-16 00:04:59 +00:00
Stanislav Malyshev 67f846c4c3 fix ini_restore problem 2009-07-16 00:02:19 +00:00
Stanislav Malyshev 1db1d4ccc8 fix freed mem reference 2009-07-15 23:55:50 +00:00
Rasmus Lerdorf 33c42127f6 MFH 2009-07-15 19:09:15 +00:00
Pierre Joye 6f9c84f844 - cvs > svn 2009-07-15 17:08:50 +00:00
Pierre Joye 9c18f65572 - cvs > svn 2009-07-15 16:52:21 +00:00
Alexey Zakhlestin 3e326b91e7 fix tests corrupted by svn's eol-style=native 2009-07-15 13:44:14 +00:00
Alexey Zakhlestin 07ae04de31 MFH: fix broken test 2009-07-15 10:06:38 +00:00
Felipe Pena aabf4dc30f - MFH: Fixed bug #48913 (Too long error code strings in pdo_odbc driver) 2009-07-15 02:36:08 +00:00
Felipe Pena 0225d5ef80 - MFH: Fixed bug #48913 (Too long error code strings in pdo_odbc driver) 2009-07-15 02:32:43 +00:00
Felipe Pena bffd08072c - MFH: Fixed bug #48899 (is_callable returns true even if method does not exist in parent class) 2009-07-15 01:11:24 +00:00
Gwynne Raskind 912131b304 kill bad mime types 2009-07-14 21:51:40 +00:00
Gwynne Raskind 1020d90072 MFH: CVS->SVN 2009-07-14 21:49:44 +00:00
Stanislav Malyshev 41d1c12978 fix build 2009-07-14 18:57:55 +00:00
David Soria Parra 758eca1145 MFH: - cvs->svn 2009-07-14 09:55:55 +00:00
Stanislav Malyshev c7eb83def9 add intl option 2009-07-13 23:57:20 +00:00
David Soria Parra 0391dea5be MFH: Fix date warning by setting the default timezone to UTC 2009-07-13 23:56:38 +00:00
Pierre Joye 81461c78ef - remove app/js mime 2009-07-13 22:02:28 +00:00
Rasmus Lerdorf 5e118fdc1a cvs->svn 2009-07-13 19:16:13 +00:00
Rasmus Lerdorf fe8bed8394 svn propdel svn:mime-type build/buildcheck.sh
cvs->svn
2009-07-13 17:36:49 +00:00
Pierre Joye 06033b5845 - rename to svn 2009-07-13 16:10:59 +00:00
Pierre Joye 95601a1f16 - rename to svn 2009-07-13 16:10:29 +00:00
Pierre Joye dffe3d8d21 - cvs to svn changes 2009-07-13 16:02:34 +00:00
Gwynne Raskind 2b62ffdba7 fix a huge number of wrong MIME types. UGH. 2009-07-13 12:15:13 +00:00
Pierre Joye 8faa7980f3 - remove ZendEngine* detection, we always have Zend now (svn) 2009-07-13 00:26:52 +00:00
Gwynne Raskind 627061c6a3 cvsclean -> svnclean 2009-07-12 19:43:27 +00:00
Ilia Alshanetsky c71358379d Fixed a possible crash inside OnUpdateErrorLog() when restoring an empty value
Avoid pointless safe_mode/open_basedir checks on OnUpdateMailLog() if value is empty
2009-07-12 16:38:14 +00:00
Rasmus Lerdorf 28356530cd Test commit 2009-07-12 14:16:30 +00:00
Rasmus Lerdorf 1f53affe7a MFB cvs->svn 2009-07-11 04:24:45 +00:00
David Soria Parra 098d0fcf55 MFH: Get rid of PHP 4 related buildconf and moving around directories. As we switched to svn ZE2 is in Zend by default. 2009-07-11 01:55:41 +00:00
Ilia Alshanetsky ba0e26f2c1 Fixed typo 2009-07-09 16:50:45 +00:00
Stanislav Malyshev 14f163fd80 report fix 2009-07-09 00:27:28 +00:00
Stanislav Malyshev 4bb8672039 fix mail.log openbasedir interaction with .htaccess 2009-07-09 00:21:17 +00:00
Felipe Pena fb235dc07f - MFH: Fixed bug #48854 (array_merge_recursive modifies arrays after first one) 2009-07-08 18:23:08 +00:00
Pierre Joye ddb869d674 - skip on windows 2009-07-08 10:42:06 +00:00
Pierre Joye e98be67b11 - windows version 2009-07-08 10:41:50 +00:00
Pierre Joye 528ede93df - windows version 2009-07-08 10:14:49 +00:00
Pierre Joye d8b465caae - skip on win, different error msg 2009-07-08 10:13:27 +00:00
Pierre Joye 8f7ce3ae3d - fix test (mtime only is changed) 2009-07-08 09:59:33 +00:00
Ilia Alshanetsky c16b7585f6 Fixed bug #48788 (RecursiveDirectoryIterator doesn't descend into symlinked
directories).

[DOC]

To avoid breaking how existing code works a new constant is introduced for
the RecursiveDirectoryIterator() that directs the code to follow symlinks.
This constant RecursiveDirectoryIterator::FOLLOW_SYMLINKS can be passed a
flag to the constructor to trigger symlink following.
2009-07-08 03:06:59 +00:00
David Soria Parra 2331863a5c MFH: Reset TZ environment variable. Some tests assume that it's not set. 2009-07-07 23:05:17 +00:00
Pierre Joye ba035b47fd - #46682 2009-07-07 22:17:54 +00:00
Pierre Joye 7a41848cc6 - #46882, touch() atime field returns different value 2009-07-07 22:13:32 +00:00
Pierre Joye f6016c64e5 - fixed, remove xfail 2009-07-07 22:04:42 +00:00
Pierre Joye 18174e18c9 - fix tests, 5.3 supports these things now on windows. Also shorter tests would be REALLY nice (or use iteration numbering) 2009-07-07 21:50:38 +00:00
Stanislav Malyshev e865c0b4ee merge errors support 2009-07-07 21:25:46 +00:00
Jani Taskinen 87f9d62861 - Fixed bug #48247 (Infinite loop and possible crash during startup with errors) 2009-07-07 16:42:11 +00:00
Pierre Joye c408f289be - #45905 2009-07-07 15:17:36 +00:00
Jani Taskinen 8ac02f5926 Check your editors, this is ascii only file! 2009-07-07 12:19:05 +00:00
David Soria Parra 8af2635eab MFH: Adjust tests. The order in which notices appear is platform dependend as the function call ordering in parameter lists is not defined in C. 2009-07-07 12:11:53 +00:00
Ulf Wendel 759cc732cf MFH. Fixing tests to run with SQL_MODE=ANSI_QUOTES as well. 2009-07-07 11:32:17 +00:00
Pierre Joye c79f7e3f6b - WS 2009-07-07 10:54:44 +00:00
Pierre Joye b38fde4694 - #45905, imagefilledrectangle() clipping error 2009-07-07 10:49:38 +00:00
Felipe Pena 4f0c8ef124 - MFH: New tests (WurzbrugUG testfest) 2009-07-07 01:17:46 +00:00
Ilia Alshanetsky 0e05af63ed MFB: Fixed bug #48808 (FILTER_VALIDATE_EMAIL allows some invalid e-mail
syntaxes)
2009-07-07 00:44:20 +00:00
Felipe Pena 44bf860516 - MFH: Fixed compiler warning 2009-07-07 00:02:34 +00:00
Stanislav Malyshev 387fbb2d4e fix protos 2009-07-06 23:48:27 +00:00
Pierre Joye 43be94f2be - forgot to add the author of the initial patch 2009-07-06 23:47:16 +00:00
Pierre Joye 4645ef2a49 - #48116 2009-07-06 23:38:03 +00:00
Stanislav Malyshev bfdeea808a add test 2009-07-06 23:28:16 +00:00
Pierre Joye f37fabb803 - #48116, restore 0.x compability, thx config.cache. 2009-07-06 23:26:23 +00:00
Pierre Joye c82245dea7 - #48116, fix build against openssl 1.0 2009-07-06 23:02:18 +00:00
andy wharmby 6e96ae79a3 Fix test 2009-07-06 19:35:01 +00:00
Pierre Joye 4186a6e57c - #48771 2009-07-06 17:48:02 +00:00
Ulf Wendel be7dd36297 MFH. Enabling test as requested by the skipif comment... it does pass when slightly modified. 2009-07-06 15:53:14 +00:00
Ulf Wendel 4786cfa4bf MFH. Fixing mysqlnd version test to run some four previously skipped tests. There is no proper way to check the mysqlnd version. The best one can do is adapt the tests to what PHP 5.3 and PHP 6.0 return today. 2009-07-06 15:45:19 +00:00
Ulf Wendel 556feffbd4 MFH. Adapting (old) tests to current PHP 6 semantics - s/unicode.semantics test/version_compare 2009-07-06 15:08:13 +00:00
Ulf Wendel f611876b2e MFH. Adding --CLEAN-- sections to all ext/mysqli tests 2009-07-06 14:39:10 +00:00
Pierre Joye fa38267833 - MFH: #48771, rename() between drives error: No error 2009-07-06 08:56:23 +00:00
Ilia Alshanetsky dac8acd1c1 MFB: Fixed bug #48718 (FILTER_VALIDATE_EMAIL does not allow numbers in domain
components).
2009-07-05 16:08:05 +00:00
Zoe Slattery b37019f963 fix test 2009-07-05 14:46:08 +00:00
Felipe Pena fc4e43ec3c MFH:
- Added missing methods' arginfo (for void params)
- Fixed arginfos:
  - MultipleIterator::__construct
  - MultipleIterator::setFlags      (Thanks Philip!)
  - SplFixedArray::__construct
2009-07-04 20:31:27 +00:00
Antony Dovgal 5725982614 stop polluting my /tmp dir 2009-07-03 14:02:28 +00:00
Ulf Wendel b90a412302 MFH. ... to play with large data sets. Currently its only 10MB in size to keep the test runtime short. However, its easy to increase, if you want to test large data sets 2009-07-03 12:14:39 +00:00
Jani Taskinen 0f60a5d540 Nuke "hotfix", fix the real issue.. 2009-07-03 11:42:11 +00:00
Patrick Allaert 17aa260703 MFH: Tests for ext/ldap from PHPBelgium TestFest 2009-07-03 09:21:31 +00:00
Ulf Wendel f31fc6df21 MFH. Global s/ini_get('unicode.semantics')/version check/ . Early PHP 6 times are gone. I hope unicode logic will not change any more 2009-07-03 08:42:46 +00:00
Ulf Wendel 26e9c79d4c MFH. Fixing borked test, again new run-tests.php has found it... Fails with HEAD, passes with 5.3 2009-07-03 08:25:25 +00:00
Jani Taskinen a6cbd01d99 - Fixed bug #48782 (CFLAGS killed during configure) 2009-07-03 07:59:53 +00:00
Ulf Wendel 5ac0398f73 MFH. Fixing borked test - thanks again new run-tests.php tool (and team). 2009-07-03 07:50:10 +00:00
Felipe Pena 8715a7f12e - New tests (DutchUG testfest) 2009-07-03 00:09:08 +00:00
Stanislav Malyshev 9937006ac5 bugfix 2009-07-02 22:36:16 +00:00
Ilia Alshanetsky 305f4984d2 MFB: Fixed bug #48733 (CURLOPT_WRITEHEADER|CURLOPT_FILE|CURLOPT_STDERR warns
on files that have been opened with r+).
2009-07-02 13:42:16 +00:00
Lukas Smith 84dcca9f48 MFH: removed references to track_vars, since this option doesnt exist since ages 2009-07-02 13:34:38 +00:00
Ulf Wendel 5147f6cf8d MFH. Adding CLEAN sections, fixing some SKIPIF sections. Cool new run-tests.php, Zoe (and other) - its a great help to detect stinky SKIPIF and CLEAN 2009-07-02 10:05:37 +00:00
Gwynne Raskind 9adf2ed4aa call-time pass-by-reference is deprecated in 5.3 2009-07-02 10:05:15 +00:00
Gwynne Raskind bfad6f6cee Don't use short tags in tests 2009-07-02 10:03:14 +00:00
Gwynne Raskind b26cd6839a Fixed a stray 'in the test 2009-07-02 10:02:38 +00:00
Ulf Wendel ed05c54d2e MFH - Test for bug #48754 2009-07-02 07:42:48 +00:00
Stanislav Malyshev b755935771 cleanup Locale::lookup 2009-07-02 00:43:26 +00:00
Felipe Pena 634f233cc0 - MFH: New tests (NorwayUG testfest) 2009-07-02 00:04:52 +00:00
Stanislav Malyshev 838d359641 typo 2009-07-01 20:31:26 +00:00
Kalle Sommer Nielsen dc69d9228a MFH: Fix test on Windows 2009-07-01 20:27:11 +00:00
Stanislav Malyshev 96f2a45df3 update API files 2009-07-01 20:25:38 +00:00
Stanislav Malyshev 09c10856f6 fix proto 2009-07-01 20:17:31 +00:00
Kalle Sommer Nielsen 485f28aae9 MFH: Fixed #45280 (Reflection of instantiated COM classes causes PHP to crash) (Paul Richards, Kalle) 2009-07-01 18:44:56 +00:00
Kalle Sommer Nielsen e536b2700a MFH: Fixed memory leak if zero parameters are passed, Thanks Felipe 2009-07-01 17:43:16 +00:00
Kalle Sommer Nielsen 937809f447 BFN #48757 2009-07-01 17:38:52 +00:00
Kalle Sommer Nielsen 21d61978dc MFH: Fixed bug #48757 (ReflectionFunction::invoke() parameter issues) 2009-07-01 17:38:03 +00:00
Ulf Wendel b6bd0f6806 MFH - Changing tests to run with both PHP 6 and PHP 5.3 to make future MFH easier. Basically three changes over all files: a) s/unicode(/%unicode|string% b) s/[u/[%u|b% c) s/unicode.semantics/version_compare 2009-07-01 15:33:31 +00:00
Ulf Wendel b5455f7a7d MFH - Adding XFAIL for some tests which expect the zval cache of mysqlnd to be on. It has been disabled for the PHP 5.3.0 release. Adding INI sections to ensure that statistics are collected. Adding tests that check if statistics collection can be disabled 2009-07-01 12:52:58 +00:00
Felipe Pena d9061f95fa - Fix test 2009-07-01 12:15:00 +00:00
Felipe Pena 3d7b3c8bb2 - Fixed tests 2009-07-01 02:32:55 +00:00
Felipe Pena db6f5e67a8 - MFH: New tests (SaoPaulo UG testfest) 2009-07-01 00:56:01 +00:00
Stanislav Malyshev 2361b4ea2a fix json shared build on Windows 2009-06-30 17:52:21 +00:00
Christian Seiler b4a43d0d94 MFH: spl_autoload_unregister/spl_autoload_functions and closures 2009-06-30 17:14:37 +00:00
Derick Rethans 9dfb40ea8c - MFH: Fixed bug #47351 (Memory leak in DateTime). 2009-06-30 16:17:30 +00:00
Greg Beaver 5dd3306551 fixed bug #48681 (openssl signature verification for tar archives broken) 2009-06-30 14:49:12 +00:00
Lukas Smith 74b8bc2e99 MFH: expanded the section about how to create the changelog 2009-06-30 14:24:25 +00:00
Scott MacVicar 27a1ce801c MFH Fix bug #48284 - adler32 is in the wrong order. Changed to match what zlib produces. 2009-06-30 13:21:53 +00:00
Ilia Alshanetsky ae2c5ee7d4 MFB: Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent when using
TMPDIR).
2009-06-30 12:20:35 +00:00
Felipe Pena 0e294f2121 - MFH: Fixed bug #48709 (metaphone and 'wh') 2009-06-30 11:46:20 +00:00
Kalle Sommer Nielsen 51f8b64752 MFH: Fixed bug #38091 (Mail() does not use FQDN when sending SMTP helo)
# Note, this does not go in 5.2 because the inet ports for VC6 are not in that branch
2009-06-30 11:39:15 +00:00
Felipe Pena aafaa9c019 - New test 2009-06-30 11:37:42 +00:00
Lukas Smith f0a55e20d5 MFH: formatting fix for the re-releasing section 2009-06-30 11:37:24 +00:00
Felipe Pena 5a8169902a - MFH: Fixed bug #48709 (metaphone and 'wh') 2009-06-30 11:34:31 +00:00
Scott MacVicar ded5d566ad MFH Upgrade libsqlite to 3.6.16, fixes a possible error with triggers 2009-06-30 11:17:14 +00:00
Johannes Schlüter 52c9cad8e4 Back to -dev 2009-06-29 16:33:25 +00:00
2786 changed files with 102042 additions and 50625 deletions

No files matched your search

+19
View File
@@ -15,6 +15,25 @@ document ____executor_globals
ZTS detection is automatically based on ext/standard module struct
end
define print_cvs
____executor_globals
set $p = $eg.current_execute_data.CVs
set $c = $eg.current_execute_data.op_array.last_var
set $v = $eg.current_execute_data.op_array.vars
set $i = 0
printf "Compiled variables count: %d\n", $c
while $i < $c
printf "%d = %s\n", $i, $v[$i].name
if $p[$i] != 0
printzv *$p[$i]
else
printf "*uninitialized*\n"
end
set $i = $i + 1
end
end
define dump_bt
set $t = $arg0
while $t
-11
View File
@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>php-5.3</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>
+3 -3
View File
@@ -59,8 +59,8 @@ Exceptions:
you're calling.
7. When commenting out code using a #if statement, do NOT use 0 only. Instead
use "<cvs username here>_0". For example, #if FOO_0, where FOO is your
cvs user foo. This allows easier tracking of why code was commented out,
use "<svn username here>_0". For example, #if FOO_0, where FOO is your
svn user foo. This allows easier tracking of why code was commented out,
especially in bundled libraries.
8. Do not define functions that are not available. For instance, if a
@@ -259,7 +259,7 @@ The file labelled 'EXPERIMENTAL' should include the following
information::
Any authoring information (known bugs, future directions of the module).
Ongoing status notes which may not be appropriate for CVS comments.
Ongoing status notes which may not be appropriate for SVN comments.
Aliases & Legacy Documentation
-----------------------------------
+9 -12
View File
@@ -391,7 +391,7 @@ Apache 2.0 on Unix systems
http://snaps.php.net/php5-latest.tar.gz or download binaries for
Windows http://snaps.php.net/win32/php5-win32-latest.zip.
* a prerelease version downloadable from http://qa.php.net/.
* you have always the option to obtain PHP through anonymous CVS.
* you have always the option to obtain PHP through SVN.
These versions of PHP are compatible to Apache 2.0.40 and later.
@@ -1308,8 +1308,8 @@ Introduction to PECL Installations
When building PHP modules, it's important to have known-good versions
of the required tools (autoconf, automake, libtool, etc.) See the
Anonymous CVS Instructions for details on the required tools, and
required versions.
SVN Instructions for details on the required tools, and required
versions.
__________________________________________________________________
Downloading PECL extensions
@@ -1325,14 +1325,11 @@ Downloading PECL extensions
PECL extensions that have releases listed on the PECL web site are
available for download and installation using the pecl command.
Specific revisions may also be specified.
* CVS
Most PECL extensions also reside in CVS. A web-based view may be
seen at http://cvs.php.net/pecl/. To download straight from CVS,
the following sequence of commands may be used. Note that phpfi is
the password for user cvsread:
* SVN
All PECL files reside in SVN. A web-based view may be seen at
http://svn.php.net/pecl/. To download straight from SVN, use:
$ cvs -d:pserver:cvsread@cvs.php.net:/repository login
$ cvs -d:pserver:cvsread@cvs.php.net:/repository co pecl/extname
$ svn co http://svn.php.net/repository/pecl/<extname>/trunk <extname>
* Windows downloads
Windows users may find compiled PECL binaries by downloading the
@@ -1380,7 +1377,7 @@ Compiling shared PECL extensions with phpize
Sometimes, using the pecl installer is not an option. This could be
because you're behind a firewall, or it could be because the extension
you want to install is not available as a PECL compatible package, such
as unreleased extensions from CVS. If you need to build such an
as unreleased extensions from SVN. If you need to build such an
extension, you can use the lower-level build tools to perform the build
manually.
@@ -1527,7 +1524,7 @@ The configuration file
directives are documented in the manual though. For a complete list of
directives available in your PHP version, please read your well
commented php.ini file. Alternatively, you may find the the latest
php.ini from CVS helpful too.
php.ini from SVN helpful too.
Example 6-1. php.ini example
; any text on a line after an unquoted semicolon (;) is ignored
+8 -13
View File
@@ -79,29 +79,25 @@ PHP_TEST_SHARED_EXTENSIONS = ` \
. $$i; $(top_srcdir)/build/shtool echo -n -- " -d $(ZEND_EXT_TYPE)=$(top_builddir)/modules/$$dlname"; \
done; \
fi`
PHP_DEPRECATED_DIRECTIVES_REGEX = '^(define_syslog_variables|register_(globals|long_arrays)?|safe_mode|magic_quotes_(gpc|runtime|sybase)?|(zend_)?extension(_debug)?(_ts)?)[\t\ ]*='
test: all
-@if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \
TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \
TEST_PHP_SRCDIR=$(top_srcdir) \
CC="$(CC)" \
$(PHP_EXECUTABLE) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -d extension_dir=modules/ $(PHP_TEST_SHARED_EXTENSIONS) tests/; \
elif test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \
INI_FILE=`$(top_builddir)/$(SAPI_CLI_PATH) -d 'display_errors=stderr' -r 'echo php_ini_loaded_file();' 2> /dev/null`; \
INI_FILE=`$(PHP_EXECUTABLE) -d 'display_errors=stderr' -r 'echo php_ini_loaded_file();' 2> /dev/null`; \
if test "$$INI_FILE"; then \
$(EGREP) -v '^(zend_)?extension(_debug)?(_ts)?[\t\ ]*=' "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \
$(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \
else \
echo > $(top_builddir)/tmp-php.ini; \
fi; \
INI_SCANNED_PATH=`$(top_builddir)/$(SAPI_CLI_PATH) -d 'display_errors=stderr' -r '$$a = explode(",\n", trim(php_ini_scanned_files())); echo $$a[0];' 2> /dev/null`; \
INI_SCANNED_PATH=`$(PHP_EXECUTABLE) -d 'display_errors=stderr' -r '$$a = explode(",\n", trim(php_ini_scanned_files())); echo $$a[0];' 2> /dev/null`; \
if test "$$INI_SCANNED_PATH"; then \
INI_SCANNED_PATH=`$(top_srcdir)/build/shtool path -d $$INI_SCANNED_PATH`; \
$(EGREP) -h -v '^(zend_)?extension(_debug)?(_ts)?[\t\ ]*=' "$$INI_SCANNED_PATH"/*.ini >> $(top_builddir)/tmp-php.ini; \
$(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI_SCANNED_PATH"/*.ini >> $(top_builddir)/tmp-php.ini; \
fi; \
TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \
TEST_PHP_SRCDIR=$(top_srcdir) \
CC="$(CC)" \
$(top_builddir)/$(SAPI_CLI_PATH) -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); \
$(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); \
else \
echo "ERROR: Cannot run tests without CLI sapi."; \
fi
@@ -115,9 +111,8 @@ clean:
rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(OVERALL_TARGET) modules/* libs/*
distclean: clean
rm -f config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h php5.spec sapi/apache/libphp$(PHP_MAJOR_VERSION).module buildmk.stamp
rm -f Makefile config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h sapi/apache/libphp$(PHP_MAJOR_VERSION).module buildmk.stamp
$(EGREP) define'.*include/php' $(top_srcdir)/configure | $(SED) 's/.*>//'|xargs rm -f
find . -name Makefile | xargs rm -f
.PHONY: all clean install distclean test
.NOEXPORT:
+487
View File
@@ -1,5 +1,492 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
04 Mar 2010, PHP 5.3.2
- Upgraded bundled sqlite to version 3.6.22. (Ilia)
- Upgraded bundled libmagic to version 5.03. (Mikko)
- Upgraded bundled PCRE to version 8.00. (Scott)
- Updated timezone database to version 2010.3. (Derick)
- Improved LCG entropy. (Rasmus, Samy Kamkar)
- Improved crypt support for edge cases (UFC compatibility). (Solar Designer,
Joey, Pierre)
- Reverted fix for bug #49521 (PDO fetchObject sets values before calling
constructor). (Pierrick, Johannes)
- Changed gmp_strval() to use full range from 2 to 62, and -2 to -36. FR #50283
(David Soria Parra)
- Changed "post_max_size" php.ini directive to allow unlimited post size by
setting it to 0. (Rasmus)
- Changed tidyNode class to disallow manual node creation. (Pierrick)
- Removed automatic file descriptor unlocking happening on shutdown and/or
stream close (on all OSes). (Tony, Ilia)
- Added libpng 1.4.0 support. (Pierre)
- Added support for DISABLE_AUTHENTICATOR for imap_open. (Pierre)
- Added missing host validation for HTTP urls inside FILTER_VALIDATE_URL.
(Ilia)
- Added stream_resolve_include_path(). (Mikko)
- Added INTERNALDATE support to imap_append. (nick at mailtrust dot com)
- Added support for SHA-256 and SHA-512 to php's crypt. (Pierre)
- Added realpath_cache_size() and realpath_cache_get() functions. (Stas)
- Added FILTER_FLAG_STRIP_BACKTICK option to the filter extension. (Ilia)
- Added protection for $_SESSION from interrupt corruption and improved
"session.save_path" check. (Stas)
- Added LIBXML_PARSEHUGE constant to override the maximum text size of a
single text node when using libxml2.7.3+. (Kalle)
- Added ReflectionMethod::setAccessible() for invoking non-public methods
through the Reflection API. (Sebastian)
- Added Collator::getSortKey for intl extension. (Stas)
- Added support for CURLOPT_POSTREDIR. FR #49571. (Sriram Natarajan)
- Added support for CURLOPT_CERTINFO. FR #49253.
(Linus Nielsen Feltzing <linus@haxx.se>)
- Added client-side server name indication support in openssl. (Arnaud)
- Improved fix for bug #50006 (Segfault caused by uksort()). (Stas)
- Fixed mysqlnd hang when queries exactly 16777214 bytes long are sent. (Andrey)
- Fixed incorrect decoding of 5-byte BIT sequences in mysqlnd. (Andrey)
- Fixed error_log() to be binary safe when using message_type 3. (Jani)
- Fixed unnecessary invocation of setitimer when timeouts have been disabled.
(Arvind Srinivasan)
- Fixed memory leak in extension loading when an error occurs on Windows.
(Pierre)
- Fixed safe_mode validation inside tempnam() when the directory path does
not end with a /). (Martin Jansen)
- Fixed a possible open_basedir/safe_mode bypass in session extension
identified by Grzegorz Stachowiak. (Ilia)
- Fixed possible crash when a error/warning is raised during php startup.
(Pierre)
- Fixed possible bad behavior of rename on windows when used with symbolic
links or invalid paths. (Pierre)
- Fixed error output to stderr on Windows. (Pierre)
- Fixed memory leaks in is_writable/readable/etc on Windows. (Pierre)
- Fixed memory leaks in the ACL function on Windows. (Pierre)
- Fixed memory leak in the realpath cache on Windows. (Pierre)
- Fixed memory leak in zip_close. (Pierre)
- Fixed crypt's blowfish sanity check of the "setting" string, to reject
iteration counts encoded as 36 through 39. (Solar Designer, Joey, Pierre)
- Fixed bug #51059 (crypt crashes when invalid salt are given). (Pierre)
- Fixed bug #50952 (allow underscore _ in constants parsed in php.ini files).
(Jani)
- Fixed bug #50940 (Custom content-length set incorrectly in Apache SAPIs).
(Brian France, Rasmus)
- Fixed bug #50930 (Wrong date by php_date.c patch with ancient gcc/glibc
versions). (Derick)
- Fixed bug #50907 (X-PHP-Originating-Script adding two new lines in *NIX).
(Ilia)
- Fixed bug #50859 (build fails with openssl 1.0 due to md2 deprecation).
(Ilia, hanno at hboeck dot de)
- Fixed bug #50847 (strip_tags() removes all tags greater then 1023 bytes
long). (Ilia)
- Fixed bug #50829 (php.ini directive pdo_mysql.default_socket is ignored).
(Ilia)
- Fixed bug #50832 (HTTP fopen wrapper does not support passwordless HTTP
authentication). (Jani)
- Fixed bug #50787 (stream_set_write_buffer() has no effect on socket streams).
(vnegrier at optilian dot com, Ilia)
- Fixed bug #50761 (system.multiCall crashes in xmlrpc extension).
(hiroaki dot kawai at gmail dot com, Ilia)
- Fixed bug #50756 (CURLOPT_FTP_SKIP_PASV_IP does not exist). (Sriram)
- Fixed bug #50732 (exec() adds single byte twice to $output array). (Ilia)
- Fixed bug #50728 (All PDOExceptions hardcode 'code' property to 0).
(Joey, Ilia)
- Fixed bug #50723 (Bug in garbage collector causes crash). (Dmitry)
- Fixed bug #50690 (putenv does not set ENV when the value is only one char).
(Pierre)
- Fixed bug #50680 (strtotime() does not support eighth ordinal number). (Ilia)
- Fixed bug #50661 (DOMDocument::loadXML does not allow UTF-16). (Rob)
- Fixed bug #50657 (copy() with an empty (zero-byte) HTTP source succeeds but
returns false). (Ilia)
- Fixed bug #50636 (MySQLi_Result sets values before calling constructor).
(Pierrick)
- Fixed bug #50632 (filter_input() does not return default value if the
variable does not exist). (Ilia)
- Fixed bug #50576 (XML_OPTION_SKIP_TAGSTART option has no effect). (Pierrick)
- Fixed bug #50558 (Broken object model when extending tidy). (Pierrick)
- Fixed bug #50540 (Crash while running ldap_next_reference test cases).
(Sriram)
- Fixed bug #50519 (segfault in garbage collection when using set_error_handler
and DomDocument). (Dmitry)
- Fixed bug #50508 (compile failure: Conflicting HEADER type declarations).
(Jani)
- Fixed bug #50496 (Use of <stdbool.h> is valid only in a c99 compilation
environment. (Sriram)
- Fixed bug #50464 (declare encoding doesn't work within an included file).
(Felipe)
- Fixed bug #50458 (PDO::FETCH_FUNC fails with Closures). (Felipe, Pierrick)
- Fixed bug #50445 (PDO-ODBC stored procedure call from Solaris 64-bit causes
seg fault). (davbrown4 at yahoo dot com, Felipe)
- Fixed bug #50416 (PROCEDURE db.myproc can't return a result set in the given
context). (Andrey)
- Fixed bug #50394 (Reference argument converted to value in __call). (Stas)
- Fixed bug #50351 (performance regression handling objects, ten times slower
in 5.3 than in 5.2). (Dmitry)
- Fixed bug #50392 (date_create_from_format() enforces 6 digits for 'u'
format character). (Ilia)
- Fixed bug #50345 (nanosleep not detected properly on some solaris versions).
(Jani)
- Fixed bug #50340 (php.ini parser does not allow spaces in ini keys). (Jani)
- Fixed bug #50334 (crypt ignores sha512 prefix). (Pierre)
- Fixed bug #50323 (Allow use of ; in values via ;; in PDO DSN).
(Ilia, Pierrick)
- Fixed bug #50285 (xmlrpc does not preserve keys in encoded indexed arrays).
(Felipe)
- Fixed bug #50282 (xmlrpc_encode_request() changes object into array in
calling function). (Felipe)
- Fixed bug #50267 (get_browser(null) does not use HTTP_USER_AGENT). (Jani)
- Fixed bug #50266 (conflicting types for llabs). (Jani)
- Fixed bug #50261 (Crash When Calling Parent Constructor with
call_user_func()). (Dmitry)
- Fixed bug #50255 (isset() and empty() silently casts array to object).
(Felipe)
- Fixed bug #50240 (pdo_mysql.default_socket in php.ini shouldn't used
if it is empty). (foutrelis at gmail dot com, Ilia)
- Fixed bug #50231 (Socket path passed using --with-mysql-sock is ignored when
mysqlnd is enabled). (Jani)
- Fixed bug #50219 (soap call Segmentation fault on a redirected url).
(Pierrick)
- Fixed bug #50212 (crash by ldap_get_option() with LDAP_OPT_NETWORK_TIMEOUT).
(Ilia, shigeru_kitazaki at cybozu dot co dot jp)
- Fixed bug #50209 (Compiling with libedit cannot find readline.h).
(tcallawa at redhat dot com)
- Fixed bug #50207 (segmentation fault when concatenating very large strings on
64bit linux). (Ilia)
- Fixed bug #50196 (stream_copy_to_stream() produces warning when source is
not file). (Stas)
- Fixed bug #50195 (pg_copy_to() fails when table name contains schema. (Ilia)
- Fixed bug #50185 (ldap_get_entries() return false instead of an empty array
when there is no error). (Jani)
- Fixed bug #50174 (Incorrectly matched docComment). (Felipe)
- Fixed bug #50168 (FastCGI fails with wrong error on HEAD request to
non-existant file). (Dmitry)
- Fixed bug #50162 (Memory leak when fetching timestamp column from Oracle
database). (Felipe)
- Fixed bug #50159 (wrong working directory in symlinked files). (Dmitry)
- Fixed bug #50158 (FILTER_VALIDATE_EMAIL fails with valid addresses
containing = or ?). (Pierrick)
- Fixed bug #50152 (ReflectionClass::hasProperty behaves like isset() not
property_exists). (Felipe)
- Fixed bug #50146 (property_exists: Closure object cannot have properties).
(Felipe)
- Fixed bug #50145 (crash while running bug35634.phpt). (Felipe)
- Fixed bug #50140 (With default compilation option, php symbols are unresolved
for nsapi). (Uwe Schindler)
- Fixed bug #50087 (NSAPI performance improvements). (Uwe Schindler)
- Fixed bug #50073 (parse_url() incorrect when ? in fragment). (Ilia)
- Fixed bug #50023 (pdo_mysql doesn't use PHP_MYSQL_UNIX_SOCK_ADDR). (Ilia)
- Fixed bug #50005 (Throwing through Reflection modified Exception object
makes segmentation fault). (Felipe)
- Fixed bug #49990 (SNMP3 warning message about security level printed twice).
(Jani)
- Fixed bug #49985 (pdo_pgsql prepare() re-use previous aborted
transaction). (ben dot pineau at gmail dot com, Ilia, Matteo)
- Fixed bug #49938 (Phar::isBuffering() returns inverted value). (Greg)
- Fixed bug #49936 (crash with ftp stream in php_stream_context_get_option()).
(Pierrick)
- Fixed bug #49921 (Curl post upload functions changed). (Ilia)
- Fixed bug #49866 (Making reference on string offsets crashes PHP). (Dmitry)
- Fixed bug #49855 (import_request_variables() always returns NULL). (Ilia,
sjoerd at php dot net)
- Fixed bug #49851, #50451 (http wrapper breaks on 1024 char long headers).
(Ilia)
- Fixed bug #49800 (SimpleXML allow (un)serialize() calls without warning).
(Ilia, wmeler at wp-sa dot pl)
- Fixed bug #49719 (ReflectionClass::hasProperty returns true for a private
property in base class). (Felipe)
- Fixed bug #49677 (ini parser crashes with apache2 and using ${something}
ini variables). (Jani)
- Fixed bug #49660 (libxml 2.7.3+ limits text nodes to 10MB). (Felipe)
- Fixed bug #49647 (DOMUserData does not exist). (Rob)
- Fixed bug #49600 (imageTTFText text shifted right). (Takeshi Abe)
- Fixed bug #49585 (date_format buffer not long enough for >4 digit years).
(Derick, Adam)
- Fixed bug #49560 (oci8: using LOBs causes slow PHP shutdown). (Oracle Corp.)
- Fixed bug #49521 (PDO fetchObject sets values before calling constructor).
(Pierrick)
- Fixed bug #49472 (Constants defined in Interfaces can be overridden).
(Felipe)
- Fixed bug #49463 (setAttributeNS fails setting default namespace). (Rob)
- Fixed bug #49244 (Floating point NaN cause garbage characters). (Sjoerd)
- Fixed bug #49224 (Compile error due to old DNS functions on AIX systems).
(Scott)
- Fixed bug #49174 (crash when extending PDOStatement and trying to set
queryString property). (Felipe)
- Fixed bug #48811 (Directives in PATH section do not get applied to
subdirectories). (Patch by: ct at swin dot edu dot au)
- Fixed bug #48590 (SoapClient does not honor max_redirects). (Sriram)
- Fixed bug #48190 (Content-type parameter "boundary" is not case-insensitive
in HTTP uploads). (Ilia)
- Fixed bug #47848 (importNode doesn't preserve attribute namespaces). (Rob)
- Fixed bug #47409 (extract() problem with array containing word "this").
(Ilia, chrisstocktonaz at gmail dot com)
- Fixed bug #47281 ($php_errormsg is limited in size of characters)
(Oracle Corp.)
- Fixed bug #46478 (htmlentities() uses obsolete mapping table for character
entity references). (Moriyoshi)
- Fixed bug #45599 (strip_tags() truncates rest of string with invalid
attribute). (Ilia, hradtke)
- Fixed bug #45120 (PDOStatement->execute() returns true then false for same
statement). (Pierrick)
- Fixed bug #44827 (define() allows :: in constant names). (Ilia)
- Fixed bug #44098 (imap_utf8() returns only capital letters).
(steffen at dislabs dot de, Pierre)
- Fixed bug #34852 (Failure in odbc_exec() using oracle-supplied odbc
driver). (tim dot tassonis at trivadis dot com)
19 Nov 2009, PHP 5.3.1
- Upgraded bundled sqlite to version 3.6.19. (Scott)
- Updated timezone database to version 2009.17 (2009q). (Derick)
- Changed ini file directives [PATH=](on Win32) and [HOST=](on all) to be case
insensitive. (garretts)
- Restored shebang line check to CGI sapi (not checked by scanner anymore).
(Jani)
- Added "max_file_uploads" INI directive, which can be set to limit the
number of file uploads per-request to 20 by default, to prevent possible
DOS via temporary file exhaustion. (Ilia)
- Added missing sanity checks around exif processing. (Ilia)
- Added error constant when json_encode() detects an invalid UTF-8 sequence.
(Scott)
- Added support for ACL on Windows for thread safe SAPI (Apache2 for example)
and fix its support on NTS. (Pierre)
- Improved symbolic, mounted volume and junctions support for realpath on
Windows. (Pierre)
- Improved readlink on Windows, suppress \??\ and use the drive syntax only.
(Pierre)
- Improved dns_get_record() AAAA support on windows. Always available when
IPv6 is support is installed, format is now the same than on unix. (Pierre)
- Improved the DNS functions on OSX to use newer APIs, also use Bind 9 API
where available on other platforms. (Scott)
- Improved shared extension loading on OSX to use the standard Unix dlopen()
API. (Scott)
- Fixed crash in com_print_typeinfo when an invalid typelib is given. (Pierre)
- Fixed a safe_mode bypass in tempnam() identified by Grzegorz Stachowiak.
(Rasmus)
- Fixed a open_basedir bypass in posix_mkfifo() identified by Grzegorz
Stachowiak. (Rasmus)
- Fixed certificate validation inside php_openssl_apply_verification_policy
(Ryan Sleevi, Ilia)
- Fixed crash in SQLiteDatabase::ArrayQuery() and SQLiteDatabase::SingleQuery()
when calling using Reflection. (Felipe)
- Fixed crash when instantiating PDORow and PDOStatement through Reflection.
(Felipe)
- Fixed sanity check for the color index in imagecolortransparent. (Pierre)
- Fixed scandir/readdir when used mounted points on Windows. (Pierre)
- Fixed zlib.deflate compress filter to actually accept level parameter. (Jani)
- Fixed leak on error in popen/exec (and related functions) on Windows.
(Pierre)
- Fixed possible bad caching of symlinked directories in the realpath cache
on Windows. (Pierre)
- Fixed atime and mtime in stat related functions on Windows. (Pierre)
- Fixed spl_autoload_unregister/spl_autoload_functions wrt. Closures and
Functors. (Christian Seiler)
- Fixed open_basedir circumvention for "mail.log" ini directive.
(Maksymilian Arciemowicz, Stas)
- Fixed signature generation/validation for zip archives in ext/phar. (Greg)
- Fixed memory leak in stream_is_local(). (Felipe, Tony)
- Fixed BC break in mime_content_type(), removes the content encoding. (Scott)
- Fixed PECL bug #16842 (oci_error return false when NO_DATA_FOUND is raised).
(Chris Jones)
- Fixed bug #50063 (safe_mode_include_dir fails). (Johannes, christian at
elmerot dot se)
- Fixed bug #50052 (Different Hashes on Windows and Linux on wrong Salt size).
(Pierre)
- Fixed bug #49986 (Missing ICU DLLs on windows package). (Pierre)
- Fixed bug #49910 (no support for ././@LongLink for long filenames in phar
tar support). (Greg)
- Fixed bug #49908 (throwing exception in __autoload crashes when interface
is not defined). (Felipe)
- Fixed bug #49847 (exec() fails to return data inside 2nd parameter, given
output lines >4095 bytes). (Ilia)
- Fixed bug #49809 (time_sleep_until() is not available on OpenSolaris). (Jani)
- Fixed bug #49757 (long2ip() can return wrong value in a multi-threaded
applications). (Ilia, Florian Anderiasch)
- Fixed bug #49738 (calling mcrypt after mcrypt_generic_deinit crashes).
(Sriram Natarajan)
- Fixed bug #49732 (crashes when using fileinfo when timestamp conversion
fails). (Pierre)
- Fixed bug #49698 (Unexpected change in strnatcasecmp()). (Rasmus)
- Fixed bug #49630 (imap_listscan function missing). (Felipe)
- Fixed bug #49572 (use of C++ style comments causes build failure).
(Sriram Natarajan)
- Fixed bug #49531 (CURLOPT_INFILESIZE sometimes causes warning "CURLPROTO_FILE
cannot be set"). (Felipe)
- Fixed bug #49517 (cURL's CURLOPT_FILE prevents file from being deleted after
fclose). (Ilia)
- Fixed bug #49470 (FILTER_SANITIZE_EMAIL allows disallowed characters).
(Ilia)
- Fixed bug #49447 (php engine need to correctly check for socket API
return status on windows). (Sriram Natarajan)
- Fixed bug #49391 (ldap.c utilizing deprecated ldap_modify_s). (Ilia)
- Fixed bug #49372 (segfault in php_curl_option_curl). (Pierre)
- Fixed bug #49361 (wordwrap() wraps incorrectly on end of line boundaries).
(Ilia, code-it at mail dot ru)
- Fixed bug #49306 (inside pdo_mysql default socket settings are ignored).
(Ilia)
- Fixed bug #49289 (bcmath module doesn't compile with phpize configure).
(Jani)
- Fixed bug #49286 (php://input (php_stream_input_read) is broken). (Jani)
- Fixed bug #49269 (Ternary operator fails on Iterator object when used inside
foreach declaration). (Etienne, Dmitry)
- Fixed bug #49236 (Missing PHP_SUBST(PDO_MYSQL_SHARED_LIBADD)). (Jani)
- Fixed bug #49223 (Inconsistency using get_defined_constants). (Garrett)
- Fixed bug #49193 (gdJpegGetVersionString() inside gd_compact identifies
wrong type in declaration). (Ilia)
- Fixed bug #49183 (dns_get_record does not return NAPTR records). (Pierre)
- Fixed bug #49144 (Import of schema from different host transmits original
authentication details). (Dmitry)
- Fixed bug #49142 (crash when exception thrown from __tostring()).
(David Soria Parra)
- Fixed bug #49132 (posix_times returns false without error).
(phpbugs at gunnu dot us)
- Fixed bug #49125 (Error in dba_exists C code). (jdornan at stanford dot edu)
- Fixed bug #49122 (undefined reference to mysqlnd_stmt_next_result on compile
with --with-mysqli and MySQL 6.0). (Jani)
- Fixed bug #49108 (2nd scan_dir produces segfault). (Felipe)
- Fixed bug #49098 (mysqli segfault on error). (Rasmus)
- Fixed bug #49095 (proc_get_status['exitcode'] fails on win32). (Felipe)
- Fixed bug #49092 (ReflectionFunction fails to work with functions in fully
qualified namespaces). (Kalle, Jani)
- Fixed bug #49074 (private class static fields can be modified by using
reflection). (Jani)
- Fixed bug #49072 (feof never returns true for damaged file in zip). (Pierre)
- Fixed bug #49065 ("disable_functions" php.ini option does not work on
Zend extensions). (Stas)
- Fixed bug #49064 (--enable-session=shared does not work: undefined symbol:
php_url_scanner_reset_vars). (Jani)
- Fixed bug #49056 (parse_ini_file() regression in 5.3.0 when using non-ASCII
strings as option keys). (Jani)
- Fixed bug #49052 (context option headers freed too early when using
--with-curlwrappers). (Jani)
- Fixed bug #49047 (The function touch() fails on directories on Windows).
(Pierre)
- Fixed bug #49032 (SplFileObject::fscanf() variables passed by reference).
(Jani)
- Fixed bug #49027 (mysqli_options() doesn't work when using mysqlnd). (Andrey)
- Fixed bug #49026 (proc_open() can bypass safe_mode_protected_env_vars
restrictions). (Ilia)
- Fixed bug #49020 (phar misinterprets ustar long filename standard).
(Greg)
- Fixed bug #49018 (phar tar stores long filenames wit prefix/name reversed).
(Greg)
- Fixed bug #49014 (dechunked filter broken when serving more than 8192 bytes
in a chunk). (andreas dot streichardt at globalpark dot com, Ilia)
- Fixed bug #49012 (phar tar signature algorithm reports as Unknown (0) in
getSignature() call). (Greg)
- Fixed bug #49000 (PHP CLI in Interactive mode (php -a) crashes
when including files from function). (Stas)
- Fixed bug #48994 (zlib.output_compression does not output HTTP headers when
set to a string value). (Jani)
- Fixed bug #48980 (Crash when compiling with pdo_firebird). (Felipe)
- Fixed bug #48962 (cURL does not upload files with specified filename).
(Ilia)
- Fixed bug #48929 (Double \r\n after HTTP headers when "header" context
option is an array). (David Zülke)
- Fixed bug #48913 (Too long error code strings in pdo_odbc driver).
(naf at altlinux dot ru, Felipe)
- Fixed bug #48912 (Namespace causes unexpected strict behaviour with
extract()). (Dmitry)
- Fixed bug #48909 (Segmentation fault in mysqli_stmt_execute()). (Andrey)
- Fixed bug #48899 (is_callable returns true even if method does not exist in
parent class). (Felipe)
- Fixed bug #48893 (Problems compiling with Curl). (Felipe)
- Fixed bug #48880 (Random Appearing open_basedir problem). (Rasmus, Gwynne)
- Fixed bug #48872 (string.c: errors: duplicate case values). (Kalle)
- Fixed bug #48854 (array_merge_recursive modifies arrays after first one).
(Felipe)
- Fixed bug #48805 (IPv6 socket transport is not working). (Ilia)
- Fixed bug #48802 (printf() returns incorrect outputted length). (Jani)
- Fixed bug #48791 (open office files always reported as corrupted). (Greg)
- Fixed bug #48788 (RecursiveDirectoryIterator doesn't descend into symlinked
directories). (Ilia)
- Fixed bug #48783 (make install will fail saying phar file exists). (Greg)
- Fixed bug #48774 (SIGSEGVs when using curl_copy_handle()).
(Sriram Natarajan)
- Fixed bug #48771 (rename() between volumes fails and reports no error on
Windows). (Pierre)
- Fixed bug #48768 (parse_ini_*() crash with INI_SCANNER_RAW). (Jani)
- Fixed bug #48763 (ZipArchive produces corrupt archive). (dani dot church at
gmail dot com, Pierre)
- Fixed bug #48762 (IPv6 address filter still rejects valid address). (Felipe)
- Fixed bug #48757 (ReflectionFunction::invoke() parameter issues). (Kalle)
- Fixed bug #48754 (mysql_close() crash php when no handle specified).
(Johannes, Andrey)
- Fixed bug #48752 (Crash during date parsing with invalid date). (Pierre)
- Fixed bug #48746 (Unable to browse directories within Junction Points).
(Pierre, Kanwaljeet Singla)
- Fixed bug #48745 (mysqlnd: mysql_num_fields returns wrong column count for
mysql_list_fields). (Andrey)
- Fixed bug #48740 (PHAR install fails when INSTALL_ROOT is not the final
install location). (james dot cohen at digitalwindow dot com, Greg)
- Fixed bug #48733 (CURLOPT_WRITEHEADER|CURLOPT_FILE|CURLOPT_STDERR warns on
files that have been opened with r+). (Ilia)
- Fixed bug #48719 (parse_ini_*(): scanner_mode parameter is not checked for
sanity). (Jani)
- Fixed bug #48718 (FILTER_VALIDATE_EMAIL does not allow numbers in domain
components). (Ilia)
- Fixed bug #48681 (openssl signature verification for tar archives broken).
(Greg)
- Fixed bug #48660 (parse_ini_*(): dollar sign as last character of value
fails). (Jani)
- Fixed bug #48645 (mb_convert_encoding() doesn't understand hexadecimal
html-entities). (Moriyoshi)
- Fixed bug #48637 ("file" fopen wrapper is overwritten when using
--with-curlwrappers). (Jani)
- Fixed bug #48608 (Invalid libreadline version not detected during configure).
(Jani)
- Fixed bug #48400 (imap crashes when closing stream opened with
OP_PROTOTYPE flag). (Jani)
- Fixed bug #48377 (error message unclear on converting phar with existing
file). (Greg)
- Fixed bug #48247 (Infinite loop and possible crash during startup with
errors when errors are logged). (Jani)
- Fixed bug #48198 error: 'MYSQLND_LLU_SPEC' undeclared. Cause for #48780 and
#46952 - both fixed too. (Andrey)
- Fixed bug #48189 (ibase_execute error in return param). (Kalle)
- Fixed bug #48182 (ssl handshake fails during asynchronous socket connection).
(Sriram Natarajan)
- Fixed bug #48116 (Fixed build with Openssl 1.0). (Pierre,
Al dot Smith at aeschi dot ch dot eu dot org)
- Fixed bug #48057 (Only the date fields of the first row are fetched, others
are empty). (info at programmiernutte dot net)
- Fixed bug #47481 (natcasesort() does not sort extended ASCII characters
correctly). (Herman Radtke)
- Fixed bug #47351 (Memory leak in DateTime). (Derick, Tobias John)
- Fixed bug #47273 (Encoding bug in SoapServer->fault). (Dmitry)
- Fixed bug #46682 (touch() afield returns different values on windows).
(Pierre)
- Fixed bug #46614 (Extended MySQLi class gives incorrect empty() result).
(Andrey)
- Fixed bug #46020 (with Sun Java System Web Server 7.0 on HPUX, #define HPUX).
(Uwe Schindler)
- Fixed bug #45905 (imagefilledrectangle() clipping error).
(markril at hotmail dot com, Pierre)
- Fixed bug #45554 (Inconsistent behavior of the u format char). (Derick)
- Fixed bug #45141 (setcookie will output expires years of >4 digits). (Ilia)
- Fixed bug #44683 (popen crashes when an invalid mode is passed). (Pierre)
- Fixed bug #43510 (stream_get_meta_data() does not return same mode as used
in fopen). (Jani)
- Fixed bug #42434 (ImageLine w/ antialias = 1px shorter). (wojjie at gmail dot
com, Kalle)
- Fixed bug #40013 (php_uname() does not return nodename on Netware (Guenter
Knauf)
- Fixed bug #38091 (Mail() does not use FQDN when sending SMTP helo).
(Kalle, Rick Yorgason)
- Fixed bug #28038 (Sent incorrect RCPT TO commands to SMTP server) (Garrett)
- Fixed bug #27051 (Impersonation with FastCGI does not exec process as
impersonated user). (Pierre)
30 Jun 2009, PHP 5.3.0
- Upgraded bundled PCRE to version 7.9. (Nuno)
- Upgraded bundled sqlite to version 3.6.15. (Scott)
+8 -6
View File
@@ -100,9 +100,9 @@ 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 ``qaweb/include/rc-md5sums.txt`` (no empty lines).
3. Update the MD5 sums in ``web/qa/trunk/include/rc-md5sums.txt`` (no empty lines).
4. Update in ``qaweb/include/release-qa.php`` constants with the new RC and
4. Update in ``web/qa/trunk/include/release-qa.php`` constants with the new RC and
commit this.
a. ``$BUILD_TEST_RELEASES`` = array("4.4.7RC1", "5.2.2RC1")
@@ -111,7 +111,7 @@ commit this.
c. ``$RELEASE_PROCESS`` = array(4 => true, 5 => true)
1. Update in ``php-bugs-web/include/functions.inc`` the ``show_version_option``
1. Update in ``php-bugs/trunk/include/functions.inc`` the ``show_version_option``
function to include the new RC and commit.
2. Update ``phpweb/include/version.inc`` (x=major version number)
@@ -210,6 +210,10 @@ f.e. ``ChangeLog-4.php`` from the NEWS file
III. ``s/Fixed bug #\([0-9]\+\)/<?php bugfix(\1); ?>/``
IV. ``s/Fixed PECL bug #\([0-9]\+\)/<?php peclbugfix(\1); ?>/``
V. ``s/FR #\([0-9]\+\)/FR <?php bugl(\1); ?>/``
4. ``cp releases/4_4_0.php releases/4_4_1.php``
5. ``cvs add releases/4_4_1.php``
@@ -248,9 +252,8 @@ number, and remove the RC from there.
II. For PHP5: Set $CURRENT_QA_RELEASE_5 to false
Re-releasing the same version (or -pl)
------------------------------------
--------------------------------------
1. Commit the new binaries to ``phpweb/distributions/``
@@ -281,4 +284,3 @@ to upgrade.
5. Wait an hour or two, then send a mail to php-announce@lists.php.net,
php-general@lists.php.net and internals@lists.php.net with a text similar to
the news entry.
+106 -96
View File
@@ -1,126 +1,136 @@
Submitting Patch for PHP
========================
Submitting Patches to PHP
=========================
This document describes how to submit a patch for PHP. Since you are
reading this document, you are willing to submit a patch for PHP.
Please keep reading! Submitting a patch for PHP is easy. The hard
part is making it acceptable for inclusion into our repository. :-)
This document describes how to submit a patch for PHP. Creating a
patch for PHP is easy!
How to create patch?
--------------------
We are working with CVS. You need to get CVS source to create a patch
that we accept. Visit http://www.php.net/anoncvs.php to get CVS
source. You can check out older versions, but make sure you get
the default branch (i.e. Do not use -r option when you check out the
CVS source)
You don't need any login accounts or special access to download,
build, debug and begin submitting PHP code, tests or documentation for
inclusion in PHP. Once you've followed this README and had several
patches accepted, PHP commit privileges are often quickly granted.
Read CODING_STANDARDS file before you start working.
Now you are ready to create a patch. Modify source to fix a bug in PHP or
add a new feature to PHP. After you finished editing, please test your
patch. Read README.TESTING for testing.
After you finish testing your patch, take diff file using
"cvs diff > your.patch" command.
Read README.TESTING for submitting a test script for your patch. This is
not strictly required, but it is preferred to submit a test script along
with your patch. Making new test script is very easy. It also helps us
to understand what you have been fixed or added to PHP.
An excellent article to read first is:
http://phpadvent.org/2008/less-whining-more-coding-by-elizabeth-smith
Tips for creating patch
-----------------------
If you would like to fix multiple bugs. It is easier for us if you
could create 1 patch for 1 bug, but this is not strictly required.
Note though that you might get little response, if your patch is
too hard to review.
Prework
-------
If you are fixing broken functionality then create a bug or identify
an existing bug at http://bugs.php.net/. This can be used to track
the patch progress and prevent your changes getting lost in the PHP
mail archives.
If you would like change/add many lines, it is better to ask module
maintainer and/or internals@lists.php.net, or pear-dev@lists.php.net if
you are patching PEAR. Official module maintainers can be found in
EXTENSIONS file in PHP source.
If your code change is large then first discuss it with the extension
maintainer and/or a development mail list. Extension maintainers can
be found in the EXTENSIONS file in the PHP source. Use the
internals@lists.php.net mail list to discuss changes to the base PHP
code. Use pecl-dev@lists.php.net for changes to code that is only
available from PECL (http://pecl.php.net/). Use pear-dev@lists.php.net
for PEAR modules (http://pear.php.net/). Mail list subscription is
explained on http://www.php.net/mailing-lists.php.
If you are new to CVS (Concurrent Versions System), visit
http://cvshome.org/ for details.
If a PHP or PECL patch affects user-functionality or makes significant
internal changes then create a simple RFC on http://wiki.php.net/rfc
before starting discussion. This RFC can be used for initial
discussion and later for documentation. Wiki accounts can be requested
on http://wiki.php.net/start?do=register
There are several IRC channels where PHP developers are often
available to discuss questions. They include #php.pecl on the EFNet
network and #php-dev-win on FreeNode.
Recommended CVS client settings for creating patch file
------------------------------------------------------
Recommended ~/.cvsrc file setting is:
------
cvs -z3
update -d -P
checkout -P
diff -u
How to create your patch
------------------------
PHP uses Subversion (SVN) for revision control. Read
http://www.php.net/svn.php for help on using SVN to get and build PHP
source code. We recommend using a Sparse Directory checkout described
in http://wiki.php.net/vcs/svnfaq. If you are new to SVN, read
http://svnbook.red-bean.com.
------
diff -u means:
-u Use the unified output format.
Generally we ask that patches work on the current stable PHP
development branch and on "trunk".
With this CVS setting, you don't have to worry about adding/deleting
newlines and spaces.
Read CODING_STANDARDS before you start working.
After modifying the source see README.TESTING and
http://qa.php.net/write-test.php for how to test. Submitting test
scripts helps us to understand what functionality has changed. It is
important for the stability and maintainability of PHP that tests are
comprehensive.
After testing is finished, create a patch file using the command:
svn diff > your_patch.txt
For ease of review and later troubleshooting, submit individual
patches for each bug or feature.
Check list for submitting patch
-------------------------------
- Did you run "make test" to check if your patch didn't break
other features?
- Did you compile PHP with --enable-debug and check the PHP and
web server error logs when you test your patch?
- Did you build PHP for multi-threaded web servers. (Optional)
- Did you create test script for "make test"? (Recommended)
- Did you check your patch is unified format and it does not
contain white space changes? (If you are not using recommended
cvs setting)
- Did you update CVS source before you take final patch?
- Did you read the patch again?
Checklist for submitting your patch
-----------------------------------
- Update SVN source just before running your final 'diff' and
before testing.
- Run "make test" to check your patch doesn't break other features.
- Rebuild PHP with --enable-debug (which will show some kinds of
memory errors) and check the PHP and web server error logs after
running the PHP tests.
- Rebuild PHP with --enable-maintainer-zts to check your patch compiles
on multi-threaded web servers.
- Create test scripts for use with "make test".
- Add in-line comments and/or have external documentation ready.
- Review the patch once more just before submitting it.
Where to send your patch?
-------------------------
If you are patching C source, send the patch to internals@lists.php.net.
If you are patching a module, you should also send the patch to the
maintainer. Official module maintainers are listed in EXTENSION file
in source.
Where to send your patch
------------------------
If you are patching PHP C source then email the patch to
internals@lists.php.net
If you are patching PEAR, send the patch to pear-dev@lists.php.net.
If you patching a PECL extension then send the patch to
pecl-dev@lists.php.net
Please add the prefix "[PATCH]" to your email subject and make sure
to include the patch as a MIME attachment even if it is short.
If you are patching PEAR then send the patch to
pear-dev@lists.php.net
NOTE: only MIME attachments of type 'text/*' are accepted. The
easiest way to accomplish this, is to make the extension
'.txt'.
The mail can be CC'd to the extension maintainer (see EXTENSIONS).
Test scripts should be included in the same email.
Explain what has been fixed/added/changed by your patch.
Please make the subject prefix "[PATCH]".
Finally, add the bug Id(s) which can be closed by your patch, if any.
Include the patch as an attachment. Note: only MIME attachments of
type 'text/*' are accepted. The easiest way to accomplish this is to
make the file extension '.txt'.
Explain what has been fixed/added/changed by your patch. Test scripts
should be included in the email.
Include the bug id(s) which can be closed by your patch.
Finally, update any open bugs and add a link to the source of your
patch.
What happens after you submit your patch
----------------------------------------
If your patch is easy to review and has obviously no side-effects,
it might take up to a few hours until someone commits it.
----------------------------------------
If your patch is easy to review and obviously has no side-effects,
it might be committed relatively quickly.
Because this is a volunteer-driven effort, more complex patches will
require more patience on your side.
If you did not receive any feedback in a few days, please consider
resubmitting the description of your patch, along-side with
Because PHP is a volunteer-driven effort more complex patches will
require patience on your side. If you do not receive feedback in a few
days, consider resubmitting the patch. Before doing this think about
these questions:
- Is my patch too hard to review? Because of which factors?
- Should I split it up in multiple parts?
- Are there any unwanted whitespace changes?
- Did I review the mail list archives to see if these kind of
changes had been discussed before?
- Did I explain my patch clearly?
- Is my patch too hard to review? Because of which factors?
- Are there any unwanted white space changes?
What happens when your patch is applied?
----------------------------------------
Your name will be included together with your email address in the CVS
commit log. If your patch affects end-users, a brief description
What happens when your patch is applied
---------------------------------------
Your name will be included together with your email address in the SVN
commit log. If your patch affects end users, a brief description
and your name might be added to the NEWS file.
Thank you for submitting patch for PHP!
Thank you for patching PHP!
+17 -17
View File
@@ -1,18 +1,18 @@
====================
CVS Commit Rules
SVN Commit Rules
====================
This is the first file you should be reading after you get your CVS account.
We'll assume you're basically familiar with CVS, but feel free to post
This is the first file you should be reading after you get your SVN account.
We'll assume you're basically familiar with SVN, but feel free to post
your questions on the mailing list. Please have a look at
http://cvsbook.red-bean.com/ for more detailed information on CVS.
http://svnbook.red-bean.com/ for more detailed information on SVN.
PHP is developed through the efforts of a large number of people.
Collaboration is a Good Thing(tm), and CVS lets us do this. Thus, following
some basic rules with regards to CVS usage will::
Collaboration is a Good Thing(tm), and SVN lets us do this. Thus, following
some basic rules with regards to SVN usage will::
a. Make everybody happier, especially those responsible for maintaining
the CVS itself.
the SVN itself.
b. Keep the changes consistently well documented and easily trackable.
@@ -43,21 +43,21 @@ Having said that, here are the organizational rules::
Currently we have the following branches in use::
HEAD Will become PHP 6.0. This CVS branch is for active development.
trunk Will become PHP 6.0. This CVS branch is for active development.
PHP_5_3 Is used to release the PHP 5.3.x series. It still allows for
larger enhancements.
branches/PHP_5_3 Is used to release the PHP 5.3.x series. It still allows for
larger enhancements.
PHP_5_2 Is used to release the PHP 5.2.x series. Only bugfixes are permitted
on this branch (Consult the releasemaster prior to commit).
branches/PHP_5_2 Is used to release the PHP 5.2.x series. Only bugfixes are permitted
on this branch (Consult the releasemaster prior to commit).
PHP_5_1 This branch is closed.
branches/PHP_5_1 This branch is closed.
PHP_4_4 This branch is closed.
branches/PHP_4_4 This branch is closed.
The next few rules are more of a technical nature::
1. All changes should first go to HEAD and then get merged from HEAD
1. All changes should first go to trunk and then get merged from trunk
(aka MFH'ed) to all other relevant branches.
2. DO NOT TOUCH ChangeLog! It is automagically updated from the commit
@@ -132,11 +132,11 @@ If you don't see your messages in ChangeLog right away, don't worry!
These files are updated once a day, so your stuff will not show up until
somewhat later.
When you change the NEWS file for a bug fix, then please keep the bugs
When you change the NEWS file for a bug fix, then please keep the bugs
sorted in decreasing order under the fixed version.
You can use LXR (http://lxr.php.net/) and Bonsai (http://bonsai.php.net/)
to look at PHP CVS repository in various ways.
to look at PHP SVN repository in various ways.
To receive daily updates to ChangeLog and NEWS, send an empty message to
php-cvs-daily-subscribe@lists.php.net.
+1 -169
View File
@@ -1,174 +1,6 @@
The Win32 Build System.
$Id$
Wez Furlong <wez@thebrainroom.com>
If you need help with the build system, send mail to
internals@lists.php.net; please don't email me directly.
===========================================================
Contents:
1. How to build PHP under windows
a. Requirements
b. Opening a command prompt
c. Generating configure.js
d. Configuring
e. Building
f. Cleaning up
g. Running the test suite
h. snapshot building
2. How to write config.w32 files
x. to be written.
===========================================================
1. How to build PHP under windows
a. Requirements
You need:
- Windows Scripting Host (cscript.exe)
- Microsoft Build Tools from:
Microsoft Visual Studio (VC6) or later
You also need:
- bindlib_w32 [http://www.php.net/extra/bindlib_w32.zip]
- win32build [http://www.php.net/extra/win32build.zip]
b. Opening the Build Environment Command Prompt:
- Using Visual Studio (VC6)
1. Install it
2. If you have a VC++ Command Prompt icon on your start menu,
click on it to get a Command Prompt with the env vars
set up correctly.
If not, create a new shortcut and set the Target to:
%comspec% /k "C:\Program Files\Microsoft Visual Studio\VC98\Bin\vcvars32.bat"
You might also want to set the prompt to start in
a convenient location (such as the root of your
PHP source checkout).
- Using Visual Studio .Net
1. Install it.
2. Under the Visual Studio .Net Tools sub menu of your start
menu, you should have a Visual Studio .Net Command Prompt
icon. If not, create a new shortcut and set the Target to:
%comspec% /k "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat"
You might also want to set the prompt to start in
a convenient location (such as the root of your
PHP source checkout).
- Using the Platform SDK tools
1. Download the Platform SDK:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
- You need the Core SDK, which is approx 200MB to download
and requires approx 500MB of disk space.
- The other components of the SDK are not required by PHP
- You might be able to reduce the download size by downloading
the installer control component first and then selecting
only the Build Environment (around 30MB), but I haven't
tried this.
** Note: it seems that MS don't include the 32 bit
build tools in the platform SDK any longer, so
you will probably have very limited luck if you
don't also have VC++ or VS.Net already installed.
2. Once installed, you will have an icon on your start menu
that will launch the build environment; the latest SDK's
install a number of different versions of this; you probably
want to choose the Windows 2000 Retail build environment.
Clicking on this will open a command prompt with its Path,
Include and Lib env vars set to point to the build tools
and win32 headers.
c. Generating configure
Change directory to where you have your PHP 5 sources.
Run buildconf.bat.
d. Configuring
cscript /nologo configure.js --help
Will give you a list of configuration options; these will
have the form:
--enable-foo or --disable-foo or --with-foo or --without-foo.
--enable-foo will turn something on, and is equivalent to
specifying --enable-foo=yes
--disable-foo will turn something off, and is equivalent to
specifying --enable-foo=no
--enable-foo=shared will attempt to build that feature as
a shared, dynamically loadable module.
Sometimes a configure option needs additional information
about where to find headers and libraries; quite often
you can specify --enable-foo=option where option could be
the path to where to find those files. If you want to
specify a parameter and build it as shared, you can use
this syntax instead: --enable-foo=shared,option
The same rules all apply to --with-foo and --without-foo;
the only difference is the way the options are named;
the convention is that --enable-foo means that you are
switching on something that comes with PHP, whereas
--with-foo means that you want to build in something
external to PHP.
e. Building
Once you have successfully configured your build (make
sure you read the output from the command to make sure
it worked correctly), you can build the code; simply type
"nmake" at the command prompt, and it will build everthing
you asked for.
Once the build has completed, you will find your binaries
in the build dir determined by configure; this is typically
Release_TS for release builds or Debug_TS for debug builds.
If you build a non-thread-safe build, it will use Release
or Debug to store the files. Also in this build dir you
will find sub directories for each module that went into
your PHP build. The files you'll want to keep are the
.exe and .dll files directly in your build dir.
f. Cleaning Up
You can automatically delete everything that was built
by running "nmake clean". This will delete everything
that was put there when you ran nmake, including the
.exe and .dll files.
g. Running the test suite
You can verify that your build is working well by running
the regression test suite. You do this by typing
"nmake test". You can specify the tests you want to run
by defing the TESTS variable - if you wanted to run the
sqlite test suite only, you would type
"nmake /D TESTS=ext/sqlite/tests test"
h. Snapshot Building
If you want to set up an automated build that will tolerate
breakages in some of the modules, you can use the
--enable-snapshot-build configure option to generate a
makefile optimized for that purpose. A snapshot build will
switch the argument parser so that the default option for
configure switches that your don't specify will be set
to "shared". The effect of this is to turn on all options
unless you explicitly disable them. When you have configured
your snapshot build, you can use "nmake build-snap" to build
everything, ignoring build errors in individual extensions
or SAPI.
See http://wiki.php.net/internals/windows/stepbystepbuild
vim:tw=78:sw=1:ts=1:et
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Thread Safe Resource Manager |
+----------------------------------------------------------------------+
| Copyright (c) 1999-2009, Andi Gutmans, Sascha Schumann, Zeev Suraski |
| Copyright (c) 1999-2010, 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-2009, Andi Gutmans, Sascha Schumann, Zeev Suraski |
| Copyright (c) 1999-2010, 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-2009 The PHP Group |
| Copyright (c) 1997-2010 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-2009 The PHP Group |
| Copyright (c) 1997-2010 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 |
+184 -30
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2009 The PHP Group |
| Copyright (c) 1997-2010 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 |
@@ -271,9 +271,6 @@ CWD_API int php_sys_stat(const char *path, struct stat *buf) /* {{{ */
buf->st_atime = FileTimeToUnixTime(data.ftLastAccessTime);
buf->st_ctime = FileTimeToUnixTime(data.ftCreationTime);
buf->st_mtime = FileTimeToUnixTime(data.ftLastWriteTime);
if (buf->st_mtime != buf->st_atime) {
buf->st_atime = buf->st_mtime;
}
return 0;
}
/* }}} */
@@ -431,6 +428,27 @@ CWD_API char *virtual_getcwd(char *buf, size_t size TSRMLS_DC) /* {{{ */
}
/* }}} */
#ifdef PHP_WIN32
static inline unsigned long realpath_cache_key(const char *path, int path_len TSRMLS_DC) /* {{{ */
{
register unsigned long h;
char *bucket_key_start = tsrm_win32_get_path_sid_key(path TSRMLS_CC);
char *bucket_key = (char *)bucket_key_start;
const char *e = bucket_key + strlen(bucket_key);
if (!bucket_key) {
return 0;
}
for (h = 2166136261U; bucket_key < e;) {
h *= 16777619;
h ^= *bucket_key++;
}
HeapFree(GetProcessHeap(), 0, (LPVOID)bucket_key_start);
return h;
}
/* }}} */
#else
static inline unsigned long realpath_cache_key(const char *path, int path_len) /* {{{ */
{
register unsigned long h;
@@ -444,6 +462,7 @@ static inline unsigned long realpath_cache_key(const char *path, int path_len) /
return h;
}
/* }}} */
#endif /* defined(PHP_WIN32) */
CWD_API void realpath_cache_clean(TSRMLS_D) /* {{{ */
{
@@ -464,7 +483,11 @@ CWD_API void realpath_cache_clean(TSRMLS_D) /* {{{ */
CWD_API void realpath_cache_del(const char *path, int path_len TSRMLS_DC) /* {{{ */
{
#ifdef PHP_WIN32
unsigned long key = realpath_cache_key(path, path_len TSRMLS_CC);
#else
unsigned long key = realpath_cache_key(path, path_len);
#endif
unsigned long n = key % (sizeof(CWDG(realpath_cache)) / sizeof(CWDG(realpath_cache)[0]));
realpath_cache_bucket **bucket = &CWDG(realpath_cache)[n];
@@ -497,8 +520,12 @@ static inline void realpath_cache_add(const char *path, int path_len, const char
if (CWDG(realpath_cache_size) + size <= CWDG(realpath_cache_size_limit)) {
realpath_cache_bucket *bucket = malloc(size);
unsigned long n;
#ifdef PHP_WIN32
bucket->key = realpath_cache_key(path, path_len TSRMLS_CC);
#else
bucket->key = realpath_cache_key(path, path_len);
#endif
bucket->path = (char*)bucket + sizeof(realpath_cache_bucket);
memcpy(bucket->path, path, path_len+1);
bucket->path_len = path_len;
@@ -527,7 +554,12 @@ static inline void realpath_cache_add(const char *path, int path_len, const char
static inline realpath_cache_bucket* realpath_cache_find(const char *path, int path_len, time_t t TSRMLS_DC) /* {{{ */
{
#ifdef PHP_WIN32
unsigned long key = realpath_cache_key(path, path_len TSRMLS_CC);
#else
unsigned long key = realpath_cache_key(path, path_len);
#endif
unsigned long n = key % (sizeof(CWDG(realpath_cache)) / sizeof(CWDG(realpath_cache)[0]));
realpath_cache_bucket **bucket = &CWDG(realpath_cache)[n];
@@ -554,6 +586,22 @@ CWD_API realpath_cache_bucket* realpath_cache_lookup(const char *path, int path_
}
/* }}} */
CWD_API int realpath_cache_size(TSRMLS_D)
{
return CWDG(realpath_cache_size);
}
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)
{
return CWDG(realpath_cache);
}
#undef LINK_MAX
#define LINK_MAX 32
@@ -564,13 +612,13 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
#ifdef TSRM_WIN32
WIN32_FIND_DATA data;
HANDLE hFind;
TSRM_ALLOCA_FLAG(use_heap_large)
#else
struct stat st;
#endif
realpath_cache_bucket *bucket;
char *tmp;
TSRM_ALLOCA_FLAG(use_heap)
TSRM_ALLOCA_FLAG(use_heap_large)
while (1) {
if (len <= start) {
@@ -666,13 +714,20 @@ 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 && (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;
unsigned int retlength = 0, rname_off = 0;
int bufindex = 0, rname_len = 0, isabsolute = 0;
unsigned int retlength = 0;
int bufindex = 0, isabsolute = 0;
wchar_t * reparsetarget;
BOOL isVolume = FALSE;
char printname[MAX_PATH];
char substitutename[MAX_PATH];
int printname_len, substitutename_len;
int substitutename_off = 0;
if(++(*ll) > LINK_MAX) {
return -1;
@@ -693,37 +748,108 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
CloseHandle(hLink);
if(pbuffer->ReparseTag == IO_REPARSE_TAG_SYMLINK) {
rname_len = pbuffer->SymbolicLinkReparseBuffer.PrintNameLength/2;
rname_off = pbuffer->SymbolicLinkReparseBuffer.PrintNameOffset/2;
reparsetarget = pbuffer->SymbolicLinkReparseBuffer.ReparseTarget;
printname_len = pbuffer->MountPointReparseBuffer.PrintNameLength / sizeof(WCHAR);
isabsolute = (pbuffer->SymbolicLinkReparseBuffer.Flags == 0) ? 1 : 0;
if (!WideCharToMultiByte(CP_THREAD_ACP, 0,
reparsetarget + pbuffer->MountPointReparseBuffer.PrintNameOffset / sizeof(WCHAR),
printname_len + 1,
printname, MAX_PATH, NULL, NULL
)) {
tsrm_free_alloca(pbuffer, use_heap_large);
return -1;
};
printname_len = pbuffer->MountPointReparseBuffer.PrintNameLength / sizeof(WCHAR);
printname[printname_len] = 0;
substitutename_len = pbuffer->MountPointReparseBuffer.SubstituteNameLength / sizeof(WCHAR);
if (!WideCharToMultiByte(CP_THREAD_ACP, 0,
reparsetarget + pbuffer->MountPointReparseBuffer.SubstituteNameOffset / sizeof(WCHAR),
substitutename_len + 1,
substitutename, MAX_PATH, NULL, NULL
)) {
tsrm_free_alloca(pbuffer, use_heap_large);
return -1;
};
substitutename[substitutename_len] = 0;
}
else if(pbuffer->ReparseTag == IO_REPARSE_TAG_MOUNT_POINT) {
rname_len = pbuffer->MountPointReparseBuffer.PrintNameLength/2;
rname_off = pbuffer->MountPointReparseBuffer.PrintNameOffset/2;
reparsetarget = pbuffer->MountPointReparseBuffer.ReparseTarget;
isabsolute = 1;
}
else {
reparsetarget = pbuffer->MountPointReparseBuffer.ReparseTarget;
printname_len = pbuffer->MountPointReparseBuffer.PrintNameLength / sizeof(WCHAR);
if (!WideCharToMultiByte(CP_THREAD_ACP, 0,
reparsetarget + pbuffer->MountPointReparseBuffer.PrintNameOffset / sizeof(WCHAR),
printname_len + 1,
printname, MAX_PATH, NULL, NULL
)) {
tsrm_free_alloca(pbuffer, use_heap_large);
return -1;
};
printname[pbuffer->MountPointReparseBuffer.PrintNameLength / sizeof(WCHAR)] = 0;
substitutename_len = pbuffer->MountPointReparseBuffer.SubstituteNameLength / sizeof(WCHAR);
if (!WideCharToMultiByte(CP_THREAD_ACP, 0,
reparsetarget + pbuffer->MountPointReparseBuffer.SubstituteNameOffset / sizeof(WCHAR),
substitutename_len + 1,
substitutename, MAX_PATH, NULL, NULL
)) {
tsrm_free_alloca(pbuffer, use_heap_large);
return -1;
};
substitutename[substitutename_len] = 0;
} else {
tsrm_free_alloca(pbuffer, use_heap_large);
return -1;
}
/* Convert wide string to narrow string */
for(bufindex = 0; bufindex < rname_len; bufindex++) {
*(path + bufindex) = (char)(reparsetarget[rname_off + bufindex]);
if(isabsolute && substitutename_len > 4) {
/* 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
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;
substitutename_off = 0;
} else
/* do not use the \??\ and \\?\ prefix*/
if (strncmp(substitutename, "\\??\\", 4) == 0
|| strncmp(substitutename, "\\\\?\\", 4) == 0) {
substitutename_off = 4;
}
}
*(path + bufindex) = 0;
if (!isVolume) {
char * tmp = substitutename + substitutename_off;
for(bufindex = 0; bufindex < (substitutename_len - substitutename_off); bufindex++) {
*(path + bufindex) = *(tmp + bufindex);
}
*(path + bufindex) = 0;
j = bufindex;
} else {
j = len;
}
#if VIRTUAL_CWD_DEBUG
fprintf(stderr, "reparse: print: %s ", printname);
fprintf(stderr, "sub: %s ", substitutename);
fprintf(stderr, "resolved: %s ", path);
#endif
tsrm_free_alloca(pbuffer, use_heap_large);
j = bufindex;
if(isabsolute == 1) {
/* use_realpath is 0 in the call below coz path is absolute*/
j = tsrm_realpath_r(path, 0, j, ll, t, 0, is_dir, &directory TSRMLS_CC);
if(j < 0) {
tsrm_free_alloca(tmp, use_heap);
return -1;
if (!((j == 3) && (path[1] == ':') && (path[2] == '\\'))) {
/* use_realpath is 0 in the call below coz path is absolute*/
j = tsrm_realpath_r(path, 0, j, ll, t, 0, is_dir, &directory TSRMLS_CC);
if(j < 0) {
tsrm_free_alloca(tmp, use_heap);
return -1;
}
}
}
else {
@@ -741,6 +867,7 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
return -1;
}
}
directory = (data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY);
if(link_is_dir) {
*link_is_dir = directory;
@@ -870,9 +997,19 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
time_t t;
int ret;
int add_slash;
void *tmp;
TSRMLS_FETCH();
if (path_length == 0 || path_length >= MAXPATHLEN-1) {
#ifdef TSRM_WIN32
# if _MSC_VER < 1300
errno = EINVAL;
# else
_set_errno(EINVAL);
# endif
#else
errno = EINVAL;
#endif
return 1;
}
@@ -1014,7 +1151,16 @@ verify:
CWD_STATE_COPY(&old_state, state);
state->cwd_length = path_length;
state->cwd = (char *) realloc(state->cwd, state->cwd_length+1);
tmp = realloc(state->cwd, state->cwd_length+1);
if (tmp == NULL) {
#if VIRTUAL_CWD_DEBUG
fprintf (stderr, "Out of memory\n");
#endif
return 1;
}
state->cwd = (char *) tmp;
memcpy(state->cwd, resolved_path, state->cwd_length+1);
if (verify_path(state)) {
CWD_STATE_FREE(state);
@@ -1026,7 +1172,15 @@ verify:
}
} else {
state->cwd_length = path_length;
state->cwd = (char *) realloc(state->cwd, state->cwd_length+1);
tmp = realloc(state->cwd, state->cwd_length+1);
if (tmp == NULL) {
#if VIRTUAL_CWD_DEBUG
fprintf (stderr, "Out of memory\n");
#endif
return 1;
}
state->cwd = (char *) tmp;
memcpy(state->cwd, resolved_path, state->cwd_length+1);
ret = 0;
}
@@ -1195,7 +1349,7 @@ static void UnixTimeToFileTime(time_t t, LPFILETIME pft) /* {{{ */
}
/* }}} */
static int win32_utime(const char *filename, struct utimbuf *buf) /* {{{ */
TSRM_API int win32_utime(const char *filename, struct utimbuf *buf) /* {{{ */
{
FILETIME mtime, atime;
HANDLE hFile;
@@ -1371,7 +1525,7 @@ CWD_API int virtual_rename(char *oldname, char *newname TSRMLS_DC) /* {{{ */
/* rename on windows will fail if newname already exists.
MoveFileEx has to be used */
#ifdef TSRM_WIN32
retval = (MoveFileEx(oldname, newname, MOVEFILE_REPLACE_EXISTING) == 0) ? -1 : 0;
retval = (MoveFileEx(oldname, newname, MOVEFILE_REPLACE_EXISTING|MOVEFILE_COPY_ALLOWED) == 0) ? -1 : 0;
#else
retval = rename(oldname, newname);
#endif
+11 -3
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2009 The PHP Group |
| Copyright (c) 1997-2010 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 |
@@ -238,6 +238,9 @@ extern virtual_cwd_globals cwd_globals;
CWD_API void realpath_cache_clean(TSRMLS_D);
CWD_API void realpath_cache_del(const char *path, int path_len TSRMLS_DC);
CWD_API realpath_cache_bucket* realpath_cache_lookup(const char *path, int path_len, time_t t TSRMLS_DC);
CWD_API int realpath_cache_size(TSRMLS_D);
CWD_API int realpath_cache_max_buckets(TSRMLS_D);
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
@@ -288,7 +291,7 @@ CWD_API realpath_cache_bucket* realpath_cache_lookup(const char *path, int path_
/* rename on windows will fail if newname already exists.
MoveFileEx has to be used */
#if defined(TSRM_WIN32)
# define VCWD_RENAME(oldname, newname) (MoveFileEx(oldname, newname, MOVEFILE_REPLACE_EXISTING) == 0 ? -1 : 0)
# define VCWD_RENAME(oldname, newname) (MoveFileEx(oldname, newname, MOVEFILE_REPLACE_EXISTING|MOVEFILE_COPY_ALLOWED) == 0 ? -1 : 0)
#else
# define VCWD_RENAME(oldname, newname) rename(oldname, newname)
#endif
@@ -311,8 +314,13 @@ CWD_API realpath_cache_bucket* realpath_cache_lookup(const char *path, int path_
#define VCWD_REALPATH(path, real_path) tsrm_realpath(path, real_path TSRMLS_CC)
#if HAVE_UTIME
#define VCWD_UTIME(path, time) utime(path, time)
# ifdef TSRM_WIN32
# define VCWD_UTIME(path, time) win32_utime(path, time)
# else
# define VCWD_UTIME(path, time) utime(path, time)
# endif
#endif
#define VCWD_CHMOD(path, mode) chmod(path, mode)
#if !defined(TSRM_WIN32) && !defined(NETWARE)
#define VCWD_CHOWN(path, owner, group) chown(path, owner, group)
+223 -33
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2009 The PHP Group |
| Copyright (c) 1997-2010 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 |
@@ -30,7 +30,7 @@
#include "TSRM.h"
#ifdef TSRM_WIN32
#include <Sddl.h>
#include "tsrm_win32.h"
#include "tsrm_virtual_cwd.h"
@@ -42,25 +42,21 @@ static tsrm_win32_globals win32_globals;
static void tsrm_win32_ctor(tsrm_win32_globals *globals TSRMLS_DC)
{
HANDLE process_token = NULL;
globals->process = NULL;
globals->shm = NULL;
globals->process_size = 0;
globals->shm_size = 0;
globals->comspec = _strdup((GetVersion()<0x80000000)?"cmd.exe":"command.com");
globals->impersonation_token = NULL;
/* Access check requires impersonation token. Create a duplicate token. */
if(OpenProcessToken(GetCurrentProcess(), TOKEN_DUPLICATE | TOKEN_QUERY, &process_token)) {
DuplicateToken(process_token, SecurityImpersonation, &globals->impersonation_token);
}
/* impersonation_token will be closed when the process dies */
if(process_token != NULL) {
CloseHandle(process_token);
process_token = NULL;
}
/* Set it to INVALID_HANDLE_VALUE
* It will be initialized correctly in tsrm_win32_access or set to
* NULL if no impersonation has been done.
* the impersonated token can't be set here as the impersonation
* will happen later, in fcgi_accept_request (or whatever is the
* SAPI being used).
*/
globals->impersonation_token = INVALID_HANDLE_VALUE;
globals->impersonation_token_sid = NULL;
}
static void tsrm_win32_dtor(tsrm_win32_globals *globals TSRMLS_DC)
@@ -83,9 +79,12 @@ static void tsrm_win32_dtor(tsrm_win32_globals *globals TSRMLS_DC)
free(globals->comspec);
if(globals->impersonation_token) {
if (globals->impersonation_token && globals->impersonation_token != INVALID_HANDLE_VALUE ) {
CloseHandle(globals->impersonation_token);
}
if (globals->impersonation_token_sid) {
free(globals->impersonation_token_sid);
}
}
TSRM_API void tsrm_win32_startup(void)
@@ -104,8 +103,98 @@ TSRM_API void tsrm_win32_shutdown(void)
#endif
}
char * tsrm_win32_get_path_sid_key(const char *pathname TSRMLS_DC)
{
PSID pSid = TWG(impersonation_token_sid);
DWORD sid_len = pSid ? GetLengthSid(pSid) : 0;
TCHAR *ptcSid = NULL;
char *bucket_key = NULL;
if (!pSid) {
bucket_key = (char *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, strlen(pathname) + 1);
if (!bucket_key) {
return NULL;
}
memcpy(bucket_key, pathname, strlen(pathname));
return bucket_key;
}
if (!ConvertSidToStringSid(pSid, &ptcSid)) {
return NULL;
}
bucket_key = (char *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, strlen(pathname) + strlen(ptcSid) + 1);
if (!bucket_key) {
LocalFree(ptcSid);
return NULL;
}
memcpy(bucket_key, ptcSid, strlen(ptcSid));
memcpy(bucket_key + strlen(ptcSid), pathname, strlen(pathname) + 1);
LocalFree(ptcSid);
return bucket_key;
}
PSID tsrm_win32_get_token_sid(HANDLE hToken)
{
BOOL bSuccess = FALSE;
DWORD dwLength = 0;
PTOKEN_USER pTokenUser = NULL;
PSID sid;
PSID *ppsid = &sid;
DWORD sid_len;
PSID pResultSid = NULL;
/* Get the actual size of the TokenUser structure */
if (!GetTokenInformation(
hToken, TokenUser, (LPVOID) pTokenUser, 0, &dwLength)) {
if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) {
goto Finished;
}
pTokenUser = (PTOKEN_USER)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, dwLength);
if (pTokenUser == NULL) {
goto Finished;
}
}
/* and fetch it now */
if (!GetTokenInformation(
hToken, TokenUser, (LPVOID) pTokenUser, dwLength, &dwLength)) {
goto Finished;
}
sid_len = GetLengthSid(pTokenUser->User.Sid);
/* ConvertSidToStringSid(pTokenUser->User.Sid, &ptcSidOwner); */
pResultSid = malloc(sid_len);
if (!pResultSid) {
goto Finished;
}
if (!CopySid(sid_len, pResultSid, pTokenUser->User.Sid)) {
goto Finished;
}
HeapFree(GetProcessHeap(), 0, (LPVOID)pTokenUser);
return pResultSid;
Finished:
if (pResultSid) {
free(pResultSid);
}
/* Free the buffer for the token groups. */
if (pTokenUser != NULL) {
HeapFree(GetProcessHeap(), 0, (LPVOID)pTokenUser);
}
return NULL;
}
TSRM_API int tsrm_win32_access(const char *pathname, int mode)
{
time_t t;
HANDLE thread_token;
PSID token_sid;
SECURITY_INFORMATION sec_info = OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION;
GENERIC_MAPPING gen_map = { FILE_GENERIC_READ, FILE_GENERIC_WRITE, FILE_GENERIC_EXECUTE, FILE_ALL_ACCESS };
DWORD priv_set_length = sizeof(PRIVILEGE_SET);
@@ -114,11 +203,10 @@ TSRM_API int tsrm_win32_access(const char *pathname, int mode)
DWORD sec_desc_length = 0, desired_access = 0, granted_access = 0;
BYTE * psec_desc = NULL;
BOOL fAccess = FALSE;
HANDLE process_token = NULL;
BOOL bucket_key_alloc = FALSE;
realpath_cache_bucket * bucket = NULL;
char * real_path = NULL;
time_t t;
TSRMLS_FETCH();
@@ -126,10 +214,6 @@ TSRM_API int tsrm_win32_access(const char *pathname, int mode)
DWORD type;
return GetBinaryType(pathname, &type) ? 0 : -1;
} else {
if(access(pathname, mode)) {
return errno;
}
if(!IS_ABSOLUTE_PATH(pathname, strlen(pathname)+1)) {
real_path = (char *)malloc(MAX_PATH);
if(tsrm_realpath(pathname, real_path TSRMLS_CC) == NULL) {
@@ -138,6 +222,63 @@ TSRM_API int tsrm_win32_access(const char *pathname, int mode)
pathname = real_path;
}
if(access(pathname, mode)) {
free(real_path);
return errno;
}
/* If only existence check is made, return now */
if (mode == 0) {
free(real_path);
return 0;
}
/* Only in NTS when impersonate==1 (aka FastCGI) */
/*
AccessCheck() requires an impersonation token. We first get a primary
token and then create a duplicate impersonation token. The
impersonation token is not actually assigned to the thread, but is
used in the call to AccessCheck. Thus, this function itself never
impersonates, but does use the identity of the thread. If the thread
was impersonating already, this function uses that impersonation context.
*/
if(!OpenThreadToken(GetCurrentThread(), TOKEN_ALL_ACCESS, TRUE, &thread_token)) {
DWORD err = GetLastError();
if (GetLastError() == ERROR_NO_TOKEN) {
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, &thread_token)) {
TWG(impersonation_token) = NULL;
goto Finished;
}
}
}
/* token_sid will be freed in tsrmwin32_dtor */
token_sid = tsrm_win32_get_token_sid(thread_token);
if (!token_sid) {
if (TWG(impersonation_token_sid)) {
free(TWG(impersonation_token_sid));
}
TWG(impersonation_token_sid) = NULL;
goto Finished;
}
/* Different identity, we need a new impersontated token as well */
if (!TWG(impersonation_token_sid) || !EqualSid(token_sid, TWG(impersonation_token_sid))) {
if (TWG(impersonation_token_sid)) {
free(TWG(impersonation_token_sid));
}
TWG(impersonation_token_sid) = token_sid;
/* Duplicate the token as impersonated token */
if (!DuplicateToken(thread_token, SecurityImpersonation, &TWG(impersonation_token))) {
goto Finished;
}
} else {
/* we already have it, free it then */
free(token_sid);
}
if (CWDG(realpath_cache_size_limit)) {
t = time(0);
bucket = realpath_cache_lookup(pathname, strlen(pathname), t TSRMLS_CC);
@@ -151,7 +292,7 @@ TSRM_API int tsrm_win32_access(const char *pathname, int mode)
}
}
}
/* Do a full access check because access() will only check read-only attribute */
if(mode == 0 || mode > 6) {
if(bucket != NULL && bucket->is_rvalid) {
@@ -170,7 +311,7 @@ TSRM_API int tsrm_win32_access(const char *pathname, int mode)
fAccess = bucket->is_readable;
goto Finished;
}
desired_access = FILE_GENERIC_READ;
desired_access = FILE_GENERIC_READ|FILE_FLAG_BACKUP_SEMANTICS;
} else { // if(mode <= 6)
if(bucket != NULL && bucket->is_rvalid && bucket->is_wvalid) {
fAccess = bucket->is_readable & bucket->is_writable;
@@ -194,28 +335,36 @@ TSRM_API int tsrm_win32_access(const char *pathname, int mode)
goto Finished;
}
MapGenericMask(&desired_access, &gen_map);
if(!AccessCheck((PSECURITY_DESCRIPTOR)psec_desc, TWG(impersonation_token), desired_access, &gen_map, &privilege_set, &priv_set_length, &granted_access, &fAccess)) {
goto Finished;
goto Finished_Impersonate;
}
/* Keep the result in realpath_cache */
if(bucket != NULL) {
if(desired_access == FILE_GENERIC_READ) {
if(desired_access == (FILE_GENERIC_READ|FILE_FLAG_BACKUP_SEMANTICS)) {
bucket->is_rvalid = 1;
bucket->is_readable = fAccess;
}
else if(desired_access == FILE_GENERIC_WRITE) {
bucket->is_wvalid = 1;
bucket->is_writable = fAccess;
} else if (desired_access == (FILE_GENERIC_READ | FILE_GENERIC_WRITE)) {
bucket->is_rvalid = 1;
bucket->is_readable = fAccess;
bucket->is_wvalid = 1;
bucket->is_writable = fAccess;
}
}
Finished:
Finished_Impersonate:
if(psec_desc != NULL) {
free(psec_desc);
psec_desc = NULL;
}
Finished:
if(real_path != NULL) {
free(real_path);
real_path = NULL;
@@ -305,21 +454,45 @@ TSRM_API FILE *popen(const char *command, const char *type)
TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, char *env)
{
FILE *stream = NULL;
int fno, str_len = strlen(type), read, mode;
int fno, type_len = strlen(type), read, mode;
STARTUPINFO startup;
PROCESS_INFORMATION process;
SECURITY_ATTRIBUTES security;
HANDLE in, out;
DWORD dwCreateFlags = 0;
char *cmd;
BOOL res;
process_pair *proc;
char *cmd;
int i;
char *ptype = (char *)type;
HANDLE thread_token = NULL;
HANDLE token_user = NULL;
BOOL asuser = TRUE;
TSRMLS_FETCH();
if (!type) {
return NULL;
}
/*The following two checks can be removed once we drop XP support */
type_len = strlen(type);
if (type_len <1 || type_len > 2) {
return NULL;
}
for (i=0; i < type_len; i++) {
if (!(*ptype == 'r' || *ptype == 'w' || *ptype == 'b' || *ptype == 't')) {
return NULL;
}
ptype++;
}
security.nLength = sizeof(SECURITY_ATTRIBUTES);
security.bInheritHandle = TRUE;
security.lpSecurityDescriptor = NULL;
if (!str_len || !CreatePipe(&in, &out, &security, 2048L)) {
if (!type_len || !CreatePipe(&in, &out, &security, 2048L)) {
return NULL;
}
@@ -331,7 +504,7 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
startup.hStdError = GetStdHandle(STD_ERROR_HANDLE);
read = (type[0] == 'r') ? TRUE : FALSE;
mode = ((str_len == 2) && (type[1] == 'b')) ? O_BINARY : O_TEXT;
mode = ((type_len == 2) && (type[1] == 'b')) ? O_BINARY : O_TEXT;
if (read) {
in = dupHandle(in, FALSE);
@@ -348,13 +521,30 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
dwCreateFlags |= CREATE_NO_WINDOW;
}
/* Get a token with the impersonated user. */
if(OpenThreadToken(GetCurrentThread(), TOKEN_ALL_ACCESS, TRUE, &thread_token)) {
DuplicateTokenEx(thread_token, MAXIMUM_ALLOWED, &security, SecurityImpersonation, TokenPrimary, &token_user);
} else {
DWORD err = GetLastError();
if (err == ERROR_NO_TOKEN) {
asuser = FALSE;
}
}
cmd = (char*)malloc(strlen(command)+strlen(TWG(comspec))+sizeof(" /c ")+2);
sprintf(cmd, "%s /c \"%s\"", TWG(comspec), command);
if (!CreateProcess(NULL, cmd, &security, &security, security.bInheritHandle, dwCreateFlags, env, cwd, &startup, &process)) {
return NULL;
if (asuser) {
res = CreateProcessAsUser(token_user, NULL, cmd, &security, &security, security.bInheritHandle, dwCreateFlags, env, cwd, &startup, &process);
CloseHandle(token_user);
} else {
res = CreateProcess(NULL, cmd, &security, &security, security.bInheritHandle, dwCreateFlags, env, cwd, &startup, &process);
}
free(cmd);
if (!res) {
return NULL;
}
CloseHandle(process.hThread);
proc = process_get(NULL TSRMLS_CC);
+4 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2009 The PHP Group |
| Copyright (c) 1997-2010 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 |
@@ -64,6 +64,7 @@ typedef struct {
int shm_size;
char *comspec;
HANDLE impersonation_token;
PSID impersonation_token_sid;
} tsrm_win32_globals;
#ifdef ZTS
@@ -89,6 +90,7 @@ typedef struct {
#define SHM_RND FILE_MAP_WRITE
#define SHM_REMAP FILE_MAP_COPY
char * tsrm_win32_get_path_sid_key(const char *pathname TSRMLS_DC);
TSRM_API void tsrm_win32_startup(void);
TSRM_API void tsrm_win32_shutdown(void);
@@ -97,6 +99,7 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
TSRM_API FILE *popen(const char *command, const char *type);
TSRM_API int pclose(FILE *stream);
TSRM_API int tsrm_win32_access(const char *pathname, int mode);
TSRM_API int win32_utime(const char *filename, struct utimbuf *buf);
TSRM_API int shmget(int key, int size, int flags);
TSRM_API void *shmat(int key, const void *shmaddr, int flags);
-12
View File
@@ -62,18 +62,6 @@ unix.h \
stdlib.h \
dlfcn.h)
dnl Don't use mach-o/dyld.h on Darwin 8+, dl* is recommended by Apple from there on
dnl See http://developer.apple.com/documentation/DeveloperTools/Conceptual/MachOTopics/Articles/loading_code.html
case $host_alias in
*darwin[[89]]*)
;;
*)
AC_CHECK_HEADERS([ \
mach-o/dyld.h
],[],[][])
;;
esac
AC_TYPE_SIZE_T
AC_TYPE_SIGNAL
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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
View File
@@ -3,6 +3,7 @@ if (function_exists("date_default_timezone_set")) {
date_default_timezone_set("UTC");
}
date_default_timezone_set('UTC');
function simple() {
$a = 0;
for ($i = 0; $i < 1000000; $i++)
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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 |
+12 -11
View File
@@ -359,7 +359,8 @@ var_dump($global_var);
//Note: No error conditions relating to passing arugments can be tested
// because these are not functions but statements, it will result in syntax error.
echo "Done\n";
?>
===DONE===
--EXPECTF--
*** Testing unset(), empty() & isset() with scalar variables ***
-- Iteration 1 --
@@ -1185,11 +1186,11 @@ bool(true)
*** Testing unset(), emtpy() & isset() with resource variables ***
-- Iteration 1 --
resource(5) of type (stream)
resource(%d) of type (stream)
bool(true)
bool(false)
bool(true)
resource(5) of type (stream)
resource(%d) of type (stream)
bool(false)
bool(true)
bool(false)
@@ -1198,11 +1199,11 @@ bool(false)
Notice: Undefined variable: resource in %s on line %d
NULL
-- Iteration 2 --
resource(6) of type (stream)
resource(%d) of type (stream)
bool(true)
bool(false)
bool(true)
resource(6) of type (stream)
resource(%d) of type (stream)
bool(false)
bool(true)
bool(false)
@@ -1217,7 +1218,7 @@ bool(false)
bool(true)
*** Testing unset(), empty() & isset() with objects ***
object(Point)#1 (3) {
object(Point)#%d (3) {
["x"]=>
int(30)
["y"]=>
@@ -1239,7 +1240,7 @@ bool(false)
Notice: Undefined variable: lable in %s on line %d
bool(true)
object(Point)#1 (3) {
object(Point)#%d (3) {
["x"]=>
int(30)
["y"]=>
@@ -1247,7 +1248,7 @@ object(Point)#1 (3) {
["lable"]=>
string(6) "Point1"
}
object(Point)#1 (2) {
object(Point)#%d (2) {
["y"]=>
int(40)
["lable"]=>
@@ -1255,7 +1256,7 @@ object(Point)#1 (2) {
}
bool(false)
bool(true)
object(Point)#1 (0) {
object(Point)#%d (0) {
}
bool(true)
bool(false)
@@ -1276,7 +1277,7 @@ array(3) {
[2]=>
string(9) "testPoint"
}
object(Point)#1 (3) {
object(Point)#%d (3) {
["x"]=>
int(5)
["y"]=>
@@ -1329,4 +1330,4 @@ bool(false)
bool(false)
bool(true)
int(10)
Done
===DONE===
+4 -4
View File
@@ -18,17 +18,17 @@ var_dump($a->$b->$c[1]);
Notice: Undefined variable: a in %s on line %d
NULL
Notice: Undefined variable: c in %s on line %d
Notice: Undefined variable: %s in %s on line %d
Notice: Undefined variable: a in %s on line %d
Notice: Undefined variable: %s in %s on line %d
NULL
Notice: Undefined variable: a in %s on line %d
int(1)
Notice: Undefined variable: b in %s on line %d
Notice: Undefined variable: %s in %s on line %d
Notice: Undefined variable: a in %s on line %d
Notice: Undefined variable: %s in %s on line %d
int(0)
Notice: Undefined variable: a in %s on line %d
+3 -1
View File
@@ -41,12 +41,14 @@ $db = new hariCow;
var_dump($db);
?>
===DONE===
--EXPECTF--
Notice: Undefined variable: db in %sbug30162.php on line 35
NULL
object(hariCow)#1 (2) {
object(hariCow)#%d (2) {
["x"]=>
string(1) "x"
["y"]=>
string(1) "y"
}
===DONE===
+11
View File
@@ -0,0 +1,11 @@
--TEST--
Bug #44827 (define() allows :: in constant names)
--FILE--
<?php
define('foo::bar', 1);
define('::', 1);
?>
--EXPECTF--
Warning: Class constants cannot be defined or redefined in %sbug44827.php on line %d
Warning: Class constants cannot be defined or redefined in %sbug44827.php on line %d
+1 -1
View File
@@ -30,7 +30,7 @@ ppp
echo "$htm\n";
?>
--EXPECT---
--EXPECT--
abc
abc
abc
+10
View File
@@ -0,0 +1,10 @@
--TEST--
Bug #48667 (Implementing both iterator and iteratoraggregate)
--FILE--
<?php
abstract class A implements Iterator, IteratorAggregate { }
?>
--EXPECTF--
Fatal error: Class A cannot implement both IteratorAggregate and Iterator at the same time in %s on line %d
+10
View File
@@ -0,0 +1,10 @@
--TEST--
Bug #48667 (Implementing both iterator and iteratoraggregate)
--FILE--
<?php
abstract class A implements IteratorAggregate, Iterator { }
?>
--EXPECTF--
Fatal error: Class A cannot implement both Iterator and IteratorAggregate at the same time in %s on line %d
+28
View File
@@ -0,0 +1,28 @@
--TEST--
Bug #48693 (Double declaration of __lambda_func when lambda wrongly formatted)
--FILE--
<?php
$x = create_function('', 'return 1; }');
$y = create_function('', 'function a() { }; return 2;');
$z = create_function('', '{');
$w = create_function('', 'return 3;');
var_dump(
$x,
$y(),
$z,
$w(),
$y != $z
);
?>
--EXPECTF--
Parse error: syntax error, unexpected '}' in %s(%d) : runtime-created function on line 1
Parse error: syntax error, unexpected $end in %s(%d) : runtime-created function on line 1
bool(false)
int(2)
bool(false)
int(3)
bool(true)
+53
View File
@@ -0,0 +1,53 @@
--TEST--
Bug #48770 (call_user_func_array() fails to call parent from inheriting class)
--XFAIL--
See Bug #48770
--FILE--
<?php
class A {
public function func($str) {
var_dump(__METHOD__ .': '. $str);
}
private function func2($str) {
var_dump(__METHOD__ .': '. $str);
}
protected function func3($str) {
var_dump(__METHOD__ .': '. $str);
}
private function func22($str) {
var_dump(__METHOD__ .': '. $str);
}
}
class B extends A {
public function func($str) {
static $avoid_crash = 0;
if ($avoid_crash++ == 1) {
print "This method shouldn't be called when using parent::func!\n";
return;
}
call_user_func_array(array($this, 'parent::func'), array($str));
}
private function func2($str) {
var_dump(__METHOD__ .': '. $str);
}
protected function func3($str) {
var_dump(__METHOD__ .': '. $str);
}
}
class C extends B {
public function func($str) {
parent::func($str);
}
}
$c = new C;
$c->func('This should work!');
?>
--EXPECTF--
%unicode|string%(26) "A::func: This should work!"
+54
View File
@@ -0,0 +1,54 @@
--TEST--
Bug #48770 (call_user_func_array() fails to call parent from inheriting class)
--XFAIL--
See Bug #48770
--FILE--
<?php
class A {
public function func($str) {
var_dump(__METHOD__ .': '. $str);
}
private function func2($str) {
var_dump(__METHOD__ .': '. $str);
}
protected function func3($str) {
var_dump(__METHOD__ .': '. $str);
}
private function func22($str) {
var_dump(__METHOD__ .': '. $str);
}
}
class B extends A {
public function func($str) {
call_user_func_array(array($this, 'parent::func2'), array($str));
call_user_func_array(array($this, 'parent::func3'), array($str));
call_user_func_array(array($this, 'parent::func22'), array($str));
call_user_func_array(array($this, 'parent::inexistent'), array($str));
}
private function func2($str) {
var_dump(__METHOD__ .': '. $str);
}
protected function func3($str) {
var_dump(__METHOD__ .': '. $str);
}
}
class C extends B {
public function func($str) {
parent::func($str);
}
}
$c = new C;
$c->func('This should work!');
?>
--EXPECTF--
%unicode|string%(27) "A::func2: This should work!"
%unicode|string%(27) "A::func3: This should work!"
Warning: call_user_func_array() expects parameter 1 to be a valid callback, cannot access private method A::func22() in %s on line %d
Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'A' does not have a method 'inexistent' in %s on line %d
+51
View File
@@ -0,0 +1,51 @@
--TEST--
Bug #48770 (call_user_func_array() fails to call parent from inheriting class)
--XFAIL--
See Bug #48770
--FILE--
<?php
class A {
public function func($str) {
var_dump(__METHOD__ .': '. $str);
}
private function func2($str) {
var_dump(__METHOD__ .': '. $str);
}
protected function func3($str) {
var_dump(__METHOD__ .': '. $str);
}
private function func22($str) {
var_dump(__METHOD__ .': '. $str);
}
}
class B extends A {
public function func($str) {
call_user_func_array(array($this, 'self::func2'), array($str));
call_user_func_array(array($this, 'self::func3'), array($str));
call_user_func_array(array($this, 'self::inexistent'), array($str));
}
private function func2($str) {
var_dump(__METHOD__ .': '. $str);
}
protected function func3($str) {
var_dump(__METHOD__ .': '. $str);
}
}
class C extends B {
public function func($str) {
parent::func($str);
}
}
$c = new C;
$c->func('This should work!');
?>
--EXPECTF--
%unicode|string%(27) "B::func2: This should work!"
%unicode|string%(27) "B::func3: This should work!"
Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'B' does not have a method 'inexistent' in %s on line %d
+24
View File
@@ -0,0 +1,24 @@
--TEST--
Bug #48899 (is_callable returns true even if method does not exist in parent class)
--FILE--
<?php
class ParentClass { }
class ChildClass extends ParentClass {
public function testIsCallable() {
var_dump(is_callable(array($this, 'parent::testIsCallable')));
}
public function testIsCallable2() {
var_dump(is_callable(array($this, 'static::testIsCallable2')));
}
}
$child = new ChildClass();
$child->testIsCallable();
$child->testIsCallable2();
?>
--EXPECT--
bool(false)
bool(true)
+16
View File
@@ -0,0 +1,16 @@
--TEST--
Bug #48912 (Namespace causes unexpected strict behaviour with extract())
--FILE--
<?php
namespace A;
function test()
{
extract(func_get_arg(0));
}
test(array('x' => 1));
echo "ok\n";
?>
--EXPECT--
ok
+26
View File
@@ -0,0 +1,26 @@
--TEST--
Bug #49269 (Ternary operator fails on Iterator object when used inside foreach declaration).
--FILE--
<?php
class TestObject implements Iterator
{
public $n = 0;
function valid()
{
return ($this->n < 3);
}
function current() {return $this->n;}
function next() {$this->n++;}
function key() { }
function rewind() {$this->n = 0;}
}
$array_object = new TestObject();
foreach ((true ? $array_object : $array_object) as $item) echo "$item\n";
?>
--EXPECT--
0
1
2
+27
View File
@@ -0,0 +1,27 @@
--TEST--
Bug #49472 (Constants defined in Interfaces can be overridden)
--FILE--
<?php
interface ia {
const c = 'Sea';
const y = 2;
}
class Foo implements ia {
}
class FooBar extends Foo implements ia {
const x = 1;
const c = 'Ocean';
public function show() {
return ia::c;
}
}
new FooBar;
?>
--EXPECTF--
Fatal error: Cannot inherit previously-inherited or override constant c from interface ia in %s on line %d
+10
View File
@@ -0,0 +1,10 @@
--TEST--
Bug #49866 (Making reference on string offsets crashes PHP)
--FILE--
<?php
$a = "string";
$b = &$a[1];
$b = "f";
echo $a;
--EXPECTF--
Fatal error: Cannot create references to/from string offsets nor overloaded objects in %sbug49866.php on line 3
+28
View File
@@ -0,0 +1,28 @@
--TEST--
Bug #49908 (throwing exception in __autoload crashes when interface is not defined)
--FILE--
<?php
function __autoload($className) {
var_dump($className);
if ($className == 'Foo') {
class Foo implements Bar {};
} else {
throw new Exception($className);
}
}
new Foo;
?>
--EXPECTF--
%unicode|string%(3) "Foo"
%unicode|string%(3) "Bar"
Fatal error: Uncaught exception 'Exception' with message 'Bar' in %s:%d
Stack trace:
#0 %s(7): __autoload('Bar')
#1 %s(13): __autoload('Foo')
#2 {main}
thrown in %s on line %d
+19
View File
@@ -0,0 +1,19 @@
--TEST--
Bug #50005 (Throwing through Reflection modified Exception object makes segmentation fault)
--FILE--
<?php
class a extends exception {
public function __construct() {
$this->file = null;
}
}
throw new a;
?>
--EXPECTF--
Fatal error: Uncaught exception 'a' in :%d
Stack trace:
#0 {main}
thrown in Unknown on line %d
+20
View File
@@ -0,0 +1,20 @@
--TEST--
Bug #50146 (property_exists: Closure object cannot have properties)
--FILE--
<?php
$obj = function(){};
var_dump(property_exists($obj,'foo'));
$ref = new ReflectionObject($obj);
var_dump($ref->hasProperty('b'));
var_dump(isset($obj->a));
?>
--EXPECTF--
bool(false)
bool(false)
Catchable fatal error: Closure object cannot have properties in %s on line %d
+33
View File
@@ -0,0 +1,33 @@
--TEST--
Bug #50174 (Incorrectly matched docComment)
--SKIPIF--
<?php if (!extension_loaded('reflection') || !extension_loaded('spl')) print "skip"; ?>
--FILE--
<?php
class TestClass
{
/** const comment */
const C = 0;
function x() {}
}
$rm = new ReflectionMethod('TestClass', 'x');
var_dump($rm->getDocComment());
class TestClass2
{
/** const comment */
const C = 0;
public $x;
}
$rp = new ReflectionProperty('TestClass2', 'x');
var_dump($rp->getDocComment());
?>
--EXPECT--
bool(false)
bool(false)
+30
View File
@@ -0,0 +1,30 @@
--TEST--
Bug #50255 (isset() and empty() silently casts array to object)
--FILE--
<?php
$arr = array('foo' => 'bar');
print "isset\n";
var_dump(isset($arr->foo));
var_dump(isset($arr->bar));
var_dump(isset($arr['foo']));
var_dump(isset($arr['bar']));
print "empty\n";
var_dump(empty($arr->foo));
var_dump(empty($arr->bar));
var_dump(empty($arr['foo']));
var_dump(empty($arr['bar']));
?>
--EXPECT--
isset
bool(false)
bool(false)
bool(true)
bool(false)
empty
bool(true)
bool(true)
bool(false)
bool(true)
+38
View File
@@ -0,0 +1,38 @@
--TEST--
Bug #50261 (Crash When Calling Parent Constructor with call_user_func())
--FILE--
<?php
class testClass {
function testClass($x) {
echo __METHOD__, " (". $x . ")\n";
}
}
class testClass2 extends testClass {
function __construct() {
static $x = 0;
if ($x) {
print "Infinite loop...\n";
} else {
$x++;
parent::__construct(1);
testclass::__construct(2);
call_user_func(array('parent', '__construct'), 3);
call_user_func(array('testclass', '__construct'), 4);
call_user_func(array('testclass', 'testclass'), 5);
}
}
}
new testClass2;
?>
--EXPECT--
testClass::testClass (1)
testClass::testClass (2)
testClass::testClass (3)
testClass::testClass (4)
testClass::testClass (5)
+24
View File
@@ -0,0 +1,24 @@
--TEST--
Bug #50394: Reference argument converted to value in __call
--FILE--
<?php
function inc( &$x ) { $x++; }
class Proxy {
function __call( $name, $args ) {
echo "$name called!\n";
call_user_func_array( 'inc', $args );
}
}
$arg = 1;
$args = array( &$arg );
$proxy = new Proxy;
call_user_func_array( array( $proxy, 'bar' ), $args );
call_user_func_array( array( $proxy, 'bar' ), array(&$arg) );
var_dump($arg);
--EXPECT--
bar called!
bar called!
int(3)
+35
View File
@@ -0,0 +1,35 @@
--TEST--
Testing call_user_func inside namespace
--FILE--
<?php
namespace testing {
function foobar($str) {
var_dump($str);
}
abstract class bar {
protected function prot($str) {
print "Shouldn't be called!\n";
}
}
class foo extends bar {
private function priv($str) {
print "Shouldn't be called!\n";
}
}
call_user_func(__NAMESPACE__ .'\foobar', 'foobar');
$class = __NAMESPACE__ .'\foo';
call_user_func(array(new $class, 'priv'), 'foobar');
call_user_func(array(new $class, 'prot'), 'foobar');
}
?>
--EXPECTF--
%string|unicode%(6) "foobar"
Warning: call_user_func() expects parameter 1 to be a valid callback, cannot access private method testing\foo::priv() in %s on line %d
Warning: call_user_func() expects parameter 1 to be a valid callback, cannot access protected method testing\foo::prot() in %s on line %d
+29
View File
@@ -0,0 +1,29 @@
--TEST--
Testing call_user_func() with autoload and passing invalid params
--FILE--
<?php
function __autoload($class) {
var_dump($class);
}
call_user_func(array('foo', 'bar'));
call_user_func(array('', 'bar'));
call_user_func(array($foo, 'bar'));
call_user_func(array($foo, ''));
?>
--EXPECTF--
%unicode|string%(3) "foo"
Warning: call_user_func() expects parameter 1 to be a valid callback, class 'foo' not found in %s on line %d
Warning: call_user_func() expects parameter 1 to be a valid callback, class '' not found in %s on line %d
Notice: Undefined variable: foo in %s on line %d
Warning: call_user_func() expects parameter 1 to be a valid callback, first array member is not a valid class name or object in %s on line %d
Notice: Undefined variable: foo in %s on line %d
Warning: call_user_func() expects parameter 1 to be a valid callback, first array member is not a valid class name or object in %s on line %d
+31
View File
@@ -0,0 +1,31 @@
--TEST--
Testing call_user_func() with closures
--FILE--
<?php
$foo = function() {
static $instance;
if (is_null($instance)) {
$instance = function () {
return 'OK!';
};
}
return $instance;
};
var_dump(call_user_func(array($foo, '__invoke'))->__invoke());
var_dump(call_user_func(function() use (&$foo) { return $foo; }, '__invoke'));
?>
--EXPECTF--
%unicode|string%(3) "OK!"
object(Closure)#%d (1) {
[%u|b%"static"]=>
array(1) {
[%u|b%"instance"]=>
object(Closure)#%d (0) {
}
}
}
+18
View File
@@ -0,0 +1,18 @@
--TEST--
Calling non-static method with call_user_func()
--FILE--
<?php
class foo {
public function teste() {
$this->a = 1;
}
}
call_user_func(array('foo', 'teste'));
?>
--EXPECTF--
Strict Standards: call_user_func() expects parameter 1 to be a valid callback, non-static method foo::teste() should not be called statically in %s on line %d
Fatal error: Using $this when not in object context in %s on line %d
+35
View File
@@ -0,0 +1,35 @@
--TEST--
Passing Closure as parameter to an non-existent function
--FILE--
<?php
class foo {
public static function __callstatic($x, $y) {
var_dump($x,$y);
return 1;
}
public function teste() {
return foo::x(function &($a=1,$b) { });
}
}
var_dump(call_user_func(array('foo', 'teste')));
?>
--EXPECTF--
Strict Standards: call_user_func() expects parameter 1 to be a valid callback, non-static method foo::teste() should not be called statically in %s on line %d
%string|unicode%(1) "x"
array(1) {
[0]=>
object(Closure)#%d (1) {
["parameter"]=>
array(2) {
["$a"]=>
string(10) "<required>"
["$b"]=>
string(10) "<required>"
}
}
}
int(1)
+18
View File
@@ -0,0 +1,18 @@
--TEST--
Check call to non-ref function with call-time refs
--FILE--
<?php
function my_errorhandler($errno,$errormsg) {
global $my_var;
$my_var=0x12345;
echo $errormsg."\n";
return true;
}
$oldhandler = set_error_handler("my_errorhandler");
$my_var = str_repeat("A",64);
$data = call_user_func_array("substr_replace",array(&$my_var, new StdClass(),1));
echo "OK!";
--EXPECT--
Object of class stdClass could not be converted to string
Object of class stdClass to string conversion
OK!
+25
View File
@@ -0,0 +1,25 @@
--TEST--
Closure 033: Recursive var_dump on closures
--FILE--
<?php
$a = function () use(&$a) {};
var_dump($a);
?>
===DONE===
--EXPECTF--
object(Closure)#1 (1) {
["static"]=>
array(1) {
["a"]=>
&object(Closure)#1 (1) {
["static"]=>
array(1) {
["a"]=>
*RECURSION*
}
}
}
}
===DONE===
+31
View File
@@ -0,0 +1,31 @@
--TEST--
Testing recursion detection with Closures
--FILE--
<?php
$x = function () use (&$x) {
$h = function () use ($x) {
var_dump($x);
return 1;
};
return $h();
};
var_dump($x());
?>
--EXPECTF--
object(Closure)#%d (1) {
["static"]=>
array(1) {
[%u|b%"x"]=>
&object(Closure)#%d (1) {
["static"]=>
array(1) {
[%u|b%"x"]=>
*RECURSION*
}
}
}
}
int(1)
-6
View File
@@ -16,9 +16,3 @@ Warning: Constants may only evaluate to scalar values in %s on line %d
Notice: Use of undefined constant foo - assumed 'foo' in %s on line %d
string(%d) "foo"
resource(%d) of type (stream)
--UEXPECTF--
Warning: Constants may only evaluate to scalar values in %s on line %d
Notice: Use of undefined constant foo - assumed 'foo' in %s on line %d
unicode(%d) "foo"
resource(%d) of type (stream)
-13
View File
@@ -22,16 +22,3 @@ array(4) {
["key"]=>
int(0)
}
--UEXPECTF--
array(4) {
[1]=>
array(0) {
}
[u"value"]=>
array(0) {
}
[0]=>
int(0)
[u"key"]=>
int(0)
}
+2 -2
View File
@@ -16,5 +16,5 @@ class test implements test1, test2 {
echo "Done\n";
?>
--EXPECTF--
Fatal error: Cannot inherit previously-inherited constant FOO from interface test2 in %s on line %d
--EXPECTF--
Fatal error: Cannot inherit previously-inherited or override constant FOO from interface test2 in %s on line %d
-1
View File
@@ -1,6 +1,5 @@
--TEST--
Test function_exists() function : error conditions
--INI--
--FILE--
<?php
/*
-3
View File
@@ -26,6 +26,3 @@ $a->foo();
--EXPECT--
string(3) "bar"
bool(false)
--UEXPECT--
unicode(3) "bar"
bool(false)
+16
View File
@@ -0,0 +1,16 @@
--TEST--
Check if get_required_files works
--CREDITS--
Sebastian Schürmann
sschuermann@chip.de
Testfest 2009 Munich
--FILE--
<?php
$files = get_required_files();
var_dump($files);
?>
--EXPECTF--
array(1) {
[0]=>
%string|unicode%(%d)%s
}
+1 -1
View File
@@ -1,6 +1,6 @@
--TEST--
globals in global scope
--INIT--
--INI--
variables_order="egpcs"
--FILE--
<?php
+1 -1
View File
@@ -1,6 +1,6 @@
--TEST--
globals in local scope
--INIT--
--INI--
variables_order="egpcs"
--FILE--
<?php
+1 -1
View File
@@ -1,6 +1,6 @@
--TEST--
globals in local scope - 2
--INIT--
--INI--
variables_order="egpcs"
--FILE--
<?php
+1 -1
View File
@@ -1,6 +1,6 @@
--TEST--
globals in local scope - 3
--INIT--
--INI--
variables_order="egpcs"
--FILE--
<?php
+1 -1
View File
@@ -15,4 +15,4 @@ class foobar implements foo {
}
?>
--EXPECTF--
Fatal error: Cannot inherit previously-inherited constant foo from interface foo in %s on line %d
Fatal error: Cannot inherit previously-inherited or override constant foo from interface foo in %s on line %d
-2
View File
@@ -7,5 +7,3 @@ namespace test\foo;
var_dump(__NAMESPACE__);
--EXPECT--
string(8) "test\foo"
--UEXPECT--
unicode(8) "test\foo"
-2
View File
@@ -5,5 +5,3 @@
var_dump(__NAMESPACE__);
--EXPECT--
string(0) ""
--UEXPECT--
unicode(0) ""
+18
View File
@@ -0,0 +1,18 @@
--TEST--
Crash when function parameter modified via unexpected reference
--FILE--
<?php
function my_errorhandler($errno,$errormsg) {
global $my_var;
$my_var = 0;
return true;
}
set_error_handler("my_errorhandler");
$my_var = str_repeat("A",64);
$data = call_user_func_array("explode",array(new StdClass(), &$my_var));
$my_var=array(1,2,3);
$data = call_user_func_array("implode",array(&$my_var, new StdClass()));
echo "Done.\n";
?>
--EXPECTF--
Done.
+1 -1
View File
@@ -19,7 +19,7 @@ echo $HTTP_SESSION_VARS;
echo "\nok\n";
?>
--EXPECTF--
PHP Warning: Directive 'register_long_arrays' is deprecated in PHP %d.%d and greater in Unknown on line 0
Warning: 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--
PHP Warning: Directive 'register_globals' is deprecated in PHP %d.%d and greater in Unknown on line 0
Warning: 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
-2
View File
@@ -1,7 +1,5 @@
--TEST--
unset() CV 7 (indirect unset() of global variable in import_request_variables())
--SKIPIF--
<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
--GET--
x=2
--FILE--
+11 -5
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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-2009 Zend Technologies\n"
#define ZEND_CORE_VERSION_INFO "Zend Engine v" ZEND_VERSION ", Copyright (c) 1998-2010 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) /* {{{ */
@@ -1067,9 +1067,15 @@ ZEND_API void zend_error(int type, const char *format, ...) /* {{{ */
if (!EG(active_symbol_table)) {
zend_rebuild_symbol_table(TSRMLS_C);
}
Z_ARRVAL_P(z_context) = EG(active_symbol_table);
Z_TYPE_P(z_context) = IS_ARRAY;
zval_copy_ctor(z_context);
/* during shutdown the symbol table table can be still null */
if (!EG(active_symbol_table)) {
Z_TYPE_P(z_context) = IS_NULL;
} else {
Z_ARRVAL_P(z_context) = EG(active_symbol_table);
Z_TYPE_P(z_context) = IS_ARRAY;
zval_copy_ctor(z_context);
}
params = (zval ***) emalloc(sizeof(zval **)*5);
params[0] = &z_error_type;
+9 -22
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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 |
@@ -79,18 +79,7 @@
# include <dlfcn.h>
#endif
#if HAVE_MACH_O_DYLD_H
#include <mach-o/dyld.h>
/* MH_BUNDLE loading functions for Mac OS X / Darwin */
void *zend_mh_bundle_load (char* bundle_path);
int zend_mh_bundle_unload (void *bundle_handle);
void *zend_mh_bundle_symbol(void *bundle_handle, const char *symbol_name);
const char *zend_mh_bundle_error(void);
#endif /* HAVE_MACH_O_DYLD_H */
#if defined(HAVE_LIBDL) && !defined(HAVE_MACH_O_DYLD_H) && !defined(ZEND_WIN32)
#if defined(HAVE_LIBDL) && !defined(ZEND_WIN32)
# ifndef RTLD_LAZY
# define RTLD_LAZY 1 /* Solaris 1, FreeBSD's (2.1.7.1 and older) */
@@ -116,13 +105,6 @@ const char *zend_mh_bundle_error(void);
# define DL_ERROR dlerror
# define DL_HANDLE void *
# define ZEND_EXTENSIONS_SUPPORT 1
#elif defined(HAVE_MACH_O_DYLD_H)
# define DL_LOAD(libname) zend_mh_bundle_load(libname)
# define DL_UNLOAD zend_mh_bundle_unload
# define DL_FETCH_SYMBOL(h,s) zend_mh_bundle_symbol(h,s)
# define DL_ERROR zend_mh_bundle_error
# define DL_HANDLE void *
# define ZEND_EXTENSIONS_SUPPORT 1
#elif defined(ZEND_WIN32)
# define DL_LOAD(libname) LoadLibrary(libname)
# define DL_FETCH_SYMBOL GetProcAddress
@@ -184,7 +166,7 @@ char *alloca ();
# define ZEND_ATTRIBUTE_DEPRECATED
#endif
#if defined(__GNUC__) && ZEND_GCC_VERSION >= 3400 && defined(__i386__)
#if defined(__GNUC__) && ZEND_GCC_VERSION >= 3004 && defined(__i386__)
# define ZEND_FASTCALL __attribute__((fastcall))
#elif defined(_MSC_VER) && defined(_M_IX86)
# define ZEND_FASTCALL __fastcall
@@ -192,7 +174,7 @@ char *alloca ();
# define ZEND_FASTCALL
#endif
#if defined(__GNUC__) && ZEND_GCC_VERSION >= 3400
#if defined(__GNUC__) && ZEND_GCC_VERSION >= 3004
#else
# define __restrict__
#endif
@@ -728,6 +710,11 @@ END_EXTERN_C()
FREE_ZVAL(pzv); \
} \
INIT_PZVAL(&(zv));
#define MAKE_COPY_ZVAL(ppzv, pzv) \
*(pzv) = **(ppzv); \
zval_copy_ctor((pzv)); \
INIT_PZVAL((pzv));
#define REPLACE_ZVAL_VALUE(ppzv_dest, pzv_src, copy) { \
int is_ref, refcount; \
+58 -20
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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 |
@@ -923,7 +923,7 @@ ZEND_API int zend_parse_method_parameters_ex(int flags, int num_args TSRMLS_DC,
RETURN_IF_ZERO_ARGS(num_args, p, quiet);
va_start(va, type_spec);
retval = zend_parse_va_args(num_args, type_spec, &va, 0 TSRMLS_CC);
retval = zend_parse_va_args(num_args, type_spec, &va, flags TSRMLS_CC);
va_end(va);
} else {
p++;
@@ -1038,13 +1038,13 @@ ZEND_API void zend_update_class_constants(zend_class_entry *class_type TSRMLS_DC
Z_SET_ISREF_PP(q);
zend_hash_add(CE_STATIC_MEMBERS(class_type), str_index, str_length, (void**)q, sizeof(zval*), NULL);
} else {
zval *q;
zval *r;
ALLOC_ZVAL(q);
*q = **p;
INIT_PZVAL(q);
zval_copy_ctor(q);
zend_hash_add(CE_STATIC_MEMBERS(class_type), str_index, str_length, (void**)&q, sizeof(zval*), NULL);
ALLOC_ZVAL(r);
*r = **p;
INIT_PZVAL(r);
zval_copy_ctor(r);
zend_hash_add(CE_STATIC_MEMBERS(class_type), str_index, str_length, (void**)&r, sizeof(zval*), NULL);
}
zend_hash_move_forward_ex(&class_type->default_static_members, &pos);
}
@@ -2114,7 +2114,7 @@ void module_destructor(zend_module_entry *module) /* {{{ */
zend_unregister_functions(module->functions, -1, NULL TSRMLS_CC);
}
#if HAVE_LIBDL || defined(HAVE_MACH_O_DYLD_H)
#if HAVE_LIBDL
#if !(defined(NETWARE) && defined(APACHE_1_BUILD))
if (module->handle) {
DL_UNLOAD(module->handle);
@@ -2335,12 +2335,13 @@ ZEND_API int zend_disable_class(char *class_name, uint class_name_length TSRMLS_
}
/* }}} */
static int zend_is_callable_check_class(const char *name, int name_len, zend_fcall_info_cache *fcc, char **error TSRMLS_DC) /* {{{ */
static int zend_is_callable_check_class(const char *name, int name_len, zend_fcall_info_cache *fcc, int *strict_class, char **error TSRMLS_DC) /* {{{ */
{
int ret = 0;
zend_class_entry **pce;
char *lcname = zend_str_tolower_dup(name, name_len);
*strict_class = 0;
if (name_len == sizeof("self") - 1 &&
!memcmp(lcname, "self", sizeof("self") - 1)) {
if (!EG(scope)) {
@@ -2365,6 +2366,7 @@ static int zend_is_callable_check_class(const char *name, int name_len, zend_fca
if (!fcc->object_ptr) {
fcc->object_ptr = EG(This);
}
*strict_class = 1;
ret = 1;
}
} else if (name_len == sizeof("static") - 1 &&
@@ -2377,6 +2379,7 @@ static int zend_is_callable_check_class(const char *name, int name_len, zend_fca
if (!fcc->object_ptr) {
fcc->object_ptr = EG(This);
}
*strict_class = 1;
ret = 1;
}
} else if (zend_lookup_class_ex(name, name_len, 1, &pce TSRMLS_CC) == SUCCESS) {
@@ -2391,6 +2394,7 @@ static int zend_is_callable_check_class(const char *name, int name_len, zend_fca
} else {
fcc->called_scope = fcc->object_ptr ? Z_OBJCE_P(fcc->object_ptr) : fcc->calling_scope;
}
*strict_class = 1;
ret = 1;
} else {
if (error) zend_spprintf(error, 0, "class '%.*s' not found", name_len, name);
@@ -2401,7 +2405,7 @@ static int zend_is_callable_check_class(const char *name, int name_len, zend_fca
/* }}} */
static int zend_is_callable_check_func(int check_flags, zval *callable, zend_fcall_info_cache *fcc, char **error TSRMLS_DC) /* {{{ */
static int zend_is_callable_check_func(int check_flags, zval *callable, zend_fcall_info_cache *fcc, int strict_class, char **error TSRMLS_DC) /* {{{ */
{
zend_class_entry *ce_org = fcc->calling_scope;
int retval = 0;
@@ -2459,7 +2463,7 @@ static int zend_is_callable_check_func(int check_flags, zval *callable, zend_fca
EG(scope) = ce_org;
}
if (!zend_is_callable_check_class(Z_STRVAL_P(callable), clen, fcc, error TSRMLS_CC)) {
if (!zend_is_callable_check_class(Z_STRVAL_P(callable), clen, fcc, &strict_class, error TSRMLS_CC)) {
EG(scope) = last_scope;
return 0;
}
@@ -2486,7 +2490,15 @@ static int zend_is_callable_check_func(int check_flags, zval *callable, zend_fca
}
lmname = zend_str_tolower_dup(mname, mlen);
if (zend_hash_find(ftable, lmname, mlen+1, (void**)&fcc->function_handler) == SUCCESS) {
if (strict_class &&
fcc->calling_scope &&
mlen == sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)-1 &&
!memcmp(lmname, ZEND_CONSTRUCTOR_FUNC_NAME, sizeof(ZEND_CONSTRUCTOR_FUNC_NAME))) {
fcc->function_handler = fcc->calling_scope->constructor;
if (fcc->function_handler) {
retval = 1;
}
} else if (zend_hash_find(ftable, lmname, mlen+1, (void**)&fcc->function_handler) == SUCCESS) {
retval = 1;
if ((fcc->function_handler->op_array.fn_flags & ZEND_ACC_CHANGED) &&
EG(scope) &&
@@ -2519,12 +2531,37 @@ static int zend_is_callable_check_func(int check_flags, zval *callable, zend_fca
}
} else {
get_function_via_handler:
if (fcc->object_ptr) {
if (Z_OBJ_HT_P(fcc->object_ptr)->get_method) {
if (fcc->object_ptr && fcc->calling_scope == ce_org) {
if (strict_class && ce_org->__call) {
fcc->function_handler = emalloc(sizeof(zend_internal_function));
fcc->function_handler->internal_function.type = ZEND_INTERNAL_FUNCTION;
fcc->function_handler->internal_function.module = ce_org->module;
fcc->function_handler->internal_function.handler = zend_std_call_user_call;
fcc->function_handler->internal_function.arg_info = NULL;
fcc->function_handler->internal_function.num_args = 0;
fcc->function_handler->internal_function.scope = ce_org;
fcc->function_handler->internal_function.fn_flags = ZEND_ACC_CALL_VIA_HANDLER;
fcc->function_handler->internal_function.function_name = estrndup(mname, mlen);
fcc->function_handler->internal_function.pass_rest_by_reference = 0;
fcc->function_handler->internal_function.return_reference = ZEND_RETURN_VALUE;
call_via_handler = 1;
retval = 1;
} else if (Z_OBJ_HT_P(fcc->object_ptr)->get_method) {
fcc->function_handler = Z_OBJ_HT_P(fcc->object_ptr)->get_method(&fcc->object_ptr, mname, mlen TSRMLS_CC);
if (fcc->function_handler) {
retval = 1;
call_via_handler = (fcc->function_handler->common.fn_flags & ZEND_ACC_CALL_VIA_HANDLER) != 0;
if (strict_class &&
(!fcc->function_handler->common.scope ||
!instanceof_function(ce_org, fcc->function_handler->common.scope TSRMLS_CC))) {
if ((fcc->function_handler->common.fn_flags & ZEND_ACC_CALL_VIA_HANDLER) != 0) {
if (fcc->function_handler->type != ZEND_OVERLOADED_FUNCTION) {
efree(fcc->function_handler->common.function_name);
}
efree(fcc->function_handler);
}
} else {
retval = 1;
call_via_handler = (fcc->function_handler->common.fn_flags & ZEND_ACC_CALL_VIA_HANDLER) != 0;
}
}
}
} else if (fcc->calling_scope) {
@@ -2680,7 +2717,7 @@ ZEND_API zend_bool zend_is_callable_ex(zval *callable, zval *object_ptr, uint ch
return 1;
}
ret = zend_is_callable_check_func(check_flags, callable, fcc, error TSRMLS_CC);
ret = zend_is_callable_check_func(check_flags, callable, fcc, 0, error TSRMLS_CC);
if (fcc == &fcc_local &&
fcc->function_handler &&
((fcc->function_handler->type == ZEND_INTERNAL_FUNCTION &&
@@ -2698,6 +2735,7 @@ ZEND_API zend_bool zend_is_callable_ex(zval *callable, zval *object_ptr, uint ch
{
zval **method = NULL;
zval **obj = NULL;
int strict_class = 0;
if (zend_hash_num_elements(Z_ARRVAL_P(callable)) == 2) {
zend_hash_index_find(Z_ARRVAL_P(callable), 0, (void **) &obj);
@@ -2725,7 +2763,7 @@ ZEND_API zend_bool zend_is_callable_ex(zval *callable, zval *object_ptr, uint ch
return 1;
}
if (!zend_is_callable_check_class(Z_STRVAL_PP(obj), Z_STRLEN_PP(obj), fcc, error TSRMLS_CC)) {
if (!zend_is_callable_check_class(Z_STRVAL_PP(obj), Z_STRLEN_PP(obj), fcc, &strict_class, error TSRMLS_CC)) {
return 0;
}
@@ -2757,7 +2795,7 @@ ZEND_API zend_bool zend_is_callable_ex(zval *callable, zval *object_ptr, uint ch
}
}
ret = zend_is_callable_check_func(check_flags, *method, fcc, error TSRMLS_CC);
ret = zend_is_callable_check_func(check_flags, *method, fcc, strict_class, error TSRMLS_CC);
if (fcc == &fcc_local &&
fcc->function_handler &&
((fcc->function_handler->type == ZEND_INTERNAL_FUNCTION &&
+2 -2
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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 |
@@ -90,7 +90,7 @@ typedef struct _zend_fcall_info_cache {
#define ZEND_NS_RAW_FENTRY(ns, zend_name, name, arg_info, flags) ZEND_RAW_FENTRY(ZEND_NS_NAME(ns, zend_name), name, arg_info, flags)
#define ZEND_NS_RAW_NAMED_FE(ns, zend_name, name, arg_info) ZEND_NS_RAW_FENTRY(ns, #zend_name, name, arg_info, 0)
#define ZEND_NS_NAMED_FE(ns, zend_name, name, arg_info)
#define ZEND_NS_NAMED_FE(ns, zend_name, name, arg_info) ZEND_NS_FENTRY(ns, #zend_name, name, arg_info, 0)
#define ZEND_NS_FE(ns, name, arg_info) ZEND_NS_FENTRY(ns, name, ZEND_FN(name), arg_info, 0)
#define ZEND_NS_DEP_FE(ns, name, arg_info) ZEND_NS_FENTRY(ns, name, ZEND_FN(name), arg_info, ZEND_ACC_DEPRECATED)
#define ZEND_NS_FALIAS(ns, name, alias, arg_info) ZEND_NS_FENTRY(ns, name, ZEND_FN(alias), arg_info, 0)
+55 -21
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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 |
@@ -84,6 +84,10 @@ static void zend_mm_panic(const char *message) __attribute__ ((noreturn));
static void zend_mm_panic(const char *message)
{
fprintf(stderr, "%s\n", message);
/* See http://support.microsoft.com/kb/190351 */
#ifdef PHP_WIN32
fflush(stderr);
#endif
#if ZEND_DEBUG && defined(HAVE_KILL) && defined(HAVE_GETPID)
kill(getpid(), SIGSEGV);
#endif
@@ -512,20 +516,7 @@ static unsigned int _zend_mm_cookie = 0;
/* optimized access */
#define ZEND_MM_FREE_BLOCK_SIZE(b) (b)->info._size
#ifndef ZEND_MM_ALIGNMENT
# define ZEND_MM_ALIGNMENT 8
# define ZEND_MM_ALIGNMENT_LOG2 3
#elif ZEND_MM_ALIGNMENT < 4
# undef ZEND_MM_ALIGNMENT
# undef ZEND_MM_ALIGNMENT_LOG2
# define ZEND_MM_ALIGNMENT 4
# define ZEND_MM_ALIGNMENT_LOG2 2
#endif
#define ZEND_MM_ALIGNMENT_MASK ~(ZEND_MM_ALIGNMENT-1)
/* Aligned header size */
#define ZEND_MM_ALIGNED_SIZE(size) ((size + ZEND_MM_ALIGNMENT - 1) & ZEND_MM_ALIGNMENT_MASK)
#define ZEND_MM_ALIGNED_HEADER_SIZE ZEND_MM_ALIGNED_SIZE(sizeof(zend_mm_block))
#define ZEND_MM_ALIGNED_FREE_HEADER_SIZE ZEND_MM_ALIGNED_SIZE(sizeof(zend_mm_small_free_block))
#define ZEND_MM_MIN_ALLOC_BLOCK_SIZE ZEND_MM_ALIGNED_SIZE(ZEND_MM_ALIGNED_HEADER_SIZE + END_MAGIC_SIZE)
@@ -709,12 +700,14 @@ static inline unsigned int zend_mm_low_bit(size_t _size)
unsigned int n;
unsigned int index = 0;
do {
n = offset[_size & 15];
n = offset[_size & 15];
while (n == 4) {
_size >>= 4;
index += n;
} while (n == 4);
return index;
n = offset[_size & 15];
}
return index + n;
#endif
}
@@ -951,15 +944,27 @@ static void zend_mm_free_cache(zend_mm_heap *heap)
#endif
#if ZEND_MM_HEAP_PROTECTION || ZEND_MM_COOKIES
static void zend_mm_random(unsigned char *buf, size_t size)
static void zend_mm_random(unsigned char *buf, size_t size) /* {{{ */
{
size_t i = 0;
unsigned char t;
#ifdef ZEND_WIN32
HCRYPTPROV hCryptProv;
int has_context = 0;
if (CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, 0)) {
if (!CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, 0)) {
/* Could mean that the key container does not exist, let try
again by asking for a new one */
if (GetLastError() == NTE_BAD_KEYSET) {
if (CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) {
has_context = 1;
}
}
} else {
has_context = 1;
}
if (has_context) {
do {
BOOL ret = CryptGenRandom(hCryptProv, size, buf);
CryptReleaseContext(hCryptProv, 0);
@@ -968,7 +973,7 @@ static void zend_mm_random(unsigned char *buf, size_t size)
i++;
}
if (i == size) {
return;
return;
}
}
} while (0);
@@ -997,6 +1002,7 @@ static void zend_mm_random(unsigned char *buf, size_t size)
t = buf[i++] << 1;
}
}
/* }}} */
#endif
/* Notes:
@@ -1042,11 +1048,19 @@ ZEND_API zend_mm_heap *zend_mm_startup_ex(const zend_mm_mem_handlers *handlers,
if (zend_mm_low_bit(block_size) != zend_mm_high_bit(block_size)) {
fprintf(stderr, "'block_size' must be a power of two\n");
/* See http://support.microsoft.com/kb/190351 */
#ifdef PHP_WIN32
fflush(stderr);
#endif
exit(255);
}
storage = handlers->init(params);
if (!storage) {
fprintf(stderr, "Cannot initialize zend_mm storage [%s]\n", handlers->name);
/* See http://support.microsoft.com/kb/190351 */
#ifdef PHP_WIN32
fflush(stderr);
#endif
exit(255);
}
storage->handlers = handlers;
@@ -1129,9 +1143,17 @@ ZEND_API zend_mm_heap *zend_mm_startup(void)
if (!mem_handlers[i].name) {
fprintf(stderr, "Wrong or unsupported zend_mm storage type '%s'\n", mem_type);
fprintf(stderr, " supported types:\n");
/* See http://support.microsoft.com/kb/190351 */
#ifdef PHP_WIN32
fflush(stderr);
#endif
for (i = 0; mem_handlers[i].name; i++) {
fprintf(stderr, " '%s'\n", mem_handlers[i].name);
}
/* See http://support.microsoft.com/kb/190351 */
#ifdef PHP_WIN32
fflush(stderr);
#endif
exit(255);
}
}
@@ -1142,9 +1164,17 @@ ZEND_API zend_mm_heap *zend_mm_startup(void)
seg_size = zend_atoi(tmp, 0);
if (zend_mm_low_bit(seg_size) != zend_mm_high_bit(seg_size)) {
fprintf(stderr, "ZEND_MM_SEG_SIZE must be a power of two\n");
/* See http://support.microsoft.com/kb/190351 */
#ifdef PHP_WIN32
fflush(stderr);
#endif
exit(255);
} else if (seg_size < ZEND_MM_ALIGNED_SEGMENT_SIZE + ZEND_MM_ALIGNED_HEADER_SIZE) {
fprintf(stderr, "ZEND_MM_SEG_SIZE is too small\n");
/* See http://support.microsoft.com/kb/190351 */
#ifdef PHP_WIN32
fflush(stderr);
#endif
exit(255);
}
} else {
@@ -1683,6 +1713,10 @@ static void zend_mm_safe_error(zend_mm_heap *heap,
size);
fprintf(stderr, " in %s on line %d\n", error_filename, error_lineno);
}
/* See http://support.microsoft.com/kb/190351 */
#ifdef PHP_WIN32
fflush(stderr);
#endif
} zend_end_try();
} else {
heap->overflow = 2;
+15 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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 |
@@ -27,6 +27,20 @@
#include "../TSRM/TSRM.h"
#include "zend.h"
#ifndef ZEND_MM_ALIGNMENT
# define ZEND_MM_ALIGNMENT 8
# define ZEND_MM_ALIGNMENT_LOG2 3
#elif ZEND_MM_ALIGNMENT < 4
# undef ZEND_MM_ALIGNMENT
# undef ZEND_MM_ALIGNMENT_LOG2
# define ZEND_MM_ALIGNMENT 4
# define ZEND_MM_ALIGNMENT_LOG2 2
#endif
#define ZEND_MM_ALIGNMENT_MASK ~(ZEND_MM_ALIGNMENT-1)
#define ZEND_MM_ALIGNED_SIZE(size) (((size) + ZEND_MM_ALIGNMENT - 1) & ZEND_MM_ALIGNMENT_MASK)
typedef struct _zend_leak_info {
void *addr;
size_t size;
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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 |
+6 -28
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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 |
@@ -629,7 +629,6 @@ ZEND_FUNCTION(define)
zend_bool non_cs = 0;
int case_sensitive = CONST_CS;
zend_constant c;
char *p;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sz|b", &name, &name_len, &val, &non_cs) == FAILURE) {
return;
@@ -640,31 +639,9 @@ ZEND_FUNCTION(define)
}
/* class constant, check if there is name and make sure class is valid & exists */
if ((p = zend_memnstr(name, "::", sizeof("::") - 1, name + name_len))) {
char *class_name;
int found;
zend_class_entry **ce;
ALLOCA_FLAG(use_heap)
if (p == (name + name_len - sizeof("::") + 1)) {
zend_error(E_WARNING, "Class constant must have a name");
RETURN_FALSE;
} else if (p == name) {
zend_error(E_WARNING, "Missing class name");
RETURN_FALSE;
}
class_name = do_alloca((p - name + 1), use_heap);
zend_str_tolower_copy(class_name, name, (p - name));
found = zend_hash_find(EG(class_table), class_name, p - name + 1, (void **) &ce);
if (found != SUCCESS) {
zend_error(E_WARNING, "Class '%s' does not exist", class_name);
free_alloca(class_name, use_heap);
RETURN_FALSE;
}
free_alloca(class_name, use_heap);
if (zend_memnstr(name, "::", sizeof("::") - 1, name + name_len)) {
zend_error(E_WARNING, "Class constants cannot be defined or redefined");
RETURN_FALSE;
}
repeat:
@@ -747,7 +724,7 @@ ZEND_FUNCTION(get_class)
zend_uint name_len = 0;
int dup;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|o", &obj) == FAILURE) {
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|o!", &obj) == FAILURE) {
RETURN_FALSE;
}
@@ -1755,6 +1732,7 @@ ZEND_FUNCTION(create_function)
zend_hash_del(EG(function_table), LAMBDA_TEMP_FUNCNAME, sizeof(LAMBDA_TEMP_FUNCNAME));
RETURN_STRINGL(function_name, function_name_length, 0);
} else {
zend_hash_del(EG(function_table), LAMBDA_TEMP_FUNCNAME, sizeof(LAMBDA_TEMP_FUNCNAME));
RETURN_FALSE;
}
}
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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 |
+47 -34
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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 |
@@ -37,6 +37,7 @@
typedef struct _zend_closure {
zend_object std;
zend_function func;
HashTable *debug_info;
} zend_closure;
/* non-static since it needs to be referenced */
@@ -151,7 +152,9 @@ static zval **zend_closure_get_property_ptr_ptr(zval *object, zval *member TSRML
static int zend_closure_has_property(zval *object, zval *member, int has_set_exists TSRMLS_DC) /* {{{ */
{
ZEND_CLOSURE_PROPERTY_ERROR();
if (has_set_exists != 2) {
ZEND_CLOSURE_PROPERTY_ERROR();
}
return 0;
}
/* }}} */
@@ -179,6 +182,11 @@ static void zend_closure_free_storage(void *object TSRMLS_DC) /* {{{ */
destroy_op_array(&closure->func.op_array TSRMLS_CC);
}
if (closure->debug_info != NULL) {
zend_hash_destroy(closure->debug_info);
efree(closure->debug_info);
}
efree(closure);
}
/* }}} */
@@ -222,48 +230,53 @@ int zend_closure_get_closure(zval *obj, zend_class_entry **ce_ptr, zend_function
static HashTable *zend_closure_get_debug_info(zval *object, int *is_temp TSRMLS_DC) /* {{{ */
{
zend_closure *closure = (zend_closure *)zend_object_store_get_object(object TSRMLS_CC);
HashTable *rv;
zval *val;
struct _zend_arg_info *arg_info = closure->func.common.arg_info;
*is_temp = 1;
ALLOC_HASHTABLE(rv);
zend_hash_init(rv, 1, NULL, ZVAL_PTR_DTOR, 0);
if (closure->func.type == ZEND_USER_FUNCTION && closure->func.op_array.static_variables) {
HashTable *static_variables = closure->func.op_array.static_variables;
MAKE_STD_ZVAL(val);
array_init(val);
zend_hash_copy(Z_ARRVAL_P(val), static_variables, (copy_ctor_func_t)zval_add_ref, NULL, sizeof(zval*));
zend_symtable_update(rv, "static", sizeof("static"), (void *) &val, sizeof(zval *), NULL);
*is_temp = 0;
if (closure->debug_info == NULL) {
ALLOC_HASHTABLE(closure->debug_info);
zend_hash_init(closure->debug_info, 1, NULL, ZVAL_PTR_DTOR, 0);
}
if (closure->debug_info->nApplyCount == 0) {
if (closure->func.type == ZEND_USER_FUNCTION && closure->func.op_array.static_variables) {
HashTable *static_variables = closure->func.op_array.static_variables;
MAKE_STD_ZVAL(val);
array_init(val);
zend_hash_copy(Z_ARRVAL_P(val), static_variables, (copy_ctor_func_t)zval_add_ref, NULL, sizeof(zval*));
zend_symtable_update(closure->debug_info, "static", sizeof("static"), (void *) &val, sizeof(zval *), NULL);
}
if (arg_info) {
zend_uint i, required = closure->func.common.required_num_args;
if (arg_info) {
zend_uint i, required = closure->func.common.required_num_args;
MAKE_STD_ZVAL(val);
array_init(val);
MAKE_STD_ZVAL(val);
array_init(val);
for (i = 0; i < closure->func.common.num_args; i++) {
char *name, *info;
int name_len, info_len;
if (arg_info->name) {
name_len = zend_spprintf(&name, 0, "%s$%s",
arg_info->pass_by_reference ? "&" : "",
arg_info->name);
} else {
name_len = zend_spprintf(&name, 0, "%s$param%d",
arg_info->pass_by_reference ? "&" : "",
i + 1);
for (i = 0; i < closure->func.common.num_args; i++) {
char *name, *info;
int name_len, info_len;
if (arg_info->name) {
name_len = zend_spprintf(&name, 0, "%s$%s",
arg_info->pass_by_reference ? "&" : "",
arg_info->name);
} else {
name_len = zend_spprintf(&name, 0, "%s$param%d",
arg_info->pass_by_reference ? "&" : "",
i + 1);
}
info_len = zend_spprintf(&info, 0, "%s",
i >= required ? "<optional>" : "<required>");
add_assoc_stringl_ex(val, name, name_len + 1, info, info_len, 0);
efree(name);
arg_info++;
}
info_len = zend_spprintf(&info, 0, "%s",
i >= required ? "<optional>" : "<required>");
add_assoc_stringl_ex(val, name, name_len + 1, info, info_len, 0);
efree(name);
arg_info++;
zend_symtable_update(closure->debug_info, "parameter", sizeof("parameter"), (void *) &val, sizeof(zval *), NULL);
}
zend_symtable_update(rv, "parameter", sizeof("parameter"), (void *) &val, sizeof(zval *), NULL);
}
return rv;
return closure->debug_info;
}
/* }}} */
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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 |
+380 -308
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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 |
+5 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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 |
@@ -1232,6 +1232,10 @@ static int zend_check_symbol(zval **pz TSRMLS_DC)
{
if (Z_TYPE_PP(pz) > 9) {
fprintf(stderr, "Warning! %x has invalid type!\n", *pz);
/* See http://support.microsoft.com/kb/190351 */
#ifdef PHP_WIN32
fflush(stderr);
#endif
} else if (Z_TYPE_PP(pz) == IS_ARRAY) {
zend_hash_apply(Z_ARRVAL_PP(pz), (apply_func_t) zend_check_symbol TSRMLS_CC);
} else if (Z_TYPE_PP(pz) == IS_OBJECT) {
+52 -13
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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 |
@@ -144,9 +144,11 @@ struct _zend_vm_stack {
void **top;
void **end;
zend_vm_stack prev;
void *elements[1];
};
#define ZEND_VM_STACK_ELEMETS(stack) \
((void**)(((char*)(stack)) + ZEND_MM_ALIGNED_SIZE(sizeof(struct _zend_vm_stack))))
#define ZEND_VM_STACK_GROW_IF_NEEDED(count) \
do { \
if (UNEXPECTED((count) > \
@@ -156,10 +158,10 @@ struct _zend_vm_stack {
} while (0)
static inline zend_vm_stack zend_vm_stack_new_page(int count) {
zend_vm_stack page = (zend_vm_stack)emalloc(sizeof(*page)+sizeof(page->elements[0])*(count-1));
zend_vm_stack page = (zend_vm_stack)emalloc(ZEND_MM_ALIGNED_SIZE(sizeof(*page)) + sizeof(void*) * count);
page->top = page->elements;
page->end = page->elements + count;
page->top = ZEND_VM_STACK_ELEMETS(page);
page->end = page->top + count;
page->prev = NULL;
return page;
}
@@ -207,7 +209,7 @@ static inline void *zend_vm_stack_pop(TSRMLS_D)
{
void *el = *(--EG(argument_stack)->top);
if (UNEXPECTED(EG(argument_stack)->top == EG(argument_stack)->elements)) {
if (UNEXPECTED(EG(argument_stack)->top == ZEND_VM_STACK_ELEMETS(EG(argument_stack)))) {
zend_vm_stack p = EG(argument_stack);
EG(argument_stack) = p->prev;
efree(p);
@@ -221,15 +223,32 @@ static inline void *zend_vm_stack_alloc(size_t size TSRMLS_DC)
size = (size + (sizeof(void*) - 1)) / sizeof(void*);
ZEND_VM_STACK_GROW_IF_NEEDED((int)size);
/* the following comparison must be optimized out at compile time */
if (ZEND_MM_ALIGNMENT > sizeof(void*)) {
int extra = (ZEND_MM_ALIGNMENT - ((zend_uintptr_t)EG(argument_stack)->top & (ZEND_MM_ALIGNMENT - 1))) / sizeof(void*);
if (UNEXPECTED(size + extra + ZEND_MM_ALIGNED_SIZE(sizeof(void*)) / sizeof(void*) >
(zend_uintptr_t)(EG(argument_stack)->end - EG(argument_stack)->top))) {
zend_vm_stack_extend(size TSRMLS_CC);
} else {
void **old_top = EG(argument_stack)->top;
EG(argument_stack)->top += extra;
/* store old top on the stack */
*EG(argument_stack)->top = (void*)old_top;
EG(argument_stack)->top += ZEND_MM_ALIGNED_SIZE(sizeof(void*)) / sizeof(void*);
}
} else {
ZEND_VM_STACK_GROW_IF_NEEDED((int)size);
}
ret = (void*)EG(argument_stack)->top;
EG(argument_stack)->top += size;
return ret;
}
static inline void zend_vm_stack_free(void *ptr TSRMLS_DC)
static inline void zend_vm_stack_free_int(void *ptr TSRMLS_DC)
{
if (UNEXPECTED(EG(argument_stack)->elements == (void**)ptr)) {
if (UNEXPECTED(ZEND_VM_STACK_ELEMETS(EG(argument_stack)) == (void**)ptr)) {
zend_vm_stack p = EG(argument_stack);
EG(argument_stack) = p->prev;
@@ -239,10 +258,28 @@ static inline void zend_vm_stack_free(void *ptr TSRMLS_DC)
}
}
static inline void zend_vm_stack_free(void *ptr TSRMLS_DC)
{
if (UNEXPECTED(ZEND_VM_STACK_ELEMETS(EG(argument_stack)) == (void**)ptr)) {
zend_vm_stack p = EG(argument_stack);
EG(argument_stack) = p->prev;
efree(p);
} else {
/* the following comparison must be optimized out at compile time */
if (ZEND_MM_ALIGNMENT > sizeof(void*)) {
ptr = (void*)(((char*)ptr) - ZEND_MM_ALIGNED_SIZE(sizeof(void*)));
EG(argument_stack)->top = *(void***)ptr;
} else {
EG(argument_stack)->top = (void**)ptr;
}
}
}
static inline void** zend_vm_stack_push_args(int count TSRMLS_DC)
{
if (UNEXPECTED(EG(argument_stack)->top - EG(argument_stack)->elements < count) ||
if (UNEXPECTED(EG(argument_stack)->top - ZEND_VM_STACK_ELEMETS(EG(argument_stack)) < count) ||
UNEXPECTED(EG(argument_stack)->top == EG(argument_stack)->end)) {
zend_vm_stack p = EG(argument_stack);
@@ -253,14 +290,14 @@ static inline void** zend_vm_stack_push_args(int count TSRMLS_DC)
while (count-- > 0) {
void *data = *(--p->top);
if (UNEXPECTED(p->top == p->elements)) {
if (UNEXPECTED(p->top == ZEND_VM_STACK_ELEMETS(p))) {
zend_vm_stack r = p;
EG(argument_stack)->prev = p->prev;
p = p->prev;
efree(r);
}
*(EG(argument_stack)->elements + count) = data;
*(ZEND_VM_STACK_ELEMETS(EG(argument_stack)) + count) = data;
}
return EG(argument_stack)->top++;
}
@@ -278,7 +315,7 @@ static inline void zend_vm_stack_clear_multiple(TSRMLS_D)
*p = NULL;
zval_ptr_dtor(&q);
}
zend_vm_stack_free(p TSRMLS_CC);
zend_vm_stack_free_int(p TSRMLS_CC);
}
static inline zval** zend_vm_stack_get_arg(int requested_arg TSRMLS_DC)
@@ -351,6 +388,8 @@ ZEND_API zval** zend_get_compiled_variable_value(const zend_execute_data *execut
#define ZEND_USER_OPCODE_CONTINUE 0 /* execute next opcode */
#define ZEND_USER_OPCODE_RETURN 1 /* exit from executor (return from function) */
#define ZEND_USER_OPCODE_DISPATCH 2 /* call original opcode handler */
#define ZEND_USER_OPCODE_ENTER 3 /* enter into new op_array without recursion */
#define ZEND_USER_OPCODE_LEAVE 4 /* return to calling op_array within the same executor */
#define ZEND_USER_OPCODE_DISPATCH_TO 0x100 /* call original handler of returned opcode */
+20 -2
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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 |
@@ -74,6 +74,10 @@ static void zend_handle_sigsegv(int dummy) /* {{{ */
get_active_function_name(TSRMLS_C),
zend_get_executed_filename(TSRMLS_C),
zend_get_executed_lineno(TSRMLS_C));
/* See http://support.microsoft.com/kb/190351 */
#ifdef PHP_WIN32
fflush(stderr);
#endif
}
if (original_sigsegv_handler!=zend_handle_sigsegv) {
original_sigsegv_handler(dummy);
@@ -837,6 +841,13 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
for (i=0; i<fci->param_count; i++) {
zval *param;
if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION
&& (EX(function_state).function->common.fn_flags & ZEND_ACC_CALL_VIA_HANDLER) == 0
&& !ARG_SHOULD_BE_SENT_BY_REF(EX(function_state).function, i + 1)
&& PZVAL_IS_REF(*fci->params[i])) {
SEPARATE_ZVAL(fci->params[i]);
}
if (ARG_SHOULD_BE_SENT_BY_REF(EX(function_state).function, i + 1)
&& !PZVAL_IS_REF(*fci->params[i])) {
@@ -1148,6 +1159,7 @@ ZEND_API int zend_eval_stringl(char *str, int str_len, zval *retval_ptr, char *s
zval *local_retval_ptr=NULL;
zval **original_return_value_ptr_ptr = EG(return_value_ptr_ptr);
zend_op **original_opline_ptr = EG(opline_ptr);
int orig_interactive = CG(interactive);
EG(return_value_ptr_ptr) = &local_retval_ptr;
EG(active_op_array) = new_op_array;
@@ -1155,9 +1167,11 @@ ZEND_API int zend_eval_stringl(char *str, int str_len, zval *retval_ptr, char *s
if (!EG(active_symbol_table)) {
zend_rebuild_symbol_table(TSRMLS_C);
}
CG(interactive) = 0;
zend_execute(new_op_array TSRMLS_CC);
CG(interactive) = orig_interactive;
if (local_retval_ptr) {
if (retval_ptr) {
COPY_PZVAL_TO_ZVAL(*retval_ptr, local_retval_ptr);
@@ -1216,6 +1230,7 @@ void execute_new_code(TSRMLS_D) /* {{{ */
{
zend_op *opline, *end;
zend_op *ret_opline;
int orig_interactive;
if (!(CG(active_op_array)->fn_flags & ZEND_ACC_INTERACTIVE)
|| CG(active_op_array)->backpatch_count>0
@@ -1271,7 +1286,10 @@ void execute_new_code(TSRMLS_D) /* {{{ */
EG(return_value_ptr_ptr) = NULL;
EG(active_op_array) = CG(active_op_array);
orig_interactive = CG(interactive);
CG(interactive) = 0;
zend_execute(CG(active_op_array) TSRMLS_CC);
CG(interactive) = orig_interactive;
if (EG(exception)) {
zend_exception_error(EG(exception), E_ERROR TSRMLS_CC);
@@ -1468,7 +1486,7 @@ void zend_unset_timeout(TSRMLS_D) /* {{{ */
}
#else
# ifdef HAVE_SETITIMER
{
if (EG(timeout_seconds)) {
struct itimerval no_timeout;
no_timeout.it_value.tv_sec = no_timeout.it_value.tv_usec = no_timeout.it_interval.tv_sec = no_timeout.it_interval.tv_usec = 0;
+25 -62
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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 |
@@ -35,6 +35,10 @@ int zend_load_extension(const char *path)
if (!handle) {
#ifndef ZEND_WIN32
fprintf(stderr, "Failed loading %s: %s\n", path, DL_ERROR());
/* See http://support.microsoft.com/kb/190351 */
#ifdef PHP_WIN32
fflush(stderr);
#endif
#else
fprintf(stderr, "Failed loading %s\n", path);
#endif
@@ -51,6 +55,10 @@ int zend_load_extension(const char *path)
}
if (!extension_version_info || !new_extension) {
fprintf(stderr, "%s doesn't appear to be a valid Zend extension\n", path);
/* See http://support.microsoft.com/kb/190351 */
#ifdef PHP_WIN32
fflush(stderr);
#endif
DL_UNLOAD(handle);
return FAILURE;
}
@@ -64,6 +72,10 @@ int zend_load_extension(const char *path)
new_extension->name,
extension_version_info->zend_extension_api_no,
ZEND_EXTENSION_API_NO);
/* See http://support.microsoft.com/kb/190351 */
#ifdef PHP_WIN32
fflush(stderr);
#endif
DL_UNLOAD(handle);
return FAILURE;
} else if (extension_version_info->zend_extension_api_no < ZEND_EXTENSION_API_NO) {
@@ -76,6 +88,10 @@ int zend_load_extension(const char *path)
new_extension->author,
new_extension->URL,
new_extension->name);
/* See http://support.microsoft.com/kb/190351 */
#ifdef PHP_WIN32
fflush(stderr);
#endif
DL_UNLOAD(handle);
return FAILURE;
}
@@ -83,6 +99,10 @@ int zend_load_extension(const char *path)
(!new_extension->build_id_check || new_extension->build_id_check(ZEND_EXTENSION_BUILD_ID) != SUCCESS)) {
fprintf(stderr, "Cannot load %s - it was built with configuration %s, whereas running engine is %s\n",
new_extension->name, extension_version_info->build_id, ZEND_EXTENSION_BUILD_ID);
/* See http://support.microsoft.com/kb/190351 */
#ifdef PHP_WIN32
fflush(stderr);
#endif
DL_UNLOAD(handle);
return FAILURE;
}
@@ -90,6 +110,10 @@ int zend_load_extension(const char *path)
return zend_register_extension(new_extension, handle);
#else
fprintf(stderr, "Extensions are not supported on this platform.\n");
/* See http://support.microsoft.com/kb/190351 */
#ifdef PHP_WIN32
fflush(stderr);
#endif
return FAILURE;
#endif
}
@@ -217,67 +241,6 @@ ZEND_API zend_extension *zend_get_extension(const char *extension_name)
return NULL;
}
/*
* Support for dynamic loading of MH_BUNDLEs on Darwin / Mac OS X
*
*/
#if HAVE_MACH_O_DYLD_H
void *zend_mh_bundle_load(char* bundle_path)
{
NSObjectFileImage bundle_image;
NSModule bundle_handle;
NSSymbol bundle_init_nssymbol;
void (*bundle_init)(void);
if (NSCreateObjectFileImageFromFile(bundle_path, &bundle_image) != NSObjectFileImageSuccess) {
return NULL;
}
bundle_handle = NSLinkModule(bundle_image, bundle_path, NSLINKMODULE_OPTION_NONE);
NSDestroyObjectFileImage(bundle_image);
/* call the init function of the bundle */
bundle_init_nssymbol = NSLookupSymbolInModule(bundle_handle, "__init");
if (bundle_init_nssymbol != NULL) {
bundle_init = NSAddressOfSymbol(bundle_init_nssymbol);
bundle_init();
}
return bundle_handle;
}
int zend_mh_bundle_unload(void *bundle_handle)
{
NSSymbol bundle_fini_nssymbol;
void (*bundle_fini)(void);
/* call the fini function of the bundle */
bundle_fini_nssymbol = NSLookupSymbolInModule(bundle_handle, "__fini");
if (bundle_fini_nssymbol != NULL) {
bundle_fini = NSAddressOfSymbol(bundle_fini_nssymbol);
bundle_fini();
}
return (int) NSUnLinkModule(bundle_handle, NULL);
}
void *zend_mh_bundle_symbol(void *bundle_handle, const char *symbol_name)
{
NSSymbol symbol;
symbol = NSLookupSymbolInModule(bundle_handle, symbol_name);
return NSAddressOfSymbol(symbol);
}
const char *zend_mh_bundle_error(void)
{
/* Witness the state of the art error reporting */
return NULL;
}
#endif /* HAVE_MACH_O_DYLD_H */
/*
* Local variables:
* tab-width: 4
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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-2009 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2010 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 |
Loaded 100 of 2786 files, more files were not shown because too many files have changed in this diff. Show more