diff options
author | Robin Appelman <icewind@owncloud.com> | 2014-08-14 16:10:29 +0200 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2014-08-14 16:10:29 +0200 |
commit | a645da3640c47a1676429609ee3447d2c7368984 (patch) | |
tree | b5cfc0a033abc02936e8333bed3db1ada64818ad | |
parent | 4502eaf9f883da69d08cd4653ab413d41ff6290a (diff) | |
parent | 9509bc403a4f05c96b88e1218e6c7a78f9dd6c20 (diff) | |
download | nextcloud-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.php | 28 |
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")))); + } } |