]> source.dussan.org Git - nextcloud-server.git/commitdiff
Fixed naming bug of public owncloud key dir, which caused new keypair to be generated...
authorSam Tuke <samtuke@owncloud.com>
Tue, 9 Apr 2013 17:11:38 +0000 (19:11 +0200)
committerSam Tuke <samtuke@owncloud.com>
Tue, 9 Apr 2013 17:11:38 +0000 (19:11 +0200)
apps/files_encryption/lib/session.php

index 171a6900f0f8ac65c0b64caac23b6c219c518c46..7bfea7bed483dbe277b153b2b776a229eb882ee3 100644 (file)
@@ -27,32 +27,44 @@ namespace OCA\Encryption;
  */
 
 class Session {
+
+       private $view;
        
        /**
         * @brief if session is started, check if ownCloud key pair is set up, if not create it
         * 
         * The ownCloud key pair is used to allow public link sharing even if encryption is enabled
         */
-       public function __construct() {
+       public function __construct( \OC_FilesystemView $view ) {
+               
+               $this->view = $view;
+               
+               if ( ! $this->view->is_dir( 'owncloud_private_key' ) ) {
                
-               $view = new \OC\Files\View('/');
-               if (!$view->is_dir('owncloud_private_key')) {
-                       $view->mkdir('owncloud_private_key');
+                       $this->view->mkdir('owncloud_private_key');
                }
                
-               if (!$view->file_exists("/public-keys/owncloud.public.key") || !$view->file_exists("/owncloud_private_key/owncloud.private.key") ) {
+               
+               if ( 
+                       ! $this->view->file_exists("/public-keys/owncloud.public.key") 
+                       || ! $this->view->file_exists("/owncloud_private_key/owncloud.private.key" ) 
+               ) {
 
                        $keypair = Crypt::createKeypair();
                        
                        \OC_FileProxy::$enabled = false;
+                       
                        // Save public key
-                       $view->file_put_contents( '/public-keys/ownCloud.public.key', $keypair['publicKey'] );
+                       $this->view->file_put_contents( '/public-keys/owncloud.public.key', $keypair['publicKey'] );
+                       
                        // Encrypt private key empthy passphrase
                        $encryptedPrivateKey = Crypt::symmetricEncryptFileContent( $keypair['privateKey'], '' );
+                       
                        // Save private key
-                       $view->file_put_contents( '/owncloud_private_key/ownCloud.private.key', $encryptedPrivateKey );
+                       $this->view->file_put_contents( '/owncloud_private_key/owncloud.private.key', $encryptedPrivateKey );
                        
                        \OC_FileProxy::$enabled = true;
+                       
                }
        }