From: Matteo Beccati Date: Wed, 4 Jun 2014 11:26:24 +0000 (+0200) Subject: Fixed DOM tests when using libxml2 versions patched against CVE-2014-0191 X-Git-Tag: POST_PHPNG_MERGE~216 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8cfdf20ccf1a555264b67636826a2d9e9d35d8d0;p=php Fixed DOM tests when using libxml2 versions patched against CVE-2014-0191 DOMDocument::substituteEntities needs to be set to true in order for external entities to be parsed. --- diff --git a/ext/dom/tests/DOMDocument_validate_external_dtd.phpt b/ext/dom/tests/DOMDocument_validate_external_dtd.phpt index 51a044c54a..dd4ec960d2 100644 --- a/ext/dom/tests/DOMDocument_validate_external_dtd.phpt +++ b/ext/dom/tests/DOMDocument_validate_external_dtd.phpt @@ -12,6 +12,7 @@ require_once dirname(__FILE__) .'/skipif.inc'; // reusing existing xml: http://cvs.php.net/viewvc.cgi/php-src/ext/dom/tests/dom.xml?view=co&content-type=text%2Fplain // reusing existing dtd: http://cvs.php.net/viewvc.cgi/php-src/ext/dom/tests/dom.ent?view=co&content-type=text%2Fplain $dom = new DOMDocument('1.0'); +$dom->substituteEntities = true; $dom->load(dirname(__FILE__).'/dom.xml'); var_dump($dom->validate()); ?> diff --git a/ext/dom/tests/bug67081.phpt b/ext/dom/tests/bug67081.phpt index 56c2c8e58b..c6dc007d43 100644 --- a/ext/dom/tests/bug67081.phpt +++ b/ext/dom/tests/bug67081.phpt @@ -7,18 +7,22 @@ require_once('skipif.inc'); --FILE-- substituteEntities = true; $domDocument->load(dirname(__FILE__) . DIRECTORY_SEPARATOR . "bug67081_0.xml"); var_dump($domDocument->doctype->internalSubset); $domDocument = new DOMDocument(); + $domDocument->substituteEntities = true; $domDocument->load(dirname(__FILE__) . DIRECTORY_SEPARATOR . "bug67081_1.xml"); var_dump($domDocument->doctype->internalSubset); $domDocument = new DOMDocument(); + $domDocument->substituteEntities = true; $domDocument->load(dirname(__FILE__) . DIRECTORY_SEPARATOR . "bug67081_2.xml"); var_dump($domDocument->doctype->internalSubset); $domDocument = new DOMDocument(); + $domDocument->substituteEntities = true; $domDocument->load(dirname(__FILE__) . DIRECTORY_SEPARATOR . "dom.xml"); var_dump($domDocument->doctype->internalSubset); ?> diff --git a/ext/libxml/tests/libxml_set_external_entity_loader_variation1.phpt b/ext/libxml/tests/libxml_set_external_entity_loader_variation1.phpt index c9c45940b9..9581927043 100644 --- a/ext/libxml/tests/libxml_set_external_entity_loader_variation1.phpt +++ b/ext/libxml/tests/libxml_set_external_entity_loader_variation1.phpt @@ -37,6 +37,7 @@ libxml_set_external_entity_loader( ); $dd = new DOMDocument; +$dd->substituteEntities = true; $dd->resolveExternals = true; $r = $dd->loadXML($xml); var_dump($dd->validate());