pass KeyStorage via ctor
This commit is contained in:
parent
987bc138df
commit
225cde2183
|
@ -221,7 +221,8 @@ class Manager implements IManager {
|
|||
$logger = \OC::$server->getLogger();
|
||||
$uid = $user ? $user->getUID() : null;
|
||||
$fileHelper = \OC::$server->getEncryptionFilesHelper();
|
||||
return new Encryption($parameters, $manager, $util, $logger, $fileHelper, $uid);
|
||||
$keyStorage = \OC::$server->getEncryptionKeyStorage();
|
||||
return new Encryption($parameters, $manager, $util, $logger, $fileHelper, $uid, $keyStorage);
|
||||
} else {
|
||||
return $storage;
|
||||
}
|
||||
|
|
|
@ -56,6 +56,9 @@ class Encryption extends Wrapper {
|
|||
/** @var IMountPoint */
|
||||
private $mount;
|
||||
|
||||
/** @var \OCP\Encryption\Keys\IStorage */
|
||||
private $keyStorage;
|
||||
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @param \OC\Encryption\Manager $encryptionManager
|
||||
|
@ -70,7 +73,8 @@ class Encryption extends Wrapper {
|
|||
\OC\Encryption\Util $util = null,
|
||||
\OC\Log $logger = null,
|
||||
File $fileHelper = null,
|
||||
$uid = null
|
||||
$uid = null,
|
||||
$keyStorage = null
|
||||
) {
|
||||
|
||||
$this->mountPoint = $parameters['mountPoint'];
|
||||
|
@ -80,6 +84,7 @@ class Encryption extends Wrapper {
|
|||
$this->logger = $logger;
|
||||
$this->uid = $uid;
|
||||
$this->fileHelper = $fileHelper;
|
||||
$this->keyStorage = $keyStorage;
|
||||
$this->unencryptedSize = array();
|
||||
parent::__construct($parameters);
|
||||
}
|
||||
|
@ -187,8 +192,7 @@ class Encryption extends Wrapper {
|
|||
|
||||
$encryptionModule = $this->getEncryptionModule($path);
|
||||
if ($encryptionModule) {
|
||||
$keyStorage = $this->getKeyStorage();
|
||||
$keyStorage->deleteAllFileKeys($this->getFullPath($path),
|
||||
$this->keyStorage->deleteAllFileKeys($this->getFullPath($path),
|
||||
$encryptionModule->getId());
|
||||
}
|
||||
|
||||
|
@ -215,8 +219,7 @@ class Encryption extends Wrapper {
|
|||
if (isset($this->unencryptedSize[$source])) {
|
||||
$this->unencryptedSize[$target] = $this->unencryptedSize[$source];
|
||||
}
|
||||
$keyStorage = $this->getKeyStorage();
|
||||
$keyStorage->renameKeys($source, $target);
|
||||
$this->keyStorage->renameKeys($source, $target);
|
||||
}
|
||||
|
||||
return $result;
|
||||
|
@ -241,8 +244,7 @@ class Encryption extends Wrapper {
|
|||
$target = $this->getFullPath($path2);
|
||||
$encryptionModule = $this->getEncryptionModule($path2);
|
||||
if ($encryptionModule) {
|
||||
$keyStorage = $this->getKeyStorage($encryptionModule->getId());
|
||||
$keyStorage->copyKeys($source, $target);
|
||||
$this->keyStorage->copyKeys($source, $target);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -429,13 +431,4 @@ class Encryption extends Wrapper {
|
|||
public function updateUnencryptedSize($path, $unencryptedSize) {
|
||||
$this->unencryptedSize[$path] = $unencryptedSize;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $encryptionModuleId
|
||||
* @return \OCP\Encryption\Keys\IStorage
|
||||
*/
|
||||
protected function getKeyStorage() {
|
||||
return \OC::$server->getEncryptionKeyStorage();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@ class Encryption extends \Test\Files\Storage\Storage {
|
|||
->setMethods(['getOption'])
|
||||
->getMock();
|
||||
$mount->expects($this->any())->method('getOption')->willReturn(true);
|
||||
$this->instance = new EncryptionWrapper([
|
||||
$this->instance = new \OC\Files\Storage\Wrapper\Encryption([
|
||||
'storage' => $this->sourceStorage,
|
||||
'root' => 'foo',
|
||||
'mountPoint' => '/',
|
||||
|
@ -105,28 +105,3 @@ class Encryption extends \Test\Files\Storage\Storage {
|
|||
$this->instance->rename('folder', 'flodder');
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// FIXME: this is too bad and needs adjustment
|
||||
//
|
||||
class EncryptionWrapper extends \OC\Files\Storage\Wrapper\Encryption {
|
||||
private $keyStore;
|
||||
|
||||
public function __construct(
|
||||
$parameters,
|
||||
\OC\Encryption\Manager $encryptionManager = null,
|
||||
\OC\Encryption\Util $util = null,
|
||||
\OC\Log $logger = null,
|
||||
\OC\Encryption\File $fileHelper = null,
|
||||
$uid = null,
|
||||
$keyStore = null
|
||||
) {
|
||||
$this->keyStore = $keyStore;
|
||||
parent::__construct($parameters, $encryptionManager, $util, $logger, $fileHelper, $uid);
|
||||
}
|
||||
|
||||
protected function getKeyStorage() {
|
||||
return $this->keyStore;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue