From 3d449f91fc7402f5db0637c89908383c42989774 Mon Sep 17 00:00:00 2001 From: Andreas Fernandez <a.fernandez@scripting-base.de> Date: Fri, 11 Mar 2016 15:56:57 +0100 Subject: [PATCH] [BUGFIX] Load XML files of Extension Manager properly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since the XEE security fix (I26701fc2ffb5aed7ccbd96c168aef571d012091e), the XML files in the Extension Manager may are not loaded anymore, depending on the machine. Change the way how the files are loaded to fix the issue. Change-Id: I2a3dffd089ed427b965bcbae8aa596c26a81770b Resolves: #75022 Releases: master, 7.6, 6.2 Reviewed-on: https://review.typo3.org/47196 Reviewed-by: Daniel Maier <dani-maier@gmx.de> Reviewed-by: Mathias Schreiber <mathias.schreiber@wmdb.de> Tested-by: Mathias Schreiber <mathias.schreiber@wmdb.de> Tested-by: Stephan Großberndt <stephan@grossberndt.de> Reviewed-by: Susanne Moog <typo3@susannemoog.de> Reviewed-by: Oliver Hader <oliver.hader@typo3.org> Tested-by: Oliver Hader <oliver.hader@typo3.org> Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch> Tested-by: Christian Kuhn <lolli@schwarzbu.ch> --- .../Classes/Utility/Parser/ExtensionXmlPullParser.php | 4 ++-- .../Classes/Utility/Parser/MirrorXmlPullParser.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/typo3/sysext/extensionmanager/Classes/Utility/Parser/ExtensionXmlPullParser.php b/typo3/sysext/extensionmanager/Classes/Utility/Parser/ExtensionXmlPullParser.php index a28fa3729ea2..56721801458a 100644 --- a/typo3/sysext/extensionmanager/Classes/Utility/Parser/ExtensionXmlPullParser.php +++ b/typo3/sysext/extensionmanager/Classes/Utility/Parser/ExtensionXmlPullParser.php @@ -53,8 +53,8 @@ class ExtensionXmlPullParser extends AbstractExtensionXmlParser if (!(is_object($this->objXml) && get_class($this->objXml) == 'XMLReader')) { throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException('Unable to create XML parser.', 1342640540); } - if ($this->objXml->open($file, 'utf-8') === false) { - throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException(sprintf('Unable to open file resource %s.', $file)); + if ($this->objXml->xml(file_get_contents($file), 'utf-8') === false) { + throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException(sprintf('Unable to parse file resource %s.', $file)); } while ($this->objXml->read()) { if ($this->objXml->nodeType == \XMLReader::ELEMENT) { diff --git a/typo3/sysext/extensionmanager/Classes/Utility/Parser/MirrorXmlPullParser.php b/typo3/sysext/extensionmanager/Classes/Utility/Parser/MirrorXmlPullParser.php index e49f9d7b974c..5f5b5aafa9c5 100644 --- a/typo3/sysext/extensionmanager/Classes/Utility/Parser/MirrorXmlPullParser.php +++ b/typo3/sysext/extensionmanager/Classes/Utility/Parser/MirrorXmlPullParser.php @@ -55,8 +55,8 @@ class MirrorXmlPullParser extends AbstractMirrorXmlParser if (!(is_object($this->objXml) && get_class($this->objXml) == 'XMLReader')) { throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException('Unable to create XML parser.', 1342640820); } - if ($this->objXml->open($file, 'utf-8') === false) { - throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException(sprintf('Unable to open file resource %s.', $file), 1342640893); + if ($this->objXml->xml(file_get_contents($file), 'utf-8') === false) { + throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException(sprintf('Unable to parse file resource %s.', $file), 1342640893); } while ($this->objXml->read()) { if ($this->objXml->nodeType == \XMLReader::ELEMENT) { -- GitLab