From: Bjoern Schiessle Date: Wed, 8 Apr 2015 14:41:20 +0000 (+0200) Subject: don't throw exception if a file gets uploaded and encryption is disabled X-Git-Tag: v8.1.0alpha1~67^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=c379557e1d56051d0258ede054961f282feaffcf;p=nextcloud-server.git don't throw exception if a file gets uploaded and encryption is disabled --- diff --git a/lib/private/files/storage/wrapper/encryption.php b/lib/private/files/storage/wrapper/encryption.php index e4f9781b382..4136e008af9 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; }