From c379557e1d56051d0258ede054961f282feaffcf Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Wed, 8 Apr 2015 16:41:20 +0200 Subject: [PATCH] don't throw exception if a file gets uploaded and encryption is disabled --- lib/private/files/storage/wrapper/encryption.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/private/files/storage/wrapper/encryption.php b/lib/private/files/storage/wrapper/encryption.php index e4f9781b38..4136e008af 100644 --- a/lib/private/files/storage/wrapper/encryption.php +++ b/lib/private/files/storage/wrapper/encryption.php @@ -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 { + $shouldEncrypt = $encryptionModule->shouldEncrypt($fullPath); + } elseif ($encryptionEnabled) { $encryptionModule = $this->encryptionManager->getDefaultEncryptionModule(); + $shouldEncrypt = $encryptionModule->shouldEncrypt($fullPath); } - $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; }