summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2014-08-14 16:10:29 +0200
committerRobin Appelman <icewind@owncloud.com>2014-08-14 16:10:29 +0200
commita645da3640c47a1676429609ee3447d2c7368984 (patch)
treeb5cfc0a033abc02936e8333bed3db1ada64818ad
parent4502eaf9f883da69d08cd4653ab413d41ff6290a (diff)
parent9509bc403a4f05c96b88e1218e6c7a78f9dd6c20 (diff)
downloadnextcloud-server-a645da3640c47a1676429609ee3447d2c7368984.tar.gz
nextcloud-server-a645da3640c47a1676429609ee3447d2c7368984.zip
Merge pull request #10398 from owncloud/external-share-ssl-warn
Give a better error message for external shares with self-signed ssl certificates
-rw-r--r--apps/files_sharing/ajax/external.php28
1 files changed, 17 insertions, 11 deletions
diff --git a/apps/files_sharing/ajax/external.php b/apps/files_sharing/ajax/external.php
index 0dbd3ab8c95..390d5bfb9d8 100644
--- a/apps/files_sharing/ajax/external.php
+++ b/apps/files_sharing/ajax/external.php
@@ -33,16 +33,22 @@ $externalManager = new \OCA\Files_Sharing\External\Manager(
$name = OCP\Files::buildNotExistingFileName('/', $name);
-$mount = $externalManager->addShare($remote, $token, $password, $name, $owner);
-/**
- * @var \OCA\Files_Sharing\External\Storage $storage
- */
-$storage = $mount->getStorage();
-$result = $storage->file_exists('');
-if($result){
- $storage->getScanner()->scanAll();
- \OCP\JSON::success();
+// check for ssl cert
+if (substr($remote, 0, 5) === 'https' and !OC_Util::getUrlContent($remote)) {
+ \OCP\JSON::error(array('data' => array('message' => $l->t("Invalid or untrusted ssl certificate"))));
+ exit;
} else {
- $externalManager->removeShare($mount->getMountPoint());
- \OCP\JSON::error(array('data' => array('message' => $l->t("Couldn't add remote share"))));
+ $mount = $externalManager->addShare($remote, $token, $password, $name, $owner);
+ /**
+ * @var \OCA\Files_Sharing\External\Storage $storage
+ */
+ $storage = $mount->getStorage();
+ $result = $storage->file_exists('');
+ if ($result) {
+ $storage->getScanner()->scanAll();
+ \OCP\JSON::success();
+ } else {
+ $externalManager->removeShare($mount->getMountPoint());
+ \OCP\JSON::error(array('data' => array('message' => $l->t("Couldn't add remote share"))));
+ }
}