Skip to content
This repository was archived by the owner on Nov 25, 2020. It is now read-only.

Commit 0ae4217

Browse files
committed
Delete trailing whitespaces on rename and mkdir
Whitespace at end of filename cause errors while accessing those files and dirs via WebDAV (e.g. Nautilus, Caja, etc). This patch tries to avoid creation of such nodes.
1 parent 78328fc commit 0ae4217

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

core/src/plugins/access.fs/FsAccessDriver.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1113,7 +1113,8 @@ public function switchAction(ServerRequestInterface &$request, ResponseInterface
11131113
$destNode = $selection->nodeForPath($dest);
11141114
$this->filterUserSelectionToHidden($ctx, [$destNode->getLabel()]);
11151115
}else if(isSet($httpVars["filename_new"])){
1116-
$filename_new = InputFilter::decodeSecureMagic($httpVars["filename_new"]);
1116+
$filename_new = InputFilter::decodeSecureMagic($httpVars["filename_new"], InputFilter::SANITIZE_FILENAME);
1117+
$filename_new = rtrim($filename_new);
11171118
$this->filterUserSelectionToHidden($ctx, [$filename_new]);
11181119
}
11191120
$renamedNode = $this->rename($originalNode, $destNode, $filename_new);
@@ -1148,6 +1149,7 @@ public function switchAction(ServerRequestInterface &$request, ResponseInterface
11481149
$parentDir = PathUtils::forwardSlashDirname($newDirPath);
11491150
$basename = PathUtils::forwardSlashBasename($newDirPath);
11501151
$basename = substr($basename, 0, $max_length);
1152+
$basename = rtrim($basename);
11511153
$this->filterUserSelectionToHidden($ctx, [$basename]);
11521154
$parentNode = $selection->nodeForPath($parentDir);
11531155
try{
@@ -2545,4 +2547,4 @@ public function makeSharedRepositoryOptions(ContextInterface $ctx, $httpVars)
25452547
}
25462548

25472549

2548-
}
2550+
}

0 commit comments

Comments
 (0)