1
0
mirror of https://github.com/php/php-src.git synced 2026-04-06 07:32:54 +02:00
Commit Graph

133353 Commits

Author SHA1 Message Date
Eric Mann
354c919fbb Update versions for PHP 8.3.0RC4 php-8.3.0RC4 2023-10-10 07:46:13 -07:00
Ilija Tovilo
7da13f4669 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Move Cirrus to nightly only, trigger on-demand
2023-10-10 11:47:40 +02:00
Ilija Tovilo
bb046c7217 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Move Cirrus to nightly only, trigger on-demand
2023-10-10 11:47:32 +02:00
Ilija Tovilo
92693a2286 Move Cirrus to nightly only, trigger on-demand
Closes GH-12398
2023-10-10 11:47:19 +02:00
Dmitry Stogov
4589cab946 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fixed possible use-after-free
2023-10-10 00:01:58 +03:00
Dmitry Stogov
70ff3c378d Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fixed possible use-after-free
2023-10-10 00:01:49 +03:00
Dmitry Stogov
2297e8c143 Fixed possible use-after-free 2023-10-10 00:01:03 +03:00
Niels Dossche
58a1103bee Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-8996: DOMNode serialization on PHP ^8.1
  Fix GH-12380: JIT+private array property access inside closure accesses private property in child class
2023-10-09 22:12:05 +02:00
Niels Dossche
5e1058b426 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix GH-8996: DOMNode serialization on PHP ^8.1
  Fix GH-12380: JIT+private array property access inside closure accesses private property in child class
2023-10-09 22:10:54 +02:00
Niels Dossche
24e5e4ec0d Fix GH-8996: DOMNode serialization on PHP ^8.1
PHP 8.1 introduced a seemingly unintentional BC break in ca94d55a19 by
blocking the (un)serialization of DOM objects.
This was done because the serialization never really worked and just
resulted in an empty object, which upon unserialization just resulted in
an object that you can't use.

Users can however implement their own serialization methods, but the
commit made that impossible as the ACC flag gets passed down to the
child class. An approach was tried in #10307 with a new ACC flag to
selectively allow serialization with subclasses if they implement the
right methods. However, that was found to be too ad hoc.

Instead, let's abuse how the __sleep and __wakeup methods work to throw
the exception instead. If the child class implements the __serialize /
__unserialize method, then the throwing methods won't be called.
Similarly, if the child class implements __sleep and __wakeup, then
they're overridden and it doesn't matter that they throw.

For the user, this PR has the exact same behaviour for (sub)classes that
don't implement the serialization methods: an exception will be thrown.
For code that previously implemented subclasses with these methods, this
approach will make that code work again. This approach should be both BC
preserving and unbreak user's code.

Closes GH-12388.

For the test:
Co-authored-by: wazelin <contact@sergeimikhailov.com>
2023-10-09 22:10:05 +02:00
Niels Dossche
fb6838770c Fix GH-12380: JIT+private array property access inside closure accesses private property in child class
For private fields, the scope has to be taken into account, otherwise
the property info may come from the wrong ce.

Closes GH-12381.
2023-10-09 22:10:05 +02:00
Dmitry Stogov
8fa3539cbf Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-12364: JIT leak in Symfony TranslationDebugCommandTest (#12394)
2023-10-09 23:07:45 +03:00
Dmitry Stogov
5a276bf478 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix GH-12364: JIT leak in Symfony TranslationDebugCommandTest (#12394)
2023-10-09 23:07:39 +03:00
Dmitry Stogov
36b2c5dc88 Fix GH-12364: JIT leak in Symfony TranslationDebugCommandTest (#12394) 2023-10-09 23:07:34 +03:00
Dmitry Stogov
92ba5c2c80 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix incorrect trace type inference
2023-10-09 22:58:31 +03:00
Dmitry Stogov
176b79fe7f Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix incorrect trace type inference
2023-10-09 22:58:21 +03:00
Dmitry Stogov
44a7016049 Fix incorrect trace type inference
Fixes GH-12365
2023-10-09 22:57:31 +03:00
Dmitry Stogov
9e1e1bc6c2 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fixed GH-12382: JIT Index invalid or out of range error
2023-10-09 11:20:48 +03:00
Dmitry Stogov
b38c57b4fc Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fixed GH-12382: JIT Index invalid or out of range error
2023-10-09 11:20:36 +03:00
Dmitry Stogov
5a8f96b0bb Fixed GH-12382: JIT Index invalid or out of range error 2023-10-09 11:20:18 +03:00
Niels Dossche
d3273c13cb Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [ci skip] Add xml and simplexml dependency to EXTENSIONS section in test
2023-10-07 21:14:24 +02:00
Niels Dossche
325b2b4a56 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  [ci skip] Add xml and simplexml dependency to EXTENSIONS section in test
2023-10-07 21:13:47 +02:00
Niels Dossche
6bb536e3f6 [ci skip] Add xml and simplexml dependency to EXTENSIONS section in test 2023-10-07 21:13:30 +02:00
Niels Dossche
032fe011df Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix Windows CI
2023-10-07 15:50:51 +02:00
Niels Dossche
4268b0cdf8 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix Windows CI
2023-10-07 15:50:41 +02:00
Niels Dossche
ae52f1958d Fix Windows CI
The path to mysql.exe changed. Fortunately, chocolately puts the folder
containing the exe in the PATH environment variable, so we don't even
need to provide an absolute path.
2023-10-07 15:49:46 +02:00
Niels Dossche
7c41509e26 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  php_cli_server: ensure single date header is present
2023-10-06 17:51:38 +02:00
Niels Dossche
a1845944ce Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  php_cli_server: ensure single date header is present
2023-10-06 17:50:13 +02:00
coppolafab
f6ac08c6a3 php_cli_server: ensure single date header is present
Currently the PHP Development Server appends a Date header in the
response, despite already set from user code.

Added a check condition before append the header, and a test file.

Closes GH-12363.
2023-10-06 17:49:30 +02:00
Ilija Tovilo
a2d25afa4a Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Minimal backport of 098d9ca
2023-10-04 15:34:11 +02:00
Ilija Tovilo
af5cdd8db0 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Minimal backport of 098d9ca
2023-10-04 15:33:25 +02:00
Ilija Tovilo
36a87e6d32 Minimal backport of 098d9ca 2023-10-04 15:31:04 +02:00
Ilija Tovilo
20d2ecf494 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix SKIPIF jit test
2023-10-04 15:06:40 +02:00
Ilija Tovilo
6f8261ed79 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix SKIPIF jit test
2023-10-04 15:06:32 +02:00
Ilija Tovilo
6e7e52de19 Fix SKIPIF jit test
JIT can be available but disabled, in which case the array offset 'jit' is still
available.
2023-10-04 15:05:41 +02:00
Ilija Tovilo
bc14827203 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [skip ci] Test opcache_invalidate() return value for deleted files
2023-10-03 15:56:21 +02:00
Ilija Tovilo
b13f743761 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  [skip ci] Test opcache_invalidate() return value for deleted files
2023-10-03 15:56:16 +02:00
Ilija Tovilo
cad1660501 [skip ci] Test opcache_invalidate() return value for deleted files 2023-10-03 15:55:44 +02:00
Ilija Tovilo
520fc70245 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Invalidate path even if the file was deleted
2023-10-03 15:32:53 +02:00
Ilija Tovilo
6274970bee Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Invalidate path even if the file was deleted
2023-10-03 15:32:28 +02:00
Mikhail Galanin
f4ab494906 Invalidate path even if the file was deleted
Closes GH-12323
2023-10-03 15:31:39 +02:00
Ilija Tovilo
4ba5699903 Fix invalid returned opcode for memoized expressions
Closes GH-12345
2023-10-03 14:01:43 +02:00
Ilija Tovilo
f7cef9a242 Test ASAN on Ubuntu 22.04 in nightly by increasing swap
See ef6bbaa. We previously ran into crashes that are apprently related to a
decrease in memory on never runners. The crash can be avoided by increasing the
swap file.

Closes GH-12267
2023-10-03 13:53:09 +02:00
Dmitry Stogov
9bfdb4cf4b Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fixed GH-12262: Tracing JIT assertion crash when using phpstan
2023-10-03 13:25:36 +03:00
Dmitry Stogov
101bd1b199 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fixed GH-12262: Tracing JIT assertion crash when using phpstan
2023-10-03 13:25:22 +03:00
Dmitry Stogov
54452b4811 Fixed GH-12262: Tracing JIT assertion crash when using phpstan 2023-10-03 13:22:33 +03:00
Levi Morrison
08c3b332a1 fix mbstring.c -Wsingle-bit-bitfield-constant-conversion (#12327)
These were both local variables, so there isn't much value in using
bitfields in the first place.
2023-10-02 22:07:39 -06:00
Niels Dossche
af15ed94bf Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Ignore optional warning output in test
2023-10-02 22:55:44 +02:00
Niels Dossche
6aa20956fb Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Ignore optional warning output in test
2023-10-02 22:55:28 +02:00
Niels Dossche
6cf76d552e Ignore optional warning output in test
Due to the greedy behaviour of regex, we can't seem to use %A?
Use a for loop with a marker instead to ignore module startup warnings.
2023-10-02 22:53:39 +02:00