1
0
mirror of https://github.com/php/php-src.git synced 2026-04-26 09:28:21 +02:00
Commit Graph

64310 Commits

Author SHA1 Message Date
Máté Kocsis 0ce4f91d73 Fix test after reverted commit 2023-07-03 16:49:45 +02:00
BohwaZ ddd9a08f56 [RFC] Transition SQLite3 to exceptions (#11058)
* Deprecate warnings in SQLite3, change returned exception class to SQLite3Exception

RFC: https://wiki.php.net/rfc/sqlite3_exceptions

Co-authored-by: Tim Düsterhus <timwolla@googlemail.com>
2023-07-03 14:30:52 +01:00
Máté Kocsis 9f4bd3040d Revert "Remove name field from the zend_constant struct (#10954)"
This reverts commit f42992f580.

Fix GH-11423
2023-07-03 15:16:24 +02:00
Máté Kocsis 45a3f178dc Merge branch 'PHP-8.2'
* PHP-8.2:
  Fix GH-9967 Add support for generating custom function, class const, and property attributes in stubs

Closes GH-10170
2023-07-03 11:17:08 +02:00
Máté Kocsis d7ab0ff0c8 Fix GH-9967 Add support for generating custom function, class const, and property attributes in stubs 2023-07-03 08:32:58 +02:00
Niels Dossche b2a54bc6af Merge branch 'PHP-8.2'
* PHP-8.2:
  Fix GH-11300: license issue: restricted unicode license headers
2023-07-01 22:03:08 +02:00
Niels Dossche 297fec099e Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix GH-11300: license issue: restricted unicode license headers
2023-07-01 21:56:40 +02:00
Niels Dossche ee42621ff6 Fix GH-11300: license issue: restricted unicode license headers
Closes GH-11572.
2023-07-01 21:55:21 +02:00
Anatol Belski 292e10b14b fileinfo: Add test for xz type
Ref: #11298

Signed-off-by: Anatol Belski <ab@php.net>
2023-07-01 18:37:53 +02:00
Anatol Belski 97f0d97d2a fileinfo: Backport xz detection patch
Upstream: https://github.com/file/file/commit/9b0459afab309a82aa4e46f73a4e50dd641f3d39

Fixes: #11298

Signed-off-by: Anatol Belski <ab@php.net>
2023-07-01 18:02:46 +02:00
Anatol Belski 86f79b299e fileinfo: Backport xz detection fix
Upstream: https://github.com/file/file/commit/9b0459afab309a82aa4e46f73a4e50dd641f3d39

Fixes: #11298

Signed-off-by: Anatol Belski <ab@php.net>
2023-07-01 17:58:38 +02:00
Máté Kocsis 3906bccc00 Add support for typed class constants in stubs 2023-07-01 11:50:04 +02:00
Niels Dossche 78d98e50c4 Fix GH-11567: mb_str_pad causes access violation
When not providing a pad string, *and* not having other defaulted
arguments, the function would crash on a NULL pad zend_string*.
Despite testing with an empty pad string, the issue wasn't found because
when using named arguments the pad string *is* filled in.
2023-06-30 16:40:43 +02:00
Bob Weinand 9fe33c8458 Merge branch 'PHP-8.2' 2023-06-30 15:20:55 +02:00
Bob Weinand cad47be8b6 Fix GH-11548 (Argument corruption when calling XMLReader::open or XMLReader::XML non-statically with observer active) 2023-06-30 15:18:37 +02:00
Ilija Tovilo 28117d718f Merge branch 'PHP-8.2'
* PHP-8.2:
  Attempt to fix gh11498.phpt on MSAN
2023-06-30 09:42:46 +02:00
Ilija Tovilo 04cd8859dd Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Attempt to fix gh11498.phpt on MSAN
2023-06-30 09:42:34 +02:00
Ilija Tovilo 07dd0c80a8 Attempt to fix gh11498.phpt on MSAN
The issue might be that due to slow instrumentation the process might end before
we get to add it to the processes list. If the SIGCHLD handler executes before
adding the process to the list it will never be removed again.
2023-06-30 09:39:19 +02:00
Remi Collet b406f7c67a zip extension version 1.22.1
- add ZipArchive::FL_OPEN_FILE_NOW to open the file when added
  instead of waiting for archive to be closed
2023-06-29 15:21:15 +02:00
Yurun 071bf46573 Fix incorrect function/method names in DBG_ENTER() (#11554) 2023-06-29 13:13:55 +01:00
Ilija Tovilo 45ffa773c8 Merge branch 'PHP-8.2'
* PHP-8.2:
  xfail socket zerocopy test on Cirrus + arm
2023-06-29 08:49:07 +02:00
Ilija Tovilo 838f6bffff xfail socket zerocopy test on Cirrus + arm
Closes GH-11553
2023-06-29 08:48:48 +02:00
Ilija Tovilo ff8c2902be Merge branch 'PHP-8.2'
* PHP-8.2:
  Fix serialization of RC1 objects appearing in object graph twice
2023-06-28 21:17:24 +02:00
Ilija Tovilo 6b9d295674 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix serialization of RC1 objects appearing in object graph twice
2023-06-28 21:16:51 +02:00
Ilija Tovilo d7d36692fd Fix serialization of RC1 objects appearing in object graph twice
Previously, if an object had RC1 it would never be recorded in
php_serialize_data.ht because it was assumed that it could not be encountered
again. This assumption is incorrect though as the object itself may be saved
inside an array with RCn. This results in a new instance of the object, instead
of a second reference to the same object.

This is solved by tracking these objects in php_serialize_data.ht. To retain
performance, track if the current object resides in a potentially nested RCn
array. If not, and if the object is RC1 itself it may be omitted from
php_serialize_data.ht.

Additionally, we may treat the array root itself as RC1 because it may not
appear in the object graph again without recursion. Recursive arrays are still
somewhat broken even with this change, as the tracking of the array only happens
when the reference is encountered, thus resulting in a -> a' -> a' for a self
recursive array a -> a. Recursive arrays have limited support in serialize
anyway, so we ignore this case for now.

Co-authored-by: Dmitry Stogov <dmitry@zend.com>
Co-authored-by: Martin Hoch <martin@littlerobot.de>

Closes GH-11349
Closes GH-11305
2023-06-28 21:15:03 +02:00
Ilija Tovilo 73cf12d6ac Fix ext/zip arginfo.h 2023-06-28 19:10:00 +02:00
Remi Collet d8dd72fc31 The ZipArchive::FL_RECOMPRESS constant is deprecated 2023-06-28 14:28:09 +02:00
nielsdos 941a7e59d9 Avoid allocation when getting the node content, if possible
Closes GH-11543.
2023-06-27 18:00:44 +02:00
Niels Dossche ed6df1f0ad Implement DOMDocument::adoptNode()
For the past 20 years this threw a "not yet implemented" exception. But
the function was actually there (albeit not documented) and could be called...

Closes GH-11333.
2023-06-27 17:59:58 +02:00
Niels Dossche 10f8809495 Merge branch 'PHP-8.2'
* PHP-8.2:
  Fix context option check for "overwrite" in FTP
2023-06-27 17:57:20 +02:00
Niels Dossche 1288c07ba6 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix context option check for "overwrite" in FTP
2023-06-27 17:54:39 +02:00
Jonas 1d369a871d Fix context option check for "overwrite" in FTP
Use zend_is_true() to read value of FTP context option "overwrite".

Closes GH-11332.
2023-06-27 17:53:45 +02:00
Niels Dossche 21c1fb6a67 Two tiny ext/dom cleanups (#11541)
* Remove obsolete workaround code

This code was for libxml2 <= 2.6.14. PHP requires at least libxml2
2.9.0.

* Use an inline check instead of calling into the library for an empty string check
2023-06-27 17:46:00 +02:00
Ilija Tovilo db2ac3a656 Merge branch 'PHP-8.2'
* PHP-8.2:
  Fix use of uninitialized memory in pcntl SIGCHLD handling
2023-06-27 11:03:48 +02:00
Ilija Tovilo 7d188491c4 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix use of uninitialized memory in pcntl SIGCHLD handling
2023-06-27 11:03:42 +02:00
Ilija Tovilo 003cf9da78 Fix use of uninitialized memory in pcntl SIGCHLD handling
psig needs to stay the tail, so that we don't get a dangling element on the end.

Closes GH-11536
2023-06-27 11:02:59 +02:00
Remi Collet 1358b435c6 more tests for zip with libzip 1.10 2023-06-27 10:52:33 +02:00
Niels Dossche 961e57eb60 Fix GH-11500: Namespace reuse in createElementNS() generates wrong output
When you construct a DOM tree containing subtrees which are constructed
top-down, this won't remove the redundant namespaces. That's because the
following conditions hold:
1) The namespace are reused from the doc->oldNs list.
2) Therefore during reconciliation no nsDef field is set, so no redundant
   namespaces are removed by our reconciliation code.

Furthermore, it would only be fixed up automatically if the tree wasn't
added in bottom-up way, or if it had been constructed bottom-up from the
start.

Fix it by setting a flag to remove redundant namespaces in the libxml2
reconciliation call.
Since removing redundant namespaces may have a performance cost, we only do
this after performing a simple check.

Closes GH-11528.
2023-06-26 19:48:40 +02:00
nielsdos c0147a0588 Fix GH-11529: Crash after dealing with an Apache request
In an MPM worker scenario we have 1 module, N threads. Each thread must
have their globals initialised. If we only initialise the filename
fields in MINIT, then the threads have an uninitialized value. If the
uninitialized value is not NULL, this leads to segfaults upon access.

Closes GH-11530.
2023-06-26 19:43:56 +02:00
Remi Collet b5638a1202 zip extension version 1.22.0 for libzip 1.10.0
- add new error macros (ER_DATA_LENGTH and ER_NOT_ALLOWED)
- add new archive global flags (ER_AFL_*)
- add ZipArchive::setArchiveFlag and ZipArchive::getArchiveFlag methods

New methods are available since libzip 0.11,
but really usable with new global flags
2023-06-26 16:39:22 +02:00
Vuudi dda42be9d3 [skip ci] Fixed comment for SimpleXml function getName (#11537)
Co-authored-by: David Huang <david.huang@check24.de>
2023-06-26 13:50:29 +02:00
Remi Collet 4a9fe2a214 Merge branch 'PHP-8.2'
* PHP-8.2:
  adapt test expectation with libzip 1.10
2023-06-26 09:10:56 +02:00
Remi Collet b972af9589 adapt test expectation with libzip 1.10 2023-06-26 09:10:40 +02:00
Ilija Tovilo f35e1d517f Merge branch 'PHP-8.2'
* PHP-8.2:
  [skip ci] XFAIL intl IntlCalendar::clear() test that may fail with ICU 73
2023-06-25 13:27:57 +02:00
Ilija Tovilo 776a685aed Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  [skip ci] XFAIL intl IntlCalendar::clear() test that may fail with ICU 73
2023-06-25 13:27:50 +02:00
Ilija Tovilo 8ec5a10916 [skip ci] XFAIL intl IntlCalendar::clear() test that may fail with ICU 73 2023-06-25 13:27:38 +02:00
Niels Dossche 2209f7508b Merge branch 'PHP-8.2'
* PHP-8.2:
  Add missing WUNTRACED
2023-06-25 11:18:25 +02:00
Niels Dossche a8bf8e37a9 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Add missing WUNTRACED
2023-06-25 11:18:15 +02:00
Niels Dossche 931d8d059b Add missing WUNTRACED
I forgot to add this in GH-11509.

Closes GH-11526.
2023-06-25 11:17:59 +02:00
Niels Dossche 0de8bc270d Merge branch 'PHP-8.2'
* PHP-8.2:
  Fix GH-11498: SIGCHLD is not always returned from proc_open
2023-06-23 22:04:40 +02:00