diff options
author | Robin Appelman <icewind@owncloud.com> | 2016-01-29 13:05:53 +0100 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2016-01-29 13:05:53 +0100 |
commit | e3b5639fc19067e19191f21e9773eb9c1affc35d (patch) | |
tree | caf053cb28d4c8f1df67ca318531d7825e376ca0 /lib/private/files/view.php | |
parent | 8b3d7d09d52ba169953d6a7d03ab570eb3ceed7a (diff) | |
download | nextcloud-server-e3b5639fc19067e19191f21e9773eb9c1affc35d.tar.gz nextcloud-server-e3b5639fc19067e19191f21e9773eb9c1affc35d.zip |
Block shares that dont have the correct source permissions
Diffstat (limited to 'lib/private/files/view.php')
-rw-r--r-- | lib/private/files/view.php | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/private/files/view.php b/lib/private/files/view.php index d4cc24ae0f5..2656e34cddf 100644 --- a/lib/private/files/view.php +++ b/lib/private/files/view.php @@ -46,6 +46,7 @@ use Icewind\Streams\CallbackWrapper; use OC\Files\Mount\MoveableMount; use OC\Files\Storage\Storage; use OC\User\User; +use OCP\Constants; use OCP\Files\Cache\ICacheEntry; use OCP\Files\FileNameTooLongException; use OCP\Files\InvalidCharacterInPathException; @@ -1335,7 +1336,7 @@ class View { $data = $this->getCacheEntry($storage, $internalPath, $directory); - if (!$data instanceof ICacheEntry || !isset($data['fileid'])) { + if (!$data instanceof ICacheEntry || !isset($data['fileid']) || !($data->getPermissions() && Constants::PERMISSION_READ)) { return []; } @@ -1385,7 +1386,7 @@ class View { $rootEntry = $subCache->get(''); } - if ($rootEntry) { + if ($rootEntry && ($rootEntry->getPermissions() && Constants::PERMISSION_READ)) { $relativePath = trim(substr($mountPoint, $dirLength), '/'); if ($pos = strpos($relativePath, '/')) { //mountpoint inside subfolder add size to the correct folder |