]> source.dussan.org Git - nextcloud-server.git/commitdiff
Remove old encryption left overs from trashbin
authorThomas Müller <thomas.mueller@tmit.eu>
Tue, 31 Mar 2015 10:11:46 +0000 (12:11 +0200)
committerThomas Müller <thomas.mueller@tmit.eu>
Tue, 7 Apr 2015 11:30:29 +0000 (13:30 +0200)
apps/files_trashbin/lib/trashbin.php

index 8d352e363112bd427e08e8ab6416f4772355b993..1c880735b5ac9c7943af31324028d8fb303e7d85 100644 (file)
@@ -214,7 +214,6 @@ class Trashbin {
                                'trashPath' => \OC\Files\Filesystem::normalizePath($filename . '.d' . $timestamp)));
 
                        $size += self::retainVersions($file_path, $filename, $timestamp);
-                       $size += self::retainEncryptionKeys($file_path, $filename, $timestamp);
 
                        // if owner !== user we need to also add a copy to the owners trash
                        if ($user !== $owner) {
@@ -277,51 +276,6 @@ class Trashbin {
                return $size;
        }
 
-       /**
-        * Move encryption keys to trash so that they can be restored later
-        *
-        * @param string $file_path path to original file
-        * @param string $filename of deleted file
-        * @param integer $timestamp when the file was deleted
-        *
-        * @return int size of encryption keys
-        */
-       private static function retainEncryptionKeys($file_path, $filename, $timestamp) {
-               $size = 0;
-
-               if (\OCP\App::isEnabled('files_encryption')) {
-
-                       $user = \OCP\User::getUser();
-                       $rootView = new \OC\Files\View('/');
-
-                       list($owner, $ownerPath) = self::getUidAndFilename($file_path);
-
-                       // file has been deleted in between
-                       if (empty($ownerPath)) {
-                               return 0;
-                       }
-
-                       $util = new \OCA\Files_Encryption\Util($rootView, $user);
-
-                       $baseDir = '/files_encryption/';
-                       if (!$util->isSystemWideMountPoint($ownerPath)) {
-                               $baseDir = $owner . $baseDir;
-                       }
-
-                       $keyfiles = \OC\Files\Filesystem::normalizePath($baseDir . '/keys/' . $ownerPath);
-
-                       if ($rootView->is_dir($keyfiles)) {
-                               $size += self::calculateSize(new \OC\Files\View($keyfiles));
-                               if ($owner !== $user) {
-                                       self::copy_recursive($keyfiles, $owner . '/files_trashbin/keys/' . basename($ownerPath) . '.d' . $timestamp, $rootView);
-                               }
-                               $rootView->rename($keyfiles, $user . '/files_trashbin/keys/' . $filename . '.d' . $timestamp);
-                       }
-
-               }
-               return $size;
-       }
-
        /**
         * restore files from trash bin
         *
@@ -372,7 +326,6 @@ class Trashbin {
                                'trashPath' => \OC\Files\Filesystem::normalizePath($file)));
 
                        self::restoreVersions($view, $file, $filename, $uniqueFilename, $location, $timestamp);
-                       self::restoreEncryptionKeys($view, $file, $filename, $uniqueFilename, $location, $timestamp);
 
                        if ($timestamp) {
                                $query = \OC_DB::prepare('DELETE FROM `*PREFIX*files_trash` WHERE `user`=? AND `id`=? AND `timestamp`=?');
@@ -432,60 +385,6 @@ class Trashbin {
                }
        }
 
-       /**
-        * restore encryption keys from trash bin
-        *
-        * @param \OC\Files\View $view
-        * @param string $file complete path to file
-        * @param string $filename name of file
-        * @param string $uniqueFilename new file name to restore the file without overwriting existing files
-        * @param string $location location of file
-        * @param int $timestamp deletion time
-        * @return bool
-        */
-       private static function restoreEncryptionKeys(\OC\Files\View $view, $file, $filename, $uniqueFilename, $location, $timestamp) {
-
-               if (\OCP\App::isEnabled('files_encryption')) {
-                       $user = \OCP\User::getUser();
-                       $rootView = new \OC\Files\View('/');
-
-                       $target = \OC\Files\Filesystem::normalizePath('/' . $location . '/' . $uniqueFilename);
-
-                       list($owner, $ownerPath) = self::getUidAndFilename($target);
-
-                       // file has been deleted in between
-                       if (empty($ownerPath)) {
-                               return false;
-                       }
-
-                       $util = new \OCA\Files_Encryption\Util($rootView, $user);
-
-                       $baseDir = '/files_encryption/';
-                       if (!$util->isSystemWideMountPoint($ownerPath)) {
-                               $baseDir = $owner . $baseDir;
-                       }
-
-                       $source_location = dirname($file);
-
-                       if ($view->is_dir('/files_trashbin/keys/' . $file)) {
-                               if ($source_location != '.') {
-                                       $keyfile = \OC\Files\Filesystem::normalizePath($user . '/files_trashbin/keys/' . $source_location . '/' . $filename);
-                               } else {
-                                       $keyfile = \OC\Files\Filesystem::normalizePath($user . '/files_trashbin/keys/' . $filename);
-                               }
-                       }
-
-                       if ($timestamp) {
-                               $keyfile .= '.d' . $timestamp;
-                       }
-
-                       if ($rootView->is_dir($keyfile)) {
-                               $rootView->rename($keyfile, $baseDir . '/keys/' . $ownerPath);
-                       }
-
-               }
-       }
-
        /**
         * delete all files from the trash
         */
@@ -501,7 +400,6 @@ class Trashbin {
                return true;
        }
 
-
        /**
         * delete file from trash bin permanently
         *