don't throw exception if a file gets uploaded and encryption is disabled

This commit is contained in:
Bjoern Schiessle 2015-04-08 16:41:20 +02:00
parent fc2711e156
commit c379557e1d
1 changed files with 6 additions and 5 deletions

View File

@ -226,6 +226,7 @@ class Encryption extends Wrapper {
*/
public function fopen($path, $mode) {
$encryptionEnabled = $this->encryptionManager->isEnabled();
$shouldEncrypt = false;
$encryptionModule = null;
$header = $this->getHeader($path);
@ -258,10 +259,11 @@ class Encryption extends Wrapper {
) {
if (!empty($encryptionModuleId)) {
$encryptionModule = $this->encryptionManager->getEncryptionModule($encryptionModuleId);
} else {
$encryptionModule = $this->encryptionManager->getDefaultEncryptionModule();
}
$shouldEncrypt = $encryptionModule->shouldEncrypt($fullPath);
} elseif ($encryptionEnabled) {
$encryptionModule = $this->encryptionManager->getDefaultEncryptionModule();
$shouldEncrypt = $encryptionModule->shouldEncrypt($fullPath);
}
} else {
// only get encryption module if we found one in the header
if (!empty($encryptionModuleId)) {
@ -271,12 +273,11 @@ class Encryption extends Wrapper {
}
} catch (ModuleDoesNotExistsException $e) {
$this->logger->warning('Encryption module "' . $encryptionModuleId .
'" not found, file will be stored unencrypted');
'" not found, file will be stored unencrypted (' . $e->getMessage() . ')');
}
// encryption disabled on write of new file and write to existing unencrypted file -> don't encrypt
$encEnabled = $this->encryptionManager->isEnabled();
if (!$encEnabled || !$this->mount->getOption('encrypt', true)) {
if (!$encryptionEnabled || !$this->mount->getOption('encrypt', true)) {
if (!$targetExists || !$targetIsEncrypted) {
$shouldEncrypt = false;
}