summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2014-08-20 18:14:09 +0200
committerVincent Petry <pvince81@owncloud.com>2014-08-20 18:14:09 +0200
commit36c88e28307da569fea7a86d18ad559aa0b3f868 (patch)
treefabc731e330b578094cb5f17db9b571434ffd37e
parent375a8535c4db7e0117bbb688b97edd2ebc98cecc (diff)
parentcc8c1d8e0776bda7f4c7c28e11984144a4861df3 (diff)
downloadnextcloud-server-36c88e28307da569fea7a86d18ad559aa0b3f868.tar.gz
nextcloud-server-36c88e28307da569fea7a86d18ad559aa0b3f868.zip
Merge pull request #10422 from owncloud/dav-disablerangerequestwhennotsupported
Return whole file if range request cannot be granted due to encryption
-rw-r--r--lib/private/connector/sabre/server.php22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/private/connector/sabre/server.php b/lib/private/connector/sabre/server.php
index aaf4fe85af9..43c3464f1ca 100644
--- a/lib/private/connector/sabre/server.php
+++ b/lib/private/connector/sabre/server.php
@@ -33,6 +33,11 @@ class OC_Connector_Sabre_Server extends Sabre\DAV\Server {
*/
private $overLoadedUri = null;
+ /**
+ * @var boolean
+ */
+ private $ignoreRangeHeader = false;
+
public function getRequestUri() {
if (!is_null($this->overLoadedUri)) {
@@ -59,6 +64,23 @@ class OC_Connector_Sabre_Server extends Sabre\DAV\Server {
return $result;
}
+ public function getHTTPRange() {
+ if ($this->ignoreRangeHeader) {
+ return null;
+ }
+ return parent::getHTTPRange();
+ }
+
+ protected function httpGet($uri) {
+ $range = $this->getHTTPRange();
+
+ if (OC_App::isEnabled('files_encryption') && $range) {
+ // encryption does not support range requests
+ $this->ignoreRangeHeader = true;
+ }
+ return parent::httpGet($uri);
+ }
+
/**
* @see \Sabre\DAV\Server
*/