]> source.dussan.org Git - nextcloud-server.git/commitdiff
always encrypt files to owner
authorBjoern Schiessle <schiessle@owncloud.com>
Mon, 31 Mar 2014 16:09:46 +0000 (18:09 +0200)
committerBjoern Schiessle <schiessle@owncloud.com>
Mon, 31 Mar 2014 16:19:48 +0000 (18:19 +0200)
apps/files_encryption/lib/stream.php
apps/files_encryption/lib/util.php
lib/public/share.php

index 58ac03373a737bc2136a5cde4fad3b385114b1fc..66871945882ce3e3920bccf3dcd37b90f5db0edf 100644 (file)
@@ -545,7 +545,7 @@ class Stream {
                                $util = new Util($this->rootView, $this->userId);
 
                                // Get all users sharing the file includes current user
-                               $uniqueUserIds = $util->getSharingUsersArray($sharingEnabled, $this->relPath, $this->userId);
+                               $uniqueUserIds = $util->getSharingUsersArray($sharingEnabled, $this->relPath);
                                $checkedUserIds = $util->filterShareReadyUsers($uniqueUserIds);
 
                                // Fetch public keys for all sharing users
index 3db5a423478052c84af1f386c8db99e5ed1176a4..4bf987d92554839f64f821bb98cfb04b1397cd34 100644 (file)
@@ -1124,8 +1124,9 @@ class Util {
         * @brief Find, sanitise and format users sharing a file
         * @note This wraps other methods into a portable bundle
         * @param boolean $sharingEnabled
+        * @param string $filePath path relativ to current users files folder
         */
-       public function getSharingUsersArray($sharingEnabled, $filePath, $currentUserId = false) {
+       public function getSharingUsersArray($sharingEnabled, $filePath) {
 
                $appConfig = \OC::$server->getAppConfig();
 
@@ -1144,12 +1145,14 @@ class Util {
 
                $ownerPath = \OCA\Encryption\Helper::stripPartialFileExtension($ownerPath);
 
-               $userIds = array();
+               // always add owner to the list of users with access to the file
+               $userIds = array($owner);
+
                if ($sharingEnabled) {
 
                        // Find out who, if anyone, is sharing the file
-                       $result = \OCP\Share::getUsersSharingFile($ownerPath, $owner, true);
-                       $userIds = $result['users'];
+                       $result = \OCP\Share::getUsersSharingFile($ownerPath, $owner);
+                       $userIds = \array_merge($userIds, $result['users']);
                        if ($result['public']) {
                                $userIds[] = $this->publicShareKeyId;
                        }
@@ -1165,11 +1168,6 @@ class Util {
                        $userIds[] = $recoveryKeyId;
                }
 
-               // add current user if given
-               if ($currentUserId !== false) {
-                       $userIds[] = $currentUserId;
-               }
-
                // check if it is a group mount
                if (\OCP\App::isEnabled("files_external")) {
                        $mount = \OC_Mount_Config::getSystemMountPoints();
index a08134b3837789e9a7fc614b7909a366179e601c..564839e86b68306647d9ca6d6e8a81e6a71eaeae 100644 (file)
@@ -63,9 +63,9 @@ class Share extends \OC\Share\Constants {
 
        /**
         * Find which users can access a shared item
-        * @param $path to the file
-        * @param $user owner of the file
-        * @param include owner to the list of users with access to the file
+        * @param string $path to the file
+        * @param string $user owner of the file
+        * @param bool $includeOwner include owner to the list of users with access to the file
         * @return array
         * @note $path needs to be relative to user data dir, e.g. 'file.txt'
         *       not '/admin/data/file.txt'