diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2013-09-24 13:26:12 +0200 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2013-09-24 13:26:12 +0200 |
commit | ee1f627155cad4153f3da3160ca6040c137841d3 (patch) | |
tree | 64864c6ffec1d150fe68a1136a72d92327ea11d5 /lib/connector/sabre/node.php | |
parent | 40871bab88159d914cfab2dd938a2312ed8eb1c1 (diff) | |
download | nextcloud-server-ee1f627155cad4153f3da3160ca6040c137841d3.tar.gz nextcloud-server-ee1f627155cad4153f3da3160ca6040c137841d3.zip |
adding privilege check on move and rename operations
Diffstat (limited to 'lib/connector/sabre/node.php')
-rw-r--r-- | lib/connector/sabre/node.php | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/connector/sabre/node.php b/lib/connector/sabre/node.php index 0bffa58af78..29b7f9e53a5 100644 --- a/lib/connector/sabre/node.php +++ b/lib/connector/sabre/node.php @@ -78,6 +78,11 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr */ public function setName($name) { + // rename is only allowed if the update privilege is granted + if (!\OC\Files\Filesystem::isUpdatable($this->path)) { + throw new \Sabre_DAV_Exception_Forbidden(); + } + list($parentPath, ) = Sabre_DAV_URLUtil::splitPath($this->path); list(, $newName) = Sabre_DAV_URLUtil::splitPath($name); @@ -135,6 +140,12 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr * Even if the modification time is set to a custom value the access time is set to now. */ public function touch($mtime) { + + // touch is only allowed if the update privilege is granted + if (!\OC\Files\Filesystem::isUpdatable($this->path)) { + throw new \Sabre_DAV_Exception_Forbidden(); + } + \OC\Files\Filesystem::touch($this->path, $mtime); } |