aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern Schiessle <schiessle@owncloud.com>2013-08-14 09:44:29 +0200
committerBjoern Schiessle <schiessle@owncloud.com>2013-08-14 09:44:29 +0200
commit6c3efaf26c397eb957081f1d7a3a05286ca8445f (patch)
tree7f1421d400931d832e41ae74bf4887f9ccae104d
parent53bb89824deaf97095acf6bcc2997aa7141dd573 (diff)
downloadnextcloud-server-6c3efaf26c397eb957081f1d7a3a05286ca8445f.tar.gz
nextcloud-server-6c3efaf26c397eb957081f1d7a3a05286ca8445f.zip
throw exception if encryption was disabled but files are still encrypted to prevent the client from syncing unreadable files
-rw-r--r--lib/connector/sabre/file.php12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/connector/sabre/file.php b/lib/connector/sabre/file.php
index 06ab73e3e4d..61bdcd5e0ae 100644
--- a/lib/connector/sabre/file.php
+++ b/lib/connector/sabre/file.php
@@ -50,6 +50,11 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements Sabre_D
throw new \Sabre_DAV_Exception_Forbidden();
}
+ // throw an exception if encryption was disabled but the files are still encrypted
+ if (\OC_Util::encryptedFiles()) {
+ throw new \Sabre_DAV_Exception_ServiceUnavailable();
+ }
+
// mark file as partial while uploading (ignored by the scanner)
$partpath = $this->path . '.part';
@@ -89,7 +94,12 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements Sabre_D
*/
public function get() {
- return \OC\Files\Filesystem::fopen($this->path, 'rb');
+ //throw execption if encryption is disabled but files are still encrypted
+ if (\OC_Util::encryptedFiles()) {
+ throw new \Sabre_DAV_Exception_ServiceUnavailable();
+ } else {
+ return \OC\Files\Filesystem::fopen($this->path, 'rb');
+ }
}