George Peter Banyard
a4acba9e52
Add missing EXTENSION section to tests
2022-10-27 14:39:43 +01:00
Christoph M. Becker
9bd9e9a867
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix #79451 : DOMDocument->replaceChild on doctype causes double free
2022-08-19 18:13:48 +02:00
NathanFreeman
6027d441c1
Fix #79451 : DOMDocument->replaceChild on doctype causes double free
...
We have to reset intSubset if replacing doctype with another doctype node.
Closes GH-9201.
Closes GH-9376.
2022-08-19 18:10:06 +02:00
George Peter Banyard
eb8ea14c66
Merge branch 'PHP-8.0' into PHP-8.1
2022-08-19 13:57:19 +01:00
George Peter Banyard
d6831e9a5c
Revert Fixed bug #79451
...
The fix for 8.1 and above is not identical and I don't know how to fix without breaking the whole build apparently
2022-08-19 13:54:54 +01:00
George Peter Banyard
5739dd0030
Fix bad merge
2022-08-19 13:17:57 +01:00
George Peter Banyard
c36a1ea1ae
Merge branch 'PHP-8.0' into PHP-8.1
2022-08-19 12:52:58 +01:00
NathanFreeman
1d4300d870
Fix bug #79451 : Using DOMDocument->replaceChild on doctype causes double free
...
Closes GH-9201
2022-08-19 12:46:23 +01:00
Stanislav Malyshev
9de4eb9e37
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix #79971 : special character is breaking the path in xml function
2021-11-14 23:29:59 -08:00
Stanislav Malyshev
0ef1dfc9f6
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix #79971 : special character is breaking the path in xml function
2021-11-14 23:29:27 -08:00
Stanislav Malyshev
ca87d46a3e
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #79971 : special character is breaking the path in xml function
2021-11-14 23:28:13 -08:00
Christoph M. Becker
f15f8fc573
Fix #79971 : special character is breaking the path in xml function
...
The libxml based XML functions accepting a filename actually accept
URIs with possibly percent-encoded characters. Percent-encoded NUL
bytes lead to truncation, like non-encoded NUL bytes would. We catch
those, and let the functions fail with a respective warning.
2021-11-14 23:24:33 -08:00
Nikita Popov
6ff1c9c403
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Remove bug76738.phpt
2021-10-21 10:44:42 +02:00
Nikita Popov
decf906a90
Remove bug76738.phpt
...
The test contains PII in the base64-encoded part and is way too
complicated to be useful. I'd try to reduce it, but I can't tell
what it's actually supposed to test.
2021-10-21 10:40:12 +02:00
Máté Kocsis
8168d312f9
Fix a few more classsynopsis generation issues
...
Closes GH-7480
2021-09-22 23:09:43 +02:00
Tim Starling
781e6b4d21
Fix O(N) performance of DOMNode::replaceChild() and DOMNode::removeChild()
...
Don't loop over all children to determine if the target node really is a
child, just trust the parent pointer. Add tests.
2021-09-14 15:30:34 +02:00
Christoph M. Becker
9ffa3f9ba3
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix #81433 : DOMElement::setIdAttribute() called twice may remove ID
2021-09-13 12:14:32 +02:00
Christoph M. Becker
6fbdf69628
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix #81433 : DOMElement::setIdAttribute() called twice may remove ID
2021-09-13 12:13:09 +02:00
Viktor
424c265478
Fix #81433 : DOMElement::setIdAttribute() called twice may remove ID
...
We must only remove the attribute id, if the user requested that.
Closes GH-7482.
2021-09-13 12:11:36 +02:00
Máté Kocsis
267c24e9ee
Update property read handler comments for DOMEntity
2021-08-26 13:15:24 +02:00
Máté Kocsis
25cbd08470
Make a few unuseful DOMEntity properties readonly ( #7406 )
2021-08-26 10:37:45 +02:00
Máté Kocsis
cdf2f3eb16
DOMCharacterData::$data and DOMAttr::$value are writable
2021-08-25 09:25:22 +02:00
Nikita Popov
ca94d55a19
Mark DOM classes as not serializable
2021-08-10 14:22:26 +02:00
Máté Kocsis
da2cd931e5
Fix another DOMNameSpaceNode casing issue
2021-08-05 09:05:33 +02:00
Máté Kocsis
ee11a6065c
Fix DOMNameSpaceNode casing
2021-08-05 09:02:31 +02:00
Javier Eguiluz
7c9ac479eb
Fix some mismatches in preprocessor directive comments
2021-08-02 11:18:36 +02:00
Máté Kocsis
23b1c4a982
Migrate to PHP-Parser 4.12.0 and regenerate some arginfos
2021-07-22 09:40:16 +02:00
Nikita Popov
239446c5cf
Merge branch 'PHP-8.0'
...
* PHP-8.0:
dom_import_simplexml() cannot return null
2021-07-21 11:14:03 +02:00
Nikita Popov
a0893865b3
dom_import_simplexml() cannot return null
2021-07-21 11:13:37 +02:00
Nikita Popov
1602db2d3f
Fix return type of DOMNodeList::item()
...
It can also return DOMNameSpaceNode :(
2021-07-21 09:56:35 +02:00
Máté Kocsis
d9838e5453
Declare tentative return types for ext/dom ( #6985 )
2021-07-20 09:26:36 +02:00
Nikita Popov
c2a58ab07d
Throw DomException for DOM out-of-memory error conditions
...
A number of error conditions in DOM can only occur if libxml2 runs
out of memory, at least as far as I can see. In such cases we
currently do a silent "return false", which violates the DOM spec,
and which code is very unlikely to handle sensibly.
Switch these to throw a DomException with INVALID_STATE_ERR type.
This error type is chosen because we use for similar checks
elsewhere, for example:
a733b1ada7/ext/dom/documentfragment.c (L45-L48)
This changes some of the more obvious cases I spotted, but there are probably more.
Closes GH-7049.
2021-07-19 14:43:31 +02:00
Nikita Popov
b9893c2a18
Actually add the tentative type marker...
2021-07-16 16:33:47 +02:00
Nikita Popov
cad6144d18
Add minimial tentative types to dom
...
Just for implementations of Countable. These (no longer) suffer
from an overly broad return type.
2021-07-16 16:32:12 +02:00
Nikita Popov
4cf0269e4e
DOMNamedNodeMap::count() cannot return false
2021-07-16 16:27:53 +02:00
Nikita Popov
f089e8afbd
DOMNodeList::count() cannot return false
...
Refactor the implementation to make this obvious, and make use
of early returns.
2021-07-16 16:22:52 +02:00
Patrick Allaert
ac18dd0dc7
Prefer EXPECT over EXPECTF
2021-06-29 17:13:02 +02:00
Patrick Allaert
aff365871a
Fixed some spaces used instead of tabs
2021-06-29 11:30:26 +02:00
Nikita Popov
0ce2359233
Remove dom_nnodemap dtor_obj handler
...
Don't see any obvious reason why this would have to happen in a
dtor_obj handler. If there is a reason, we're lacking test
coverage for it.
2021-06-09 12:31:34 +02:00
Nikita Popov
12a4b2249d
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Make tests compatible with libxml2 2.9.12
2021-05-26 13:21:43 +02:00
Nikita Popov
0b232cf71d
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Make tests compatible with libxml2 2.9.12
2021-05-26 13:20:36 +02:00
Stéphan Kochen
f3d1e9ed06
Make tests compatible with libxml2 2.9.12
...
This version of libxml introduced quite a few changes. Most of
them are differences in error reporting, while some also change
behavior, e.g. null bytes are no longer supported and xinclude
recursion is limited.
Closes GH-7030. Closes GH-7046.
Co-authored-by: Nikita Popov <nikic@php.net >
2021-05-26 13:19:34 +02:00
Máté Kocsis
7da2151f7a
Declare typed properties in ext/dom
...
Closes GH-7013
2021-05-26 12:23:43 +02:00
Máté Kocsis
a5e938dc86
Declare dynamic properties in ext/dom
...
Closes GH-6644
2021-05-18 15:12:35 +02:00
George Peter Banyard
e7135cb817
Use zend_string_equals_* API in a couple of more place
...
Closes GH-6979
2021-05-14 13:45:17 +01:00
KsaR
01b3fc03c3
Update http->https in license ( #6945 )
...
1. Update: http://www.php.net/license/3_01.txt to https, as there is anyway server header "Location:" to https.
2. Update few license 3.0 to 3.01 as 3.0 states "php 5.1.1, 4.1.1, and earlier".
3. In some license comments is "at through the world-wide-web" while most is without "at", so deleted.
4. fixed indentation in some files before |
2021-05-06 12:16:35 +02:00
George Peter Banyard
d842bc7e22
Refactor dom_has_feature() to use zend_string*
2021-04-09 18:45:08 +01:00
George Peter Banyard
5caaf40b43
Introduce pseudo-keyword ZEND_FALLTHROUGH
...
And use it instead of comments
2021-04-07 00:46:29 +01:00
Max Semenik
bd9f4fa676
Migrate skip checks to --EXTENSIONS--, p2
...
For rationale, see https://github.com/php/php-src/pull/6787
Make extension checks lowercase, add a special case for opcache
that has internal name not matching .so filename.
Extensions migrated in part 2:
* dom
* exif
* fileinfo
* ffi
2021-04-01 12:08:24 +01:00
Christoph M. Becker
e65f705ce3
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Fix #66783 : UAF when appending DOMDocument to element
2021-03-17 12:40:40 +01:00