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
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@owncloud.com>2016-03-17 13:35:31 +0300
committerRoeland Jago Douma <rullzer@owncloud.com>2016-03-17 15:54:53 +0300
commit9dfcb55a2f40226bfefee4fc30781f41790dcee2 (patch)
tree09a3951cd7a12a252ba5cd0111ced3d6b697053a
parentec4c5a3e75c7e8d62b9c62c5a6750493627446ee (diff)
Set proper public webdav permissions when public upload disabled
Fixes #23325 It can happen that a user shares a folder with public upload. And some time later the admin disables public upload on the server. To make sure this is handled correctly we need to check the config value and reduce the permissions. Fix is kept small to be easy backportable.
-rw-r--r--apps/dav/lib/connector/publicauth.php5
1 files changed, 5 insertions, 0 deletions
diff --git a/apps/dav/lib/connector/publicauth.php b/apps/dav/lib/connector/publicauth.php
index 3d800e88004..f069a214fe8 100644
--- a/apps/dav/lib/connector/publicauth.php
+++ b/apps/dav/lib/connector/publicauth.php
@@ -61,6 +61,11 @@ class PublicAuth extends \Sabre\DAV\Auth\Backend\AbstractBasic {
return false;
}
+ if ((int)$linkItem['share_type'] === \OCP\Share::SHARE_TYPE_LINK &&
+ $this->config->getAppValue('core', 'shareapi_allow_public_upload', 'yes') !== 'yes') {
+ $this->share['permissions'] &= ~(\OCP\Constants::PERMISSION_CREATE | \OCP\Constants::PERMISSION_UPDATE);
+ }
+
// check if the share is password protected
if (isset($linkItem['share_with'])) {
if ($linkItem['share_type'] == \OCP\Share::SHARE_TYPE_LINK) {