From 42f0c93c2aeb981c3b9ee98bb484ffefc5ac9c1d Mon Sep 17 00:00:00 2001 From: Till Brehm Date: Thu, 7 May 2015 17:43:59 +0200 Subject: [PATCH] Fixed: FS#3888 - APS installer: String could not be parsed as XML --- interface/lib/classes/aps_crawler.inc.php | 9 +++++++++ server/lib/classes/aps_installer.inc.php | 2 ++ 2 files changed, 11 insertions(+) diff --git a/interface/lib/classes/aps_crawler.inc.php b/interface/lib/classes/aps_crawler.inc.php index 7bb2650e09..58a83057ce 100644 --- a/interface/lib/classes/aps_crawler.inc.php +++ b/interface/lib/classes/aps_crawler.inc.php @@ -189,6 +189,8 @@ class ApsCrawler extends ApsBase curl_setopt($conn[$i], CURLOPT_TIMEOUT, 0); curl_setopt($conn[$i], CURLOPT_FAILONERROR, 1); curl_setopt($conn[$i], CURLOPT_FOLLOWLOCATION, 1); + curl_setopt($conn[$i], CURLOPT_SSL_VERIFYHOST, 1); + curl_setopt($conn[$i], CURLOPT_SSL_VERIFYPEER, false); curl_multi_add_handle($mh, $conn[$i]); } @@ -283,6 +285,7 @@ class ApsCrawler extends ApsBase $apps_count = substr_count($apps[$j], '0'); if($apps_count == 0) // obviously this vendor provides one or more apps { + try { // Rename namespaces and register them $xml = str_replace("xmlns=", "ns=", $apps[$j]); $sxe = new SimpleXMLElement($xml); @@ -456,9 +459,15 @@ class ApsCrawler extends ApsBase unset($sxe); $apps_in_repo++; + } catch (Exception $e) { + // We dont want the crawler to fail on xml parse errors + $app->log($this->log_prefix.$e->getMessage(), LOGLEVEL_WARN); + //echo 'Caught exception: ', $e->getMessage(), "\n"; + } } } //var_dump($apps); + //echo print_r($apps_to_dl).'
-------------------
'; // For memory reasons, unset the current vendor and his apps unset($apps); diff --git a/server/lib/classes/aps_installer.inc.php b/server/lib/classes/aps_installer.inc.php index 3a4fa9ad1f..d6ff4f700e 100644 --- a/server/lib/classes/aps_installer.inc.php +++ b/server/lib/classes/aps_installer.inc.php @@ -554,6 +554,7 @@ class ApsInstaller extends ApsBase curl_setopt($conn[$i], CURLOPT_TIMEOUT, 0); curl_setopt($conn[$i], CURLOPT_FAILONERROR, 1); curl_setopt($conn[$i], CURLOPT_FOLLOWLOCATION, 1); + curl_setopt($conn[$i], CURLOPT_SSL_VERIFYPEER, 0); curl_multi_add_handle($mh, $conn[$i]); } @@ -696,6 +697,7 @@ class ApsInstaller extends ApsBase curl_setopt($ch, CURLOPT_TIMEOUT, 0); curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); if(curl_exec($ch) === false) $app->log(curl_error($ch), 1); fclose($fh); curl_close($ch); -- GitLab