Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorLukas Reschke <lukas@owncloud.com>2015-07-21 21:40:32 +0300
committerLukas Reschke <lukas@owncloud.com>2015-09-10 16:02:45 +0300
commitbb5b7290ac4538e18bddc18d94b7e82d432e1d59 (patch)
treeff3215928120b7ed33836b780587dcc40292d6ae /lib
parenta283bf209b8765bb0f9beb7f7d9f4112dec6e8da (diff)
Add custom CSP for Win 10 compatibility
The default content-security-policy of ownCloud forbids inline JavaScript for security reasons. IE starting on Windows 10 will however also obey the CSP which will break the event source fallback. As a workaround thus we set a custom policy which allows the execution of inline JavaScript. This fixes https://github.com/owncloud/core/issues/14286
Diffstat (limited to 'lib')
-rw-r--r--lib/private/eventsource.php11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/private/eventsource.php b/lib/private/eventsource.php
index 53947f3a2f2..074c700a6fb 100644
--- a/lib/private/eventsource.php
+++ b/lib/private/eventsource.php
@@ -41,6 +41,17 @@ class OC_EventSource implements \OCP\IEventSource {
$this->fallback = isset($_GET['fallback']) and $_GET['fallback'] == 'true';
if ($this->fallback) {
$this->fallBackId = (int)$_GET['fallback_id'];
+ /**
+ * FIXME: The default content-security-policy of ownCloud forbids inline
+ * JavaScript for security reasons. IE starting on Windows 10 will
+ * however also obey the CSP which will break the event source fallback.
+ *
+ * As a workaround thus we set a custom policy which allows the execution
+ * of inline JavaScript.
+ *
+ * @link https://github.com/owncloud/core/issues/14286
+ */
+ header("Content-Security-Policy: default-src 'none'; script-src 'unsafe-inline'");
header("Content-Type: text/html");
echo str_repeat('<span></span>' . PHP_EOL, 10); //dummy data to keep IE happy
} else {