]>
granicus.if.org Git - php/log
Gabriel Caruso [Sat, 30 May 2020 22:17:31 +0000 (00:17 +0200)]
Add $filter parameter for ReflectionClass::(getConstants|getReflectionConstants)
This solves [#79628](https://bugs.php.net/79628).
Similar to `ReflectionClass::getMethods()` and `ReflectionClass::getProperties()`,
this new `$filter` argument allows the filtering of constants defined in a class by
their visibility.
For that, we create three new constants for `ReflectionClassConstant`:
* `IS_PUBLIC`
* `IS_PROTECTED`
* `IS_PRIVATE`
Closes GH-5649.
Gabriel Caruso [Sat, 30 May 2020 21:21:39 +0000 (23:21 +0200)]
Fix tests' description for `ReflectionClass::getConstant`
twosee [Sun, 7 Jun 2020 00:38:13 +0000 (08:38 +0800)]
Fix expression warnings and break warnings
Close GH-5675.
Nikita Popov [Sun, 7 Jun 2020 08:38:50 +0000 (10:38 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Allow defining of uname value for reproducible builds
Jelle van der Waa [Fri, 5 Jun 2020 20:50:58 +0000 (22:50 +0200)]
Allow defining of uname value for reproducible builds
Extend configure.ac to accept PHP_UNAME as env variable to set the value of the
PHP_UNAME define in a reproducible manner. This allows distributions to set a
fixed value for php_uname and keep the default behaviour if PHP_UNAME is not
set.
Motivation: https://reproducible-builds.org/
Closes GH-5671.
twosee [Sat, 6 Jun 2020 10:12:05 +0000 (18:12 +0800)]
Remove duplicate zend_try
Closes GH-5672.
twosee [Sat, 6 Jun 2020 12:13:38 +0000 (20:13 +0800)]
Fix warning of strict-prototypes
Closes GH-5673.
Nikita Popov [Sun, 7 Jun 2020 08:24:03 +0000 (10:24 +0200)]
Fix free of uninitialized memory in attributes
Fixes OSS-Fuzz #23140.
Remi Collet [Sun, 7 Jun 2020 06:16:50 +0000 (08:16 +0200)]
move comment
Remi Collet [Sun, 7 Jun 2020 05:53:14 +0000 (07:53 +0200)]
Fixed bug #79678 Build fails due to undeclared ZIP_RDONLY
George Peter Banyard [Sat, 6 Jun 2020 13:02:17 +0000 (15:02 +0200)]
Fix invalid usage of zend_bool in DOM extension
twosee [Sat, 6 Jun 2020 06:47:39 +0000 (14:47 +0800)]
Fix BC break of zend_throw_exception
This also fixes a SegFault
Closes GH-5670
Máté Kocsis [Fri, 5 Jun 2020 12:40:40 +0000 (14:40 +0200)]
Add tests to check mismatching function signatures
Closes GH-5666
Nicolas Frandeboeuf [Fri, 5 Jun 2020 10:23:36 +0000 (12:23 +0200)]
openssl: Fix openssl_pkcs12_export_to_file extracerts test
Same as https://github.com/php/php-src/pull/2681/files but for openssl_pkcs12_export_to_file
Closes GH-5665
George Peter Banyard [Fri, 5 Jun 2020 17:01:13 +0000 (19:01 +0200)]
Refactor IntlBreakIterator::next() handling
George Peter Banyard [Fri, 5 Jun 2020 16:00:56 +0000 (18:00 +0200)]
Convert code path which should never happen to assertion
Remi Collet [Fri, 5 Jun 2020 15:08:21 +0000 (17:08 +0200)]
encode param is optional
Nikita Popov [Fri, 5 Jun 2020 14:27:09 +0000 (16:27 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Remove unnecessary "poo" rmdirs
Nikita Popov [Fri, 5 Jun 2020 14:26:09 +0000 (16:26 +0200)]
Remove unnecessary "poo" rmdirs
"poo" was only used in the opendir_edgecases test, but rmdir'ed
in some other tests as well.
I've also taken the liberty of renaming this directory...
Remi Collet [Fri, 5 Jun 2020 14:23:43 +0000 (16:23 +0200)]
bump zip version
Nikita Popov [Tue, 24 Mar 2020 12:18:28 +0000 (13:18 +0100)]
Implement "Constructor Promotion" RFC
RFC: https://wiki.php.net/rfc/constructor_promotion
Closes GH-5291.
Dmitry Stogov [Fri, 5 Jun 2020 11:20:39 +0000 (14:20 +0300)]
micro-optimization
Christoph M. Becker [Wed, 27 May 2020 10:01:16 +0000 (12:01 +0200)]
Drop hard-coded /W3 default in favor of custom CFLAGS
Building with `/W3` shows an awful lot of warnings on Windows, so it's
really hard to spot the more important ones. Since it is not possible
to override the hard-coded `/W3`, we drop it altogether, so MSVC uses
the default `/W1`. Users are encouraged to increase the warning level
via the environment variable `CFLAGS` before doing configure.
We also enable `/WX` (treat warnings as errors) for AppVeyor CI, using
`/W1` for now, since otherwise the build would fail.
Christoph M. Becker [Wed, 27 May 2020 07:58:10 +0000 (09:58 +0200)]
Fix MSVC level 1 (severe) warnings
We fix (hopefully) all instances of:
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4005>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4024>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4028>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4047>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4087>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4090>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4273>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4312>
`zend_llist_add_element()` and `zend_llist_prepend_element()` now
explicitly expect a *const* pointer.
We use the macro `ZEND_VOIDP()` instead of a `(void*)` cast to suppress
C4090; this should prevent accidential removal of the cast by
clarifying the intention, and makes it easier to remove the casts if
the issue[1] will be resolved sometime.
[1] <https://developercommunity.visualstudio.com/content/problem/390711/c-compiler-incorrect-propagation-of-const-qualifie.html>
Nikita Popov [Fri, 5 Jun 2020 08:52:07 +0000 (10:52 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Update intl test suite for ICU 67.1
Christoph M. Becker [Fri, 24 Apr 2020 08:43:42 +0000 (10:43 +0200)]
Update intl test suite for ICU 67.1
Cherry-picked from
c915c601710e2a44e6c7f89fcb12b8047c968108 .
Nikita Popov [Fri, 5 Jun 2020 08:36:35 +0000 (10:36 +0200)]
Free attribute validators on shutdown
Nikita Popov [Fri, 5 Jun 2020 08:29:49 +0000 (10:29 +0200)]
Don't leak attributes on internal classes
Also add zend_hash_release() API to complement zend_array_release(),
because the latter is specific to non-persistent zval arrays.
Nikita Popov [Fri, 5 Jun 2020 08:10:52 +0000 (10:10 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Respect --program-prefix/suffix when installing phar
Nathan Porter [Sat, 30 May 2020 22:39:11 +0000 (15:39 -0700)]
Respect --program-prefix/suffix when installing phar
Currently ./configure --enable-phar --program-suffix=7.4 will
result in binaries named php7.4 and phar but should instead
result in php7.4 and phar7.4
Closes GH-5650.
Nikita Popov [Fri, 29 May 2020 08:33:22 +0000 (10:33 +0200)]
Pass zend_string message to zend_error_cb
This makes the zend_error_cb API simpler, and avoid formatting
the same message in multiple places.
It should be noted that the passed zend_string is always
non-persistent, so if you want to store it persistently somewhere,
you may still need to duplicate it.
The last_error_message is cleared a bit more aggressive, to make
sure it doesn't hang around across allocator life-cycles.
Closes GH-5639.
Nikita Popov [Fri, 29 May 2020 15:27:51 +0000 (17:27 +0200)]
Fixed bug #72089: Throw Error on require failure
It should be noted that we still throw the usual fopen warnings,
but the final fatal error becomes an Error exception. Combine
with @ to suppress FS warnings.
Closes GH-5641.
Christoph M. Becker [Thu, 4 Jun 2020 15:15:59 +0000 (17:15 +0200)]
Fix phpdbg watchpoints wrt. negative_array_index RFC
The implementation of that RFC changed the initial value of
`zend_array.nNextFreeElement` to `-1`; we work around that by inserting
first, and retrieving the index afterwards.
We also fix the erroneous printf specifier for the unsigned integer.
Dmitry Stogov [Thu, 4 Jun 2020 21:05:12 +0000 (00:05 +0300)]
Avoid useless "mov"
George Peter Banyard [Tue, 2 Jun 2020 23:13:04 +0000 (01:13 +0200)]
Fix weird zend_bool usage in Intl Calendar::roll() method
This code really needs to be review as it's convoluted for no good reason.
Matthias Dötsch [Thu, 4 Jun 2020 16:58:41 +0000 (18:58 +0200)]
in_array() avoid internal property access as we have the arrlen already
Closes GH-5662
Benjamin Eberlei [Thu, 4 Jun 2020 16:21:18 +0000 (18:21 +0200)]
Add upgrading note for Attributes RFC
[ci-skip]
Benjamin Eberlei [Sun, 24 May 2020 18:57:00 +0000 (20:57 +0200)]
Add Attributes
Co-authored-by: Martin Schröder <m.schroeder2007@gmail.com>
Christoph M. Becker [Thu, 4 Jun 2020 11:40:16 +0000 (13:40 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #73527: Invalid memory access in php_filter_strip
Christoph M. Becker [Thu, 4 Jun 2020 11:38:14 +0000 (13:38 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #73527: Invalid memory access in php_filter_strip
Christoph M. Becker [Thu, 4 Jun 2020 09:49:59 +0000 (11:49 +0200)]
Fix #73527: Invalid memory access in php_filter_strip
Dmitry Stogov [Thu, 4 Jun 2020 11:04:21 +0000 (14:04 +0300)]
Add guard for FETCH_DIM_FUNC_ARG
Dmitry Stogov [Thu, 4 Jun 2020 10:19:42 +0000 (13:19 +0300)]
Prefer shorter x86 instructions
Christoph M. Becker [Wed, 3 Jun 2020 23:03:14 +0000 (01:03 +0200)]
Implement #47074: phpinfo() reports "On" as 1 for the some extensions
What is modified as boolean, should also be displayed as boolean.
Dmitry Stogov [Thu, 4 Jun 2020 09:23:27 +0000 (12:23 +0300)]
Improved tracing JIT for FETCH_OBJ_R/IS
Nikita Popov [Thu, 4 Jun 2020 08:03:39 +0000 (10:03 +0200)]
Remove MYSQLND_COMPRESSION_WANTED define
Instead directly define MYSQLND_COMPRESSION_ENABLED. This also
matches what config.w32 does.
Nikita Popov [Thu, 4 Jun 2020 08:02:12 +0000 (10:02 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
mysqlnd: Remove unnecessary check for HAVE_ZLIB
talyz [Wed, 3 Jun 2020 19:21:18 +0000 (21:21 +0200)]
mysqlnd: Remove unnecessary check for HAVE_ZLIB
If MYSQLND_COMPRESSION_WANTED is set, we already guarantee that
zlib is linked, but don't necessarily set HAVE_ZLIB.
Closes GH-5658.
Christoph M. Becker [Thu, 4 Jun 2020 07:11:13 +0000 (09:11 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #79668: get_defined_functions(true) may miss functions
Dmitry Stogov [Thu, 4 Jun 2020 07:03:15 +0000 (10:03 +0300)]
Tracing JIT for FETCH_DIM_FUNC_ARG and FETCH_OBJ_FUNC_ARG when they are used in READ mode (to pass by value).
Christoph M. Becker [Thu, 4 Jun 2020 06:47:25 +0000 (08:47 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79668: get_defined_functions(true) may miss functions
Christoph M. Becker [Wed, 3 Jun 2020 10:05:00 +0000 (12:05 +0200)]
Fix #79668: get_defined_functions(true) may miss functions
Instead of some brittle and unefficient string matching, we can just
check for the function handler.
Dmitry Stogov [Wed, 3 Jun 2020 21:17:13 +0000 (00:17 +0300)]
Fixed abstract stack consistency for JMPZ_EX/JMPNZ_EX
Dmitry Stogov [Wed, 3 Jun 2020 19:50:40 +0000 (22:50 +0300)]
"call_info" doesn't matter
Dmitry Stogov [Wed, 3 Jun 2020 15:14:51 +0000 (18:14 +0300)]
Avoid useless register reload
Nikita Popov [Wed, 3 Jun 2020 12:50:35 +0000 (14:50 +0200)]
Fix typo in skipif section
Merge mistake...
Dmitry Stogov [Wed, 3 Jun 2020 09:11:39 +0000 (12:11 +0300)]
Avoid useless REFCOUNTED check
Christoph M. Becker [Tue, 2 Jun 2020 12:58:26 +0000 (14:58 +0200)]
Fix #79665: ini_get() and opcache_get_configuration() inconsistency
Overriding the given INI values in modifier callbacks is not possible,
so instead of enforcing "normalized" internal values, we just reject
the attempted changes.
Dmitry Stogov [Wed, 3 Jun 2020 08:51:04 +0000 (11:51 +0300)]
Use cheaper zend_rethrow_exception() instead of zend_throw_exception_internal()
Nikita Popov [Wed, 3 Jun 2020 08:17:27 +0000 (10:17 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Report len as -1 instead of INT_MAX
Nikita Popov [Wed, 3 Jun 2020 08:15:54 +0000 (10:15 +0200)]
Report len as -1 instead of INT_MAX
Per docs it should be -1. And would be on 32-bit systems, but
not on 64-bit systems.
Nikita Popov [Wed, 3 Jun 2020 08:02:31 +0000 (10:02 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Skip new watch point test under asan
Nikita Popov [Wed, 3 Jun 2020 08:01:57 +0000 (10:01 +0200)]
Skip new watch point test under asan
Dmitry Stogov [Wed, 3 Jun 2020 07:58:17 +0000 (10:58 +0300)]
Handle VM interrupts after DO_ICALL through side exits
Nikita Popov [Wed, 3 Jun 2020 07:57:01 +0000 (09:57 +0200)]
%d out token IDs in test
Avoid having to update this test any time token numbers shift.
Dmitry Stogov [Tue, 2 Jun 2020 21:49:10 +0000 (00:49 +0300)]
Avoid reference counting when RETURN CV
Dmitry Stogov [Tue, 2 Jun 2020 20:50:32 +0000 (23:50 +0300)]
Added missed helper
Christoph M. Becker [Tue, 2 Jun 2020 15:12:34 +0000 (17:12 +0200)]
Skip new test case on Windows when JIT is enabled
Cf. <http://git.php.net/?p=php-src.git;a=commit;h=
c5cf0af8a98cbc574fd315bf9d78033b896886f3 >.
Christoph M. Becker [Tue, 2 Jun 2020 13:19:32 +0000 (15:19 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #73927: phpdbg fails with windows error prompt at "watch array"
Christoph M. Becker [Wed, 27 May 2020 16:26:32 +0000 (18:26 +0200)]
Fix #73927: phpdbg fails with windows error prompt at "watch array"
We expect zvals, so we should request zvals.
We also suppress spurious watchpoint removal notices.
Dmitry Stogov [Tue, 2 Jun 2020 12:55:18 +0000 (15:55 +0300)]
Tracing JIT support for indirect CV modification (may be incomplete)
Dmitry Stogov [Tue, 2 Jun 2020 12:54:44 +0000 (15:54 +0300)]
Afdded misse MAY_BE_ARRAY_* flags
Christoph M. Becker [Tue, 2 Jun 2020 08:48:15 +0000 (10:48 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #79664: PDOStatement::getColumnMeta fails on empty result set
Christoph M. Becker [Tue, 2 Jun 2020 08:46:35 +0000 (10:46 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79664: PDOStatement::getColumnMeta fails on empty result set
Christoph M. Becker [Tue, 2 Jun 2020 07:36:39 +0000 (09:36 +0200)]
Fix #79664: PDOStatement::getColumnMeta fails on empty result set
As its name suggests, `sqlite3_data_count` returns the number of
columns in the current row of the result set; we are interested in the
number of columns regardless of the current row, so we have to use
`sqlite3_column_count` instead.
Nikita Popov [Tue, 2 Jun 2020 08:15:50 +0000 (10:15 +0200)]
Add some mixed types
Dmitry Stogov [Mon, 1 Jun 2020 13:26:22 +0000 (16:26 +0300)]
Fixed retutn type inference when return undefined variable
Christoph M. Becker [Mon, 1 Jun 2020 11:25:58 +0000 (13:25 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #79650: php-win.exe 100% cpu lockup
Christoph M. Becker [Mon, 1 Jun 2020 11:23:59 +0000 (13:23 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79650: php-win.exe 100% cpu lockup
Christoph M. Becker [Sun, 31 May 2020 11:28:09 +0000 (13:28 +0200)]
Fix #79650: php-win.exe 100% cpu lockup
As of PHP 7.3.0, `sapi_cli_single_write()` is supposed to return `< 0`
on failure, but `fwrite()` returns a `size_t`, and signals error by
setting the stream's error indicator. We have to cater to that.
Dmitry Stogov [Fri, 29 May 2020 10:58:04 +0000 (13:58 +0300)]
Fixed tracing JIT for closure run_time_cache access
Ilija Tovilo [Sat, 30 May 2020 21:33:25 +0000 (23:33 +0200)]
Fix php_get_args function info return type and add arg check
Closes GH-5648.
Nikita Popov [Sun, 31 May 2020 15:05:42 +0000 (17:05 +0200)]
Add UPGRADING note for pty support
[ci skip]
Nikita Popov [Sun, 31 May 2020 14:57:37 +0000 (16:57 +0200)]
Add UPGRADING note for xmlrpc unbundling
And drop other UPGRADING references to xmlrpc. I don't think it
makes sense to have those for extensions that are no longer
shipped...
[ci skip]
Nikita Popov [Sun, 31 May 2020 14:55:46 +0000 (16:55 +0200)]
Fix some line overruns in UPGRADING
[ci skip]
Nikita Popov [Sun, 31 May 2020 14:48:14 +0000 (16:48 +0200)]
Move upgrading note for mixed
This should be in the "new features" section.
[ci skip]
Daniel Ruf [Sun, 31 May 2020 12:18:19 +0000 (14:18 +0200)]
Fix small typo in comment
Moni [Sat, 30 May 2020 14:29:14 +0000 (16:29 +0200)]
update node-fetch url
Máté Kocsis [Sat, 30 May 2020 09:06:49 +0000 (11:06 +0200)]
Fix #79653 Unexpected error for ArrayIterator::ksort()
Closes GH-5644
George Peter Banyard [Thu, 26 Mar 2020 00:00:55 +0000 (01:00 +0100)]
Use ZPP callable check for spl_autoload_register.
This makes it always throw a TypeError, moreover this makes the
error message consistent.
Added a warning mentioning that the second parameter is now ignored
when passed false.
Closes GH-5301
Máté Kocsis [Fri, 29 May 2020 20:31:37 +0000 (22:31 +0200)]
Fix #79652 Ensure that the mixed type is displayed instead of the union of all types
Closes GH-56430
Christoph M. Becker [Fri, 29 May 2020 13:43:45 +0000 (15:43 +0200)]
Unbundle ext/xmlrpc
According to <https://wiki.php.net/rfc/unbundle_xmlprc> we unbundle
ext/xmlrpc.
Máté Kocsis [Fri, 29 May 2020 13:15:27 +0000 (15:15 +0200)]
Add upgrading notes about the deprecated functionality in ext/enchant
[skip ci]
Máté Kocsis [Fri, 15 May 2020 06:38:02 +0000 (08:38 +0200)]
Convert enchant resources to opaque objects
Additionally, deprecate ENCHANT_MYSPELL and ENCHANT_ISPELL constants.
Closes GH-5577
Co-authored-by: Remi Collet <remi@php.net>
Christoph M. Becker [Fri, 29 May 2020 11:42:18 +0000 (13:42 +0200)]
Support libzip 1.6 on Windows
Nikita Popov [Fri, 29 May 2020 10:58:31 +0000 (12:58 +0200)]
Fix Windows build
Dmitry Stogov [Fri, 29 May 2020 10:27:47 +0000 (13:27 +0300)]
Fixed tracing JIT register allocator (failure on ext/opcache/tests/jit/assign_002.phpt)
Dmitry Stogov [Fri, 29 May 2020 10:25:59 +0000 (13:25 +0300)]
Allow tracing JIT generate code when function exits from VM (e.g. for magic __get/__set)
Nikita Popov [Fri, 29 May 2020 10:05:42 +0000 (12:05 +0200)]
Remove json checks in fuzzer SAPI
JSON is now always enabled
Dmitry Stogov [Fri, 29 May 2020 09:17:09 +0000 (12:17 +0300)]
Don't add guards that are not going to be checked