Skip to content
Snippets Groups Projects
Commit c2ebc192 authored by Robin Appelman's avatar Robin Appelman
Browse files

Make external shares work with imported self-signed certificates

parent ecdbf006
No related branches found
No related tags found
No related merge requests found
......@@ -113,9 +113,11 @@ class Manager {
* @return Mount
*/
protected function mountShare($data) {
$user = $this->userSession->getUser();
$data['manager'] = $this;
$mountPoint = '/' . $this->userSession->getUser()->getUID() . '/files' . $data['mountpoint'];
$mountPoint = '/' . $user->getUID() . '/files' . $data['mountpoint'];
$data['mountpoint'] = $mountPoint;
$data['certificateManager'] = \OC::$server->getCertificateManager($user);
$mount = new Mount(self::STORAGE, $mountPoint, $data, $this, $this->storageLoader);
$this->mountManager->addMount($mount);
return $mount;
......
......@@ -37,6 +37,11 @@ class Storage extends DAV implements ISharedStorage {
*/
private $token;
/**
* @var \OCP\ICertificateManager
*/
private $certificateManager;
private $updateChecked = false;
/**
......@@ -46,6 +51,7 @@ class Storage extends DAV implements ISharedStorage {
public function __construct($options) {
$this->manager = $options['manager'];
$this->certificateManager = $options['certificateManager'];
$this->remote = $options['remote'];
$this->remoteUser = $options['owner'];
list($protocol, $remote) = explode('://', $this->remote);
......@@ -190,7 +196,11 @@ class Storage extends DAV implements ISharedStorage {
http_build_query(array('password' => $password)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, $this->certificateManager->getCertificateBundle());
$result = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment