diff --git a/apps/federation/lib/Controller/SettingsController.php b/apps/federation/lib/Controller/SettingsController.php index 79eb06e0fd..40cc4c084a 100644 --- a/apps/federation/lib/Controller/SettingsController.php +++ b/apps/federation/lib/Controller/SettingsController.php @@ -113,8 +113,8 @@ class SettingsController extends Controller { } if ($this->trustedServers->isOwnCloudServer($url) === false) { - $message = 'No server to federate found'; - $hint = $this->l->t('No server to federate found'); + $message = 'No server to federate with found'; + $hint = $this->l->t('No server to federate with found'); throw new HintException($message, $hint); } diff --git a/apps/federation/lib/DbHandler.php b/apps/federation/lib/DbHandler.php index b30ce74009..c938cfb158 100644 --- a/apps/federation/lib/DbHandler.php +++ b/apps/federation/lib/DbHandler.php @@ -89,7 +89,7 @@ class DbHandler { if ($result) { return (int)$this->connection->lastInsertId('*PREFIX*'.$this->dbTable); } else { - $message = 'Internal failure, Could not add ownCloud as trusted server: ' . $url; + $message = 'Internal failure, Could not add trusted server: ' . $url; $message_t = $this->IL10N->t('Could not add server'); throw new HintException($message, $message_t); } diff --git a/apps/federation/lib/TrustedServers.php b/apps/federation/lib/TrustedServers.php index fff19e414d..f802af594d 100644 --- a/apps/federation/lib/TrustedServers.php +++ b/apps/federation/lib/TrustedServers.php @@ -211,7 +211,7 @@ class TrustedServers { } /** - * check if URL point to a ownCloud server + * check if URL point to a ownCloud/Nextcloud server * * @param string $url * @return bool @@ -219,15 +219,21 @@ class TrustedServers { public function isOwnCloudServer($url) { $isValidOwnCloud = false; $client = $this->httpClientService->newClient(); - $result = $client->get( - $url . '/status.php', - [ - 'timeout' => 3, - 'connect_timeout' => 3, - ] - ); - if ($result->getStatusCode() === Http::STATUS_OK) { - $isValidOwnCloud = $this->checkOwnCloudVersion($result->getBody()); + try { + $result = $client->get( + $url . '/status.php', + [ + 'timeout' => 3, + 'connect_timeout' => 3, + ] + ); + if ($result->getStatusCode() === Http::STATUS_OK) { + $isValidOwnCloud = $this->checkOwnCloudVersion($result->getBody()); + + } + } catch (\Exception $e) { + $this->logger->debug('No Nextcloud server: ' . $e->getMessage()); + return false; } return $isValidOwnCloud; diff --git a/apps/federation/tests/TrustedServersTest.php b/apps/federation/tests/TrustedServersTest.php index 63086c7600..1bf1475aef 100644 --- a/apps/federation/tests/TrustedServersTest.php +++ b/apps/federation/tests/TrustedServersTest.php @@ -309,7 +309,6 @@ class TrustedServersTest extends TestCase { } /** - * @expectedException \Exception * @expectedExceptionMessage simulated exception */ public function testIsOwnCloudServerFail() { @@ -323,7 +322,7 @@ class TrustedServersTest extends TestCase { throw new \Exception('simulated exception'); }); - $this->trustedServers->isOwnCloudServer($server); + $this->assertFalse($this->trustedServers->isOwnCloudServer($server)); } /**