execute file hooks only if server side encryption is enabled
This commit is contained in:
parent
12628be38b
commit
e4450d1035
|
@ -63,7 +63,7 @@ class Hooks {
|
||||||
* @brief update the encryption key of the file uploaded by the client
|
* @brief update the encryption key of the file uploaded by the client
|
||||||
*/
|
*/
|
||||||
public static function updateKeyfile( $params ) {
|
public static function updateKeyfile( $params ) {
|
||||||
if (Crypt::mode(\OCP\User::getUser()) == 'client')
|
if (Crypt::mode() == 'client')
|
||||||
if (isset($params['properties']['key'])) {
|
if (isset($params['properties']['key'])) {
|
||||||
Keymanager::setFileKey($params['path'], $params['properties']['key']);
|
Keymanager::setFileKey($params['path'], $params['properties']['key']);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -38,9 +38,8 @@ class Keymanager {
|
||||||
|
|
||||||
$user = \OCP\User::getUser();
|
$user = \OCP\User::getUser();
|
||||||
$view = new \OC_FilesystemView( '/' . $user . '/' . 'files_encryption' );
|
$view = new \OC_FilesystemView( '/' . $user . '/' . 'files_encryption' );
|
||||||
$result = $view->file_get_contents( '/' . $user.'.private.key' );
|
return $view->file_get_contents( '/' . $user.'.private.key' );
|
||||||
|
|
||||||
return $result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -110,9 +109,8 @@ class Keymanager {
|
||||||
}
|
}
|
||||||
|
|
||||||
$view = new \OC_FilesystemView('/'.$user.'/files_encryption/keyfiles/');
|
$view = new \OC_FilesystemView('/'.$user.'/files_encryption/keyfiles/');
|
||||||
$result = $view->file_get_contents($keypath.'.key');
|
return $view->file_get_contents($keypath.'.key');
|
||||||
|
|
||||||
return $result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -126,9 +124,8 @@ class Keymanager {
|
||||||
$user = \OCP\User::getUser();
|
$user = \OCP\User::getUser();
|
||||||
$view = new \OC_FilesystemView('/'.$user.'/files_encryption');
|
$view = new \OC_FilesystemView('/'.$user.'/files_encryption');
|
||||||
if (!$view->file_exists('')) $view->mkdir('');
|
if (!$view->file_exists('')) $view->mkdir('');
|
||||||
$result = $view->file_put_contents($user.'.private.key', $key);
|
return $view->file_put_contents($user.'.private.key', $key);
|
||||||
|
|
||||||
return $result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -142,9 +139,8 @@ class Keymanager {
|
||||||
|
|
||||||
$view = new \OC_FilesystemView('/public-keys');
|
$view = new \OC_FilesystemView('/public-keys');
|
||||||
if (!$view->file_exists('')) $view->mkdir('');
|
if (!$view->file_exists('')) $view->mkdir('');
|
||||||
$result = $view->file_put_contents(\OCP\User::getUser().'.public.key', $key);
|
return $view->file_put_contents(\OCP\User::getUser().'.public.key', $key);
|
||||||
|
|
||||||
return $result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -186,9 +182,8 @@ class Keymanager {
|
||||||
|
|
||||||
if ( !$view->file_exists( $path_parts['dirname'] ) ) $view->mkdir( $path_parts['dirname'] );
|
if ( !$view->file_exists( $path_parts['dirname'] ) ) $view->mkdir( $path_parts['dirname'] );
|
||||||
|
|
||||||
$result = $view->file_put_contents( '/' . $targetpath . '.key', $key );
|
return $view->file_put_contents( '/' . $targetpath . '.key', $key );
|
||||||
|
|
||||||
return $result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -199,6 +194,7 @@ class Keymanager {
|
||||||
* @return bool true/false
|
* @return bool true/false
|
||||||
*/
|
*/
|
||||||
public static function changePasswd($oldpasswd, $newpasswd) {
|
public static function changePasswd($oldpasswd, $newpasswd) {
|
||||||
|
|
||||||
if ( \OCP\User::checkPassword(\OCP\User::getUser(), $newpasswd) ) {
|
if ( \OCP\User::checkPassword(\OCP\User::getUser(), $newpasswd) ) {
|
||||||
$key = Keymanager::getPrivateKey();
|
$key = Keymanager::getPrivateKey();
|
||||||
if ( ($key = Crypt::symmetricDecryptFileContent($key,$oldpasswd)) ) {
|
if ( ($key = Crypt::symmetricDecryptFileContent($key,$oldpasswd)) ) {
|
||||||
|
@ -209,6 +205,7 @@ class Keymanager {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -40,7 +40,7 @@ class Proxy extends \OC_FileProxy {
|
||||||
* @param string $path
|
* @param string $path
|
||||||
* @return bool
|
* @return bool
|
||||||
*
|
*
|
||||||
* Tests if encryption is enabled, and file is allowed by blacklists
|
* Tests if server side encryption is enabled, and file is allowed by blacklists
|
||||||
*/
|
*/
|
||||||
private static function shouldEncrypt( $path ) {
|
private static function shouldEncrypt( $path ) {
|
||||||
|
|
||||||
|
@ -130,7 +130,7 @@ class Proxy extends \OC_FileProxy {
|
||||||
|
|
||||||
public function postFile_get_contents( $path, $data ) {
|
public function postFile_get_contents( $path, $data ) {
|
||||||
|
|
||||||
if ( Crypt::isEncryptedContent( $data ) ) {
|
if ( Crypt::mode() == 'server' && Crypt::isEncryptedContent( $data ) ) {
|
||||||
|
|
||||||
$filePath = explode( '/', $path );
|
$filePath = explode( '/', $path );
|
||||||
|
|
||||||
|
@ -164,7 +164,7 @@ class Proxy extends \OC_FileProxy {
|
||||||
$meta = stream_get_meta_data( $result );
|
$meta = stream_get_meta_data( $result );
|
||||||
|
|
||||||
// If file is encrypted, decrypt using crypto protocol
|
// If file is encrypted, decrypt using crypto protocol
|
||||||
if ( Crypt::isEncryptedContent( $path ) ) {
|
if ( Crypt::mode() == 'server' && Crypt::isEncryptedContent( $path ) ) {
|
||||||
|
|
||||||
fclose ( $result );
|
fclose ( $result );
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue