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
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
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 1922547860
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
Niels Dossche
d80be78efd
Stop relying on the deprecated xmlLastError global
2024-07-03 10:34:46 -07:00
Niels Dossche
85705eda71
Fix compilation on libxml2 2.13
2024-07-03 10:34:46 -07:00
Niels Dossche
fc09f4b2bc
Implement Dom\TokenList ( #13664 )
...
Part of RFC: https://wiki.php.net/rfc/dom_additions_84
Closes GH-11688.
2024-07-02 21:34:23 +02:00
Niels Dossche
768900b180
Implement Dom $innerHTML property
2024-07-02 11:15:38 -07:00
Niels Dossche
88da914910
Implement CSS selectors
2024-06-29 13:00:26 -07:00
David Carlier
532a2604c2
Fix GH-14698: segfault on dom node after dereference.
...
close GH-14701
2024-06-28 20:52:48 +01:00
Gina Peter Banyard
25a5146180
Clean-up unused headers ( #14365 )
...
* ext/mbstring.c: clean-up headers and include intrinsics
2024-06-01 17:12:42 +01:00
Niels Dossche
90e0ce7f0d
Throw early when a non-stream-context resource is passed to libxml_set_streams_context() ( #14279 )
2024-05-20 16:56:38 +02:00
Niels Dossche
230ab078d1
Avoid code duplication for error instance creation in ext/libxml ( #14277 )
2024-05-20 16:18:32 +02:00
Niels Dossche
aa3e6eec50
Optimize and reduce memory usage of XML serialization ( #14204 )
...
The serialization process uses the system allocator and requires a copy
to request allocated memory once finished. This patch improves this by
using smart_str to build the resulting string, reducing the number of
copies and reducing total peak memory usage.
2024-05-12 01:57:29 +02:00
Niels Dossche
dfde0d4cef
Handle dumping node to file
2024-05-11 18:09:39 +02:00
Niels Dossche
0c490ade0d
Handle dumping document to file
2024-05-11 18:09:39 +02:00
Niels Dossche
44485892df
Factor out all common code for XML serialization and merge common paths
2024-05-11 18:09:39 +02:00
Niels Dossche
fae25ca2df
Move dom_attr_value() into ext/libxml
2024-05-05 10:14:40 +02:00
Niels Dossche
cf7c592143
Simplify property check in php_libxml_node_free_resource()
2024-04-30 17:29:19 +02:00
Niels Dossche
974edc7939
Cleanup php_libxml_internal_error_handler_ex()
2024-04-30 17:29:19 +02:00
Niels Dossche
e5e8b193e0
Remove bogus entity reference cleanup code
2024-04-30 17:29:19 +02:00
Niels Dossche
2fab1437f2
Cleanup php_libxml_streams_IO_open_wrapper()
2024-04-30 17:29:19 +02:00
Niels Dossche
a54d63aefe
Cleanup php_libxml_unregister_node()
2024-04-30 17:29:19 +02:00
Niels Dossche
30885f3b5f
Implement request #71571 : XSLT processor should provide option to change maxDepth ( #13731 )
...
There are two depth limiting parameters for XSLT templates.
1) maxTemplateDepth
This corresponds to the recursion depth of a template. For very
complicated templates this can be hit.
2) maxTemplateVars
This is the total number of live variables. When using recursive
templates with lots of parameters you can hit this limit.
This patch introduces two new properties to XSLTProcessor that
corresponds to the above variables.
2024-03-31 21:21:23 +02:00
Niels Dossche
b955973818
Only register error handling when observable
...
Closes GH-13702.
2024-03-17 18:24:40 +01:00
Niels Dossche
14b6c981c3
[RFC] Add a way to opt-in ext/dom spec compliance ( #13031 )
...
RFC: https://wiki.php.net/rfc/opt_in_dom_spec_compliance
2024-03-09 16:56:00 +01:00
Niels Dossche
a74da53fc4
Remove useless write to LIBXML(stream_context)
...
The value will always be overwritten.
2024-02-25 00:28:30 +01:00
Niels Dossche
043daeeec1
Merge branch 'PHP-8.3'
...
* PHP-8.3:
Fix crashes with entity references and predefined entities
2024-01-17 19:41:32 +01:00
Niels Dossche
120bd364aa
Fix crashes with entity references and predefined entities
...
Closes GH-13004.
2024-01-17 19:41:22 +01:00
Niels Dossche
03547f6832
Remove properties field from php_libxml_node_object ( #13062 )
...
This shrinks the struct from 80 bytes to 72 bytes.
This was unused internally, I did not find users externally via GitHub
search.
The intention for this was that it could be used for attaching extra
data as a 3rd party to a node. However, there are better mechanisms for
that like using actual objects.
2024-01-03 20:03:56 +01:00
Niels Dossche
76f24d3531
Merge branch 'PHP-8.3'
...
* PHP-8.3:
Revert "Fix crashes with entity references and predefined entities"
2023-12-23 17:31:28 +01:00
Niels Dossche
5f69232b53
Revert "Fix crashes with entity references and predefined entities"
...
This reverts commit 3fa5af8496
.
2023-12-23 17:31:18 +01:00
Niels Dossche
c293de792f
Merge branch 'PHP-8.3'
...
* PHP-8.3:
Fix libxml2 build for 2.12.0-2.12.2
2023-12-23 17:21:34 +01:00
Niels Dossche
bb007438e2
Fix libxml2 build for 2.12.0-2.12.2
2023-12-23 17:20:52 +01:00
Niels Dossche
f420ea84aa
Merge branch 'PHP-8.3'
...
* PHP-8.3:
Fix crashes with entity references and predefined entities
Fix crash in adoptNode with attribute references
2023-12-23 17:01:28 +01:00
Niels Dossche
3fa5af8496
Fix crashes with entity references and predefined entities
...
There's two issues here:
- freeing of predefined entity declaration crashes (unique to 8.3 & master)
- using multiple entity references for a single entity declaration crashes
(since forever)
The fix for the last issue is fairly easy to do on 8.3, but may require a
slightly different approach on 8.2. Therefore, for now this is 8.3-only.
Closes GH-13004.
2023-12-23 17:00:57 +01:00
Niels Dossche
90eb5679d2
Cleanup libxml_get_external_entity_loader() ( #12893 )
...
We can directly put the value into return_value instead of copying
things around.
2023-12-08 18:44:46 +01:00
Niels Dossche
58fc521713
Merge branch 'PHP-8.3'
...
* PHP-8.3:
Fix libxml2 2.12 build due to API breaks
2023-12-01 18:07:58 +01:00
Niels Dossche
f61f8d439c
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix libxml2 2.12 build due to API breaks
2023-12-01 18:07:13 +01:00
Niels Dossche
0a39890c96
Fix libxml2 2.12 build due to API breaks
...
See 1922547860
2023-12-01 18:03:37 +01:00