]> source.dussan.org Git - nextcloud-server.git/commitdiff
Close session only if encryption app is not enabled
authorLukas Reschke <lukas@owncloud.com>
Mon, 24 Nov 2014 14:02:49 +0000 (15:02 +0100)
committerLukas Reschke <lukas@owncloud.com>
Mon, 24 Nov 2014 14:02:49 +0000 (15:02 +0100)
Fixes https://github.com/owncloud/core/issues/12389

apps/files_sharing/lib/controllers/sharecontroller.php

index 552d91643448374e27469bc672e1513c178b2700..71b5ab7f8c8d458a9ad868de388af28144ea7d33 100644 (file)
@@ -84,7 +84,6 @@ class ShareController extends Controller {
         * @NoCSRFRequired
         *
         * @param string $token
-        *
         * @return TemplateResponse|RedirectResponse
         */
        public function showAuthenticate($token) {
@@ -127,7 +126,6 @@ class ShareController extends Controller {
         *
         * @param string $token
         * @param string $path
-        *
         * @return TemplateResponse
         */
        public function showShare($token, $path = '') {
@@ -207,6 +205,8 @@ class ShareController extends Controller {
        /**
         * @PublicPage
         * @NoCSRFRequired
+        * @UseSession
+        *
         * @param string $token
         * @param string $files
         * @param string $path
@@ -215,6 +215,12 @@ class ShareController extends Controller {
        public function downloadShare($token, $files = null, $path = '') {
                \OC_User::setIncognitoMode(true);
 
+               // FIXME: Use DI once there is a suitable class
+               if (!\OCP\App::isEnabled('files_encryption')) {
+                       // encryption app requires the session to store the keys in
+                       \OC::$server->getSession()->close();
+               }
+
                $linkItem = OCP\Share::getShareByToken($token, false);
 
                // Share is password protected - check whether the user is permitted to access the share