From 2e78217f17fb0c387baeda737b4206130dc00130 Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Fri, 28 Nov 2014 17:53:21 +0100 Subject: [PATCH] delete old keys if file was moved to a different mount point --- apps/files_encryption/hooks/hooks.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/apps/files_encryption/hooks/hooks.php b/apps/files_encryption/hooks/hooks.php index e9d0235d167..53fec11009d 100644 --- a/apps/files_encryption/hooks/hooks.php +++ b/apps/files_encryption/hooks/hooks.php @@ -432,15 +432,18 @@ class Hooks { $mp1 = $view->getMountPoint('/' . $user . '/files/' . $params['oldpath']); $mp2 = $view->getMountPoint('/' . $user . '/files/' . $params['newpath']); - if ($mp1 === $mp2) { - - $oldKeysPath = Keymanager::getKeyPath($view, $util, $params['oldpath']); + $oldKeysPath = Keymanager::getKeyPath($view, $util, $params['oldpath']); + if ($mp1 === $mp2) { self::$renamedFiles[$params['oldpath']] = array( 'operation' => $operation, 'oldKeysPath' => $oldKeysPath, ); - + } else { + self::$renamedFiles[$params['oldpath']] = array( + 'operation' => 'cleanup', + 'oldKeysPath' => $oldKeysPath, + ); } } @@ -464,6 +467,9 @@ class Hooks { $operation = self::$renamedFiles[$params['oldpath']]['operation']; $oldKeysPath = self::$renamedFiles[$params['oldpath']]['oldKeysPath']; unset(self::$renamedFiles[$params['oldpath']]); + if ($operation === 'cleanup') { + return $view->unlink($oldKeysPath); + } } else { \OCP\Util::writeLog('Encryption library', "can't get path and owner from the file before it was renamed", \OCP\Util::DEBUG); return false; -- 2.39.5