summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean Molenaar <SMillerDev@users.noreply.github.com>2019-03-22 09:19:05 +0100
committerBenjamin Brahmer <info@b-brahmer.de>2019-03-22 09:19:05 +0100
commit62bd42cb17cefb3080f7aa61d4701acf1af7f412 (patch)
treeb49526782aed98852230750e444ebb566a8ac9e5
parent730ce50b444f06286443a74b7e6cb1d627c5f014 (diff)
Stop assuming encoding of xml, let simplexml throw silently (#457)
-rw-r--r--AUTHORS.md5
-rw-r--r--composer.json5
-rw-r--r--lib/Db/Item.php1
-rwxr-xr-xlib/Fetcher/FeedFetcher.php4
4 files changed, 10 insertions, 5 deletions
diff --git a/AUTHORS.md b/AUTHORS.md
index 0d476bce6..64a0714a4 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -9,21 +9,21 @@
* [Daniel Schaal](mailto:daniel@schaal.email)
* [Davide Saurino](mailto:davide.saurino@alcacoop.it)
* [raghunayyar](mailto:me@iraghu.com)
+* [Benjamin Brahmer](mailto:info@b-brahmer.de)
* [bastei](mailto:bastei@users.noreply.github.com)
* [Bernhard Posselt](mailto:bep@foryouandyourcustomers.com)
* [Sean Molenaar](mailto:sean@seanmolenaar.eu)
* [Thomas Müller](mailto:thomas.mueller@tmit.eu)
-* [Benjamin Brahmer](mailto:info@b-brahmer.de)
* [Hoàng Đức Hiếu](mailto:hdhoang@zahe.me)
* [Daniel Opitz](mailto:git@copynpaste.de)
* [rakekniven](mailto:mark.ziegler@rakekniven.de)
* [David-Development](mailto:david-dev@live.de)
+* [IBBoard](mailto:dev@ibboard.co.uk)
* [Koen Martens](mailto:gmc@sonologic.nl)
* [Lukas Reschke](mailto:lukas@owncloud.com)
* [Sean Molenaar](mailto:sean@m2mobi.com)
* [Bart Visscher](mailto:bartv@thisnet.nl)
* [Christian Elmer](mailto:christian@keinkurt.de)
-* [IBBoard](mailto:dev@ibboard.co.uk)
* [Thomas Tanghus](mailto:thomas@tanghus.net)
* [Volkan Gezer](mailto:volkangezer@gmail.com)
* [Xéfir Destiny](mailto:xefir@crystalyx.net)
@@ -73,6 +73,7 @@
* [Frank Karlitschek](mailto:frank@owncloud.org)
* [Hanzei](mailto:Hanzei@users.noreply.github.com)
* [Hendrik Leppelsack](mailto:hendrik@leppelsack.de)
+* [Jasper Knockaert](mailto:jasper@knockaert.nl)
* [Matthias Blümel](mailto:user@inanna.local)
* [Michael Grosser](mailto:github@stp-ip.net)
* [Michael Holley](mailto:michaelwholley@gmail.com)
diff --git a/composer.json b/composer.json
index 32c217538..3c682a5e9 100644
--- a/composer.json
+++ b/composer.json
@@ -41,9 +41,10 @@
"riimu/kit-pathjoin": "1.2.0",
"debril/feed-io": "^3.1",
"arthurhoaro/favicon": "^1.2",
- "ext-json": "*",
"guzzlehttp/guzzle": "^6.3",
- "ext-simplexml": "*"
+ "ext-json": "*",
+ "ext-simplexml": "*",
+ "ext-libxml": "*"
},
"require-dev": {
"phpunit/phpunit": "^6.5",
diff --git a/lib/Db/Item.php b/lib/Db/Item.php
index 710f239d4..5491dff25 100644
--- a/lib/Db/Item.php
+++ b/lib/Db/Item.php
@@ -503,6 +503,7 @@ class Item extends Entity implements IAPI, \JsonSerializable
{
return (
stripos($mime, 'audio/') !== false ||
+ stripos($mime, 'image/') !== false ||
stripos($mime, 'video/') !== false);
}
}
diff --git a/lib/Fetcher/FeedFetcher.php b/lib/Fetcher/FeedFetcher.php
index bcf6081e3..7b78ae67d 100755
--- a/lib/Fetcher/FeedFetcher.php
+++ b/lib/Fetcher/FeedFetcher.php
@@ -208,11 +208,13 @@ class FeedFetcher implements IFeedFetcher
'HTML-ENTITIES',
mb_detect_encoding($body)
);
+ libxml_use_internal_errors(true);
$data = simplexml_load_string(
- '<?xml version="1.0" encoding="utf-8"?><item>' . $body . '</item>',
+ "<?xml version=\"1.0\"?><item>$body</item>",
SimpleXMLElement::class,
LIBXML_NOCDATA
);
+ libxml_clear_errors();
$body = ($data === false) ? $body : (string) $data;
$item->setBody($body);