]> source.dussan.org Git - nextcloud-server.git/commitdiff
certificate manager only needs the user-id, no need to pass on the complete user...
authorBjoern Schiessle <schiessle@owncloud.com>
Tue, 20 Jan 2015 16:00:29 +0000 (17:00 +0100)
committerBjoern Schiessle <schiessle@owncloud.com>
Mon, 26 Jan 2015 15:58:52 +0000 (16:58 +0100)
apps/files_sharing/lib/external/manager.php
apps/files_sharing/lib/hooks.php
apps/files_sharing/tests/server2server.php
lib/private/security/certificatemanager.php
lib/private/server.php
tests/lib/security/certificatemanager.php

index 968edba089af2ce8d01effacef97f48ce86de25f..35dcabbe50e142dd8905306bce6d70119aeb6524 100644 (file)
@@ -199,7 +199,7 @@ class Manager {
                $data['manager'] = $this;
                $mountPoint = '/' . $this->uid . '/files' . $data['mountpoint'];
                $data['mountpoint'] = $mountPoint;
-               $data['certificateManager'] = \OC::$server->getCertificateManager(\OC::$server->getUserSession()->getUser());
+               $data['certificateManager'] = \OC::$server->getCertificateManager($this->uid);
                $mount = new Mount(self::STORAGE, $mountPoint, $data, $this, $this->storageLoader);
                $this->mountManager->addMount($mount);
                return $mount;
index 6f23c103b1dd8a8ccdbeea2214fe42c9a9bf784c..10e16be4a91e73075306382c47b9b89f2473b0d7 100644 (file)
@@ -30,8 +30,8 @@ class Hooks {
                        \OC::$server->getDatabaseConnection(),
                        \OC\Files\Filesystem::getMountManager(),
                        \OC\Files\Filesystem::getLoader(),
-                       \OC::$server->getUserSession(),
-                       \OC::$server->getHTTPHelper());
+                       \OC::$server->getHTTPHelper(),
+                       $params['uid']);
 
                $manager->removeUserShares($params['uid']);
        }
index 2d59f7be9cd3511e905752361bb3c991542b86db..6e9c0dd0ddd5fd24d99b01248c28dd51b45c23ae 100644 (file)
@@ -153,8 +153,9 @@ class Test_Files_Sharing_S2S_OCS_API extends TestCase {
                        \OC::$server->getDatabaseConnection(),
                        \OC\Files\Filesystem::getMountManager(),
                        \OC\Files\Filesystem::getLoader(),
-                       \OC::$server->getUserSession(),
-                       \OC::$server->getHTTPHelper());
+                       \OC::$server->getHTTPHelper(),
+                       $toDelete
+                       );
 
                $manager->removeUserShares($toDelete);
 
index 4a8ea1707311a87ba2c27015eb6d7b5c541ed359..0744546177fab1a262697e91eea02ce70b1357aa 100644 (file)
@@ -16,15 +16,15 @@ use OCP\ICertificateManager;
  */
 class CertificateManager implements ICertificateManager {
        /**
-        * @var \OCP\IUser
+        * @var string
         */
-       protected $user;
+       protected $uid;
 
        /**
-        * @param \OCP\IUser $user
+        * @param string $uid
         */
-       public function __construct($user) {
-               $this->user = $user;
+       public function __construct($uid) {
+               $this->uid = $uid;
        }
 
        /**
@@ -134,7 +134,7 @@ class CertificateManager implements ICertificateManager {
        }
 
        private function getPathToCertificates() {
-               $path = $this->user ? $this->user->getHome() . '/files_external/' : '/files_external/';
+               $path = is_null($this->uid) ? '/files_external/' : '/' . $this->uid . '/files_external/';
 
                return $path;
        }
index c98f77c6479478a879601d109d743a1231c879b2..672245c352873db3c4e3469922b24c6cc1029f0c 100644 (file)
@@ -249,7 +249,9 @@ class Server extends SimpleContainer implements IServerContainer {
                });
                $this->registerService('HTTPHelper', function (Server $c) {
                        $config = $c->getConfig();
-                       return new HTTPHelper($config, new \OC\Security\CertificateManager($c->getUserSession()->getUser()));
+                       $user = $c->getUserSession()->getUser();
+                       $uid = $user ? $user->getUID() : null;
+                       return new HTTPHelper($config, new \OC\Security\CertificateManager($uid));
                });
                $this->registerService('EventLogger', function (Server $c) {
                        if (defined('DEBUG') and DEBUG) {
@@ -631,18 +633,19 @@ class Server extends SimpleContainer implements IServerContainer {
        /**
         * Get the certificate manager for the user
         *
-        * @param \OCP\IUser $user (optional) if not specified the current loggedin user is used
+        * @param string $uid (optional) if not specified the current loggedin user is used
         * @return \OCP\ICertificateManager
         */
-       function getCertificateManager($user = null) {
-               if (is_null($user)) {
+       function getCertificateManager($uid = null) {
+               if (is_null($uid)) {
                        $userSession = $this->getUserSession();
                        $user = $userSession->getUser();
                        if (is_null($user)) {
                                return null;
                        }
+                       $uid = $user->getUID();
                }
-               return new CertificateManager($user);
+               return new CertificateManager($uid);
        }
 
        /**
index cff6932b67029006d2dda972aca0b46dcf4d4136..83980a6755c8b00a0608e6f31b11fa6356e3dbc6 100644 (file)
@@ -28,9 +28,7 @@ class CertificateManagerTest extends \Test\TestCase {
                \OC\Files\Filesystem::tearDown();
                \OC_Util::setupFS($this->username);
 
-               $this->user = \OC::$server->getUserManager()->get($this->username);
-
-               $this->certificateManager = new CertificateManager($this->user);
+               $this->certificateManager = new CertificateManager($this->username);
        }
 
        protected function tearDown() {
@@ -84,7 +82,7 @@ class CertificateManagerTest extends \Test\TestCase {
        }
 
        function testGetCertificateBundle() {
-               $this->assertSame($this->user->getHome().'/files_external/rootcerts.crt', $this->certificateManager->getCertificateBundle());
+               $this->assertSame('/' . $this->username . '/files_external/rootcerts.crt', $this->certificateManager->getCertificateBundle());
        }
 
 }
\ No newline at end of file