]> source.dussan.org Git - nextcloud-server.git/commitdiff
fix rename of encryption keys
authorBjoern Schiessle <schiessle@owncloud.com>
Wed, 11 Jun 2014 15:21:08 +0000 (17:21 +0200)
committerBjoern Schiessle <schiessle@owncloud.com>
Wed, 18 Jun 2014 10:19:33 +0000 (12:19 +0200)
apps/files_encryption/hooks/hooks.php
apps/files_encryption/tests/hooks.php

index f546ef723739ee2219f05948f7d7c06ecc0338ec..6f739947b0c562a1650b39b805b3a2bb8dfaeb9b 100644 (file)
@@ -490,7 +490,7 @@ class Hooks {
 \r
                        // create destination folder if not exists\r
                        if (!$view->file_exists(dirname($newShareKeyPath))) {\r
-                               $view->mkdir(dirname($newShareKeyPath), 0750, true);\r
+                               mkdir($view->getLocalFile($newShareKeyPath), 0750, true);\r
                        }\r
 \r
                        $view->rename($oldShareKeyPath, $newShareKeyPath);\r
@@ -501,7 +501,7 @@ class Hooks {
 \r
                        // create destination folder if not exists\r
                        if (!$view->file_exists(dirname($newKeyfilePath))) {\r
-                               $view->mkdir(dirname($newKeyfilePath), 0750, true);\r
+                               mkdir(dirname($view->getLocalFile($newKeyfilePath)), 0750, true);\r
                        }\r
 \r
                        $view->rename($oldKeyfilePath, $newKeyfilePath);\r
index a2e3ea30f04a62b79f66644d1f955620fbdab0a8..79699a3ef3574281c97a42c7228f7de8910c0d13 100644 (file)
@@ -301,19 +301,20 @@ class Test_Encryption_Hooks extends \PHPUnit_Framework_TestCase {
                        '/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keyfiles/'
                        . $this->filename . '.key'));
 
-               // make subfolder
+               // make subfolder and sub-subfolder
                $this->rootView->mkdir('/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '/files/' . $this->folder);
+               $this->rootView->mkdir('/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '/files/' . $this->folder . '/' . $this->folder);
 
-               $this->assertTrue($this->rootView->is_dir('/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '/files/' . $this->folder));
+               $this->assertTrue($this->rootView->is_dir('/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '/files/' . $this->folder . '/' . $this->folder));
 
                // move the file out of the shared folder
                $root = $this->rootView->getRoot();
                $this->rootView->chroot('/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '/files/');
-               $this->rootView->rename($this->filename, '/' . $this->folder . '/' . $this->filename);
+               $this->rootView->rename($this->filename, '/' . $this->folder . '/' . $this->folder . '/' . $this->filename);
                $this->rootView->chroot($root);
 
                $this->assertFalse($this->rootView->file_exists('/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '/files/' . $this->filename));
-               $this->assertTrue($this->rootView->file_exists('/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '/files/' . $this->folder . '/' . $this->filename));
+               $this->assertTrue($this->rootView->file_exists('/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '/files/' . $this->folder . '/' . $this->folder . '/' . $this->filename));
 
                // keys should be renamed too
                $this->assertFalse($this->rootView->file_exists(
@@ -324,10 +325,10 @@ class Test_Encryption_Hooks extends \PHPUnit_Framework_TestCase {
                        . $this->filename . '.key'));
 
                $this->assertTrue($this->rootView->file_exists(
-                       '/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/share-keys/' . $this->folder . '/'
+                       '/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/share-keys/' . $this->folder . '/' . $this->folder . '/'
                        . $this->filename . '.' . self::TEST_ENCRYPTION_HOOKS_USER1 . '.shareKey'));
                $this->assertTrue($this->rootView->file_exists(
-                       '/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keyfiles/' . $this->folder . '/'
+                       '/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keyfiles/' . $this->folder . '/' . $this->folder . '/'
                        . $this->filename . '.key'));
 
                // cleanup