]>
granicus.if.org Git - php/log
Christoph M. Becker [Mon, 2 Sep 2019 13:21:49 +0000 (15:21 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Update NEWS
Christoph M. Becker [Mon, 2 Sep 2019 13:21:20 +0000 (15:21 +0200)]
Update NEWS
Christoph M. Becker [Mon, 2 Sep 2019 13:06:45 +0000 (15:06 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #76577: outdated documentation concerning track_errors
Christoph M. Becker [Mon, 2 Sep 2019 13:05:57 +0000 (15:05 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #76577: outdated documentation concerning track_errors
Christoph M. Becker [Mon, 2 Sep 2019 13:05:01 +0000 (15:05 +0200)]
Fix #76577: outdated documentation concerning track_errors
Dmitry Stogov [Mon, 2 Sep 2019 11:05:28 +0000 (14:05 +0300)]
Free two bits in fn_flags by merging ZEND_ACC_HEAP_RT_CACHE/ZEND_ACC_USER_ARG_INFO and ZEND_ACC_DONE_PASS_TWO/ZEND_ACC_ARENA_ALLOCATED that may be used only for user/internal functions
Dmitry Stogov [Mon, 2 Sep 2019 09:50:05 +0000 (12:50 +0300)]
Fixed information about unused flags
Nikita Popov [Mon, 2 Sep 2019 07:37:26 +0000 (09:37 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 2 Sep 2019 07:36:58 +0000 (09:36 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Mon, 2 Sep 2019 07:36:20 +0000 (09:36 +0200)]
Fix pkg-config version constraint for ICU
On PHP 7.2 our minimum ICU version is 4.0, not 40.
George Peter Banyard [Sun, 14 Jul 2019 19:31:21 +0000 (21:31 +0200)]
Drop E_STRICT notice in mysqli extension
Nikita Popov [Fri, 30 Aug 2019 15:24:06 +0000 (17:24 +0200)]
Reenable alloca support on ZTS
This got disabled due to an incorrect change in a preprocessor condition
in
2104bea5d756dfa40b605a4a2765a3bc4637a76c . It was not supposed to
be disabled.
Nikita Popov [Fri, 30 Aug 2019 14:36:49 +0000 (16:36 +0200)]
Fix file clashes in copy tests
Create the "*" file in a sub-directory rather than the main test
directory, so that it's different for each test.
Nikita Popov [Fri, 30 Aug 2019 13:25:23 +0000 (15:25 +0200)]
Remove bogus vcwd_open
This is a left-over from the Linux version...
Nikita Popov [Fri, 30 Aug 2019 14:07:54 +0000 (16:07 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Fri, 30 Aug 2019 14:07:33 +0000 (16:07 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Sergei Turchanov [Wed, 28 Aug 2019 03:05:14 +0000 (13:05 +1000)]
Fixed bug #78469
fcgi_accept_request function is supposed to call a FastCGI implementation's
on_accept hook when entering an "accepting" stage (that is right before
calling "accept"). This hook implementation (fpm_request_accepting) updates
a worker state to an "accepting" state which is effectively an "Idle" state,
and updates counters on the scoreboard of the corresponding pool (idle++,
active--).
But this is not done when listening for client connections on a named pipe on
Windows platform. In that case a combination of
ConnectNamedPipe/WaitForSingleObject is used (to be able to catch in_shutdown
as far as I understand), but it is nonetheless functionally equivalent to
"accept" call. Also by not calling on_hook neither a worker's state is updated
to "accepting" state nor scoreboard counters are updated.
Nikita Popov [Fri, 30 Aug 2019 09:01:32 +0000 (11:01 +0200)]
Avoid accessing undefined index in CLI server test
Nikita Popov [Fri, 30 Aug 2019 08:59:58 +0000 (10:59 +0200)]
Don't call Reflection::export() in --rf etc implementation
This method is deprecated ... instead simply directly print the
object.
Fabien Villepinte [Tue, 27 Aug 2019 10:50:26 +0000 (12:50 +0200)]
Modernize some connectors in tests to remove env key duplication
Nikita Popov [Tue, 27 Aug 2019 18:54:50 +0000 (20:54 +0200)]
Add job for community projects
Run some open-source projects through an aggressive debug
configuration with asan and ubsan. We don't care about test results,
only check that we don't assert or crash.
Currently testing laravel, symfony and amp.
Peter Kokot [Fri, 30 Aug 2019 02:32:05 +0000 (04:32 +0200)]
Update NEWS
Peter Kokot [Wed, 28 Aug 2019 15:21:46 +0000 (17:21 +0200)]
Fix #78460: PEAR installation failure
When building PHP outside of the source tree:
mkdir custom-build-dir
cd custom-build-dir
../path/to/php-src/configure
The directories need to be manually created including the pear directory
so the pear installation PHAR file doesn't need to be downloaded from
the remote location.
Closes GH-4639
Nikita Popov [Thu, 29 Aug 2019 16:01:34 +0000 (18:01 +0200)]
Fix potentially uninitialized use in ldap
If ctrl->ldctl_value.bv_len is zero context is uninitialized. Only
free it if the call took place and succeeded.
Nikita Popov [Thu, 29 Aug 2019 12:33:31 +0000 (14:33 +0200)]
Addref static vars when not copying private method
While we don't need to give this method separate static vars, we
do still need to perform an addref, as there will be a corresponding
delref in the dtor.
Nikita Popov [Thu, 29 Aug 2019 10:58:22 +0000 (12:58 +0200)]
Use explicit unaligned type in md5 implementation
Nikita Popov [Thu, 29 Aug 2019 10:34:07 +0000 (12:34 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Thu, 29 Aug 2019 10:32:23 +0000 (12:32 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Thu, 29 Aug 2019 10:30:39 +0000 (12:30 +0200)]
Fix use-after-free of immediately invoked closure with extra args
Nikita Popov [Wed, 28 Aug 2019 15:39:39 +0000 (17:39 +0200)]
Set opcache.protect_memory=1 on Azure
Christoph M. Becker [Wed, 28 Aug 2019 15:58:13 +0000 (17:58 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #78473: odbc_close() closes arbitrary resources
Christoph M. Becker [Wed, 28 Aug 2019 15:56:23 +0000 (17:56 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #78473: odbc_close() closes arbitrary resources
Christoph M. Becker [Wed, 28 Aug 2019 15:51:57 +0000 (17:51 +0200)]
Fix #78473: odbc_close() closes arbitrary resources
We have to bail out, if an invalid resource is given. For consistency
with the other `zend_fetch_resource(2)` calls, we return `FALSE`.
Nikita Popov [Wed, 28 Aug 2019 15:31:52 +0000 (17:31 +0200)]
Add missed mutability check
Nikita Popov [Wed, 28 Aug 2019 13:35:53 +0000 (15:35 +0200)]
Remove delref in free_object_storage
This gives us better object leak diagnostics.
Nikita Popov [Wed, 28 Aug 2019 13:33:51 +0000 (15:33 +0200)]
Destroy error handlers before final GC run
Nikita Popov [Wed, 28 Aug 2019 10:15:28 +0000 (12:15 +0200)]
Fixed bug #78335
Destroy static properties and variables prior to the final GC run,
as they may hold GC roots.
Stanislav Malyshev [Wed, 28 Aug 2019 07:11:50 +0000 (00:11 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Upgrade oniguruma lib to 6.9.3
Stanislav Malyshev [Wed, 28 Aug 2019 06:28:33 +0000 (23:28 -0700)]
Upgrade oniguruma lib to 6.9.3
Nikita Popov [Tue, 27 Aug 2019 19:59:56 +0000 (21:59 +0200)]
Don't specify precedence for T_INC/T_DEC
As these do not operate on expressions, precedence is meaningless
for them.
Nikita Popov [Tue, 27 Aug 2019 09:36:58 +0000 (11:36 +0200)]
Add --with-pear to Travis build
Pavel Dyakonov [Tue, 27 Aug 2019 13:06:56 +0000 (16:06 +0300)]
add ffi to php.ini extension [ci skip]
Anatol Belski [Tue, 27 Aug 2019 12:34:14 +0000 (14:34 +0200)]
Fix signature and calls
Christoph M. Becker [Tue, 27 Aug 2019 11:36:09 +0000 (13:36 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Update SDK version for AppVeyor
Christoph M. Becker [Tue, 27 Aug 2019 11:35:05 +0000 (13:35 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Update SDK version for AppVeyor
Christoph M. Becker [Tue, 27 Aug 2019 11:34:35 +0000 (13:34 +0200)]
Update SDK version for AppVeyor
Jakub Zelenka [Mon, 26 Aug 2019 17:11:04 +0000 (18:11 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
Tsuyoshi Sadakata [Thu, 25 Jul 2019 14:22:45 +0000 (23:22 +0900)]
Fix bug #78334 (fpm log prefix message includes wrong stdout/stderr notation)
Nikita Popov [Mon, 26 Aug 2019 15:52:56 +0000 (17:52 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 26 Aug 2019 15:50:46 +0000 (17:50 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Mon, 26 Aug 2019 15:48:05 +0000 (17:48 +0200)]
Remove properties HT from nested GC data
The properties HT may be a GC root itself, so we need to remove it.
I'm not sure this issue actually applies to PHP 7.2, but committing
it there to be safe. As seen from the test case, the handling here
is rather buggy on 7.2.
Nikita Popov [Mon, 26 Aug 2019 14:10:29 +0000 (16:10 +0200)]
Don't use needs_live_range hook for "special" live ranges
In particular we were disgarding SILENCE live ranges in opcache,
because we decided that a MAY_BE_LONG type does not need a live
range.
Christoph M. Becker [Mon, 26 Aug 2019 10:37:29 +0000 (12:37 +0200)]
Replace deprecated libzip functions
We replace all deprecated libzip functions with their recommended
substitutes, and add proper comment length checks including a test
case.
viest [Sat, 3 Aug 2019 15:05:56 +0000 (23:05 +0800)]
Deprecate AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES
These flags have been deprecated in glibc 2.28, so we also
deprecate them in PHP.
As we can't deprecate constants, we can only check for their use
in socket_addrinfo_lookup().
Nikita Popov [Mon, 26 Aug 2019 09:13:57 +0000 (11:13 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 26 Aug 2019 09:13:49 +0000 (11:13 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Tyson Andre [Sun, 25 Aug 2019 15:02:28 +0000 (11:02 -0400)]
Also fix signature for passthru
Backported from
a1a8d144854acb1c891cf0c21abb0f612b1d8de7
https://www.php.net/manual/en/function.passthru.php#refsect1-function.passthru-returnvalues
`passthru()` is false with invalid args
`passthru('command')` is null.
Tyson Andre [Sun, 25 Aug 2019 14:48:52 +0000 (10:48 -0400)]
Fix opcache optimizer info for time_nanosleep
This can also return an array. See
https://www.php.net/manual/en/function.time-nanosleep.php#refsect1-function.time-nanosleep-returnvalues
> If the delay was interrupted by a signal, an associative array will be
returned with the components:
>
> - seconds - number of seconds remaining in the delay
> - nanoseconds - number of nanoseconds remaining in the delay
Sending a SIGUSR1 to the below program would trigger this behavior.
```
pcntl_signal(\SIGUSR1, function ($signo, $signinfo) {
echo "Handling a signal $signo\n";
});
echo "Sleeping for 100 seconds\n";
var_export(time_nanosleep(100, 0));
```
The incomplete signature existed since
c88ffa9a5 .
No phpt tests existed for time_nanosleep returning an array
Nikita Popov [Mon, 26 Aug 2019 09:08:42 +0000 (11:08 +0200)]
Fixed bug #78456
Nikita Popov [Mon, 26 Aug 2019 08:27:08 +0000 (10:27 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 26 Aug 2019 08:26:49 +0000 (10:26 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Mon, 26 Aug 2019 08:23:23 +0000 (10:23 +0200)]
Fix overflow in memory limit checks
Due to overflows in the memory limit checks, we were missing cases
where the allocation size was close to the address space size, and
caused an OOM condition rather than a memory limit error.
Stanislav Malyshev [Mon, 26 Aug 2019 03:06:43 +0000 (20:06 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix test
Stanislav Malyshev [Mon, 26 Aug 2019 03:06:02 +0000 (20:06 -0700)]
Fix test
Not sure why offset changed... probably different PCRE version calculates
them in different way.
Stanislav Malyshev [Mon, 26 Aug 2019 02:21:08 +0000 (19:21 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #75457: heap-use-after-free in php7.0.25
Stanislav Malyshev [Mon, 26 Aug 2019 02:21:04 +0000 (19:21 -0700)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #75457: heap-use-after-free in php7.0.25
Stanislav Malyshev [Mon, 26 Aug 2019 02:20:59 +0000 (19:20 -0700)]
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
Fix #75457: heap-use-after-free in php7.0.25
Christoph M. Becker [Fri, 16 Aug 2019 12:29:19 +0000 (14:29 +0200)]
Fix #75457: heap-use-after-free in php7.0.25
Backport <https://vcs.pcre.org/pcre?view=revision&revision=1638>.
Theodore Brown [Sun, 25 Aug 2019 05:33:51 +0000 (00:33 -0500)]
Fix #78454: Consecutive numeric separators cause OOM error
Resolves out of memory error when consecutive numeric separators follow a binary/hex literal.
Christoph M. Becker [Sat, 24 Aug 2019 08:28:43 +0000 (10:28 +0200)]
Don't modify arrays passed by value
Stanislav Malyshev [Sun, 25 Aug 2019 07:20:40 +0000 (00:20 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Update Oniguruma to 6.9.1
Stanislav Malyshev [Sun, 25 Aug 2019 06:53:35 +0000 (23:53 -0700)]
Update Oniguruma to 6.9.1
Stanislav Malyshev [Sun, 25 Aug 2019 06:17:12 +0000 (23:17 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix CVE-2019-13224: don't allow different encodings for onig_new_deluxe()
set version for release
Stanislav Malyshev [Sun, 25 Aug 2019 06:16:09 +0000 (23:16 -0700)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix CVE-2019-13224: don't allow different encodings for onig_new_deluxe()
set version for release
Stanislav Malyshev [Sun, 25 Aug 2019 06:15:36 +0000 (23:15 -0700)]
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
Fix CVE-2019-13224: don't allow different encodings for onig_new_deluxe()
set version for release
Stanislav Malyshev [Sun, 25 Aug 2019 06:11:45 +0000 (23:11 -0700)]
Fix CVE-2019-13224: don't allow different encodings for onig_new_deluxe()
Backport from https://github.com/kkos/oniguruma/commit/
0f7f61ed1b7b697e283e37bd2d731d0bd57adb55
Nikita Popov [Fri, 16 Aug 2019 10:55:28 +0000 (12:55 +0200)]
Relax closure $this unbinding deprecation
Only deprecate unbinding of $this from a closure if $this is
syntactically used within the closure.
This is desired to support Laravel's macro system, see laravel/framework#29482.
This should still allow us to implement the performance improvements
we're interested in for PHP 8, without breaking existing use-cases.
Nikita Popov [Fri, 23 Aug 2019 14:58:34 +0000 (16:58 +0200)]
Fix arginfo leak when using disabled_classes
Also remove the hack where scope is set to NULL in order to make
free_internal_arg_info work. Instead explicitly call it for class
methods.
This fixes the asan build for Zend/tests/bug77494.phpt.
Nikita Popov [Fri, 23 Aug 2019 14:18:15 +0000 (16:18 +0200)]
Fix noalias violation in select call
Nikita Popov [Fri, 23 Aug 2019 14:14:19 +0000 (16:14 +0200)]
Avoid strncat use in proc_open
Instead manually manage the insertion position.
Nikita Popov [Fri, 23 Aug 2019 13:51:57 +0000 (15:51 +0200)]
Replace strncat in filter implementation
In this case we already know exactly where we need to write, no
need to use strncat at all.
Nikita Popov [Wed, 21 Aug 2019 14:19:58 +0000 (16:19 +0200)]
Support variable element size in spl heap implementation
This allows us to drop the intermediate allocation for
spl_pqueue_elem.
This fixes GC for SplPriorityQueue, because we can now directly
return a well-formed GC child buffer.
Nikita Popov [Fri, 23 Aug 2019 13:27:28 +0000 (15:27 +0200)]
Fixed bug #78436
Christoph M. Becker [Fri, 23 Aug 2019 12:02:48 +0000 (14:02 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #77812: Interactive mode does not support PHP 7.3-style heredoc
Christoph M. Becker [Fri, 23 Aug 2019 11:59:10 +0000 (13:59 +0200)]
Fix #77812: Interactive mode does not support PHP 7.3-style heredoc
As of PHP 7.3.0, the rules regarding the heredoc and nowdoc closing
identifier have been relaxed. While formerly, the closing identifier
was required to be placed at the beginning of a line and to be
immediately followed by (a semicolon and) a line break, it may now be
preceeded by whitespace, and may be followed by any non-word character.
We adjust the recognition logic respectively.
Christoph M. Becker [Fri, 23 Aug 2019 10:22:28 +0000 (12:22 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Suppress deprecation warning on IDNA2003 ICU methods for clang
Christoph M. Becker [Fri, 23 Aug 2019 10:21:57 +0000 (12:21 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Suppress deprecation warning on IDNA2003 ICU methods for clang
Christoph M. Becker [Fri, 23 Aug 2019 09:14:18 +0000 (11:14 +0200)]
Suppress deprecation warning on IDNA2003 ICU methods for clang
Christoph M. Becker [Fri, 23 Aug 2019 09:30:31 +0000 (11:30 +0200)]
Fix #78438: Corruption when __unserializing deeply nested structures
When storing two temporary variables for delayed __unserialize() calls,
we have to make sure that both fit into the same linked list element.
To that end we introduce the internal API `tmp_var` which allows to
reserve `num` slots in the same list element.
We also fix the `var_dtor_entries` struct definition to use the proper
size, namely `VAR_DTOR_ENTRIES_MAX`.
Christoph M. Becker [Thu, 22 Aug 2019 13:58:25 +0000 (15:58 +0200)]
Fix var_unserializer debug code
At least it now compiles and should be free of warnings.
Christoph M. Becker [Wed, 21 Aug 2019 20:54:05 +0000 (22:54 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #78441: Parse error due to heredoc identifier followed by digit
Christoph M. Becker [Wed, 21 Aug 2019 20:51:51 +0000 (22:51 +0200)]
Fix #78441: Parse error due to heredoc identifier followed by digit
Since digits are allowed for identifiers, we have to cater to them as
well.
George Peter Banyard [Tue, 20 Aug 2019 18:15:22 +0000 (20:15 +0200)]
Remove dead code in base64.c
Remi Collet [Tue, 20 Aug 2019 14:31:11 +0000 (16:31 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
ensure proper settings for test
Remi Collet [Tue, 20 Aug 2019 14:30:52 +0000 (16:30 +0200)]
ensure proper settings for test
Derick Rethans [Tue, 20 Aug 2019 14:10:36 +0000 (14:10 +0000)]
Update NEWS for 7.4.0RC1
Derick Rethans [Tue, 20 Aug 2019 14:09:17 +0000 (14:09 +0000)]
Update NEWS for PHP 7.4.0beta4
Christoph M. Becker [Tue, 20 Aug 2019 14:04:14 +0000 (16:04 +0200)]
Fix #78386: fstat mode has unexpected value on PHP 7.4
We must not assume that any file which is not a directory is a regular
file. Therefore we employ `GetFileType()` in this case to properly
distinguish between character special, FIFO special and regular files.
Christoph M. Becker [Tue, 20 Aug 2019 11:58:54 +0000 (13:58 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Don't use C++ style comments
Christoph M. Becker [Tue, 20 Aug 2019 11:58:22 +0000 (13:58 +0200)]
Don't use C++ style comments
Cf. <https://github.com/php/php-src/blob/
f45b61b8988b5b2d80dd4a1df7edd04282cf319a /CODING_STANDARDS.md#syntax-and-indentation>
cc @mcmic