creating and deleting of file and folder 'Shared' in root is not allowed
This commit is contained in:
parent
cadd71ec8a
commit
6e0e621218
2 changed files with 18 additions and 3 deletions
|
@ -50,6 +50,10 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa
|
||||||
*/
|
*/
|
||||||
public function createFile($name, $data = null) {
|
public function createFile($name, $data = null) {
|
||||||
|
|
||||||
|
if ($name === 'Shared' && empty($this->path)) {
|
||||||
|
throw new \Sabre_DAV_Exception_Forbidden();
|
||||||
|
}
|
||||||
|
|
||||||
// for chunked upload also updating a existing file is a "createFile"
|
// for chunked upload also updating a existing file is a "createFile"
|
||||||
// because we create all the chunks before reasamble them to the existing file.
|
// because we create all the chunks before reasamble them to the existing file.
|
||||||
if (isset($_SERVER['HTTP_OC_CHUNKED'])) {
|
if (isset($_SERVER['HTTP_OC_CHUNKED'])) {
|
||||||
|
@ -82,6 +86,10 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa
|
||||||
*/
|
*/
|
||||||
public function createDirectory($name) {
|
public function createDirectory($name) {
|
||||||
|
|
||||||
|
if ($name === 'Shared' && empty($this->path)) {
|
||||||
|
throw new \Sabre_DAV_Exception_Forbidden();
|
||||||
|
}
|
||||||
|
|
||||||
if (!\OC\Files\Filesystem::isCreatable($this->path)) {
|
if (!\OC\Files\Filesystem::isCreatable($this->path)) {
|
||||||
throw new \Sabre_DAV_Exception_Forbidden();
|
throw new \Sabre_DAV_Exception_Forbidden();
|
||||||
}
|
}
|
||||||
|
@ -187,12 +195,15 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa
|
||||||
*/
|
*/
|
||||||
public function delete() {
|
public function delete() {
|
||||||
|
|
||||||
|
if ($this->path === 'Shared') {
|
||||||
|
throw new \Sabre_DAV_Exception_Forbidden();
|
||||||
|
}
|
||||||
|
|
||||||
if (!\OC\Files\Filesystem::isDeletable($this->path)) {
|
if (!\OC\Files\Filesystem::isDeletable($this->path)) {
|
||||||
throw new \Sabre_DAV_Exception_Forbidden();
|
throw new \Sabre_DAV_Exception_Forbidden();
|
||||||
}
|
}
|
||||||
if ($this->path != "/Shared") {
|
|
||||||
\OC\Files\Filesystem::rmdir($this->path);
|
\OC\Files\Filesystem::rmdir($this->path);
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -143,6 +143,10 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements Sabre_D
|
||||||
*/
|
*/
|
||||||
public function delete() {
|
public function delete() {
|
||||||
|
|
||||||
|
if ($this->path === 'Shared') {
|
||||||
|
throw new \Sabre_DAV_Exception_Forbidden();
|
||||||
|
}
|
||||||
|
|
||||||
if (!\OC\Files\Filesystem::isDeletable($this->path)) {
|
if (!\OC\Files\Filesystem::isDeletable($this->path)) {
|
||||||
throw new \Sabre_DAV_Exception_Forbidden();
|
throw new \Sabre_DAV_Exception_Forbidden();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue