Merge pull request #12568 from owncloud/autoload-encryption-classes
Fix namespaces of encryption classes and encryption tests
This commit is contained in:
commit
26861a98c5
|
@ -69,7 +69,7 @@ $storageInfo=OC_Helper::getStorageInfo('/', $dirInfo);
|
|||
// if the encryption app is disabled, than everything is fine (INIT_SUCCESSFUL status code)
|
||||
$encryptionInitStatus = 2;
|
||||
if (OC_App::isEnabled('files_encryption')) {
|
||||
$session = new \OCA\Encryption\Session(new \OC\Files\View('/'));
|
||||
$session = new \OCA\Files_Encryption\Session(new \OC\Files\View('/'));
|
||||
$encryptionInitStatus = $session->getInitialized();
|
||||
}
|
||||
|
||||
|
|
|
@ -7,7 +7,8 @@
|
|||
*
|
||||
* Script to handle admin settings for encrypted key recovery
|
||||
*/
|
||||
use OCA\Encryption;
|
||||
|
||||
use OCA\Files_Encryption\Helper;
|
||||
|
||||
\OCP\JSON::checkAdminUser();
|
||||
\OCP\JSON::checkAppEnabled('files_encryption');
|
||||
|
@ -42,7 +43,7 @@ $recoveryKeyId = \OC::$server->getAppConfig()->getValue('files_encryption', 'rec
|
|||
|
||||
if (isset($_POST['adminEnableRecovery']) && $_POST['adminEnableRecovery'] === '1') {
|
||||
|
||||
$return = \OCA\Encryption\Helper::adminEnableRecovery($recoveryKeyId, $_POST['recoveryPassword']);
|
||||
$return = Helper::adminEnableRecovery($recoveryKeyId, $_POST['recoveryPassword']);
|
||||
|
||||
// Return success or failure
|
||||
if ($return) {
|
||||
|
@ -56,7 +57,7 @@ if (isset($_POST['adminEnableRecovery']) && $_POST['adminEnableRecovery'] === '1
|
|||
isset($_POST['adminEnableRecovery'])
|
||||
&& '0' === $_POST['adminEnableRecovery']
|
||||
) {
|
||||
$return = \OCA\Encryption\Helper::adminDisableRecovery($_POST['recoveryPassword']);
|
||||
$return = Helper::adminDisableRecovery($_POST['recoveryPassword']);
|
||||
|
||||
if ($return) {
|
||||
$successMessage = $l->t('Recovery key successfully disabled');
|
||||
|
|
|
@ -9,8 +9,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
use OCA\Encryption;
|
||||
|
||||
\OCP\JSON::checkAdminUser();
|
||||
\OCP\JSON::checkAppEnabled('files_encryption');
|
||||
\OCP\JSON::callCheck();
|
||||
|
@ -49,21 +47,21 @@ if ($_POST['newPassword'] !== $_POST['confirmPassword']) {
|
|||
}
|
||||
|
||||
$view = new \OC\Files\View('/');
|
||||
$util = new \OCA\Encryption\Util(new \OC\Files\View('/'), \OCP\User::getUser());
|
||||
$util = new \OCA\Files_Encryption\Util(new \OC\Files\View('/'), \OCP\User::getUser());
|
||||
|
||||
$proxyStatus = \OC_FileProxy::$enabled;
|
||||
\OC_FileProxy::$enabled = false;
|
||||
|
||||
$keyId = $util->getRecoveryKeyId();
|
||||
|
||||
$encryptedRecoveryKey = Encryption\Keymanager::getPrivateSystemKey($keyId);
|
||||
$decryptedRecoveryKey = $encryptedRecoveryKey ? \OCA\Encryption\Crypt::decryptPrivateKey($encryptedRecoveryKey, $oldPassword) : false;
|
||||
$encryptedRecoveryKey = \OCA\Files_Encryption\Keymanager::getPrivateSystemKey($keyId);
|
||||
$decryptedRecoveryKey = $encryptedRecoveryKey ? \OCA\Files_Encryption\Crypt::decryptPrivateKey($encryptedRecoveryKey, $oldPassword) : false;
|
||||
|
||||
if ($decryptedRecoveryKey) {
|
||||
$cipher = \OCA\Encryption\Helper::getCipher();
|
||||
$encryptedKey = \OCA\Encryption\Crypt::symmetricEncryptFileContent($decryptedRecoveryKey, $newPassword, $cipher);
|
||||
$cipher = \OCA\Files_Encryption\Helper::getCipher();
|
||||
$encryptedKey = \OCA\Files_Encryption\Crypt::symmetricEncryptFileContent($decryptedRecoveryKey, $newPassword, $cipher);
|
||||
if ($encryptedKey) {
|
||||
\OCA\Encryption\Keymanager::setPrivateSystemKey($encryptedKey, $keyId);
|
||||
\OCA\Files_Encryption\Keymanager::setPrivateSystemKey($encryptedKey, $keyId);
|
||||
$return = true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,8 @@
|
|||
*
|
||||
* check migration status
|
||||
*/
|
||||
use OCA\Encryption\Util;
|
||||
|
||||
use OCA\Files_Encryption\Util;
|
||||
|
||||
\OCP\JSON::checkAppEnabled('files_encryption');
|
||||
|
||||
|
|
|
@ -9,8 +9,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
use OCA\Encryption;
|
||||
|
||||
\OCP\JSON::checkLoggedIn();
|
||||
\OCP\JSON::checkAppEnabled('files_encryption');
|
||||
\OCP\JSON::callCheck();
|
||||
|
@ -24,7 +22,7 @@ $oldPassword = $_POST['oldPassword'];
|
|||
$newPassword = $_POST['newPassword'];
|
||||
|
||||
$view = new \OC\Files\View('/');
|
||||
$session = new \OCA\Encryption\Session($view);
|
||||
$session = new \OCA\Files_Encryption\Session($view);
|
||||
$user = \OCP\User::getUser();
|
||||
$loginName = \OC::$server->getUserSession()->getLoginName();
|
||||
|
||||
|
@ -36,14 +34,14 @@ if ($passwordCorrect !== false) {
|
|||
$proxyStatus = \OC_FileProxy::$enabled;
|
||||
\OC_FileProxy::$enabled = false;
|
||||
|
||||
$encryptedKey = Encryption\Keymanager::getPrivateKey($view, $user);
|
||||
$decryptedKey = $encryptedKey ? \OCA\Encryption\Crypt::decryptPrivateKey($encryptedKey, $oldPassword) : false;
|
||||
$encryptedKey = \OCA\Files_Encryption\Keymanager::getPrivateKey($view, $user);
|
||||
$decryptedKey = $encryptedKey ? \OCA\Files_Encryption\Crypt::decryptPrivateKey($encryptedKey, $oldPassword) : false;
|
||||
|
||||
if ($decryptedKey) {
|
||||
$cipher = \OCA\Encryption\Helper::getCipher();
|
||||
$encryptedKey = \OCA\Encryption\Crypt::symmetricEncryptFileContent($decryptedKey, $newPassword, $cipher);
|
||||
$cipher = \OCA\Files_Encryption\Helper::getCipher();
|
||||
$encryptedKey = \OCA\Files_Encryption\Crypt::symmetricEncryptFileContent($decryptedKey, $newPassword, $cipher);
|
||||
if ($encryptedKey) {
|
||||
\OCA\Encryption\Keymanager::setPrivateKey($encryptedKey, $user);
|
||||
\OCA\Files_Encryption\Keymanager::setPrivateKey($encryptedKey, $user);
|
||||
$session->setPrivateKey($decryptedKey);
|
||||
$return = true;
|
||||
}
|
||||
|
@ -61,7 +59,7 @@ if ($decryptedKey) {
|
|||
|
||||
// success or failure
|
||||
if ($return) {
|
||||
$session->setInitialized(\OCA\Encryption\Session::INIT_SUCCESSFUL);
|
||||
$session->setInitialized(\OCA\Files_Encryption\Session::INIT_SUCCESSFUL);
|
||||
\OCP\JSON::success(array('data' => array('message' => $l->t('Private key password successfully updated.'))));
|
||||
} else {
|
||||
\OCP\JSON::error(array('data' => array('message' => $errorMessage)));
|
||||
|
|
|
@ -7,8 +7,6 @@
|
|||
* Script to handle admin settings for encrypted key recovery
|
||||
*/
|
||||
|
||||
use OCA\Encryption;
|
||||
|
||||
\OCP\JSON::checkLoggedIn();
|
||||
\OCP\JSON::checkAppEnabled('files_encryption');
|
||||
\OCP\JSON::callCheck();
|
||||
|
@ -22,7 +20,7 @@ if (
|
|||
|
||||
$userId = \OCP\USER::getUser();
|
||||
$view = new \OC\Files\View('/');
|
||||
$util = new \OCA\Encryption\Util($view, $userId);
|
||||
$util = new \OCA\Files_Encryption\Util($view, $userId);
|
||||
|
||||
// Save recovery preference to DB
|
||||
$return = $util->setRecoveryForUser($_POST['userEnableRecovery']);
|
||||
|
|
|
@ -1,41 +1,26 @@
|
|||
<?php
|
||||
|
||||
OC::$CLASSPATH['OCA\Encryption\Crypt'] = 'files_encryption/lib/crypt.php';
|
||||
OC::$CLASSPATH['OCA\Encryption\Hooks'] = 'files_encryption/hooks/hooks.php';
|
||||
OC::$CLASSPATH['OCA\Encryption\Util'] = 'files_encryption/lib/util.php';
|
||||
OC::$CLASSPATH['OCA\Encryption\Keymanager'] = 'files_encryption/lib/keymanager.php';
|
||||
OC::$CLASSPATH['OCA\Encryption\Stream'] = 'files_encryption/lib/stream.php';
|
||||
OC::$CLASSPATH['OCA\Encryption\Proxy'] = 'files_encryption/lib/proxy.php';
|
||||
OC::$CLASSPATH['OCA\Encryption\Session'] = 'files_encryption/lib/session.php';
|
||||
OC::$CLASSPATH['OCA\Encryption\Capabilities'] = 'files_encryption/lib/capabilities.php';
|
||||
OC::$CLASSPATH['OCA\Encryption\Helper'] = 'files_encryption/lib/helper.php';
|
||||
|
||||
// Exceptions
|
||||
OC::$CLASSPATH['OCA\Encryption\Exception\MultiKeyEncryptException'] = 'files_encryption/exception/multiKeyEncryptException.php';
|
||||
OC::$CLASSPATH['OCA\Encryption\Exception\MultiKeyDecryptException'] = 'files_encryption/exception/multiKeyDecryptException.php';
|
||||
OC::$CLASSPATH['OCA\Encryption\Exception\EncryptionException'] = 'files_encryption/exception/encryptionException.php';
|
||||
|
||||
\OCP\Util::addTranslations('files_encryption');
|
||||
\OCP\Util::addscript('files_encryption', 'encryption');
|
||||
\OCP\Util::addscript('files_encryption', 'detect-migration');
|
||||
|
||||
if (!OC_Config::getValue('maintenance', false)) {
|
||||
OC_FileProxy::register(new OCA\Encryption\Proxy());
|
||||
OC_FileProxy::register(new OCA\Files_Encryption\Proxy());
|
||||
|
||||
// User related hooks
|
||||
OCA\Encryption\Helper::registerUserHooks();
|
||||
OCA\Files_Encryption\Helper::registerUserHooks();
|
||||
|
||||
// Sharing related hooks
|
||||
OCA\Encryption\Helper::registerShareHooks();
|
||||
OCA\Files_Encryption\Helper::registerShareHooks();
|
||||
|
||||
// Filesystem related hooks
|
||||
OCA\Encryption\Helper::registerFilesystemHooks();
|
||||
OCA\Files_Encryption\Helper::registerFilesystemHooks();
|
||||
|
||||
// App manager related hooks
|
||||
OCA\Encryption\Helper::registerAppHooks();
|
||||
OCA\Files_Encryption\Helper::registerAppHooks();
|
||||
|
||||
if(!in_array('crypt', stream_get_wrappers())) {
|
||||
stream_wrapper_register('crypt', 'OCA\Encryption\Stream');
|
||||
stream_wrapper_register('crypt', 'OCA\Files_Encryption\Stream');
|
||||
}
|
||||
} else {
|
||||
// logout user if we are in maintenance to force re-login
|
||||
|
|
|
@ -19,4 +19,4 @@ $this->create('files_encryption_ajax_userrecovery', 'ajax/userrecovery.php')
|
|||
->actionInclude('files_encryption/ajax/userrecovery.php');
|
||||
|
||||
// Register with the capabilities API
|
||||
OC_API::register('get', '/cloud/capabilities', array('OCA\Encryption\Capabilities', 'getCapabilities'), 'files_encryption', OC_API::USER_AUTH);
|
||||
OC_API::register('get', '/cloud/capabilities', array('OCA\Files_Encryption\Capabilities', 'getCapabilities'), 'files_encryption', OC_API::USER_AUTH);
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Encryption\Exception;
|
||||
namespace OCA\Files_Encryption\Exception;
|
||||
|
||||
/**
|
||||
* Base class for all encryption exception
|
|
@ -21,7 +21,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Encryption\Exception;
|
||||
namespace OCA\Files_Encryption\Exception;
|
||||
|
||||
/**
|
||||
* Throw this encryption if multi key decryption failed
|
|
@ -21,7 +21,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Encryption\Exception;
|
||||
namespace OCA\Files_Encryption\Exception;
|
||||
|
||||
/**
|
||||
* Throw this exception if multi key encrytion fails
|
|
@ -12,14 +12,14 @@ if (!isset($_)) { //also provide standalone error page
|
|||
if (isset($_GET['errorCode'])) {
|
||||
$errorCode = $_GET['errorCode'];
|
||||
switch ($errorCode) {
|
||||
case \OCA\Encryption\Crypt::ENCRYPTION_NOT_INITIALIZED_ERROR:
|
||||
case \OCA\Files_Encryption\Crypt::ENCRYPTION_NOT_INITIALIZED_ERROR:
|
||||
$errorMsg = $l->t('Encryption app not initialized! Maybe the encryption app was re-enabled during your session. Please try to log out and log back in to initialize the encryption app.');
|
||||
break;
|
||||
case \OCA\Encryption\Crypt::ENCRYPTION_PRIVATE_KEY_NOT_VALID_ERROR:
|
||||
case \OCA\Files_Encryption\Crypt::ENCRYPTION_PRIVATE_KEY_NOT_VALID_ERROR:
|
||||
$theme = new OC_Defaults();
|
||||
$errorMsg = $l->t('Your private key is not valid! Likely your password was changed outside of %s (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files.', array($theme->getName()));
|
||||
break;
|
||||
case \OCA\Encryption\Crypt::ENCRYPTION_NO_SHARE_KEY_FOUND:
|
||||
case \OCA\Files_Encryption\Crypt::ENCRYPTION_NO_SHARE_KEY_FOUND:
|
||||
$errorMsg = $l->t('Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you.');
|
||||
break;
|
||||
default:
|
||||
|
@ -27,7 +27,7 @@ if (!isset($_)) { //also provide standalone error page
|
|||
break;
|
||||
}
|
||||
} else {
|
||||
$errorCode = \OCA\Encryption\Crypt::ENCRYPTION_UNKNOWN_ERROR;
|
||||
$errorCode = \OCA\Files_Encryption\Crypt::ENCRYPTION_UNKNOWN_ERROR;
|
||||
$errorMsg = $l->t("Unknown error. Please check your system settings or contact your administrator");
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* See the COPYING-README file.
|
||||
*/
|
||||
|
||||
namespace OCA\Encryption;
|
||||
namespace OCA\Files_Encryption;
|
||||
|
||||
class Capabilities {
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Encryption;
|
||||
namespace OCA\Files_Encryption;
|
||||
|
||||
/**
|
||||
* Class for common cryptography functionality
|
||||
|
@ -133,7 +133,7 @@ class Crypt {
|
|||
* Check if a file's contents contains an IV and is symmetrically encrypted
|
||||
* @param string $content
|
||||
* @return boolean
|
||||
* @note see also OCA\Encryption\Util->isEncryptedPath()
|
||||
* @note see also \OCA\Files_Encryption\Util->isEncryptedPath()
|
||||
*/
|
||||
public static function isCatfileContent($content) {
|
||||
|
||||
|
@ -190,7 +190,7 @@ class Crypt {
|
|||
* @param string $passphrase
|
||||
* @param string $cypher used for encryption, currently we support AES-128-CFB and AES-256-CFB
|
||||
* @return string encrypted file content
|
||||
* @throws \OCA\Encryption\Exception\EncryptionException
|
||||
* @throws \OCA\Files_Encryption\Exception\EncryptionException
|
||||
*/
|
||||
private static function encrypt($plainContent, $iv, $passphrase = '', $cipher = Crypt::DEFAULT_CIPHER) {
|
||||
|
||||
|
@ -379,7 +379,7 @@ class Crypt {
|
|||
* @param string $plainContent content to be encrypted
|
||||
* @param array $publicKeys array keys must be the userId of corresponding user
|
||||
* @return array keys: keys (array, key = userId), data
|
||||
* @throws \OCA\Encryption\Exception\MultiKeyEncryptException if encryption failed
|
||||
* @throws \OCA\Files_Encryption\Exception\MultiKeyEncryptException if encryption failed
|
||||
* @note symmetricDecryptFileContent() can decrypt files created using this method
|
||||
*/
|
||||
public static function multiKeyEncrypt($plainContent, array $publicKeys) {
|
||||
|
@ -425,7 +425,7 @@ class Crypt {
|
|||
* @param string $encryptedContent
|
||||
* @param string $shareKey
|
||||
* @param mixed $privateKey
|
||||
* @throws \OCA\Encryption\Exception\MultiKeyDecryptException if decryption failed
|
||||
* @throws \OCA\Files_Encryption\Exception\MultiKeyDecryptException if decryption failed
|
||||
* @internal param string $plainContent contains decrypted content
|
||||
* @return string $plainContent decrypted string
|
||||
* @note symmetricDecryptFileContent() can be used to decrypt files created using this method
|
||||
|
@ -554,7 +554,7 @@ class Crypt {
|
|||
* get chiper from header
|
||||
*
|
||||
* @param array $header
|
||||
* @throws \OCA\Encryption\Exception\EncryptionException
|
||||
* @throws \OCA\Files_Encryption\Exception\EncryptionException
|
||||
*/
|
||||
public static function getCipher($header) {
|
||||
$cipher = isset($header['cipher']) ? $header['cipher'] : 'AES-128-CFB';
|
||||
|
|
|
@ -23,11 +23,11 @@
|
|||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Encryption;
|
||||
namespace OCA\Files_Encryption;
|
||||
|
||||
/**
|
||||
* Class to manage registration of hooks an various helper methods
|
||||
* @package OCA\Encryption
|
||||
* @package OCA\Files_Encryption
|
||||
*/
|
||||
class Helper {
|
||||
|
||||
|
@ -39,9 +39,9 @@ class Helper {
|
|||
*/
|
||||
public static function registerShareHooks() {
|
||||
|
||||
\OCP\Util::connectHook('OCP\Share', 'pre_shared', 'OCA\Encryption\Hooks', 'preShared');
|
||||
\OCP\Util::connectHook('OCP\Share', 'post_shared', 'OCA\Encryption\Hooks', 'postShared');
|
||||
\OCP\Util::connectHook('OCP\Share', 'post_unshare', 'OCA\Encryption\Hooks', 'postUnshare');
|
||||
\OCP\Util::connectHook('OCP\Share', 'pre_shared', 'OCA\Files_Encryption\Hooks', 'preShared');
|
||||
\OCP\Util::connectHook('OCP\Share', 'post_shared', 'OCA\Files_Encryption\Hooks', 'postShared');
|
||||
\OCP\Util::connectHook('OCP\Share', 'post_unshare', 'OCA\Files_Encryption\Hooks', 'postUnshare');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -50,12 +50,12 @@ class Helper {
|
|||
*/
|
||||
public static function registerUserHooks() {
|
||||
|
||||
\OCP\Util::connectHook('OC_User', 'post_login', 'OCA\Encryption\Hooks', 'login');
|
||||
\OCP\Util::connectHook('OC_User', 'logout', 'OCA\Encryption\Hooks', 'logout');
|
||||
\OCP\Util::connectHook('OC_User', 'post_setPassword', 'OCA\Encryption\Hooks', 'setPassphrase');
|
||||
\OCP\Util::connectHook('OC_User', 'pre_setPassword', 'OCA\Encryption\Hooks', 'preSetPassphrase');
|
||||
\OCP\Util::connectHook('OC_User', 'post_createUser', 'OCA\Encryption\Hooks', 'postCreateUser');
|
||||
\OCP\Util::connectHook('OC_User', 'post_deleteUser', 'OCA\Encryption\Hooks', 'postDeleteUser');
|
||||
\OCP\Util::connectHook('OC_User', 'post_login', 'OCA\Files_Encryption\Hooks', 'login');
|
||||
\OCP\Util::connectHook('OC_User', 'logout', 'OCA\Files_Encryption\Hooks', 'logout');
|
||||
\OCP\Util::connectHook('OC_User', 'post_setPassword', 'OCA\Files_Encryption\Hooks', 'setPassphrase');
|
||||
\OCP\Util::connectHook('OC_User', 'pre_setPassword', 'OCA\Files_Encryption\Hooks', 'preSetPassphrase');
|
||||
\OCP\Util::connectHook('OC_User', 'post_createUser', 'OCA\Files_Encryption\Hooks', 'postCreateUser');
|
||||
\OCP\Util::connectHook('OC_User', 'post_deleteUser', 'OCA\Files_Encryption\Hooks', 'postDeleteUser');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -64,15 +64,15 @@ class Helper {
|
|||
*/
|
||||
public static function registerFilesystemHooks() {
|
||||
|
||||
\OCP\Util::connectHook('OC_Filesystem', 'rename', 'OCA\Encryption\Hooks', 'preRename');
|
||||
\OCP\Util::connectHook('OC_Filesystem', 'post_rename', 'OCA\Encryption\Hooks', 'postRenameOrCopy');
|
||||
\OCP\Util::connectHook('OC_Filesystem', 'copy', 'OCA\Encryption\Hooks', 'preCopy');
|
||||
\OCP\Util::connectHook('OC_Filesystem', 'post_copy', 'OCA\Encryption\Hooks', 'postRenameOrCopy');
|
||||
\OCP\Util::connectHook('OC_Filesystem', 'post_delete', 'OCA\Encryption\Hooks', 'postDelete');
|
||||
\OCP\Util::connectHook('OC_Filesystem', 'delete', 'OCA\Encryption\Hooks', 'preDelete');
|
||||
\OCP\Util::connectHook('\OC\Core\LostPassword\Controller\LostController', 'post_passwordReset', 'OCA\Encryption\Hooks', 'postPasswordReset');
|
||||
\OCP\Util::connectHook('OC_Filesystem', 'post_umount', 'OCA\Encryption\Hooks', 'postUnmount');
|
||||
\OCP\Util::connectHook('OC_Filesystem', 'umount', 'OCA\Encryption\Hooks', 'preUnmount');
|
||||
\OCP\Util::connectHook('OC_Filesystem', 'rename', 'OCA\Files_Encryption\Hooks', 'preRename');
|
||||
\OCP\Util::connectHook('OC_Filesystem', 'post_rename', 'OCA\Files_Encryption\Hooks', 'postRenameOrCopy');
|
||||
\OCP\Util::connectHook('OC_Filesystem', 'copy', 'OCA\Files_Encryption\Hooks', 'preCopy');
|
||||
\OCP\Util::connectHook('OC_Filesystem', 'post_copy', 'OCA\Files_Encryption\Hooks', 'postRenameOrCopy');
|
||||
\OCP\Util::connectHook('OC_Filesystem', 'post_delete', 'OCA\Files_Encryption\Hooks', 'postDelete');
|
||||
\OCP\Util::connectHook('OC_Filesystem', 'delete', 'OCA\Files_Encryption\Hooks', 'preDelete');
|
||||
\OCP\Util::connectHook('\OC\Core\LostPassword\Controller\LostController', 'post_passwordReset', 'OCA\Files_Encryption\Hooks', 'postPasswordReset');
|
||||
\OCP\Util::connectHook('OC_Filesystem', 'post_umount', 'OCA\Files_Encryption\Hooks', 'postUnmount');
|
||||
\OCP\Util::connectHook('OC_Filesystem', 'umount', 'OCA\Files_Encryption\Hooks', 'preUnmount');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -81,8 +81,8 @@ class Helper {
|
|||
*/
|
||||
public static function registerAppHooks() {
|
||||
|
||||
\OCP\Util::connectHook('OC_App', 'pre_disable', 'OCA\Encryption\Hooks', 'preDisable');
|
||||
\OCP\Util::connectHook('OC_App', 'post_disable', 'OCA\Encryption\Hooks', 'postEnable');
|
||||
\OCP\Util::connectHook('OC_App', 'pre_disable', 'OCA\Files_Encryption\Hooks', 'preDisable');
|
||||
\OCP\Util::connectHook('OC_App', 'post_disable', 'OCA\Files_Encryption\Hooks', 'postEnable');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -131,8 +131,6 @@ class Helper {
|
|||
*
|
||||
* @param string $recoveryKeyId
|
||||
* @param string $recoveryPassword
|
||||
* @internal param \OCA\Encryption\Util $util
|
||||
* @internal param string $password
|
||||
* @return bool
|
||||
*/
|
||||
public static function adminEnableRecovery($recoveryKeyId, $recoveryPassword) {
|
||||
|
@ -147,13 +145,13 @@ class Helper {
|
|||
|
||||
if (!Keymanager::recoveryKeyExists($view)) {
|
||||
|
||||
$keypair = \OCA\Encryption\Crypt::createKeypair();
|
||||
$keypair = Crypt::createKeypair();
|
||||
|
||||
// Save public key
|
||||
Keymanager::setPublicKey($keypair['publicKey'], $recoveryKeyId);
|
||||
|
||||
$cipher = \OCA\Encryption\Helper::getCipher();
|
||||
$encryptedKey = \OCA\Encryption\Crypt::symmetricEncryptFileContent($keypair['privateKey'], $recoveryPassword, $cipher);
|
||||
$cipher = Helper::getCipher();
|
||||
$encryptedKey = Crypt::symmetricEncryptFileContent($keypair['privateKey'], $recoveryPassword, $cipher);
|
||||
if ($encryptedKey) {
|
||||
Keymanager::setPrivateSystemKey($encryptedKey, $recoveryKeyId);
|
||||
// Set recoveryAdmin as enabled
|
||||
|
@ -162,7 +160,7 @@ class Helper {
|
|||
}
|
||||
|
||||
} else { // get recovery key and check the password
|
||||
$util = new \OCA\Encryption\Util(new \OC\Files\View('/'), \OCP\User::getUser());
|
||||
$util = new Util(new \OC\Files\View('/'), \OCP\User::getUser());
|
||||
$return = $util->checkRecoveryPassword($recoveryPassword);
|
||||
if ($return) {
|
||||
$appConfig->setValue('files_encryption', 'recoveryAdminEnabled', 1);
|
||||
|
@ -362,14 +360,14 @@ class Helper {
|
|||
if ($errorCode === null) {
|
||||
$init = $session->getInitialized();
|
||||
switch ($init) {
|
||||
case \OCA\Encryption\Session::INIT_EXECUTED:
|
||||
$errorCode = \OCA\Encryption\Crypt::ENCRYPTION_PRIVATE_KEY_NOT_VALID_ERROR;
|
||||
case Session::INIT_EXECUTED:
|
||||
$errorCode = Crypt::ENCRYPTION_PRIVATE_KEY_NOT_VALID_ERROR;
|
||||
break;
|
||||
case \OCA\Encryption\Session::NOT_INITIALIZED:
|
||||
$errorCode = \OCA\Encryption\Crypt::ENCRYPTION_NOT_INITIALIZED_ERROR;
|
||||
case Session::NOT_INITIALIZED:
|
||||
$errorCode = Crypt::ENCRYPTION_NOT_INITIALIZED_ERROR;
|
||||
break;
|
||||
default:
|
||||
$errorCode = \OCA\Encryption\Crypt::ENCRYPTION_UNKNOWN_ERROR;
|
||||
$errorCode = Crypt::ENCRYPTION_UNKNOWN_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Encryption;
|
||||
namespace OCA\Files_Encryption;
|
||||
|
||||
use OC\Files\Filesystem;
|
||||
|
||||
|
@ -59,7 +59,7 @@ class Hooks {
|
|||
\OC_Util::setupFS($params['uid']);
|
||||
}
|
||||
|
||||
$privateKey = \OCA\Encryption\Keymanager::getPrivateKey($view, $params['uid']);
|
||||
$privateKey = Keymanager::getPrivateKey($view, $params['uid']);
|
||||
|
||||
// if no private key exists, check server configuration
|
||||
if (!$privateKey) {
|
||||
|
@ -128,7 +128,7 @@ class Hooks {
|
|||
* remove keys from session during logout
|
||||
*/
|
||||
public static function logout() {
|
||||
$session = new \OCA\Encryption\Session(new \OC\Files\View());
|
||||
$session = new Session(new \OC\Files\View());
|
||||
$session->removeKeys();
|
||||
}
|
||||
|
||||
|
@ -182,7 +182,7 @@ class Hooks {
|
|||
if (Crypt::mode() === 'server') {
|
||||
|
||||
$view = new \OC\Files\View('/');
|
||||
$session = new \OCA\Encryption\Session($view);
|
||||
$session = new Session($view);
|
||||
|
||||
// Get existing decrypted private key
|
||||
$privateKey = $session->getPrivateKey();
|
||||
|
@ -236,7 +236,7 @@ class Hooks {
|
|||
Keymanager::setPublicKey($keypair['publicKey'], $user);
|
||||
|
||||
// Encrypt private key with new password
|
||||
$encryptedKey = \OCA\Encryption\Crypt::symmetricEncryptFileContent($keypair['privateKey'], $newUserPassword, Helper::getCipher());
|
||||
$encryptedKey = Crypt::symmetricEncryptFileContent($keypair['privateKey'], $newUserPassword, Helper::getCipher());
|
||||
if ($encryptedKey) {
|
||||
Keymanager::setPrivateKey($encryptedKey, $user);
|
||||
|
||||
|
@ -331,7 +331,7 @@ class Hooks {
|
|||
private static function updateKeyfiles($path) {
|
||||
$view = new \OC\Files\View('/');
|
||||
$userId = \OCP\User::getUser();
|
||||
$session = new \OCA\Encryption\Session($view);
|
||||
$session = new Session($view);
|
||||
$util = new Util($view, $userId);
|
||||
$sharingEnabled = \OCP\Share::isEnabled();
|
||||
|
||||
|
@ -504,8 +504,8 @@ class Hooks {
|
|||
|
||||
\OC::$server->getConfig()->deleteAppFromAllUsers('files_encryption');
|
||||
|
||||
$session = new \OCA\Encryption\Session(new \OC\Files\View('/'));
|
||||
$session->setInitialized(\OCA\Encryption\Session::NOT_INITIALIZED);
|
||||
$session = new Session(new \OC\Files\View('/'));
|
||||
$session->setInitialized(Session::NOT_INITIALIZED);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -515,8 +515,8 @@ class Hooks {
|
|||
*/
|
||||
public static function postEnable($params) {
|
||||
if ($params['app'] === 'files_encryption') {
|
||||
$session = new \OCA\Encryption\Session(new \OC\Files\View('/'));
|
||||
$session->setInitialized(\OCA\Encryption\Session::NOT_INITIALIZED);
|
||||
$session = new Session(new \OC\Files\View('/'));
|
||||
$session->setInitialized(Session::NOT_INITIALIZED);
|
||||
}
|
||||
}
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Encryption;
|
||||
namespace OCA\Files_Encryption;
|
||||
|
||||
/**
|
||||
* Class to manage storage and retrieval of encryption keys
|
||||
|
@ -141,7 +141,7 @@ class Keymanager {
|
|||
* store file encryption key
|
||||
*
|
||||
* @param \OC\Files\View $view
|
||||
* @param \OCA\Encryption\Util $util
|
||||
* @param \OCA\Files_Encryption\Util $util
|
||||
* @param string $path relative path of the file, including filename
|
||||
* @param string $catfile keyfile content
|
||||
* @return bool true/false
|
||||
|
@ -158,7 +158,7 @@ class Keymanager {
|
|||
* get path to key folder for a given file
|
||||
*
|
||||
* @param \OC\Files\View $view relative to data directory
|
||||
* @param \OCA\Encryption\Util $util
|
||||
* @param \OCA\Files_Encryption\Util $util
|
||||
* @param string $path path to the file, relative to the users file directory
|
||||
* @return string
|
||||
*/
|
||||
|
@ -186,7 +186,7 @@ class Keymanager {
|
|||
* get path to file key for a given file
|
||||
*
|
||||
* @param \OC\Files\View $view relative to data directory
|
||||
* @param \OCA\Encryption\Util $util
|
||||
* @param \OCA\Files_Encryption\Util $util
|
||||
* @param string $path path to the file, relative to the users file directory
|
||||
* @return string
|
||||
*/
|
||||
|
@ -199,7 +199,7 @@ class Keymanager {
|
|||
* get path to share key for a given user
|
||||
*
|
||||
* @param \OC\Files\View $view relateive to data directory
|
||||
* @param \OCA\Encryption\Util $util
|
||||
* @param \OCA\Files_Encryption\Util $util
|
||||
* @param string $path path to file relative to the users files directoy
|
||||
* @param string $uid user for whom we want the share-key path
|
||||
* @retrun string
|
||||
|
@ -243,9 +243,8 @@ class Keymanager {
|
|||
/**
|
||||
* retrieve keyfile for an encrypted file
|
||||
* @param \OC\Files\View $view
|
||||
* @param \OCA\Encryption\Util $util
|
||||
* @param \OCA\Files_Encryption\Util $util
|
||||
* @param string|false $filePath
|
||||
* @internal param \OCA\Encryption\file $string name
|
||||
* @return string file key or false
|
||||
* @note The keyfile returned is asymmetrically encrypted. Decryption
|
||||
* of the keyfile must be performed by client code
|
||||
|
@ -347,7 +346,7 @@ class Keymanager {
|
|||
/**
|
||||
* store multiple share keys for a single file
|
||||
* @param \OC\Files\View $view
|
||||
* @param \OCA\Encryption\Util $util
|
||||
* @param \OCA\Files_Encryption\Util $util
|
||||
* @param string $path
|
||||
* @param array $shareKeys
|
||||
* @return bool
|
||||
|
@ -376,7 +375,7 @@ class Keymanager {
|
|||
* retrieve shareKey for an encrypted file
|
||||
* @param \OC\Files\View $view
|
||||
* @param string $userId
|
||||
* @param \OCA\Encryption\Util $util
|
||||
* @param \OCA\Files_Encryption\Util $util
|
||||
* @param string $filePath
|
||||
* @return string file key or false
|
||||
* @note The sharekey returned is encrypted. Decryption
|
||||
|
|
|
@ -35,8 +35,8 @@ class Migration {
|
|||
|
||||
public function __construct() {
|
||||
$this->view = new \OC\Files\View();
|
||||
$this->public_share_key_id = \OCA\Encryption\Helper::getPublicShareKeyId();
|
||||
$this->recovery_key_id = \OCA\Encryption\Helper::getRecoveryKeyId();
|
||||
$this->public_share_key_id = Helper::getPublicShareKeyId();
|
||||
$this->recovery_key_id = Helper::getRecoveryKeyId();
|
||||
}
|
||||
|
||||
public function reorganizeFolderStructure() {
|
||||
|
|
|
@ -30,11 +30,11 @@
|
|||
* webui.
|
||||
*/
|
||||
|
||||
namespace OCA\Encryption;
|
||||
namespace OCA\Files_Encryption;
|
||||
|
||||
/**
|
||||
* Class Proxy
|
||||
* @package OCA\Encryption
|
||||
* @package OCA\Files_Encryption
|
||||
*/
|
||||
class Proxy extends \OC_FileProxy {
|
||||
|
||||
|
@ -130,7 +130,7 @@ class Proxy extends \OC_FileProxy {
|
|||
$view = new \OC\Files\View('/');
|
||||
|
||||
// get relative path
|
||||
$relativePath = \OCA\Encryption\Helper::stripUserFilesPath($path);
|
||||
$relativePath = Helper::stripUserFilesPath($path);
|
||||
|
||||
if (!isset($relativePath)) {
|
||||
return true;
|
||||
|
@ -338,7 +338,7 @@ class Proxy extends \OC_FileProxy {
|
|||
}
|
||||
|
||||
// get relative path
|
||||
$relativePath = \OCA\Encryption\Helper::stripUserFilesPath($path);
|
||||
$relativePath = Helper::stripUserFilesPath($path);
|
||||
|
||||
// if path is empty we cannot resolve anything
|
||||
if (empty($relativePath)) {
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Encryption;
|
||||
namespace OCA\Files_Encryption;
|
||||
|
||||
/**
|
||||
* Class for handling encryption related session data
|
||||
|
@ -72,8 +72,8 @@ class Session {
|
|||
Keymanager::setPublicKey($keypair['publicKey'], $publicShareKeyId);
|
||||
|
||||
// Encrypt private key empty passphrase
|
||||
$cipher = \OCA\Encryption\Helper::getCipher();
|
||||
$encryptedKey = \OCA\Encryption\Crypt::symmetricEncryptFileContent($keypair['privateKey'], '', $cipher);
|
||||
$cipher = Helper::getCipher();
|
||||
$encryptedKey = Crypt::symmetricEncryptFileContent($keypair['privateKey'], '', $cipher);
|
||||
if ($encryptedKey) {
|
||||
Keymanager::setPrivateSystemKey($encryptedKey, $publicShareKeyId);
|
||||
} else {
|
||||
|
@ -82,7 +82,7 @@ class Session {
|
|||
|
||||
}
|
||||
|
||||
if (\OCA\Encryption\Helper::isPublicAccess() && !self::getPublicSharePrivateKey()) {
|
||||
if (Helper::isPublicAccess() && !self::getPublicSharePrivateKey()) {
|
||||
// Disable encryption proxy to prevent recursive calls
|
||||
$proxyStatus = \OC_FileProxy::$enabled;
|
||||
\OC_FileProxy::$enabled = false;
|
||||
|
@ -151,7 +151,7 @@ class Session {
|
|||
public function getInitialized() {
|
||||
if (!is_null(\OC::$server->getSession()->get('encryptionInitialized'))) {
|
||||
return \OC::$server->getSession()->get('encryptionInitialized');
|
||||
} else if (\OCA\Encryption\Helper::isPublicAccess() && self::getPublicSharePrivateKey()) {
|
||||
} else if (Helper::isPublicAccess() && self::getPublicSharePrivateKey()) {
|
||||
return self::INIT_SUCCESSFUL;
|
||||
} else {
|
||||
return self::NOT_INITIALIZED;
|
||||
|
@ -165,7 +165,7 @@ class Session {
|
|||
*/
|
||||
public function getPrivateKey() {
|
||||
// return the public share private key if this is a public access
|
||||
if (\OCA\Encryption\Helper::isPublicAccess()) {
|
||||
if (Helper::isPublicAccess()) {
|
||||
return self::getPublicSharePrivateKey();
|
||||
} else {
|
||||
if (!is_null(\OC::$server->getSession()->get('privateKey'))) {
|
||||
|
|
|
@ -30,8 +30,9 @@
|
|||
* and then fopen('crypt://streams/foo');
|
||||
*/
|
||||
|
||||
namespace OCA\Encryption;
|
||||
use OCA\Encryption\Exception\EncryptionException;
|
||||
namespace OCA\Files_Encryption;
|
||||
|
||||
use OCA\Files_Encryption\Exception\EncryptionException;
|
||||
|
||||
/**
|
||||
* Provides 'crypt://' stream wrapper protocol.
|
||||
|
@ -81,7 +82,7 @@ class Stream {
|
|||
private $rootView; // a fsview object set to '/'
|
||||
|
||||
/**
|
||||
* @var \OCA\Encryption\Session
|
||||
* @var \OCA\Files_Encryption\Session
|
||||
*/
|
||||
private $session;
|
||||
private $privateKey;
|
||||
|
@ -92,7 +93,7 @@ class Stream {
|
|||
* @param int $options
|
||||
* @param string $opened_path
|
||||
* @return bool
|
||||
* @throw \OCA\Encryption\Exception\EncryptionException
|
||||
* @throw \OCA\Files_Encryption\Exception\EncryptionException
|
||||
*/
|
||||
public function stream_open($path, $mode, $options, &$opened_path) {
|
||||
|
||||
|
@ -106,7 +107,7 @@ class Stream {
|
|||
$this->rootView = new \OC\Files\View('/');
|
||||
}
|
||||
|
||||
$this->session = new \OCA\Encryption\Session($this->rootView);
|
||||
$this->session = new Session($this->rootView);
|
||||
|
||||
$this->privateKey = $this->session->getPrivateKey();
|
||||
if ($this->privateKey === false) {
|
||||
|
@ -162,7 +163,7 @@ class Stream {
|
|||
|
||||
if($this->privateKey === false) {
|
||||
// if private key is not valid redirect user to a error page
|
||||
\OCA\Encryption\Helper::redirectToErrorPage($this->session);
|
||||
Helper::redirectToErrorPage($this->session);
|
||||
}
|
||||
|
||||
$this->size = $this->rootView->filesize($this->rawPath);
|
||||
|
@ -251,7 +252,7 @@ class Stream {
|
|||
/**
|
||||
* @param int $count
|
||||
* @return bool|string
|
||||
* @throws \OCA\Encryption\Exception\EncryptionException
|
||||
* @throws \OCA\Files_Encryption\Exception\EncryptionException
|
||||
*/
|
||||
public function stream_read($count) {
|
||||
|
||||
|
@ -329,7 +330,7 @@ class Stream {
|
|||
|
||||
// Fetch and decrypt keyfile
|
||||
// Fetch existing keyfile
|
||||
$util = new \OCA\Encryption\Util($this->rootView, $this->userId);
|
||||
$util = new Util($this->rootView, $this->userId);
|
||||
$this->encKeyfile = Keymanager::getFileKey($this->rootView, $util, $this->relPath);
|
||||
|
||||
// If a keyfile already exists
|
||||
|
@ -340,13 +341,13 @@ class Stream {
|
|||
// if there is no valid private key return false
|
||||
if ($this->privateKey === false) {
|
||||
// if private key is not valid redirect user to a error page
|
||||
\OCA\Encryption\Helper::redirectToErrorPage($this->session);
|
||||
Helper::redirectToErrorPage($this->session);
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($shareKey === false) {
|
||||
// if no share key is available redirect user to a error page
|
||||
\OCA\Encryption\Helper::redirectToErrorPage($this->session, \OCA\Encryption\Crypt::ENCRYPTION_NO_SHARE_KEY_FOUND);
|
||||
Helper::redirectToErrorPage($this->session, Crypt::ENCRYPTION_NO_SHARE_KEY_FOUND);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -367,7 +368,7 @@ class Stream {
|
|||
/**
|
||||
* write header at beginning of encrypted file
|
||||
*
|
||||
* @throws Exception\EncryptionException
|
||||
* @throws \OCA\Files_Encryption\Exception\EncryptionException
|
||||
*/
|
||||
private function writeHeader() {
|
||||
|
||||
|
@ -589,7 +590,7 @@ class Stream {
|
|||
}
|
||||
|
||||
// if private key is not valid redirect user to a error page
|
||||
\OCA\Encryption\Helper::redirectToErrorPage($this->session);
|
||||
Helper::redirectToErrorPage($this->session);
|
||||
}
|
||||
|
||||
if (
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Encryption;
|
||||
namespace OCA\Files_Encryption;
|
||||
|
||||
/**
|
||||
* Class for utilities relating to encrypted file storage system
|
||||
|
@ -83,7 +83,7 @@ class Util {
|
|||
// make sure that the owners home is mounted
|
||||
\OC\Files\Filesystem::initMountPoints($userId);
|
||||
|
||||
if (\OCA\Encryption\Helper::isPublicAccess()) {
|
||||
if (Helper::isPublicAccess()) {
|
||||
$this->keyId = $this->publicShareKeyId;
|
||||
$this->isPublic = true;
|
||||
} else {
|
||||
|
@ -277,7 +277,7 @@ class Util {
|
|||
if ($file !== "." && $file !== "..") {
|
||||
|
||||
$filePath = $directory . '/' . $this->view->getRelativePath('/' . $file);
|
||||
$relPath = \OCA\Encryption\Helper::stripUserFilesPath($filePath);
|
||||
$relPath = Helper::stripUserFilesPath($filePath);
|
||||
|
||||
// If the path is a directory, search
|
||||
// its contents
|
||||
|
@ -451,13 +451,13 @@ class Util {
|
|||
}
|
||||
}
|
||||
fclose($stream);
|
||||
$relPath = \OCA\Encryption\Helper::stripUserFilesPath($path);
|
||||
$relPath = Helper::stripUserFilesPath($path);
|
||||
$shareKey = Keymanager::getShareKey($this->view, $this->keyId, $this, $relPath);
|
||||
if($shareKey===false) {
|
||||
\OC_FileProxy::$enabled = $proxyStatus;
|
||||
return $result;
|
||||
}
|
||||
$session = new \OCA\Encryption\Session($this->view);
|
||||
$session = new Session($this->view);
|
||||
$privateKey = $session->getPrivateKey();
|
||||
$plainKeyfile = $this->decryptKeyfile($relPath, $privateKey);
|
||||
$plainKey = Crypt::multiKeyDecrypt($plainKeyfile, $shareKey, $privateKey);
|
||||
|
@ -1040,7 +1040,7 @@ class Util {
|
|||
// Make sure that a share key is generated for the owner too
|
||||
list($owner, $ownerPath) = $this->getUidAndFilename($filePath);
|
||||
|
||||
$ownerPath = \OCA\Encryption\Helper::stripPartialFileExtension($ownerPath);
|
||||
$ownerPath = Helper::stripPartialFileExtension($ownerPath);
|
||||
|
||||
// always add owner to the list of users with access to the file
|
||||
$userIds = array($owner);
|
||||
|
@ -1402,7 +1402,7 @@ class Util {
|
|||
if ($this->view->is_dir($this->userFilesDir . '/' . $filePath)) {
|
||||
$this->addRecoveryKeys($filePath . '/');
|
||||
} else {
|
||||
$session = new \OCA\Encryption\Session(new \OC\Files\View('/'));
|
||||
$session = new Session(new \OC\Files\View('/'));
|
||||
$sharingEnabled = \OCP\Share::isEnabled();
|
||||
$usersSharing = $this->getSharingUsersArray($sharingEnabled, $filePath);
|
||||
$this->setSharedFileKeyfiles($session, $usersSharing, $filePath);
|
||||
|
@ -1559,10 +1559,10 @@ class Util {
|
|||
*/
|
||||
public function initEncryption($params) {
|
||||
|
||||
$session = new \OCA\Encryption\Session($this->view);
|
||||
$session = new Session($this->view);
|
||||
|
||||
// we tried to initialize the encryption app for this session
|
||||
$session->setInitialized(\OCA\Encryption\Session::INIT_EXECUTED);
|
||||
$session->setInitialized(Session::INIT_EXECUTED);
|
||||
|
||||
$encryptedKey = Keymanager::getPrivateKey($this->view, $params['uid']);
|
||||
|
||||
|
@ -1578,7 +1578,7 @@ class Util {
|
|||
}
|
||||
|
||||
$session->setPrivateKey($privateKey);
|
||||
$session->setInitialized(\OCA\Encryption\Session::INIT_SUCCESSFUL);
|
||||
$session->setInitialized(Session::INIT_SUCCESSFUL);
|
||||
|
||||
return $session;
|
||||
}
|
||||
|
@ -1587,7 +1587,7 @@ class Util {
|
|||
* remove encryption related keys from the session
|
||||
*/
|
||||
public function closeEncryptionSession() {
|
||||
$session = new \OCA\Encryption\Session($this->view);
|
||||
$session = new Session($this->view);
|
||||
$session->closeSession();
|
||||
}
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ $tmpl = new OCP\Template('files_encryption', 'settings-admin');
|
|||
|
||||
// Check if an adminRecovery account is enabled for recovering files after lost pwd
|
||||
$recoveryAdminEnabled = \OC::$server->getAppConfig()->getValue('files_encryption', 'recoveryAdminEnabled', '0');
|
||||
$session = new \OCA\Encryption\Session(new \OC\Files\View('/'));
|
||||
$session = new \OCA\Files_Encryption\Session(new \OC\Files\View('/'));
|
||||
$initStatus = $session->getInitialized();
|
||||
|
||||
$tmpl->assign('recoveryEnabled', $recoveryAdminEnabled);
|
||||
|
|
|
@ -13,8 +13,8 @@ $tmpl = new OCP\Template('files_encryption', 'settings-personal');
|
|||
|
||||
$user = \OCP\USER::getUser();
|
||||
$view = new \OC\Files\View('/');
|
||||
$util = new \OCA\Encryption\Util($view, $user);
|
||||
$session = new \OCA\Encryption\Session($view);
|
||||
$util = new \OCA\Files_Encryption\Util($view, $user);
|
||||
$session = new \OCA\Files_Encryption\Session($view);
|
||||
|
||||
$privateKeySet = $session->getPrivateKey() !== false;
|
||||
// did we tried to initialize the keys for this session?
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
<?php p($_['message']); ?>
|
||||
<br/>
|
||||
<?php if($_['errorCode'] === \OCA\Encryption\Crypt::ENCRYPTION_PRIVATE_KEY_NOT_VALID_ERROR): ?>
|
||||
<?php if($_['errorCode'] === \OCA\Files_Encryption\Crypt::ENCRYPTION_PRIVATE_KEY_NOT_VALID_ERROR): ?>
|
||||
<?php p($l->t('Go directly to your %spersonal settings%s.', array('<a href="'.$location.'">', '</a>'))); ?>
|
||||
<?php endif; ?>
|
||||
<br/>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<form id="encryption" class="section">
|
||||
<h2><?php p($l->t('Encryption')); ?></h2>
|
||||
|
||||
<?php if($_["initStatus"] === \OCA\Encryption\Session::NOT_INITIALIZED): ?>
|
||||
<?php if($_["initStatus"] === \OCA\Files_Encryption\Session::NOT_INITIALIZED): ?>
|
||||
<?php p($l->t("Encryption App is enabled but your keys are not initialized, please log-out and log-in again")); ?>
|
||||
<?php else: ?>
|
||||
<p id="encryptionSetRecoveryKey">
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<form id="encryption" class="section">
|
||||
<h2><?php p( $l->t( 'Encryption' ) ); ?></h2>
|
||||
|
||||
<?php if ( $_["initialized"] === \OCA\Encryption\Session::NOT_INITIALIZED ): ?>
|
||||
<?php if ( $_["initialized"] === \OCA\Files_Encryption\Session::NOT_INITIALIZED ): ?>
|
||||
|
||||
<?php p($l->t("Encryption App is enabled but your keys are not initialized, please log-out and log-in again")); ?>
|
||||
|
||||
<?php elseif ( $_["initialized"] === \OCA\Encryption\Session::INIT_EXECUTED ): ?>
|
||||
<?php elseif ( $_["initialized"] === \OCA\Files_Encryption\Session::INIT_EXECUTED ): ?>
|
||||
<p>
|
||||
<a name="changePKPasswd" />
|
||||
<label for="changePrivateKeyPasswd">
|
||||
|
@ -37,7 +37,7 @@
|
|||
<span class="msg"></span>
|
||||
</p>
|
||||
|
||||
<?php elseif ( $_["recoveryEnabled"] && $_["privateKeySet"] && $_["initialized"] === \OCA\Encryption\Session::INIT_SUCCESSFUL ): ?>
|
||||
<?php elseif ( $_["recoveryEnabled"] && $_["privateKeySet"] && $_["initialized"] === \OCA\Files_Encryption\Session::INIT_SUCCESSFUL ): ?>
|
||||
<br />
|
||||
<p id="userEnableRecovery">
|
||||
<label for="userEnableRecovery"><?php p( $l->t( "Enable password recovery:" ) ); ?></label>
|
||||
|
|
|
@ -7,12 +7,12 @@
|
|||
* See the COPYING-README file.
|
||||
*/
|
||||
|
||||
use OCA\Encryption;
|
||||
namespace OCA\Files_Encryption\Tests;
|
||||
|
||||
/**
|
||||
* Class Test_Encryption_Crypt
|
||||
* Class Crypt
|
||||
*/
|
||||
class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
|
||||
class Crypt extends TestCase {
|
||||
|
||||
const TEST_ENCRYPTION_CRYPT_USER1 = "test-crypt-user1";
|
||||
|
||||
|
@ -23,7 +23,7 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
public $dataUrl;
|
||||
public $dataShort;
|
||||
/**
|
||||
* @var OC\Files\View
|
||||
* @var \OC\Files\View
|
||||
*/
|
||||
public $view;
|
||||
public $legacyEncryptedData;
|
||||
|
@ -34,16 +34,16 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
parent::setUpBeforeClass();
|
||||
|
||||
// create test user
|
||||
self::loginHelper(\Test_Encryption_Crypt::TEST_ENCRYPTION_CRYPT_USER1, true);
|
||||
self::loginHelper(self::TEST_ENCRYPTION_CRYPT_USER1, true);
|
||||
}
|
||||
|
||||
protected function setUp() {
|
||||
parent::setUp();
|
||||
|
||||
// set user id
|
||||
self::loginHelper(\Test_Encryption_Crypt::TEST_ENCRYPTION_CRYPT_USER1);
|
||||
$this->userId = \Test_Encryption_Crypt::TEST_ENCRYPTION_CRYPT_USER1;
|
||||
$this->pass = \Test_Encryption_Crypt::TEST_ENCRYPTION_CRYPT_USER1;
|
||||
self::loginHelper(self::TEST_ENCRYPTION_CRYPT_USER1);
|
||||
$this->userId = self::TEST_ENCRYPTION_CRYPT_USER1;
|
||||
$this->pass = self::TEST_ENCRYPTION_CRYPT_USER1;
|
||||
|
||||
// set content for encrypting / decrypting in tests
|
||||
$this->dataLong = file_get_contents(__DIR__ . '/../lib/crypt.php');
|
||||
|
@ -52,16 +52,16 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
$this->legacyData = __DIR__ . '/legacy-text.txt';
|
||||
$this->legacyEncryptedData = __DIR__ . '/legacy-encrypted-text.txt';
|
||||
$this->legacyEncryptedDataKey = __DIR__ . '/encryption.key';
|
||||
$this->randomKey = Encryption\Crypt::generateKey();
|
||||
$this->randomKey = \OCA\Files_Encryption\Crypt::generateKey();
|
||||
|
||||
$keypair = Encryption\Crypt::createKeypair();
|
||||
$keypair = \OCA\Files_Encryption\Crypt::createKeypair();
|
||||
$this->genPublicKey = $keypair['publicKey'];
|
||||
$this->genPrivateKey = $keypair['privateKey'];
|
||||
|
||||
$this->view = new \OC\Files\View('/');
|
||||
|
||||
// remember files_trashbin state
|
||||
$this->stateFilesTrashbin = OC_App::isEnabled('files_trashbin');
|
||||
$this->stateFilesTrashbin = \OC_App::isEnabled('files_trashbin');
|
||||
|
||||
// we don't want to tests with app files_trashbin enabled
|
||||
\OC_App::disable('files_trashbin');
|
||||
|
@ -70,9 +70,9 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
protected function tearDown() {
|
||||
// reset app files_trashbin
|
||||
if ($this->stateFilesTrashbin) {
|
||||
OC_App::enable('files_trashbin');
|
||||
\OC_App::enable('files_trashbin');
|
||||
} else {
|
||||
OC_App::disable('files_trashbin');
|
||||
\OC_App::disable('files_trashbin');
|
||||
}
|
||||
|
||||
$this->assertTrue(\OC_FileProxy::$enabled);
|
||||
|
@ -83,7 +83,7 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
public static function tearDownAfterClass() {
|
||||
// cleanup test user
|
||||
\OC_User::deleteUser(\Test_Encryption_Crypt::TEST_ENCRYPTION_CRYPT_USER1);
|
||||
\OC_User::deleteUser(self::TEST_ENCRYPTION_CRYPT_USER1);
|
||||
|
||||
parent::tearDownAfterClass();
|
||||
}
|
||||
|
@ -95,7 +95,7 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
# TODO: use more accurate (larger) string length for test confirmation
|
||||
|
||||
$key = Encryption\Crypt::generateKey();
|
||||
$key = \OCA\Files_Encryption\Crypt::generateKey();
|
||||
|
||||
$this->assertTrue(strlen($key) > 16);
|
||||
|
||||
|
@ -104,16 +104,16 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
public function testDecryptPrivateKey() {
|
||||
|
||||
// test successful decrypt
|
||||
$crypted = Encryption\Crypt::symmetricEncryptFileContent($this->genPrivateKey, 'hat');
|
||||
$crypted = \OCA\Files_Encryption\Crypt::symmetricEncryptFileContent($this->genPrivateKey, 'hat');
|
||||
|
||||
$header = Encryption\Crypt::generateHeader();
|
||||
$header = \OCA\Files_Encryption\Crypt::generateHeader();
|
||||
|
||||
$decrypted = Encryption\Crypt::decryptPrivateKey($header . $crypted, 'hat');
|
||||
$decrypted = \OCA\Files_Encryption\Crypt::decryptPrivateKey($header . $crypted, 'hat');
|
||||
|
||||
$this->assertEquals($this->genPrivateKey, $decrypted);
|
||||
|
||||
//test private key decrypt with wrong password
|
||||
$wrongPasswd = Encryption\Crypt::decryptPrivateKey($crypted, 'hat2');
|
||||
$wrongPasswd = \OCA\Files_Encryption\Crypt::decryptPrivateKey($crypted, 'hat2');
|
||||
|
||||
$this->assertEquals(false, $wrongPasswd);
|
||||
|
||||
|
@ -127,12 +127,12 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
# TODO: search in keyfile for actual content as IV will ensure this test always passes
|
||||
|
||||
$crypted = Encryption\Crypt::symmetricEncryptFileContent($this->dataShort, 'hat');
|
||||
$crypted = \OCA\Files_Encryption\Crypt::symmetricEncryptFileContent($this->dataShort, 'hat');
|
||||
|
||||
$this->assertNotEquals($this->dataShort, $crypted);
|
||||
|
||||
|
||||
$decrypt = Encryption\Crypt::symmetricDecryptFileContent($crypted, 'hat');
|
||||
$decrypt = \OCA\Files_Encryption\Crypt::symmetricDecryptFileContent($crypted, 'hat');
|
||||
|
||||
$this->assertEquals($this->dataShort, $decrypt);
|
||||
|
||||
|
@ -145,12 +145,12 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
# TODO: search in keyfile for actual content as IV will ensure this test always passes
|
||||
|
||||
$crypted = Encryption\Crypt::symmetricEncryptFileContent($this->dataShort, 'hat', 'AES-128-CFB');
|
||||
$crypted = \OCA\Files_Encryption\Crypt::symmetricEncryptFileContent($this->dataShort, 'hat', 'AES-128-CFB');
|
||||
|
||||
$this->assertNotEquals($this->dataShort, $crypted);
|
||||
|
||||
|
||||
$decrypt = Encryption\Crypt::symmetricDecryptFileContent($crypted, 'hat', 'AES-128-CFB');
|
||||
$decrypt = \OCA\Files_Encryption\Crypt::symmetricDecryptFileContent($crypted, 'hat', 'AES-128-CFB');
|
||||
|
||||
$this->assertEquals($this->dataShort, $decrypt);
|
||||
|
||||
|
@ -348,7 +348,7 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
// remove the header to check if we can also decrypt old files without a header,
|
||||
// this files should fall back to AES-128
|
||||
$cryptedWithoutHeader = substr($retreivedCryptedFile, Encryption\Crypt::BLOCKSIZE);
|
||||
$cryptedWithoutHeader = substr($retreivedCryptedFile, \OCA\Files_Encryption\Crypt::BLOCKSIZE);
|
||||
$this->view->file_put_contents($this->userId . '/files/' . $filename, $cryptedWithoutHeader);
|
||||
|
||||
// Re-enable proxy - our work is done
|
||||
|
@ -367,13 +367,13 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
*/
|
||||
public function testIsEncryptedContent() {
|
||||
|
||||
$this->assertFalse(Encryption\Crypt::isCatfileContent($this->dataUrl));
|
||||
$this->assertFalse(\OCA\Files_Encryption\Crypt::isCatfileContent($this->dataUrl));
|
||||
|
||||
$this->assertFalse(Encryption\Crypt::isCatfileContent($this->legacyEncryptedData));
|
||||
$this->assertFalse(\OCA\Files_Encryption\Crypt::isCatfileContent($this->legacyEncryptedData));
|
||||
|
||||
$keyfileContent = Encryption\Crypt::symmetricEncryptFileContent($this->dataUrl, 'hat', 'AES-128-CFB');
|
||||
$keyfileContent = \OCA\Files_Encryption\Crypt::symmetricEncryptFileContent($this->dataUrl, 'hat', 'AES-128-CFB');
|
||||
|
||||
$this->assertTrue(Encryption\Crypt::isCatfileContent($keyfileContent));
|
||||
$this->assertTrue(\OCA\Files_Encryption\Crypt::isCatfileContent($keyfileContent));
|
||||
|
||||
}
|
||||
|
||||
|
@ -384,7 +384,7 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
# TODO: search in keyfile for actual content as IV will ensure this test always passes
|
||||
|
||||
$pair1 = Encryption\Crypt::createKeypair();
|
||||
$pair1 = \OCA\Files_Encryption\Crypt::createKeypair();
|
||||
|
||||
$this->assertEquals(2, count($pair1));
|
||||
|
||||
|
@ -393,12 +393,12 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
$this->assertTrue(strlen($pair1['privateKey']) > 1);
|
||||
|
||||
|
||||
$crypted = Encryption\Crypt::multiKeyEncrypt($this->dataShort, array($pair1['publicKey']));
|
||||
$crypted = \OCA\Files_Encryption\Crypt::multiKeyEncrypt($this->dataShort, array($pair1['publicKey']));
|
||||
|
||||
$this->assertNotEquals($this->dataShort, $crypted['data']);
|
||||
|
||||
|
||||
$decrypt = Encryption\Crypt::multiKeyDecrypt($crypted['data'], $crypted['keys'][0], $pair1['privateKey']);
|
||||
$decrypt = \OCA\Files_Encryption\Crypt::multiKeyDecrypt($crypted['data'], $crypted['keys'][0], $pair1['privateKey']);
|
||||
|
||||
$this->assertEquals($this->dataShort, $decrypt);
|
||||
|
||||
|
@ -529,7 +529,7 @@ class Test_Encryption_Crypt extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
// relogin
|
||||
$params['uid'] = $this->userId;
|
||||
$params['password'] = 'test';
|
||||
OCA\Encryption\Hooks::login($params);
|
||||
\OCA\Files_Encryption\Hooks::login($params);
|
||||
|
||||
// Get file decrypted contents
|
||||
$newDecrypt = file_get_contents('crypt:///' . $this->userId . '/files/' . $filename);
|
||||
|
|
|
@ -6,35 +6,35 @@
|
|||
* See the COPYING-README file.
|
||||
*/
|
||||
|
||||
use OCA\Encryption;
|
||||
namespace OCA\Files_Encryption\Tests;
|
||||
|
||||
/**
|
||||
* Class Test_Encryption_Helper
|
||||
* Class Helper
|
||||
*/
|
||||
class Test_Encryption_Helper extends \OCA\Files_Encryption\Tests\TestCase {
|
||||
class Helper extends TestCase {
|
||||
|
||||
const TEST_ENCRYPTION_HELPER_USER1 = "test-helper-user1";
|
||||
const TEST_ENCRYPTION_HELPER_USER2 = "test-helper-user2";
|
||||
|
||||
protected function setUpUsers() {
|
||||
// create test user
|
||||
self::loginHelper(\Test_Encryption_Helper::TEST_ENCRYPTION_HELPER_USER2, true);
|
||||
self::loginHelper(\Test_Encryption_Helper::TEST_ENCRYPTION_HELPER_USER1, true);
|
||||
self::loginHelper(self::TEST_ENCRYPTION_HELPER_USER2, true);
|
||||
self::loginHelper(self::TEST_ENCRYPTION_HELPER_USER1, true);
|
||||
}
|
||||
|
||||
protected function cleanUpUsers() {
|
||||
// cleanup test user
|
||||
\OC_User::deleteUser(\Test_Encryption_Helper::TEST_ENCRYPTION_HELPER_USER1);
|
||||
\OC_User::deleteUser(\Test_Encryption_Helper::TEST_ENCRYPTION_HELPER_USER2);
|
||||
\OC_User::deleteUser(self::TEST_ENCRYPTION_HELPER_USER1);
|
||||
\OC_User::deleteUser(self::TEST_ENCRYPTION_HELPER_USER2);
|
||||
}
|
||||
|
||||
public static function setupHooks() {
|
||||
// Filesystem related hooks
|
||||
\OCA\Encryption\Helper::registerFilesystemHooks();
|
||||
\OCA\Files_Encryption\Helper::registerFilesystemHooks();
|
||||
|
||||
// clear and register hooks
|
||||
\OC_FileProxy::clearProxies();
|
||||
\OC_FileProxy::register(new OCA\Encryption\Proxy());
|
||||
\OC_FileProxy::register(new \OCA\Files_Encryption\Proxy());
|
||||
}
|
||||
|
||||
public static function tearDownAfterClass() {
|
||||
|
@ -49,13 +49,13 @@ class Test_Encryption_Helper extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
$partFilename = 'testfile.txt.part';
|
||||
$filename = 'testfile.txt';
|
||||
|
||||
$this->assertTrue(Encryption\Helper::isPartialFilePath($partFilename));
|
||||
$this->assertTrue(\OCA\Files_Encryption\Helper::isPartialFilePath($partFilename));
|
||||
|
||||
$this->assertEquals('testfile.txt', Encryption\Helper::stripPartialFileExtension($partFilename));
|
||||
$this->assertEquals('testfile.txt', \OCA\Files_Encryption\Helper::stripPartialFileExtension($partFilename));
|
||||
|
||||
$this->assertFalse(Encryption\Helper::isPartialFilePath($filename));
|
||||
$this->assertFalse(\OCA\Files_Encryption\Helper::isPartialFilePath($filename));
|
||||
|
||||
$this->assertEquals('testfile.txt', Encryption\Helper::stripPartialFileExtension($filename));
|
||||
$this->assertEquals('testfile.txt', \OCA\Files_Encryption\Helper::stripPartialFileExtension($filename));
|
||||
}
|
||||
|
||||
|
||||
|
@ -67,13 +67,13 @@ class Test_Encryption_Helper extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
$partFilename = 'testfile.txt.ocTransferId643653835.part';
|
||||
$filename = 'testfile.txt';
|
||||
|
||||
$this->assertTrue(Encryption\Helper::isPartialFilePath($partFilename));
|
||||
$this->assertTrue(\OCA\Files_Encryption\Helper::isPartialFilePath($partFilename));
|
||||
|
||||
$this->assertEquals('testfile.txt', Encryption\Helper::stripPartialFileExtension($partFilename));
|
||||
$this->assertEquals('testfile.txt', \OCA\Files_Encryption\Helper::stripPartialFileExtension($partFilename));
|
||||
|
||||
$this->assertFalse(Encryption\Helper::isPartialFilePath($filename));
|
||||
$this->assertFalse(\OCA\Files_Encryption\Helper::isPartialFilePath($filename));
|
||||
|
||||
$this->assertEquals('testfile.txt', Encryption\Helper::stripPartialFileExtension($filename));
|
||||
$this->assertEquals('testfile.txt', \OCA\Files_Encryption\Helper::stripPartialFileExtension($filename));
|
||||
}
|
||||
|
||||
function testGetPathToRealFile() {
|
||||
|
@ -85,8 +85,8 @@ class Test_Encryption_Helper extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
$versionPath = "/user/files_versions/foo/bar/test.txt.v456756835";
|
||||
$cachePath = "/user/cache/transferid636483/foo/bar/test.txt";
|
||||
|
||||
$this->assertEquals($relativePath, Encryption\Helper::getPathToRealFile($versionPath));
|
||||
$this->assertEquals($relativePath, Encryption\Helper::getPathToRealFile($cachePath));
|
||||
$this->assertEquals($relativePath, \OCA\Files_Encryption\Helper::getPathToRealFile($versionPath));
|
||||
$this->assertEquals($relativePath, \OCA\Files_Encryption\Helper::getPathToRealFile($cachePath));
|
||||
}
|
||||
|
||||
function testGetUser() {
|
||||
|
@ -100,20 +100,20 @@ class Test_Encryption_Helper extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
self::loginHelper(self::TEST_ENCRYPTION_HELPER_USER1);
|
||||
|
||||
// if we are logged-in every path should return the currently logged-in user
|
||||
$this->assertEquals(self::TEST_ENCRYPTION_HELPER_USER1, Encryption\Helper::getUser($path3));
|
||||
$this->assertEquals(self::TEST_ENCRYPTION_HELPER_USER1, \OCA\Files_Encryption\Helper::getUser($path3));
|
||||
|
||||
// now log out
|
||||
self::logoutHelper();
|
||||
|
||||
// now we should only get the user from /user/files and user/cache paths
|
||||
$this->assertEquals(self::TEST_ENCRYPTION_HELPER_USER1, Encryption\Helper::getUser($path1));
|
||||
$this->assertEquals(self::TEST_ENCRYPTION_HELPER_USER1, Encryption\Helper::getUser($path2));
|
||||
$this->assertEquals(self::TEST_ENCRYPTION_HELPER_USER1, \OCA\Files_Encryption\Helper::getUser($path1));
|
||||
$this->assertEquals(self::TEST_ENCRYPTION_HELPER_USER1, \OCA\Files_Encryption\Helper::getUser($path2));
|
||||
|
||||
$this->assertFalse(Encryption\Helper::getUser($path3));
|
||||
$this->assertFalse(Encryption\Helper::getUser($path4));
|
||||
$this->assertFalse(\OCA\Files_Encryption\Helper::getUser($path3));
|
||||
$this->assertFalse(\OCA\Files_Encryption\Helper::getUser($path4));
|
||||
|
||||
// Log-in again
|
||||
self::loginHelper(\Test_Encryption_Helper::TEST_ENCRYPTION_HELPER_USER1);
|
||||
self::loginHelper(self::TEST_ENCRYPTION_HELPER_USER1);
|
||||
self::cleanUpUsers();
|
||||
}
|
||||
|
||||
|
|
|
@ -20,13 +20,13 @@
|
|||
*
|
||||
*/
|
||||
|
||||
use OCA\Encryption;
|
||||
namespace OCA\Files_Encryption\Tests;
|
||||
|
||||
/**
|
||||
* Class Test_Encryption_Hooks
|
||||
* Class Hooks
|
||||
* this class provide basic hook app tests
|
||||
*/
|
||||
class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
|
||||
class Hooks extends TestCase {
|
||||
|
||||
const TEST_ENCRYPTION_HOOKS_USER1 = "test-encryption-hooks-user1.dot";
|
||||
const TEST_ENCRYPTION_HOOKS_USER2 = "test-encryption-hooks-user2.dot";
|
||||
|
@ -64,20 +64,20 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
);
|
||||
|
||||
// create test user
|
||||
self::loginHelper(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1, true);
|
||||
self::loginHelper(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2, true);
|
||||
self::loginHelper(self::TEST_ENCRYPTION_HOOKS_USER1, true);
|
||||
self::loginHelper(self::TEST_ENCRYPTION_HOOKS_USER2, true);
|
||||
}
|
||||
|
||||
protected function setUp() {
|
||||
parent::setUp();
|
||||
|
||||
// set user id
|
||||
self::loginHelper(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1);
|
||||
\OC_User::setUserId(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1);
|
||||
self::loginHelper(self::TEST_ENCRYPTION_HOOKS_USER1);
|
||||
\OC_User::setUserId(self::TEST_ENCRYPTION_HOOKS_USER1);
|
||||
|
||||
// init filesystem view
|
||||
$this->user1View = new \OC\Files\View('/'. \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1 . '/files');
|
||||
$this->user2View = new \OC\Files\View('/'. \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2 . '/files');
|
||||
$this->user1View = new \OC\Files\View('/'. self::TEST_ENCRYPTION_HOOKS_USER1 . '/files');
|
||||
$this->user2View = new \OC\Files\View('/'. self::TEST_ENCRYPTION_HOOKS_USER2 . '/files');
|
||||
$this->rootView = new \OC\Files\View('/');
|
||||
|
||||
// init short data
|
||||
|
@ -89,8 +89,8 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
public static function tearDownAfterClass() {
|
||||
// cleanup test user
|
||||
\OC_User::deleteUser(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1);
|
||||
\OC_User::deleteUser(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2);
|
||||
\OC_User::deleteUser(self::TEST_ENCRYPTION_HOOKS_USER1);
|
||||
\OC_User::deleteUser(self::TEST_ENCRYPTION_HOOKS_USER2);
|
||||
|
||||
parent::tearDownAfterClass();
|
||||
}
|
||||
|
@ -104,7 +104,7 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
$this->assertTrue(is_array($row));
|
||||
|
||||
// disabling the app should delete all user specific settings
|
||||
\OCA\Encryption\Hooks::preDisable(array('app' => 'files_encryption'));
|
||||
\OCA\Files_Encryption\Hooks::preDisable(array('app' => 'files_encryption'));
|
||||
|
||||
// check if user specific settings for the encryption app are really gone
|
||||
$query = \OC_DB::prepare('SELECT * FROM `*PREFIX*preferences` WHERE `appid` = ?');
|
||||
|
@ -121,7 +121,7 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
function testDeleteHooks() {
|
||||
|
||||
// remember files_trashbin state
|
||||
$stateFilesTrashbin = OC_App::isEnabled('files_trashbin');
|
||||
$stateFilesTrashbin = \OC_App::isEnabled('files_trashbin');
|
||||
|
||||
// we want to tests with app files_trashbin disabled
|
||||
\OC_App::disable('files_trashbin');
|
||||
|
@ -134,14 +134,14 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
// check if all keys are generated
|
||||
$this->assertTrue($this->rootView->file_exists(
|
||||
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/'
|
||||
. $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1 . '.shareKey'));
|
||||
. $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '.shareKey'));
|
||||
$this->assertTrue($this->rootView->file_exists(
|
||||
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/' . $this->filename . '/fileKey'));
|
||||
|
||||
|
||||
self::logoutHelper();
|
||||
self::loginHelper(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2);
|
||||
\OC_User::setUserId(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2);
|
||||
self::loginHelper(self::TEST_ENCRYPTION_HOOKS_USER2);
|
||||
\OC_User::setUserId(self::TEST_ENCRYPTION_HOOKS_USER2);
|
||||
|
||||
|
||||
$this->user2View->file_put_contents($this->filename, $this->data);
|
||||
|
@ -149,7 +149,7 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
// check if all keys are generated
|
||||
$this->assertTrue($this->rootView->file_exists(
|
||||
self::TEST_ENCRYPTION_HOOKS_USER2 . '/files_encryption/keys/'
|
||||
. $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
|
||||
. $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
|
||||
$this->assertTrue($this->rootView->file_exists(
|
||||
self::TEST_ENCRYPTION_HOOKS_USER2 . '/files_encryption/keys/' . $this->filename . '/fileKey'));
|
||||
|
||||
|
@ -164,7 +164,7 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
// all keys should still exist
|
||||
$this->assertTrue($this->rootView->file_exists(
|
||||
self::TEST_ENCRYPTION_HOOKS_USER2 . '/files_encryption/keys/'
|
||||
. $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
|
||||
. $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
|
||||
$this->assertTrue($this->rootView->file_exists(
|
||||
self::TEST_ENCRYPTION_HOOKS_USER2 . '/files_encryption/keys/' . $this->filename . '/fileKey'));
|
||||
|
||||
|
@ -176,33 +176,33 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
// check if keys from user2 are really deleted
|
||||
$this->assertFalse($this->rootView->file_exists(
|
||||
self::TEST_ENCRYPTION_HOOKS_USER2 . '/files_encryption/keys/'
|
||||
. $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
|
||||
. $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
|
||||
$this->assertFalse($this->rootView->file_exists(
|
||||
self::TEST_ENCRYPTION_HOOKS_USER2 . '/files_encryption/keys/' . $this->filename . '/fileKey'));
|
||||
|
||||
// but user1 keys should still exist
|
||||
$this->assertTrue($this->rootView->file_exists(
|
||||
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/'
|
||||
. $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1 . '.shareKey'));
|
||||
. $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '.shareKey'));
|
||||
$this->assertTrue($this->rootView->file_exists(
|
||||
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/' . $this->filename . '/fileKey'));
|
||||
|
||||
if ($stateFilesTrashbin) {
|
||||
OC_App::enable('files_trashbin');
|
||||
\OC_App::enable('files_trashbin');
|
||||
}
|
||||
else {
|
||||
OC_App::disable('files_trashbin');
|
||||
\OC_App::disable('files_trashbin');
|
||||
}
|
||||
}
|
||||
|
||||
function testDeleteHooksForSharedFiles() {
|
||||
|
||||
self::logoutHelper();
|
||||
self::loginHelper(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1);
|
||||
\OC_User::setUserId(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1);
|
||||
self::loginHelper(self::TEST_ENCRYPTION_HOOKS_USER1);
|
||||
\OC_User::setUserId(self::TEST_ENCRYPTION_HOOKS_USER1);
|
||||
|
||||
// remember files_trashbin state
|
||||
$stateFilesTrashbin = OC_App::isEnabled('files_trashbin');
|
||||
$stateFilesTrashbin = \OC_App::isEnabled('files_trashbin');
|
||||
|
||||
// we want to tests with app files_trashbin disabled
|
||||
\OC_App::disable('files_trashbin');
|
||||
|
@ -215,7 +215,7 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
// check if all keys are generated
|
||||
$this->assertTrue($this->rootView->file_exists(
|
||||
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/'
|
||||
. $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1 . '.shareKey'));
|
||||
. $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '.shareKey'));
|
||||
$this->assertTrue($this->rootView->file_exists(
|
||||
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/' . $this->filename . '/fileKey'));
|
||||
|
||||
|
@ -231,11 +231,11 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
// check if new share key exists
|
||||
$this->assertTrue($this->rootView->file_exists(
|
||||
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/'
|
||||
. $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
|
||||
. $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
|
||||
|
||||
self::logoutHelper();
|
||||
self::loginHelper(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2);
|
||||
\OC_User::setUserId(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2);
|
||||
self::loginHelper(self::TEST_ENCRYPTION_HOOKS_USER2);
|
||||
\OC_User::setUserId(self::TEST_ENCRYPTION_HOOKS_USER2);
|
||||
|
||||
// user2 update the shared file
|
||||
$this->user2View->file_put_contents($this->filename, $this->data);
|
||||
|
@ -243,7 +243,7 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
// keys should be stored at user1s dir, not in user2s
|
||||
$this->assertFalse($this->rootView->file_exists(
|
||||
self::TEST_ENCRYPTION_HOOKS_USER2 . '/files_encryption/keys/'
|
||||
. $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
|
||||
. $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
|
||||
$this->assertFalse($this->rootView->file_exists(
|
||||
self::TEST_ENCRYPTION_HOOKS_USER2 . '/files_encryption/keys/' . $this->filename . '/fileKey'));
|
||||
|
||||
|
@ -255,24 +255,24 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
// share key for user2 from user1s home should be gone, all other keys should still exists
|
||||
$this->assertTrue($this->rootView->file_exists(
|
||||
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/'
|
||||
. $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1 . '.shareKey'));
|
||||
. $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER1 . '.shareKey'));
|
||||
$this->assertFalse($this->rootView->file_exists(
|
||||
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/'
|
||||
. $this->filename . '/' . \Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
|
||||
. $this->filename . '/' . self::TEST_ENCRYPTION_HOOKS_USER2 . '.shareKey'));
|
||||
$this->assertTrue($this->rootView->file_exists(
|
||||
self::TEST_ENCRYPTION_HOOKS_USER1 . '/files_encryption/keys/' . $this->filename . '/fileKey'));
|
||||
|
||||
// cleanup
|
||||
|
||||
self::logoutHelper();
|
||||
self::loginHelper(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1);
|
||||
\OC_User::setUserId(\Test_Encryption_Hooks::TEST_ENCRYPTION_HOOKS_USER1);
|
||||
self::loginHelper(self::TEST_ENCRYPTION_HOOKS_USER1);
|
||||
\OC_User::setUserId(self::TEST_ENCRYPTION_HOOKS_USER1);
|
||||
|
||||
if ($stateFilesTrashbin) {
|
||||
OC_App::enable('files_trashbin');
|
||||
\OC_App::enable('files_trashbin');
|
||||
}
|
||||
else {
|
||||
OC_App::disable('files_trashbin');
|
||||
\OC_App::disable('files_trashbin');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -407,35 +407,35 @@ class Test_Encryption_Hooks extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
$view = new \OC\Files\View();
|
||||
|
||||
// set user password for the first time
|
||||
\OCA\Encryption\Hooks::postCreateUser(array('uid' => 'newUser', 'password' => 'newUserPassword'));
|
||||
\OCA\Files_Encryption\Hooks::postCreateUser(array('uid' => 'newUser', 'password' => 'newUserPassword'));
|
||||
|
||||
$this->assertTrue($view->file_exists(\OCA\Encryption\Keymanager::getPublicKeyPath() . '/newUser.publicKey'));
|
||||
$this->assertTrue($view->file_exists(\OCA\Files_Encryption\Keymanager::getPublicKeyPath() . '/newUser.publicKey'));
|
||||
$this->assertTrue($view->file_exists('newUser/files_encryption/newUser.privateKey'));
|
||||
|
||||
// check if we are able to decrypt the private key
|
||||
$encryptedKey = \OCA\Encryption\Keymanager::getPrivateKey($view, 'newUser');
|
||||
$privateKey = \OCA\Encryption\Crypt::decryptPrivateKey($encryptedKey, 'newUserPassword');
|
||||
$encryptedKey = \OCA\Files_Encryption\Keymanager::getPrivateKey($view, 'newUser');
|
||||
$privateKey = \OCA\Files_Encryption\Crypt::decryptPrivateKey($encryptedKey, 'newUserPassword');
|
||||
$this->assertTrue(is_string($privateKey));
|
||||
|
||||
// change the password before the user logged-in for the first time,
|
||||
// we can replace the encryption keys
|
||||
\OCA\Encryption\Hooks::setPassphrase(array('uid' => 'newUser', 'password' => 'passwordChanged'));
|
||||
\OCA\Files_Encryption\Hooks::setPassphrase(array('uid' => 'newUser', 'password' => 'passwordChanged'));
|
||||
|
||||
$encryptedKey = \OCA\Encryption\Keymanager::getPrivateKey($view, 'newUser');
|
||||
$privateKey = \OCA\Encryption\Crypt::decryptPrivateKey($encryptedKey, 'passwordChanged');
|
||||
$encryptedKey = \OCA\Files_Encryption\Keymanager::getPrivateKey($view, 'newUser');
|
||||
$privateKey = \OCA\Files_Encryption\Crypt::decryptPrivateKey($encryptedKey, 'passwordChanged');
|
||||
$this->assertTrue(is_string($privateKey));
|
||||
|
||||
// now create a files folder to simulate a already used account
|
||||
$view->mkdir('/newUser/files');
|
||||
|
||||
// change the password after the user logged in, now the password should not change
|
||||
\OCA\Encryption\Hooks::setPassphrase(array('uid' => 'newUser', 'password' => 'passwordChanged2'));
|
||||
\OCA\Files_Encryption\Hooks::setPassphrase(array('uid' => 'newUser', 'password' => 'passwordChanged2'));
|
||||
|
||||
$encryptedKey = \OCA\Encryption\Keymanager::getPrivateKey($view, 'newUser');
|
||||
$privateKey = \OCA\Encryption\Crypt::decryptPrivateKey($encryptedKey, 'passwordChanged2');
|
||||
$encryptedKey = \OCA\Files_Encryption\Keymanager::getPrivateKey($view, 'newUser');
|
||||
$privateKey = \OCA\Files_Encryption\Crypt::decryptPrivateKey($encryptedKey, 'passwordChanged2');
|
||||
$this->assertFalse($privateKey);
|
||||
|
||||
$privateKey = \OCA\Encryption\Crypt::decryptPrivateKey($encryptedKey, 'passwordChanged');
|
||||
$privateKey = \OCA\Files_Encryption\Crypt::decryptPrivateKey($encryptedKey, 'passwordChanged');
|
||||
$this->assertTrue(is_string($privateKey));
|
||||
|
||||
}
|
||||
|
|
|
@ -6,12 +6,12 @@
|
|||
* See the COPYING-README file.
|
||||
*/
|
||||
|
||||
use OCA\Encryption;
|
||||
namespace OCA\Files_Encryption\Tests;
|
||||
|
||||
/**
|
||||
* Class Test_Encryption_Keymanager
|
||||
* Class Keymanager
|
||||
*/
|
||||
class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
|
||||
class Keymanager extends TestCase {
|
||||
|
||||
const TEST_USER = "test-keymanager-user.dot";
|
||||
|
||||
|
@ -19,7 +19,7 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
public $pass;
|
||||
public static $stateFilesTrashbin;
|
||||
/**
|
||||
* @var OC\Files\View
|
||||
* @var \OC\Files\View
|
||||
*/
|
||||
public $view;
|
||||
public $randomKey;
|
||||
|
@ -32,14 +32,14 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
\OC_FileProxy::$enabled = false;
|
||||
|
||||
// remember files_trashbin state
|
||||
self::$stateFilesTrashbin = OC_App::isEnabled('files_trashbin');
|
||||
self::$stateFilesTrashbin = \OC_App::isEnabled('files_trashbin');
|
||||
|
||||
// we don't want to tests with app files_trashbin enabled
|
||||
\OC_App::disable('files_trashbin');
|
||||
|
||||
// create test user
|
||||
\OC_User::deleteUser(\Test_Encryption_Keymanager::TEST_USER);
|
||||
parent::loginHelper(\Test_Encryption_Keymanager::TEST_USER, true);
|
||||
\OC_User::deleteUser(self::TEST_USER);
|
||||
parent::loginHelper(self::TEST_USER, true);
|
||||
}
|
||||
|
||||
protected function setUp() {
|
||||
|
@ -50,24 +50,24 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
$this->dataUrl = __DIR__ . '/../lib/crypt.php';
|
||||
$this->legacyData = __DIR__ . '/legacy-text.txt';
|
||||
$this->legacyEncryptedData = __DIR__ . '/legacy-encrypted-text.txt';
|
||||
$this->randomKey = Encryption\Crypt::generateKey();
|
||||
$this->randomKey = \OCA\Files_Encryption\Crypt::generateKey();
|
||||
|
||||
$keypair = Encryption\Crypt::createKeypair();
|
||||
$keypair = \OCA\Files_Encryption\Crypt::createKeypair();
|
||||
$this->genPublicKey = $keypair['publicKey'];
|
||||
$this->genPrivateKey = $keypair['privateKey'];
|
||||
|
||||
$this->view = new \OC\Files\View('/');
|
||||
|
||||
self::loginHelper(Test_Encryption_Keymanager::TEST_USER);
|
||||
$this->userId = \Test_Encryption_Keymanager::TEST_USER;
|
||||
$this->pass = \Test_Encryption_Keymanager::TEST_USER;
|
||||
self::loginHelper(self::TEST_USER);
|
||||
$this->userId = self::TEST_USER;
|
||||
$this->pass = self::TEST_USER;
|
||||
|
||||
$userHome = \OC_User::getHome($this->userId);
|
||||
$this->dataDir = str_replace('/' . $this->userId, '', $userHome);
|
||||
}
|
||||
|
||||
function tearDown() {
|
||||
$this->view->deleteAll('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys');
|
||||
$this->view->deleteAll('/' . self::TEST_USER . '/files_encryption/keys');
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
|
@ -75,10 +75,10 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
\OC_FileProxy::$enabled = true;
|
||||
|
||||
// cleanup test user
|
||||
\OC_User::deleteUser(\Test_Encryption_Keymanager::TEST_USER);
|
||||
\OC_User::deleteUser(self::TEST_USER);
|
||||
// reset app files_trashbin
|
||||
if (self::$stateFilesTrashbin) {
|
||||
OC_App::enable('files_trashbin');
|
||||
\OC_App::enable('files_trashbin');
|
||||
}
|
||||
|
||||
parent::tearDownAfterClass();
|
||||
|
@ -89,9 +89,9 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
*/
|
||||
function testGetPrivateKey() {
|
||||
|
||||
$key = Encryption\Keymanager::getPrivateKey($this->view, $this->userId);
|
||||
$key = \OCA\Files_Encryption\Keymanager::getPrivateKey($this->view, $this->userId);
|
||||
|
||||
$privateKey = Encryption\Crypt::decryptPrivateKey($key, $this->pass);
|
||||
$privateKey = \OCA\Files_Encryption\Crypt::decryptPrivateKey($key, $this->pass);
|
||||
|
||||
$res = openssl_pkey_get_private($privateKey);
|
||||
|
||||
|
@ -108,7 +108,7 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
*/
|
||||
function testGetPublicKey() {
|
||||
|
||||
$publiceKey = Encryption\Keymanager::getPublicKey($this->view, $this->userId);
|
||||
$publiceKey = \OCA\Files_Encryption\Keymanager::getPublicKey($this->view, $this->userId);
|
||||
|
||||
$res = openssl_pkey_get_public($publiceKey);
|
||||
|
||||
|
@ -128,7 +128,7 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
$file = 'unittest-' . $this->getUniqueID() . '.txt';
|
||||
|
||||
$util = new Encryption\Util($this->view, $this->userId);
|
||||
$util = new \OCA\Files_Encryption\Util($this->view, $this->userId);
|
||||
|
||||
// Disable encryption proxy to prevent recursive calls
|
||||
$proxyStatus = \OC_FileProxy::$enabled;
|
||||
|
@ -136,7 +136,7 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
$this->view->file_put_contents($this->userId . '/files/' . $file, $this->dataShort);
|
||||
|
||||
Encryption\Keymanager::setFileKey($this->view, $util, $file, $key);
|
||||
\OCA\Files_Encryption\Keymanager::setFileKey($this->view, $util, $file, $key);
|
||||
|
||||
$this->assertTrue($this->view->file_exists('/' . $this->userId . '/files_encryption/keys/' . $file . '/fileKey'));
|
||||
|
||||
|
@ -154,7 +154,7 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
$key = "dummy key";
|
||||
|
||||
Encryption\Keymanager::setPrivateKey($key, 'dummyUser');
|
||||
\OCA\Files_Encryption\Keymanager::setPrivateKey($key, 'dummyUser');
|
||||
|
||||
$this->assertTrue($this->view->file_exists('/dummyUser/files_encryption/dummyUser.privateKey'));
|
||||
|
||||
|
@ -169,13 +169,13 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
$key = "dummy key";
|
||||
$keyName = "myDummyKey";
|
||||
$encHeader = Encryption\Crypt::generateHeader();
|
||||
$encHeader = \OCA\Files_Encryption\Crypt::generateHeader();
|
||||
|
||||
Encryption\Keymanager::setPrivateSystemKey($key, $keyName);
|
||||
\OCA\Files_Encryption\Keymanager::setPrivateSystemKey($key, $keyName);
|
||||
|
||||
$this->assertTrue($this->view->file_exists('/files_encryption/' . $keyName . '.privateKey'));
|
||||
|
||||
$result = Encryption\Keymanager::getPrivateSystemKey($keyName);
|
||||
$result = \OCA\Files_Encryption\Keymanager::getPrivateSystemKey($keyName);
|
||||
|
||||
$this->assertSame($encHeader . $key, $result);
|
||||
|
||||
|
@ -189,7 +189,7 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
*/
|
||||
function testGetUserKeys() {
|
||||
|
||||
$keys = Encryption\Keymanager::getUserKeys($this->view, $this->userId);
|
||||
$keys = \OCA\Files_Encryption\Keymanager::getUserKeys($this->view, $this->userId);
|
||||
|
||||
$resPublic = openssl_pkey_get_public($keys['publicKey']);
|
||||
|
||||
|
@ -199,7 +199,7 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
$this->assertArrayHasKey('key', $sslInfoPublic);
|
||||
|
||||
$privateKey = Encryption\Crypt::decryptPrivateKey($keys['privateKey'], $this->pass);
|
||||
$privateKey = \OCA\Files_Encryption\Crypt::decryptPrivateKey($keys['privateKey'], $this->pass);
|
||||
|
||||
$resPrivate = openssl_pkey_get_private($privateKey);
|
||||
|
||||
|
@ -215,85 +215,85 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
*/
|
||||
function testRecursiveDelShareKeysFolder() {
|
||||
|
||||
$this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1/existingFile.txt', 'data');
|
||||
$this->view->mkdir('/' . self::TEST_USER . '/files/folder1');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files/folder1/existingFile.txt', 'data');
|
||||
|
||||
// create folder structure for some dummy share key files
|
||||
$this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1');
|
||||
$this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/existingFile.txt');
|
||||
$this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1');
|
||||
$this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file2');
|
||||
$this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder');
|
||||
$this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/file2');
|
||||
$this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/subsubfolder');
|
||||
$this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/subsubfolder/file1');
|
||||
$this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/subsubfolder/file2');
|
||||
$this->view->mkdir('/' . self::TEST_USER . '/files_encryption/keys/folder1');
|
||||
$this->view->mkdir('/' . self::TEST_USER . '/files_encryption/keys/folder1/existingFile.txt');
|
||||
$this->view->mkdir('/' . self::TEST_USER . '/files_encryption/keys/folder1/file1');
|
||||
$this->view->mkdir('/' . self::TEST_USER . '/files_encryption/keys/folder1/file2');
|
||||
$this->view->mkdir('/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder');
|
||||
$this->view->mkdir('/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/file2');
|
||||
$this->view->mkdir('/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/subsubfolder');
|
||||
$this->view->mkdir('/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/subsubfolder/file1');
|
||||
$this->view->mkdir('/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/subsubfolder/file2');
|
||||
|
||||
// create some dummy share keys
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/existingFile.txt/user1.shareKey', 'data');
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/existingFile.txt/' . Test_Encryption_Keymanager::TEST_USER . '.shareKey', 'data');
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/user1.shareKey', 'data');
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/user1.test.shareKey', 'data');
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/test-keymanager-userxdot.shareKey', 'data');
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/userx.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey', 'data');
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/' . Test_Encryption_Keymanager::TEST_USER . '.userx.shareKey', 'data');
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/user1.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey', 'data');
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/' . Test_Encryption_Keymanager::TEST_USER . '.user1.shareKey', 'data');
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file2/user2.shareKey', 'data');
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file2/user3.shareKey', 'data');
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/file2/user3.shareKey', 'data');
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/subsubfolder/file1/user1.shareKey', 'data');
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/subsubfolder/file2/user2.shareKey', 'data');
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/subsubfolder/file2/user3.shareKey', 'data');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/existingFile.txt/user1.shareKey', 'data');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/existingFile.txt/' . self::TEST_USER . '.shareKey', 'data');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/user1.shareKey', 'data');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/user1.test.shareKey', 'data');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/test-keymanager-userxdot.shareKey', 'data');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/userx.' . self::TEST_USER . '.shareKey', 'data');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/' . self::TEST_USER . '.userx.shareKey', 'data');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/user1.' . self::TEST_USER . '.shareKey', 'data');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/' . self::TEST_USER . '.user1.shareKey', 'data');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/file2/user2.shareKey', 'data');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/file2/user3.shareKey', 'data');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/file2/user3.shareKey', 'data');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/subsubfolder/file1/user1.shareKey', 'data');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/subsubfolder/file2/user2.shareKey', 'data');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/subsubfolder/file2/user3.shareKey', 'data');
|
||||
|
||||
// recursive delete share keys from user1 and user2
|
||||
Encryption\Keymanager::delShareKey($this->view,
|
||||
array('user1', 'user2', Test_Encryption_Keymanager::TEST_USER),
|
||||
Encryption\Keymanager::getKeyPath($this->view, new Encryption\Util($this->view, Test_Encryption_Keymanager::TEST_USER), '/folder1'),
|
||||
Test_Encryption_Keymanager::TEST_USER,
|
||||
\OCA\Files_Encryption\Keymanager::delShareKey($this->view,
|
||||
array('user1', 'user2', self::TEST_USER),
|
||||
\OCA\Files_Encryption\Keymanager::getKeyPath($this->view, new \OCA\Files_Encryption\Util($this->view, self::TEST_USER), '/folder1'),
|
||||
self::TEST_USER,
|
||||
'/folder1');
|
||||
|
||||
// check if share keys from user1 and user2 are deleted
|
||||
$this->assertFalse($this->view->file_exists(
|
||||
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/existingFile.txt/user1.shareKey'));
|
||||
'/' . self::TEST_USER . '/files_encryption/keys/folder1/existingFile.txt/user1.shareKey'));
|
||||
$this->assertFalse($this->view->file_exists(
|
||||
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/file1/user1.shareKey'));
|
||||
'/' . self::TEST_USER . '/files_encryption/share-keys/folder1/file1/user1.shareKey'));
|
||||
$this->assertFalse($this->view->file_exists(
|
||||
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/file2/user2.shareKey'));
|
||||
'/' . self::TEST_USER . '/files_encryption/share-keys/folder1/file2/user2.shareKey'));
|
||||
$this->assertFalse($this->view->file_exists(
|
||||
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/subfolder/subsubfolder/file1/user1.shareKey'));
|
||||
'/' . self::TEST_USER . '/files_encryption/share-keys/folder1/subfolder/subsubfolder/file1/user1.shareKey'));
|
||||
$this->assertFalse($this->view->file_exists(
|
||||
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/subfolder/subsubfolder/file2/user2.shareKey'));
|
||||
'/' . self::TEST_USER . '/files_encryption/share-keys/folder1/subfolder/subsubfolder/file2/user2.shareKey'));
|
||||
|
||||
// check if share keys from user3 still exists
|
||||
$this->assertTrue($this->view->file_exists(
|
||||
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file2/user3.shareKey'));
|
||||
'/' . self::TEST_USER . '/files_encryption/keys/folder1/file2/user3.shareKey'));
|
||||
$this->assertTrue($this->view->file_exists(
|
||||
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/subsubfolder/file2/user3.shareKey'));
|
||||
'/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/subsubfolder/file2/user3.shareKey'));
|
||||
$this->assertTrue($this->view->file_exists(
|
||||
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/subfolder/file2/user3.shareKey'));
|
||||
'/' . self::TEST_USER . '/files_encryption/keys/folder1/subfolder/file2/user3.shareKey'));
|
||||
|
||||
// check if share keys for user or file with similar name
|
||||
$this->assertTrue($this->view->file_exists(
|
||||
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/user1.test.shareKey'));
|
||||
'/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/user1.test.shareKey'));
|
||||
$this->assertTrue($this->view->file_exists(
|
||||
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/test-keymanager-userxdot.shareKey'));
|
||||
'/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/test-keymanager-userxdot.shareKey'));
|
||||
$this->assertTrue($this->view->file_exists(
|
||||
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/' . Test_Encryption_Keymanager::TEST_USER . '.userx.shareKey'));
|
||||
'/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/' . self::TEST_USER . '.userx.shareKey'));
|
||||
// FIXME: this case currently cannot be distinguished, needs further fixing
|
||||
$this->assertTrue($this->view->file_exists(
|
||||
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/userx.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey'));
|
||||
'/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/userx.' . self::TEST_USER . '.shareKey'));
|
||||
$this->assertTrue($this->view->file_exists(
|
||||
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/user1.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey'));
|
||||
'/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/user1.' . self::TEST_USER . '.shareKey'));
|
||||
$this->assertTrue($this->view->file_exists(
|
||||
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/file1/' . Test_Encryption_Keymanager::TEST_USER . '.user1.shareKey'));
|
||||
'/' . self::TEST_USER . '/files_encryption/keys/folder1/file1/' . self::TEST_USER . '.user1.shareKey'));
|
||||
|
||||
// owner key from existing file should still exists because the file is still there
|
||||
$this->assertTrue($this->view->file_exists(
|
||||
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keys/folder1/existingFile.txt/' . Test_Encryption_Keymanager::TEST_USER . '.shareKey'));
|
||||
'/' . self::TEST_USER . '/files_encryption/keys/folder1/existingFile.txt/' . self::TEST_USER . '.shareKey'));
|
||||
|
||||
// cleanup
|
||||
$this->view->deleteAll('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
|
||||
$this->view->deleteAll('/' . self::TEST_USER . '/files/folder1');
|
||||
|
||||
}
|
||||
|
||||
|
@ -302,44 +302,44 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
*/
|
||||
function testRecursiveDelShareKeysFile() {
|
||||
|
||||
$this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1/existingFile.txt', 'data');
|
||||
$this->view->mkdir('/' . self::TEST_USER . '/files/folder1');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files/folder1/existingFile.txt', 'data');
|
||||
|
||||
// create folder structure for some dummy share key files
|
||||
$this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1');
|
||||
$this->view->mkdir('/' . self::TEST_USER . '/files_encryption/share-keys/folder1');
|
||||
|
||||
// create some dummy share keys
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.user1.shareKey', 'data');
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.user2.shareKey', 'data');
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.user3.shareKey', 'data');
|
||||
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey', 'data');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/share-keys/folder1/existingFile.txt.user1.shareKey', 'data');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/share-keys/folder1/existingFile.txt.user2.shareKey', 'data');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/share-keys/folder1/existingFile.txt.user3.shareKey', 'data');
|
||||
$this->view->file_put_contents('/' . self::TEST_USER . '/files_encryption/share-keys/folder1/existingFile.txt.' . self::TEST_USER . '.shareKey', 'data');
|
||||
|
||||
// recursive delete share keys from user1 and user2
|
||||
Encryption\Keymanager::delShareKey($this->view,
|
||||
array('user1', 'user2', Test_Encryption_Keymanager::TEST_USER),
|
||||
Encryption\Keymanager::getKeyPath($this->view, new Encryption\Util($this->view, Test_Encryption_Keymanager::TEST_USER), '/folder1/existingFile.txt'),
|
||||
Test_Encryption_Keymanager::TEST_USER,
|
||||
\OCA\Files_Encryption\Keymanager::delShareKey($this->view,
|
||||
array('user1', 'user2', self::TEST_USER),
|
||||
\OCA\Files_Encryption\Keymanager::getKeyPath($this->view, new \OCA\Files_Encryption\Util($this->view, self::TEST_USER), '/folder1/existingFile.txt'),
|
||||
self::TEST_USER,
|
||||
'/folder1/existingFile.txt');
|
||||
|
||||
|
||||
// check if share keys from user1 and user2 are deleted
|
||||
$this->assertFalse($this->view->file_exists(
|
||||
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.user1.shareKey'));
|
||||
'/' . self::TEST_USER . '/files_encryption/share-keys/folder1/existingFile.user1.shareKey'));
|
||||
$this->assertFalse($this->view->file_exists(
|
||||
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.user2.shareKey'));
|
||||
'/' . self::TEST_USER . '/files_encryption/share-keys/folder1/existingFile.user2.shareKey'));
|
||||
|
||||
// check if share keys for user3 and owner
|
||||
$this->assertTrue($this->view->file_exists(
|
||||
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey'));
|
||||
'/' . self::TEST_USER . '/files_encryption/share-keys/folder1/existingFile.txt.' . self::TEST_USER . '.shareKey'));
|
||||
$this->assertTrue($this->view->file_exists(
|
||||
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.user3.shareKey'));
|
||||
'/' . self::TEST_USER . '/files_encryption/share-keys/folder1/existingFile.txt.user3.shareKey'));
|
||||
// cleanup
|
||||
$this->view->deleteAll('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
|
||||
$this->view->deleteAll('/' . self::TEST_USER . '/files/folder1');
|
||||
|
||||
}
|
||||
|
||||
function testKeySetPreperation() {
|
||||
$basePath = '/'.Test_Encryption_Keymanager::TEST_USER.'/files';
|
||||
$basePath = '/' . self::TEST_USER . '/files';
|
||||
$path = '/folder1/subfolder/subsubfolder/file.txt';
|
||||
|
||||
$this->assertFalse($this->view->is_dir($basePath . '/testKeySetPreperation'));
|
||||
|
@ -356,9 +356,9 @@ class Test_Encryption_Keymanager extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
}
|
||||
|
||||
/**
|
||||
* dummy class to access protected methods of \OCA\Encryption\Keymanager for testing
|
||||
* dummy class to access protected methods of \OCA\Files_Encryption\Keymanager for testing
|
||||
*/
|
||||
class TestProtectedKeymanagerMethods extends \OCA\Encryption\Keymanager {
|
||||
class TestProtectedKeymanagerMethods extends \OCA\Files_Encryption\Keymanager {
|
||||
|
||||
/**
|
||||
* @param \OC\Files\View $view relative to data/
|
||||
|
@ -366,6 +366,6 @@ class TestProtectedKeymanagerMethods extends \OCA\Encryption\Keymanager {
|
|||
* @param string $basePath
|
||||
*/
|
||||
public static function testKeySetPreperation($view, $path) {
|
||||
return self::keySetPreparation($view, $path);
|
||||
self::keySetPreparation($view, $path);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,15 +21,15 @@
|
|||
*
|
||||
*/
|
||||
|
||||
use OCA\Encryption;
|
||||
use OCA\Files_Encryption\Migration;
|
||||
namespace OCA\Files_Encryption\Tests;
|
||||
|
||||
class Test_Migration extends \OCA\Files_Encryption\Tests\TestCase {
|
||||
class Migration extends TestCase {
|
||||
|
||||
const TEST_ENCRYPTION_MIGRATION_USER1='test_encryption_user1';
|
||||
const TEST_ENCRYPTION_MIGRATION_USER2='test_encryption_user2';
|
||||
const TEST_ENCRYPTION_MIGRATION_USER3='test_encryption_user3';
|
||||
|
||||
/** @var \OC\Files\View */
|
||||
private $view;
|
||||
private $public_share_key_id;
|
||||
private $recovery_key_id;
|
||||
|
@ -49,8 +49,8 @@ class Test_Migration extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
}
|
||||
|
||||
protected function tearDown() {
|
||||
if (OC_DB::tableExists('encryption_test')) {
|
||||
OC_DB::dropTable('encryption_test');
|
||||
if (\OC_DB::tableExists('encryption_test')) {
|
||||
\OC_DB::dropTable('encryption_test');
|
||||
}
|
||||
$this->assertTableNotExist('encryption_test');
|
||||
|
||||
|
@ -60,10 +60,10 @@ class Test_Migration extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
public function setUp() {
|
||||
$this->loginHelper(self::TEST_ENCRYPTION_MIGRATION_USER1);
|
||||
$this->view = new \OC\Files\View();
|
||||
$this->public_share_key_id = Encryption\Helper::getPublicShareKeyId();
|
||||
$this->recovery_key_id = Encryption\Helper::getRecoveryKeyId();
|
||||
if (OC_DB::tableExists('encryption_test')) {
|
||||
OC_DB::dropTable('encryption_test');
|
||||
$this->public_share_key_id = \OCA\Files_Encryption\Helper::getPublicShareKeyId();
|
||||
$this->recovery_key_id = \OCA\Files_Encryption\Helper::getRecoveryKeyId();
|
||||
if (\OC_DB::tableExists('encryption_test')) {
|
||||
\OC_DB::dropTable('encryption_test');
|
||||
}
|
||||
$this->assertTableNotExist('encryption_test');
|
||||
}
|
||||
|
@ -101,7 +101,7 @@ class Test_Migration extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
// create test table
|
||||
$this->checkLastIndexId();
|
||||
OC_DB::createDbFromStructure(__DIR__ . '/encryption_table.xml');
|
||||
\OC_DB::createDbFromStructure(__DIR__ . '/encryption_table.xml');
|
||||
$this->checkLastIndexId();
|
||||
}
|
||||
|
||||
|
@ -109,12 +109,12 @@ class Test_Migration extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
* @param string $table
|
||||
*/
|
||||
public function assertTableNotExist($table) {
|
||||
$type=OC_Config::getValue( "dbtype", "sqlite" );
|
||||
$type = \OC_Config::getValue( "dbtype", "sqlite" );
|
||||
if( $type == 'sqlite' || $type == 'sqlite3' ) {
|
||||
// sqlite removes the tables after closing the DB
|
||||
$this->assertTrue(true);
|
||||
} else {
|
||||
$this->assertFalse(OC_DB::tableExists($table), 'Table ' . $table . ' exists.');
|
||||
$this->assertFalse(\OC_DB::tableExists($table), 'Table ' . $table . ' exists.');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -20,13 +20,13 @@
|
|||
*
|
||||
*/
|
||||
|
||||
use OCA\Encryption;
|
||||
namespace OCA\Files_Encryption\Tests;
|
||||
|
||||
/**
|
||||
* Class Test_Encryption_Proxy
|
||||
* Class Proxy
|
||||
* this class provide basic proxy app tests
|
||||
*/
|
||||
class Test_Encryption_Proxy extends \OCA\Files_Encryption\Tests\TestCase {
|
||||
class Proxy extends TestCase {
|
||||
|
||||
const TEST_ENCRYPTION_PROXY_USER1 = "test-proxy-user1";
|
||||
|
||||
|
@ -45,20 +45,20 @@ class Test_Encryption_Proxy extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
parent::setUpBeforeClass();
|
||||
|
||||
// create test user
|
||||
self::loginHelper(\Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1, true);
|
||||
self::loginHelper(self::TEST_ENCRYPTION_PROXY_USER1, true);
|
||||
}
|
||||
|
||||
protected function setUp() {
|
||||
parent::setUp();
|
||||
|
||||
// set user id
|
||||
\OC_User::setUserId(\Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1);
|
||||
$this->userId = \Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1;
|
||||
$this->pass = \Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1;
|
||||
\OC_User::setUserId(self::TEST_ENCRYPTION_PROXY_USER1);
|
||||
$this->userId = self::TEST_ENCRYPTION_PROXY_USER1;
|
||||
$this->pass = self::TEST_ENCRYPTION_PROXY_USER1;
|
||||
|
||||
// init filesystem view
|
||||
$this->view = new \OC\Files\View('/'. \Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1 . '/files');
|
||||
$this->rootView = new \OC\Files\View('/'. \Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1 );
|
||||
$this->view = new \OC\Files\View('/'. self::TEST_ENCRYPTION_PROXY_USER1 . '/files');
|
||||
$this->rootView = new \OC\Files\View('/'. self::TEST_ENCRYPTION_PROXY_USER1 );
|
||||
|
||||
// init short data
|
||||
$this->data = 'hats';
|
||||
|
@ -69,7 +69,7 @@ class Test_Encryption_Proxy extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
public static function tearDownAfterClass() {
|
||||
// cleanup test user
|
||||
\OC_User::deleteUser(\Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1);
|
||||
\OC_User::deleteUser(self::TEST_ENCRYPTION_PROXY_USER1);
|
||||
|
||||
parent::tearDownAfterClass();
|
||||
}
|
||||
|
@ -137,13 +137,13 @@ class Test_Encryption_Proxy extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
public function isExcludedPathProvider() {
|
||||
return array(
|
||||
array ('/' . \Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1 . '/files/test.txt', false),
|
||||
array (\Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1 . '/files/test.txt', false),
|
||||
array ('/' . self::TEST_ENCRYPTION_PROXY_USER1 . '/files/test.txt', false),
|
||||
array (self::TEST_ENCRYPTION_PROXY_USER1 . '/files/test.txt', false),
|
||||
array ('/files/test.txt', true),
|
||||
array ('/' . \Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1 . '/files/versions/test.txt', false),
|
||||
array ('/' . \Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1 . '/files_versions/test.txt', false),
|
||||
array ('/' . \Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1 . '/files_trashbin/test.txt', true),
|
||||
array ('/' . \Test_Encryption_Proxy::TEST_ENCRYPTION_PROXY_USER1 . '/file/test.txt', true),
|
||||
array ('/' . self::TEST_ENCRYPTION_PROXY_USER1 . '/files/versions/test.txt', false),
|
||||
array ('/' . self::TEST_ENCRYPTION_PROXY_USER1 . '/files_versions/test.txt', false),
|
||||
array ('/' . self::TEST_ENCRYPTION_PROXY_USER1 . '/files_trashbin/test.txt', true),
|
||||
array ('/' . self::TEST_ENCRYPTION_PROXY_USER1 . '/file/test.txt', true),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -153,7 +153,7 @@ class Test_Encryption_Proxy extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
/**
|
||||
* Dummy class to make protected methods available for testing
|
||||
*/
|
||||
class DummyProxy extends \OCA\Encryption\Proxy {
|
||||
class DummyProxy extends \OCA\Files_Encryption\Proxy {
|
||||
public function isExcludedPathTesting($path, $uid) {
|
||||
return $this->isExcludedPath($path, $uid);
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -20,13 +20,13 @@
|
|||
*
|
||||
*/
|
||||
|
||||
use OCA\Encryption;
|
||||
namespace OCA\Files_Encryption\Tests;
|
||||
|
||||
/**
|
||||
* Class Test_Encryption_Stream
|
||||
* Class Stream
|
||||
* this class provide basic stream tests
|
||||
*/
|
||||
class Test_Encryption_Stream extends \OCA\Files_Encryption\Tests\TestCase {
|
||||
class Stream extends TestCase {
|
||||
|
||||
const TEST_ENCRYPTION_STREAM_USER1 = "test-stream-user1";
|
||||
|
||||
|
@ -43,16 +43,16 @@ class Test_Encryption_Stream extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
parent::setUpBeforeClass();
|
||||
|
||||
// create test user
|
||||
self::loginHelper(\Test_Encryption_Stream::TEST_ENCRYPTION_STREAM_USER1, true);
|
||||
self::loginHelper(self::TEST_ENCRYPTION_STREAM_USER1, true);
|
||||
}
|
||||
|
||||
protected function setUp() {
|
||||
parent::setUp();
|
||||
|
||||
// set user id
|
||||
\OC_User::setUserId(\Test_Encryption_Stream::TEST_ENCRYPTION_STREAM_USER1);
|
||||
$this->userId = \Test_Encryption_Stream::TEST_ENCRYPTION_STREAM_USER1;
|
||||
$this->pass = \Test_Encryption_Stream::TEST_ENCRYPTION_STREAM_USER1;
|
||||
\OC_User::setUserId(self::TEST_ENCRYPTION_STREAM_USER1);
|
||||
$this->userId = self::TEST_ENCRYPTION_STREAM_USER1;
|
||||
$this->pass = self::TEST_ENCRYPTION_STREAM_USER1;
|
||||
|
||||
// init filesystem view
|
||||
$this->view = new \OC\Files\View('/');
|
||||
|
@ -61,7 +61,7 @@ class Test_Encryption_Stream extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
$this->dataShort = 'hats';
|
||||
|
||||
// remember files_trashbin state
|
||||
$this->stateFilesTrashbin = OC_App::isEnabled('files_trashbin');
|
||||
$this->stateFilesTrashbin = \OC_App::isEnabled('files_trashbin');
|
||||
|
||||
// we don't want to tests with app files_trashbin enabled
|
||||
\OC_App::disable('files_trashbin');
|
||||
|
@ -70,10 +70,10 @@ class Test_Encryption_Stream extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
protected function tearDown() {
|
||||
// reset app files_trashbin
|
||||
if ($this->stateFilesTrashbin) {
|
||||
OC_App::enable('files_trashbin');
|
||||
\OC_App::enable('files_trashbin');
|
||||
}
|
||||
else {
|
||||
OC_App::disable('files_trashbin');
|
||||
\OC_App::disable('files_trashbin');
|
||||
}
|
||||
|
||||
parent::tearDown();
|
||||
|
@ -81,7 +81,7 @@ class Test_Encryption_Stream extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
public static function tearDownAfterClass() {
|
||||
// cleanup test user
|
||||
\OC_User::deleteUser(\Test_Encryption_Stream::TEST_ENCRYPTION_STREAM_USER1);
|
||||
\OC_User::deleteUser(self::TEST_ENCRYPTION_STREAM_USER1);
|
||||
|
||||
parent::tearDownAfterClass();
|
||||
}
|
||||
|
@ -208,7 +208,7 @@ class Test_Encryption_Stream extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
file_put_contents($tmpFilename, $encryptedContent);
|
||||
|
||||
\OCA\Encryption\Helper::addTmpFileToMapper($tmpFilename, $filename);
|
||||
\OCA\Files_Encryption\Helper::addTmpFileToMapper($tmpFilename, $filename);
|
||||
|
||||
// try to read the file from /tmp
|
||||
$handle = fopen("crypt://".$tmpFilename, "r");
|
||||
|
|
|
@ -8,10 +8,8 @@
|
|||
|
||||
namespace OCA\Files_Encryption\Tests;
|
||||
|
||||
use OCA\Encryption;
|
||||
|
||||
/**
|
||||
* Class Test_Encryption_TestCase
|
||||
* Class TestCase
|
||||
*/
|
||||
abstract class TestCase extends \Test\TestCase {
|
||||
|
||||
|
@ -42,7 +40,7 @@ abstract class TestCase extends \Test\TestCase {
|
|||
if ($loadEncryption) {
|
||||
$params['uid'] = $user;
|
||||
$params['password'] = $password;
|
||||
\OCA\Encryption\Hooks::login($params);
|
||||
\OCA\Files_Encryption\Hooks::login($params);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -59,16 +57,16 @@ abstract class TestCase extends \Test\TestCase {
|
|||
\OC_User::clearBackends();
|
||||
\OC_User::useBackend('database');
|
||||
|
||||
\OCA\Encryption\Helper::registerFilesystemHooks();
|
||||
\OCA\Encryption\Helper::registerUserHooks();
|
||||
\OCA\Encryption\Helper::registerShareHooks();
|
||||
\OCA\Files_Encryption\Helper::registerFilesystemHooks();
|
||||
\OCA\Files_Encryption\Helper::registerUserHooks();
|
||||
\OCA\Files_Encryption\Helper::registerShareHooks();
|
||||
|
||||
\OC::registerShareHooks();
|
||||
\OCP\Util::connectHook('OC_Filesystem', 'setup', '\OC\Files\Storage\Shared', 'setup');
|
||||
|
||||
// clear and register hooks
|
||||
\OC_FileProxy::clearProxies();
|
||||
\OC_FileProxy::register(new \OCA\Encryption\Proxy());
|
||||
\OC_FileProxy::register(new \OCA\Files_Encryption\Proxy());
|
||||
}
|
||||
|
||||
public static function tearDownAfterClass() {
|
||||
|
|
|
@ -20,13 +20,13 @@
|
|||
*
|
||||
*/
|
||||
|
||||
use OCA\Encryption;
|
||||
namespace OCA\Files_Encryption\Tests;
|
||||
|
||||
/**
|
||||
* Class Test_Encryption_Trashbin
|
||||
* Class Trashbin
|
||||
* this class provide basic trashbin app tests
|
||||
*/
|
||||
class Test_Encryption_Trashbin extends \OCA\Files_Encryption\Tests\TestCase {
|
||||
class Trashbin extends TestCase {
|
||||
|
||||
const TEST_ENCRYPTION_TRASHBIN_USER1 = "test-trashbin-user1";
|
||||
|
||||
|
@ -71,7 +71,7 @@ class Test_Encryption_Trashbin extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
$this->subsubfolder = '/subsubfolder1';
|
||||
|
||||
// remember files_trashbin state
|
||||
$this->stateFilesTrashbin = OC_App::isEnabled('files_trashbin');
|
||||
$this->stateFilesTrashbin = \OC_App::isEnabled('files_trashbin');
|
||||
|
||||
// we want to tests with app files_trashbin enabled
|
||||
\OC_App::enable('files_trashbin');
|
||||
|
@ -80,10 +80,10 @@ class Test_Encryption_Trashbin extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
protected function tearDown() {
|
||||
// reset app files_trashbin
|
||||
if ($this->stateFilesTrashbin) {
|
||||
OC_App::enable('files_trashbin');
|
||||
\OC_App::enable('files_trashbin');
|
||||
}
|
||||
else {
|
||||
OC_App::disable('files_trashbin');
|
||||
\OC_App::disable('files_trashbin');
|
||||
}
|
||||
|
||||
parent::tearDown();
|
||||
|
@ -173,7 +173,7 @@ class Test_Encryption_Trashbin extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
// check if we found the file we created
|
||||
$this->assertNotNull($trashFileSuffix);
|
||||
|
||||
$this->assertTrue($this->view->is_dir('/' . \Test_Encryption_Trashbin::TEST_ENCRYPTION_TRASHBIN_USER1 . '/files_trashbin/keys/' . $filename . '.' . $trashFileSuffix));
|
||||
$this->assertTrue($this->view->is_dir('/' . self::TEST_ENCRYPTION_TRASHBIN_USER1 . '/files_trashbin/keys/' . $filename . '.' . $trashFileSuffix));
|
||||
|
||||
// check if key for admin not exists
|
||||
$this->assertTrue($this->view->file_exists(
|
||||
|
@ -219,10 +219,10 @@ class Test_Encryption_Trashbin extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
// before calling the restore operation the keys shouldn't be there
|
||||
$this->assertFalse($this->view->file_exists(
|
||||
'/' . \Test_Encryption_Trashbin::TEST_ENCRYPTION_TRASHBIN_USER1 . '/files_encryption/keys/' . $filename . '/fileKey'));
|
||||
'/' . self::TEST_ENCRYPTION_TRASHBIN_USER1 . '/files_encryption/keys/' . $filename . '/fileKey'));
|
||||
$this->assertFalse($this->view->file_exists(
|
||||
'/' . \Test_Encryption_Trashbin::TEST_ENCRYPTION_TRASHBIN_USER1 . '/files_encryption/keys/'
|
||||
. $filename . '/' . \Test_Encryption_Trashbin::TEST_ENCRYPTION_TRASHBIN_USER1 . '.shareKey'));
|
||||
'/' . self::TEST_ENCRYPTION_TRASHBIN_USER1 . '/files_encryption/keys/'
|
||||
. $filename . '/' . self::TEST_ENCRYPTION_TRASHBIN_USER1 . '.shareKey'));
|
||||
|
||||
// restore first file
|
||||
$this->assertTrue(\OCA\Files_Trashbin\Trashbin::restore($filename . '.' . $trashFileSuffix, $filename, $timestamp));
|
||||
|
|
|
@ -6,12 +6,12 @@
|
|||
* See the COPYING-README file.
|
||||
*/
|
||||
|
||||
use OCA\Encryption;
|
||||
namespace OCA\Files_Encryption\Tests;
|
||||
|
||||
/**
|
||||
* Class Test_Encryption_Util
|
||||
* Class Util
|
||||
*/
|
||||
class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
|
||||
class Util extends TestCase {
|
||||
|
||||
const TEST_ENCRYPTION_UTIL_USER1 = "test-util-user1";
|
||||
const TEST_ENCRYPTION_UTIL_USER2 = "test-util-user2";
|
||||
|
@ -24,14 +24,14 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
public $publicKeyDir;
|
||||
public $pass;
|
||||
/**
|
||||
* @var OC\Files\View
|
||||
* @var \OC\Files\View
|
||||
*/
|
||||
public $view;
|
||||
public $keyfilesPath;
|
||||
public $publicKeyPath;
|
||||
public $privateKeyPath;
|
||||
/**
|
||||
* @var \OCA\Encryption\Util
|
||||
* @var \OCA\Files_Encryption\Util
|
||||
*/
|
||||
public $util;
|
||||
public $dataShort;
|
||||
|
@ -74,12 +74,12 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
$this->legacyEncryptedDataKey = __DIR__ . '/encryption.key';
|
||||
$this->legacyKey = "30943623843030686906\0\0\0\0";
|
||||
|
||||
$keypair = Encryption\Crypt::createKeypair();
|
||||
$keypair = \OCA\Files_Encryption\Crypt::createKeypair();
|
||||
|
||||
$this->genPublicKey = $keypair['publicKey'];
|
||||
$this->genPrivateKey = $keypair['privateKey'];
|
||||
|
||||
$this->publicKeyDir = \OCA\Encryption\Keymanager::getPublicKeyPath();
|
||||
$this->publicKeyDir = \OCA\Files_Encryption\Keymanager::getPublicKeyPath();
|
||||
$this->encryptionDir = '/' . $this->userId . '/' . 'files_encryption';
|
||||
$this->keysPath = $this->encryptionDir . '/' . 'keys';
|
||||
$this->publicKeyPath =
|
||||
|
@ -89,10 +89,10 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
$this->view = new \OC\Files\View('/');
|
||||
|
||||
$this->util = new Encryption\Util($this->view, $this->userId);
|
||||
$this->util = new \OCA\Files_Encryption\Util($this->view, $this->userId);
|
||||
|
||||
// remember files_trashbin state
|
||||
$this->stateFilesTrashbin = OC_App::isEnabled('files_trashbin');
|
||||
$this->stateFilesTrashbin = \OC_App::isEnabled('files_trashbin');
|
||||
|
||||
// we don't want to tests with app files_trashbin enabled
|
||||
\OC_App::disable('files_trashbin');
|
||||
|
@ -101,10 +101,10 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
protected function tearDown() {
|
||||
// reset app files_trashbin
|
||||
if ($this->stateFilesTrashbin) {
|
||||
OC_App::enable('files_trashbin');
|
||||
\OC_App::enable('files_trashbin');
|
||||
}
|
||||
else {
|
||||
OC_App::disable('files_trashbin');
|
||||
\OC_App::disable('files_trashbin');
|
||||
}
|
||||
|
||||
parent::tearDown();
|
||||
|
@ -128,7 +128,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
* test that paths set during User construction are correct
|
||||
*/
|
||||
function testKeyPaths() {
|
||||
$util = new Encryption\Util($this->view, $this->userId);
|
||||
$util = new \OCA\Files_Encryption\Util($this->view, $this->userId);
|
||||
|
||||
$this->assertEquals($this->publicKeyDir, $util->getPath('publicKeyDir'));
|
||||
$this->assertEquals($this->encryptionDir, $util->getPath('encryptionDir'));
|
||||
|
@ -144,7 +144,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
*/
|
||||
function testIsEncryptedPath() {
|
||||
|
||||
$util = new Encryption\Util($this->view, $this->userId);
|
||||
$util = new \OCA\Files_Encryption\Util($this->view, $this->userId);
|
||||
|
||||
self::loginHelper($this->userId);
|
||||
|
||||
|
@ -197,7 +197,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
//
|
||||
// $params['uid'] = $this->userId;
|
||||
// $params['password'] = $this->pass;
|
||||
// $this->assertFalse(OCA\Encryption\Hooks::login($params));
|
||||
// $this->assertFalse(OCA\Files_Encryption\Hooks::login($params));
|
||||
//
|
||||
// $this->view->unlink($this->privateKeyPath);
|
||||
// }
|
||||
|
@ -207,7 +207,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
*/
|
||||
function testRecoveryEnabledForUser() {
|
||||
|
||||
$util = new Encryption\Util($this->view, $this->userId);
|
||||
$util = new \OCA\Files_Encryption\Util($this->view, $this->userId);
|
||||
|
||||
// Record the value so we can return it to it's original state later
|
||||
$enabled = $util->recoveryEnabledForUser();
|
||||
|
@ -241,7 +241,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
// Re-enable proxy - our work is done
|
||||
\OC_FileProxy::$enabled = $proxyStatus;
|
||||
|
||||
$util = new Encryption\Util($this->view, $this->userId);
|
||||
$util = new \OCA\Files_Encryption\Util($this->view, $this->userId);
|
||||
|
||||
list($fileOwnerUid, $file) = $util->getUidAndFilename($filename);
|
||||
|
||||
|
@ -283,7 +283,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
function testEncryptAll() {
|
||||
|
||||
$filename = "/encryptAll" . $this->getUniqueID() . ".txt";
|
||||
$util = new Encryption\Util($this->view, $this->userId);
|
||||
$util = new \OCA\Files_Encryption\Util($this->view, $this->userId);
|
||||
|
||||
// disable encryption to upload a unencrypted file
|
||||
\OC_App::disable('files_encryption');
|
||||
|
@ -338,18 +338,18 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
$this->assertSame($encContent, $content);
|
||||
|
||||
// now we load the encryption app again
|
||||
OC_App::loadApp('files_encryption');
|
||||
\OC_App::loadApp('files_encryption');
|
||||
|
||||
// init encryption app
|
||||
$params = array('uid' => \OCP\User::getUser(),
|
||||
'password' => \OCP\User::getUser());
|
||||
|
||||
$view = new OC\Files\View('/');
|
||||
$util = new \OCA\Encryption\Util($view, \OCP\User::getUser());
|
||||
$view = new \OC\Files\View('/');
|
||||
$util = new \OCA\Files_Encryption\Util($view, \OCP\User::getUser());
|
||||
|
||||
$result = $util->initEncryption($params);
|
||||
|
||||
$this->assertTrue($result instanceof \OCA\Encryption\Session);
|
||||
$this->assertTrue($result instanceof \OCA\Files_Encryption\Session);
|
||||
|
||||
$successful = $util->decryptAll();
|
||||
|
||||
|
@ -385,7 +385,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
// cleanup
|
||||
$this->view->unlink($this->userId . '/files/' . $filename);
|
||||
$this->view->deleteAll($backupPath);
|
||||
OC_App::enable('files_encryption');
|
||||
\OC_App::enable('files_encryption');
|
||||
|
||||
}
|
||||
|
||||
|
@ -401,7 +401,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
$this->view->file_put_contents($encPath . '/keys/foo/fileKey', 'key');
|
||||
$this->view->file_put_contents($encPath . '/keys/foo/user1.shareKey', 'share key');
|
||||
|
||||
$util = new \OCA\Encryption\Util($this->view, self::TEST_ENCRYPTION_UTIL_USER1);
|
||||
$util = new \OCA\Files_Encryption\Util($this->view, self::TEST_ENCRYPTION_UTIL_USER1);
|
||||
|
||||
$util->backupAllKeys('testBackupAllKeys');
|
||||
|
||||
|
@ -427,7 +427,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
$file1 = "/decryptAll1" . $this->getUniqueID() . ".txt";
|
||||
$file2 = "/decryptAll2" . $this->getUniqueID() . ".txt";
|
||||
|
||||
$util = new Encryption\Util($this->view, $this->userId);
|
||||
$util = new \OCA\Files_Encryption\Util($this->view, $this->userId);
|
||||
|
||||
$this->view->file_put_contents($this->userId . '/files/' . $file1, $this->dataShort);
|
||||
$this->view->file_put_contents($this->userId . '/files/' . $file2, $this->dataShort);
|
||||
|
@ -551,13 +551,13 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
$publicShareKeyId,
|
||||
$recoveryKeyId,
|
||||
);
|
||||
\Test_Encryption_Util::loginHelper('readyUser', true);
|
||||
\Test_Encryption_Util::loginHelper('notReadyUser', true);
|
||||
self::loginHelper('readyUser', true);
|
||||
self::loginHelper('notReadyUser', true);
|
||||
// delete encryption dir to make it not ready
|
||||
$this->view->unlink('notReadyUser/files_encryption/');
|
||||
|
||||
// login as user1
|
||||
\Test_Encryption_Util::loginHelper(\Test_Encryption_Util::TEST_ENCRYPTION_UTIL_USER1);
|
||||
self::loginHelper(self::TEST_ENCRYPTION_UTIL_USER1);
|
||||
|
||||
$result = $this->util->filterShareReadyUsers($usersToTest);
|
||||
$this->assertEquals(
|
||||
|
@ -598,7 +598,7 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
if ($loadEncryption) {
|
||||
$params['uid'] = $user;
|
||||
$params['password'] = $password;
|
||||
OCA\Encryption\Hooks::login($params);
|
||||
\OCA\Files_Encryption\Hooks::login($params);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -625,9 +625,9 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
}
|
||||
|
||||
/**
|
||||
* dummy class extends \OCA\Encryption\Util to access protected methods for testing
|
||||
* dummy class extends \OCA\Files_Encryption\Util to access protected methods for testing
|
||||
*/
|
||||
class DummyUtilClass extends \OCA\Encryption\Util {
|
||||
class DummyUtilClass extends \OCA\Files_Encryption\Util {
|
||||
public function testIsMountPointApplicableToUser($mount) {
|
||||
return $this->isMountPointApplicableToUser($mount);
|
||||
}
|
||||
|
|
|
@ -20,14 +20,14 @@
|
|||
*
|
||||
*/
|
||||
|
||||
use OCA\Encryption;
|
||||
namespace OCA\Files_Encryption\Tests;
|
||||
|
||||
/**
|
||||
* Class Test_Encryption_Webdav
|
||||
* Class Webdav
|
||||
*
|
||||
* this class provide basic webdav tests for PUT,GET and DELETE
|
||||
*/
|
||||
class Test_Encryption_Webdav extends \OCA\Files_Encryption\Tests\TestCase {
|
||||
class Webdav extends TestCase {
|
||||
|
||||
const TEST_ENCRYPTION_WEBDAV_USER1 = "test-webdav-user1";
|
||||
|
||||
|
@ -46,7 +46,7 @@ class Test_Encryption_Webdav extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
parent::setUpBeforeClass();
|
||||
|
||||
// create test user
|
||||
self::loginHelper(\Test_Encryption_Webdav::TEST_ENCRYPTION_WEBDAV_USER1, true);
|
||||
self::loginHelper(self::TEST_ENCRYPTION_WEBDAV_USER1, true);
|
||||
|
||||
}
|
||||
|
||||
|
@ -57,9 +57,9 @@ class Test_Encryption_Webdav extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
\OC_User::useBackend('database');
|
||||
|
||||
// set user id
|
||||
\OC_User::setUserId(\Test_Encryption_Webdav::TEST_ENCRYPTION_WEBDAV_USER1);
|
||||
$this->userId = \Test_Encryption_Webdav::TEST_ENCRYPTION_WEBDAV_USER1;
|
||||
$this->pass = \Test_Encryption_Webdav::TEST_ENCRYPTION_WEBDAV_USER1;
|
||||
\OC_User::setUserId(self::TEST_ENCRYPTION_WEBDAV_USER1);
|
||||
$this->userId = self::TEST_ENCRYPTION_WEBDAV_USER1;
|
||||
$this->pass = self::TEST_ENCRYPTION_WEBDAV_USER1;
|
||||
|
||||
// init filesystem view
|
||||
$this->view = new \OC\Files\View('/');
|
||||
|
@ -68,21 +68,21 @@ class Test_Encryption_Webdav extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
$this->dataShort = 'hats';
|
||||
|
||||
// remember files_trashbin state
|
||||
$this->stateFilesTrashbin = OC_App::isEnabled('files_trashbin');
|
||||
$this->stateFilesTrashbin = \OC_App::isEnabled('files_trashbin');
|
||||
|
||||
// we don't want to tests with app files_trashbin enabled
|
||||
\OC_App::disable('files_trashbin');
|
||||
|
||||
// create test user
|
||||
self::loginHelper(\Test_Encryption_Webdav::TEST_ENCRYPTION_WEBDAV_USER1);
|
||||
self::loginHelper(self::TEST_ENCRYPTION_WEBDAV_USER1);
|
||||
}
|
||||
|
||||
protected function tearDown() {
|
||||
// reset app files_trashbin
|
||||
if ($this->stateFilesTrashbin) {
|
||||
OC_App::enable('files_trashbin');
|
||||
\OC_App::enable('files_trashbin');
|
||||
} else {
|
||||
OC_App::disable('files_trashbin');
|
||||
\OC_App::disable('files_trashbin');
|
||||
}
|
||||
|
||||
parent::tearDown();
|
||||
|
@ -90,7 +90,7 @@ class Test_Encryption_Webdav extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
|
||||
public static function tearDownAfterClass() {
|
||||
// cleanup test user
|
||||
\OC_User::deleteUser(\Test_Encryption_Webdav::TEST_ENCRYPTION_WEBDAV_USER1);
|
||||
\OC_User::deleteUser(self::TEST_ENCRYPTION_WEBDAV_USER1);
|
||||
|
||||
parent::tearDownAfterClass();
|
||||
}
|
||||
|
@ -138,7 +138,7 @@ class Test_Encryption_Webdav extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
\OC_FileProxy::$enabled = $proxyStatus;
|
||||
|
||||
// check if encrypted content is valid
|
||||
$this->assertTrue(Encryption\Crypt::isCatfileContent($encryptedContent));
|
||||
$this->assertTrue(\OCA\Files_Encryption\Crypt::isCatfileContent($encryptedContent));
|
||||
|
||||
// get decrypted file contents
|
||||
$decrypt = file_get_contents('crypt:///' . $this->userId . '/files' . $filename);
|
||||
|
@ -211,14 +211,14 @@ class Test_Encryption_Webdav extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
*/
|
||||
function handleWebdavRequest($body = false) {
|
||||
// Backends
|
||||
$authBackend = new OC_Connector_Sabre_Auth();
|
||||
$lockBackend = new OC_Connector_Sabre_Locks();
|
||||
$requestBackend = new OC_Connector_Sabre_Request();
|
||||
$authBackend = new \OC_Connector_Sabre_Auth();
|
||||
$lockBackend = new \OC_Connector_Sabre_Locks();
|
||||
$requestBackend = new \OC_Connector_Sabre_Request();
|
||||
|
||||
// Create ownCloud Dir
|
||||
$root = '/' . $this->userId . '/files';
|
||||
$view = new \OC\Files\View($root);
|
||||
$publicDir = new OC_Connector_Sabre_Directory($view, $view->getFileInfo(''));
|
||||
$publicDir = new \OC_Connector_Sabre_Directory($view, $view->getFileInfo(''));
|
||||
$objectTree = new \OC\Connector\Sabre\ObjectTree();
|
||||
$mountManager = \OC\Files\Filesystem::getMountManager();
|
||||
$objectTree->init($publicDir, $view, $mountManager);
|
||||
|
@ -232,8 +232,8 @@ class Test_Encryption_Webdav extends \OCA\Files_Encryption\Tests\TestCase {
|
|||
$server->addPlugin(new \Sabre\DAV\Auth\Plugin($authBackend, 'ownCloud'));
|
||||
$server->addPlugin(new \Sabre\DAV\Locks\Plugin($lockBackend));
|
||||
$server->addPlugin(new \Sabre\DAV\Browser\Plugin(false)); // Show something in the Browser, but no upload
|
||||
$server->addPlugin(new OC_Connector_Sabre_QuotaPlugin($view));
|
||||
$server->addPlugin(new OC_Connector_Sabre_MaintenancePlugin());
|
||||
$server->addPlugin(new \OC_Connector_Sabre_QuotaPlugin($view));
|
||||
$server->addPlugin(new \OC_Connector_Sabre_MaintenancePlugin());
|
||||
$server->debugExceptions = true;
|
||||
|
||||
// And off we go!
|
||||
|
|
|
@ -274,7 +274,7 @@ class Trashbin {
|
|||
return 0;
|
||||
}
|
||||
|
||||
$util = new \OCA\Encryption\Util($rootView, $user);
|
||||
$util = new \OCA\Files_Encryption\Util($rootView, $user);
|
||||
|
||||
$baseDir = '/files_encryption/';
|
||||
if (!$util->isSystemWideMountPoint($ownerPath)) {
|
||||
|
@ -448,7 +448,7 @@ class Trashbin {
|
|||
return false;
|
||||
}
|
||||
|
||||
$util = new \OCA\Encryption\Util($rootView, $user);
|
||||
$util = new \OCA\Files_Encryption\Util($rootView, $user);
|
||||
|
||||
$baseDir = '/files_encryption/';
|
||||
if (!$util->isSystemWideMountPoint($ownerPath)) {
|
||||
|
|
|
@ -104,7 +104,7 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements \Sabre\
|
|||
} catch (\OCP\Files\LockNotAcquiredException $e) {
|
||||
// the file is currently being written to by another process
|
||||
throw new OC_Connector_Sabre_Exception_FileLocked($e->getMessage(), $e->getCode(), $e);
|
||||
} catch (\OCA\Encryption\Exception\EncryptionException $e) {
|
||||
} catch (\OCA\Files_Encryption\Exception\EncryptionException $e) {
|
||||
throw new \Sabre\DAV\Exception\Forbidden($e->getMessage());
|
||||
} catch (\OCP\Files\StorageNotAvailableException $e) {
|
||||
throw new \Sabre\DAV\Exception\ServiceUnavailable($e->getMessage());
|
||||
|
@ -166,7 +166,7 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements \Sabre\
|
|||
} else {
|
||||
try {
|
||||
return $this->fileView->fopen(ltrim($this->path, '/'), 'rb');
|
||||
} catch (\OCA\Encryption\Exception\EncryptionException $e) {
|
||||
} catch (\OCA\Files_Encryption\Exception\EncryptionException $e) {
|
||||
throw new \Sabre\DAV\Exception\Forbidden($e->getMessage());
|
||||
} catch (\OCP\Files\StorageNotAvailableException $e) {
|
||||
throw new \Sabre\DAV\Exception\ServiceUnavailable($e->getMessage());
|
||||
|
|
|
@ -11,7 +11,7 @@ $params = array('uid' => \OCP\User::getUser(),
|
|||
'password' => $_POST['password']);
|
||||
|
||||
$view = new OC\Files\View('/');
|
||||
$util = new \OCA\Encryption\Util($view, \OCP\User::getUser());
|
||||
$util = new \OCA\Files_Encryption\Util($view, \OCP\User::getUser());
|
||||
$l = \OC::$server->getL10N('settings');
|
||||
|
||||
$result = $util->initEncryption($params);
|
||||
|
|
|
@ -52,7 +52,7 @@ class Controller {
|
|||
|
||||
if (\OC_App::isEnabled('files_encryption')) {
|
||||
//handle the recovery case
|
||||
$util = new \OCA\Encryption\Util(new \OC\Files\View('/'), $username);
|
||||
$util = new \OCA\Files_Encryption\Util(new \OC\Files\View('/'), $username);
|
||||
$recoveryAdminEnabled = \OC_Appconfig::getValue('files_encryption', 'recoveryAdminEnabled');
|
||||
|
||||
$validRecoveryPassword = false;
|
||||
|
|
Loading…
Reference in New Issue