Khaled Alam
d03d69a88a
Remove duplicate #include statements ( #21085 )
...
* Remove duplicate #include statements across the codebase.
* feat: Restore conditional/unconditional include pairs in lscriu.c
2026-01-30 16:37:13 +01:00
Ilija Tovilo
ddc8512267
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Suppress libxml deprecations
2025-12-02 16:45:39 +01:00
Ilija Tovilo
ed847f49c3
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Suppress libxml deprecations
2025-12-02 16:45:31 +01:00
Ilija Tovilo
685bd9de81
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Suppress libxml deprecations
2025-12-02 16:41:37 +01:00
Ilija Tovilo
26b9395ad6
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Suppress libxml deprecations
2025-12-02 16:38:08 +01:00
Ilija Tovilo
f7fb13eb07
Suppress libxml deprecations
...
Closes GH-20538
2025-12-02 16:37:50 +01:00
Niels Dossche
aa9619e437
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
libxml: Fix input buffer deprecation
2025-11-19 18:41:50 +01:00
Niels Dossche
6eb10dc433
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
libxml: Fix input buffer deprecation
2025-11-19 18:41:43 +01:00
Niels Dossche
8c2407714f
libxml: Fix input buffer deprecation
...
While this fixed the last deprecation in ext/libxml, it's not a full
fix: The full fix would be to move to the context-specific APIs to
override the behaviour. However, that requires API/ABI incompatible
changes so that can't be done on a stable branch.
Closes GH-20525.
2025-11-19 18:41:28 +01:00
Niels Dossche
39dc317f1f
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
libxml: Fix some deprecations regarding input buffer/parser handling
2025-11-18 18:54:03 +01:00
Niels Dossche
4401b03aa9
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
libxml: Fix some deprecations regarding input buffer/parser handling
2025-11-18 18:53:44 +01:00
Niels Dossche
6054a900ff
libxml: Fix some deprecations regarding input buffer/parser handling
...
Closes GH-20514.
2025-11-18 18:53:17 +01:00
Niels Dossche
f601910eca
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Wrap the normally lazy-initialized components in ZTS
2025-10-14 22:15:10 +02:00
Niels Dossche
6dcabd9ac1
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Wrap the normally lazy-initialized components in ZTS
2025-10-14 22:15:01 +02:00
Niels Dossche
f3cb9a81fb
Wrap the normally lazy-initialized components in ZTS
2025-10-14 22:14:54 +02:00
Niels Dossche
5a2084bc16
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Fix not thread safe RelaxNG invocations in ZTS builds
Fix not thread safe xmlSchemaParse calls in ZTS builds
2025-10-14 22:01:04 +02:00
Niels Dossche
595b746c2c
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix not thread safe RelaxNG invocations in ZTS builds
Fix not thread safe xmlSchemaParse calls in ZTS builds
2025-10-14 22:00:57 +02:00
Niels Dossche
75d8449d1f
Fix not thread safe RelaxNG invocations in ZTS builds
2025-10-14 22:00:24 +02:00
SpencerMalone
f14e5fcfbd
Fix not thread safe xmlSchemaParse calls in ZTS builds
...
By calling xmlSchemaInitTypes during MINIT.
See: https://gitlab.gnome.org/GNOME/libxml2/-/issues/930
Closes GH-20150.
2025-10-14 21:59:46 +02:00
Niels Dossche
541620cf78
Merge branch 'PHP-8.4'
...
* PHP-8.4:
Fix GH-19098: libxml<2.13 segmentation fault caused by php_libxml_node_free
2025-07-20 17:20:53 +02:00
Niels Dossche
cb73155945
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-19098: libxml<2.13 segmentation fault caused by php_libxml_node_free
2025-07-20 17:20:47 +02:00
Niels Dossche
312869381a
Fix GH-19098: libxml<2.13 segmentation fault caused by php_libxml_node_free
...
This implements a workaround for reconciliation not being performed for
document-less nodes in libxml<2.13.
Closes GH-19186.
2025-07-20 17:19:43 +02:00
Niels Dossche
0962c325fa
Implement SVG image handler
...
This implements an SVG handler using the libxml reader API. This does
not parse the entire document but instead uses a pull parser to locate
the root element, check whether it's an svg root, do some extra sanity
checks on the attribute, and fill in the php_gfxinfo structure.
2025-07-20 12:53:57 +02:00
Niels Dossche
3cb7d1bd8a
Remove custom UTF-8 check function from ext/libxml
...
This was originally introduced as a workaround for a libxml2 bug [1].
This bug has been fixed for more than a decade [2], and we can use the
libxml2 API again. We bumped our version requirement for libxml2 beyond
that in 7.4 [3].
[1] 7e53511ec8
[2] 3ffe90ea1c
[3] 74235ca5f3
Closes GH-18706.
2025-05-30 10:40:23 +02:00
Niels Dossche
efaae93e48
Merge branch 'PHP-8.4'
...
* PHP-8.4:
Fix GH-18597: Heap-buffer-overflow in zend_alloc.c when assigning string with UTF-8 bytes
2025-05-20 21:32:27 +02:00
Niels Dossche
40e667280b
Fix GH-18597: Heap-buffer-overflow in zend_alloc.c when assigning string with UTF-8 bytes
...
xmlSave() also can flush in some cases. When the encoding is not
available this can fail for short inputs, resulting in an empty string
which is interned but then wrongly tagged by RETURN_NEW_STR.
Fix this by checking the error condition and switching to RETURN_STR for
defense-in-depth.
This issue also exists on 8.3, but does not crash; however, due to the
different API usage internally I cannot easily fix it on 8.3. There it
gives a partial output.
Closes GH-18606.
2025-05-20 21:32:17 +02:00
Gina Peter Banyard
3932d9b660
ext/libxml: Get rid of useless php_libxml_func_handler abstraction
2025-04-26 13:57:17 +01:00
Gina Peter Banyard
dc036016a3
ext/libxml: Minor code nits
2025-04-26 13:57:17 +01:00
Gina Peter Banyard
c5aa03c8b9
ext/libxml: Use bool type instead of int type
2025-04-26 13:57:17 +01:00
Gina Peter Banyard
1f1cd5c4bc
ext/libxml: Add some const qualifiers
2025-04-26 13:57:17 +01:00
Gina Peter Banyard
e59c7f887b
ext/libxml: Reduce scope of variables
2025-04-26 13:57:17 +01:00
Gina Peter Banyard
213949dc34
Merge branch 'PHP-8.4'
...
* PHP-8.4:
ext/libxml: Fixed custom external entity loader returning an invalid resource leading to a confusing TypeError message
2025-04-07 13:01:52 +01:00
Gina Peter Banyard
1e9e397122
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
ext/libxml: Fixed custom external entity loader returning an invalid resource leading to a confusing TypeError message
2025-04-07 12:59:57 +01:00
Gina Peter Banyard
61f704f269
ext/libxml: Fixed custom external entity loader returning an invalid resource leading to a confusing TypeError message
...
Closes GH-18096
2025-04-07 12:58:52 +01:00
Jakub Zelenka
acf2f4988a
Merge branch 'PHP-8.2' into PHP-8.3
2025-03-11 22:09:00 +01:00
Jakub Zelenka
4af1830356
Merge branch 'PHP-8.1' into PHP-8.2
2025-03-11 21:57:33 +01:00
Tim Düsterhus
b6004a043c
Fix GHSA-p3x9-6h7p-cgfc: libxml streams wrong content-type on redirect
...
libxml streams use wrong content-type header when requesting a
redirected resource.
2025-03-11 21:50:17 +01:00
Christoph M. Becker
aa76127d01
Address more Clang warnings (GH-17506)
...
We prefer clean solutions (such as declaring the proper type in the
first place, or introducing a portable format specifier) where easily
possible, but resort to casts otherwise.
We also port f1480ab14b .
2025-01-21 20:05:29 +01:00
Niels Dossche
466c8b0e03
Merge branch 'PHP-8.4'
...
* PHP-8.4:
Fix GH-17257: UBSAN warning in ext/opcache/jit/zend_jit_vm_helpers.c
Fix GH-17223: Memory leak in libxml encoding handling
2024-12-26 12:26:59 +01:00
Niels Dossche
956576b0b4
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-17223: Memory leak in libxml encoding handling
2024-12-26 12:25:08 +01:00
Niels Dossche
7be950f3f6
Fix GH-17223: Memory leak in libxml encoding handling
...
This was a bug in both libxml and PHP.
We follow up with the same change as done in GNOME/libxml@b3871dd138 .
Changing away from `xmlOutputBufferCreateFilenameDefault` is not
possible yet because this is a stable branch and would break BC.
Closes GH-17254.
2024-12-26 12:24:06 +01:00
Niels Dossche
bc4fa01de7
Get rid of reserved name usage in ext/libxml ( #16707 )
...
Names starting with an _ are reserved in C.
2024-11-06 17:47:48 +01:00
Niels Dossche
6366da48ec
Use unsigned int for the reference count APIs in ext/libxml ( #16706 )
...
Also removes impossible conditions.
2024-11-06 17:47:35 +01:00
Christoph M. Becker
30dd291628
Updates for libxml2 >= 2.13.0
...
libxml2 2.13.0 introduced some relevant changes regarding the treatment
of file paths on Windows[1]. Thus we un-xfail bug69753.phpt and its
companion, and we adjust dom004.phpt. And we also disable the
workaround for erroneous file:/ URIs on Windows.
[1] <8ab1b122c4 >
Closes GH-16536.
2024-10-22 00:17:12 +02:00
Niels Dossche
bb46b4b799
Backport 4fe82131: Backport libxml2 2.13.2 fixes ( #14816 )
...
Backproted from https://github.com/php/php-src/pull/14789
2024-10-12 15:12:40 +02:00
Niels Dossche
fa6a0f80f6
Backport 0a39890c: Fix libxml2 2.12 build due to API breaks
...
See https://github.com/php/php-src/actions/runs/7062192818/job/19225478601
2024-10-12 15:12:40 +02:00
Niels Dossche
6980eba863
Support templated content
...
The template element in HTML 5 is special in the sense that it does not
add its contents into the DOM tree, but instead keeps them in a separate
shadow DOM document fragment. Interacting with the DOM tree cannot touch
the elements in the document fragment.
Closes GH-14906.
2024-07-15 11:10:51 +02:00
Tim Düsterhus
29f98e7485
Replace @deprecated by #[\Deprecated] for internal functions / class constants ( #14750 )
...
Co-authored-by: Gina Peter Banyard <girgias@php.net >
Co-authored-by: Niels Dossche <7771979+nielsdos@users.noreply.github.com >
2024-07-10 16:47:31 +02:00
Niels Dossche
ecf0bb0fd1
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
[ci skip] NEWS
Backport libxml2 2.13.2 fixes (#14816 )
2024-07-04 15:37:35 +02:00
Niels Dossche
4fe821311c
Backport libxml2 2.13.2 fixes ( #14816 )
...
Backproted from https://github.com/php/php-src/pull/14789
2024-07-04 15:29:50 +02:00