diff --git a/apps/files_encryption/lib/crypt.php b/apps/files_encryption/lib/crypt.php index 4323ad66de..bfffda9ba3 100755 --- a/apps/files_encryption/lib/crypt.php +++ b/apps/files_encryption/lib/crypt.php @@ -615,24 +615,6 @@ class Crypt { } - public static function changekeypasscode($oldPassword, $newPassword) { - - // - // TODO: UNDEFINED VARIABLES: $user, $view - // - - if(\OCP\User::isLoggedIn()){ - $key = Keymanager::getPrivateKey( $user, $view ); - if ( ($key = Crypt::symmetricDecryptFileContent($key,$oldPassword)) ) { - if ( ($key = Crypt::symmetricEncryptFileContent($key, $newPassword)) ) { - Keymanager::setPrivateKey($key); - return true; - } - } - } - return false; - } - /** * @brief Get the blowfish encryption handeler for a key * @param $key string (optional) diff --git a/apps/files_encryption/lib/keymanager.php b/apps/files_encryption/lib/keymanager.php index 9dcee23050..1b5dc5f7e6 100755 --- a/apps/files_encryption/lib/keymanager.php +++ b/apps/files_encryption/lib/keymanager.php @@ -85,15 +85,11 @@ class Keymanager { * @note Checks that the sharing app is enabled should be performed * by client code, that isn't checked here */ - public static function getPublicKeys( \OC_FilesystemView $view, $userId, $filePath ) { + public static function getPublicKeys( \OC_FilesystemView $view, $userId, $path ) { - // - // TODO: UNDEFINED VARIABLE: $path - // + $trimmed = ltrim( $path, '/' ); - $path = ltrim( $path, '/' ); - - $filepath = '/' . $userId . '/files/' . $filePath; + $filepath = '/' . $userId . '/files/' . $trimmed; // Check if sharing is enabled if ( OC_App::isEnabled( 'files_sharing' ) ) { @@ -242,13 +238,11 @@ class Keymanager { if ( !$view->file_exists( '' ) ) $view->mkdir( '' ); - return $view->file_put_contents( $user . '.private.key', $key ); - - // - // TODO: UNREACHABLE CODE - // + $result = $view->file_put_contents( $user . '.private.key', $key ); \OC_FileProxy::$enabled = true; + + return $result; } @@ -279,12 +273,11 @@ class Keymanager { if ( !$view->file_exists( '' ) ) $view->mkdir( '' ); - return $view->file_put_contents( \OCP\User::getUser() . '.public.key', $key ); + $result = $view->file_put_contents( \OCP\User::getUser() . '.public.key', $key ); - // - // TODO: UNREACHED CODE !!! - // \OC_FileProxy::$enabled = true; + + return $result; } diff --git a/apps/files_encryption/lib/util.php b/apps/files_encryption/lib/util.php index cd46d23108..8aa926b05f 100644 --- a/apps/files_encryption/lib/util.php +++ b/apps/files_encryption/lib/util.php @@ -289,6 +289,30 @@ class Util { } + public static function changekeypasscode( $oldPassword, $newPassword ) { + + if( \OCP\User::isLoggedIn() ) { + + $key = Keymanager::getPrivateKey( $this->userId, $this->view ); + + if ( ( $key = Crypt::symmetricDecryptFileContent( $key, $oldPassword ) ) ) { + + if ( ( $key = Crypt::symmetricEncryptFileContent( $key, $newPassword )) ) { + + Keymanager::setPrivateKey( $key ); + + return true; + + } + + } + + } + + return false; + + } + public function getPath( $pathName ) { switch ( $pathName ) {