1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00
Commit Graph

139219 Commits

Author SHA1 Message Date
Niels Dossche
2c532cf02b Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix GH-16802: open_basedir bypass using curl extension
2024-11-15 21:17:56 +01:00
Niels Dossche
1b803bc3f5 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix GH-16802: open_basedir bypass using curl extension
2024-11-15 21:17:51 +01:00
Niels Dossche
179ca2bf2a Fix GH-16802: open_basedir bypass using curl extension
And fix a memleak while here.

Closes GH-16804.
2024-11-15 21:17:36 +01:00
Niels Dossche
a0983a012c Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix test expectation for different closure name in 8.4
2024-11-15 20:33:06 +01:00
Niels Dossche
6a55beef90 Fix test expectation for different closure name in 8.4 2024-11-15 20:32:59 +01:00
Niels Dossche
4c88bfb96d Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix GH-16799: Assertion failure at Zend/zend_vm_execute.h:7469
2024-11-15 20:05:40 +01:00
Niels Dossche
4a5854ee62 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix GH-16799: Assertion failure at Zend/zend_vm_execute.h:7469
2024-11-15 20:03:26 +01:00
Niels Dossche
ed59c00661 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-16799: Assertion failure at Zend/zend_vm_execute.h:7469
2024-11-15 20:03:19 +01:00
Niels Dossche
553d79c709 Fix GH-16799: Assertion failure at Zend/zend_vm_execute.h:7469
zend_is_callable_ex() can unfortunately emit a deprecation, and then
a user error handler can throw an exception. This causes an assert
failure at ZEND_VM_NEXT_OPCODE(). We fix this by checking if there's an
exception after zend_is_callable_ex().

Closes GH-16803.
2024-11-15 20:02:26 +01:00
Christoph M. Becker
b7165f5d01 Merge branch 'PHP-8.4'
* PHP-8.4:
  Adapt ext/intl tests for ICU 75.1 and 76.1
2024-11-15 18:57:35 +01:00
Christoph M. Becker
54ae770cd6 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Adapt ext/intl tests for ICU 75.1 and 76.1
2024-11-15 18:57:12 +01:00
Christoph M. Becker
716b03d081 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Adapt ext/intl tests for ICU 75.1 and 76.1
2024-11-15 18:55:31 +01:00
Christoph M. Becker
f725f504e8 Adapt ext/intl tests for ICU 75.1 and 76.1
Closes GH-16788.
2024-11-15 18:55:01 +01:00
Christoph M. Becker
23d390ecb1 Merge branch 'PHP-8.4'
* PHP-8.4:
  Update FreeBSD CI
2024-11-15 18:24:58 +01:00
Christoph M. Becker
fb5fa4a689 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Update FreeBSD CI
2024-11-15 18:24:20 +01:00
Christoph M. Becker
a570e09ab2 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Update FreeBSD CI
2024-11-15 18:22:57 +01:00
Christoph M. Becker
fe1925aaac Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Update FreeBSD CI
2024-11-15 18:21:59 +01:00
Christoph M. Becker
85e23dbbb2 Update FreeBSD CI
FreeBSD 13.2 is no longer supported[1], and apparently the respective
Cirrus CI image has been removed.  We update to FreeBSD 13.3.

This also requires to disable some compiler warnings now, and adapt a
test case.

[1] <https://www.freebsd.org/security/#sup>
[2] <https://github.com/php/php-src/runs/33044888209>

Co-authored-by: David Carlier <devnexen@gmail.com>

Closes GH-16817.
2024-11-15 18:20:48 +01:00
David Carlier
4f76baba29 Merge branch 'PHP-8.4' 2024-11-15 16:51:10 +00:00
David Carlier
b8ba6f63a3 Fix GH-16812: UAF on readline_info() after readline_write_history() call.
close GH-16813
2024-11-15 16:50:24 +00:00
Christoph M. Becker
1922f41ef3 Merge branch 'PHP-8.4'
* PHP-8.4:
  Stick with icu4c 74.2 on macOS CI for PHP-8.1
2024-11-15 14:28:09 +01:00
Christoph M. Becker
0ed855aa07 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Stick with icu4c 74.2 on macOS CI for PHP-8.1
2024-11-15 14:27:34 +01:00
Christoph M. Becker
925917f971 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Stick with icu4c 74.2 on macOS CI for PHP-8.1
2024-11-15 14:26:38 +01:00
Christoph M. Becker
3abb031c3c Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Stick with icu4c 74.2 on macOS CI for PHP-8.1
2024-11-15 14:25:19 +01:00
Christoph M. Becker
9128fb8f1e Stick with icu4c 74.2 on macOS CI for PHP-8.1
PHP-8.1 is not ready for ICU >= 75.1 which requires C++17 support.
Thus we force the usage of icu4c@74, what is scheduled for removal in
May 2025, though.

Closes GH-16789.
2024-11-15 14:24:24 +01:00
Niels Dossche
3f4bcd8cba Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix GH-16770: Tracing JIT type mismatch when returning UNDEF
2024-11-14 22:34:19 +01:00
Niels Dossche
4767c0626c Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix GH-16770: Tracing JIT type mismatch when returning UNDEF
2024-11-14 22:34:12 +01:00
Niels Dossche
0bf74bf9d8 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-16770: Tracing JIT type mismatch when returning UNDEF
2024-11-14 22:34:05 +01:00
Niels Dossche
cbb3b9371d Fix GH-16770: Tracing JIT type mismatch when returning UNDEF
When returning an UNDEF value, it actually becomes NULL.
The following code took this into account:
28344e0445/ext/opcache/jit/zend_jit_trace.c (L2196-L2199)

But the stack does not update the type to NULL, causing a mismatch.

Closes GH-16784.

Co-authored-by: Dmitry Stogov <dmitry@zend.com>
2024-11-14 22:33:06 +01:00
Ilija Tovilo
f0b4847100 Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix i386 release build warning
2024-11-14 20:39:46 +01:00
Ilija Tovilo
9ca19e9c52 [skip ci] Merge branch 'PHP-8.4'
* PHP-8.4:
  UPGRADING: Fix `CURLOPT_TCP_KEEPCNT` entry
2024-11-14 20:38:56 +01:00
Ilija Tovilo
ec3de14afb Fix i386 release build warning
Closes GH-16730
2024-11-14 20:36:23 +01:00
Ayesh Karunaratne
efe4fc9f99 UPGRADING: Fix CURLOPT_TCP_KEEPCNT entry 2024-11-14 23:33:03 +07:00
Christoph M. Becker
2d1c3825a8 Simplify WBMP imagecreatefromstring() detection (GH-16782)
According to the WBMP specification[1], the first field (type) of a
WBMP is a multi-byte integer, but only type `0` is supported.  Thus
there is no need to read a multi-byte integer.  The second field (fix
header) is a single byte; reading a multi-byte integer is not really
wrong, since the fix header field is laid out in a way which allows it
to be treated as such, but the check whether the MBI is greater than
or equal to zero is pretty useless, because negative values could only
be returned if overflow occurs (MBIs are unsigned).

So the only useful assumption we can make is that the first byte is
zero; we let `gdImageCreateFromWBMPCtx()` figure out the rest.

[1] <https://www.wapforum.org/what/technical/SPEC-WAESpec-19990524.pdf> section 6
2024-11-14 14:00:19 +01:00
Christoph M. Becker
d4103b3570 Remove superfluous determination of cURL version (GH-16787)
This was originally meant to distinguish between libcurl 7.59.0 and
earlier; only the latter would need to be linked against normalize.lib,
libssh2.lib and nghttp2.lib[1].  That would only have catered to our
builds, and might not have been correct anyway.  However, the version
check was wrong (paren error), and has been removed in the meantime[2].

Given that cURL 7.59.0 is rather old, we do not reinstate the version
check, but rather drop the now superfluous (and improper) determination
of the cURL version.  A nice bonus is that we get rid of some global
variables.

[1] <a1ba3007a4>
[2] <94a12d5b31>
2024-11-14 12:25:08 +01:00
Christoph M. Becker
3815a773a1 Close GH-16659: Bump ICU requirement to ICU >= 57.1
This requirements bump should rarely affect anybody in practice.  All
major distros already ship more recent ICU versions, and even for
Solaris 11, ICU 57.1 is available via OpenCSW.  Note that ICU 57.1 has
been released on 2016-03-23[1].

[1] <https://icu.unicode.org/download/57>

Closes GH-16688.
2024-11-14 01:30:48 +01:00
Christoph M. Becker
0db7e53b84 Merge branch 'PHP-8.4'
* PHP-8.4:
  Need to define BREW_OPT
2024-11-13 21:25:50 +01:00
Christoph M. Becker
f2dbad6f04 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Need to define BREW_OPT
2024-11-13 21:24:54 +01:00
Christoph M. Becker
d1f86bc8eb Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Need to define BREW_OPT
2024-11-13 21:24:20 +01:00
Christoph M. Becker
c69fdef760 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Need to define BREW_OPT
2024-11-13 21:23:56 +01:00
Christoph M. Becker
d6249b6e1f Need to define BREW_OPT
This is only defined as of PHP-8.4; alternatively we could also inline
the `brew --prefix` call, but that makes it harder for upward merges.

Closes GH-16785.
2024-11-13 21:23:27 +01:00
Christoph M. Becker
fa3421cd10 Merge branch 'PHP-8.4'
* PHP-8.4:
  Patch libcurl.pc for macOS builds
2024-11-13 19:40:52 +01:00
Christoph M. Becker
3d07b9e771 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Patch libcurl.pc for macOS builds
2024-11-13 19:40:21 +01:00
Christoph M. Becker
4c74487912 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Patch libcurl.pc for macOS builds
2024-11-13 19:38:49 +01:00
Christoph M. Becker
45487c6ec2 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Patch libcurl.pc for macOS builds
2024-11-13 19:38:07 +01:00
Christoph M. Becker
9196a72eb0 Patch libcurl.pc for macOS builds
cURL 8.11.0 added a couple of packages to `Requires.private`, but these
packages are irrelevant when building against a shared libcurl.  For
some reason, these private requirements are checked when we're doing
`pkg-config --cflags` (that happens with the preinstalled pkg-config
0.29.2, as well as with pkgconf 2.3.0).  To avoid further messing with
these packages, we just drop the `Requires.private` line from
libcurl.pc.

See GH-16741 for more details.

Closes GH-16783.
2024-11-13 19:36:58 +01:00
Niels Dossche
28344e0445 Get rid of HASH_OF() in ext/dom (#16767)
The cases where this is used are only where an array is possible, so we
can replace them with Z_ARRVAL_P. This reduces some overhead.
2024-11-13 17:32:27 +01:00
David Carlier
b948332779 Merge branch 'PHP-8.4' 2024-11-13 12:49:44 +00:00
David Carlier
ec05cd559b Merge branch 'PHP-8.3' into PHP-8.4 2024-11-13 12:49:13 +00:00
David Carlier
6f1d8368d8 Merge branch 'PHP-8.2' into PHP-8.3 2024-11-13 12:49:00 +00:00