summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorBjörn Schießle <schiessle@owncloud.com>2013-06-14 15:07:06 +0200
committerBjörn Schießle <schiessle@owncloud.com>2013-06-14 15:07:06 +0200
commitf91b02e9b68e5478e93ec059a5439b493d1a1d39 (patch)
tree92d98737cd54364f31d080043d06f68da45f2f74 /apps
parent08f81f3f92c4283b33605490778d375c0f1d2b5a (diff)
downloadnextcloud-server-f91b02e9b68e5478e93ec059a5439b493d1a1d39.tar.gz
nextcloud-server-f91b02e9b68e5478e93ec059a5439b493d1a1d39.zip
only escape glob pattern
Diffstat (limited to 'apps')
-rw-r--r--apps/files_trashbin/lib/trash.php12
-rw-r--r--apps/files_versions/lib/versions.php7
2 files changed, 11 insertions, 8 deletions
diff --git a/apps/files_trashbin/lib/trash.php b/apps/files_trashbin/lib/trash.php
index 2d1830a38f1..e06e959f8eb 100644
--- a/apps/files_trashbin/lib/trash.php
+++ b/apps/files_trashbin/lib/trash.php
@@ -193,10 +193,11 @@ class Trashbin {
$rootView->rename($sharekeys, $user.'/files_trashbin/share-keys/' . $filename . '.d' . $timestamp);
} else {
// get local path to share-keys
- $localShareKeysPath = $rootView->getLocalFile($sharekeys);
+ $localShareKeysPath = $rootView->getLocalFile($sharekeys);
+ $escapedLocalShareKeysPath = preg_replace('/(\*|\?|\[)/', '[$1]', $localShareKeysPath);
// handle share-keys
- $matches = glob(preg_quote($localShareKeysPath).'*.shareKey');
+ $matches = glob($escapedLocalShareKeysPath.'*.shareKey');
foreach ($matches as $src) {
// get source file parts
$pathinfo = pathinfo($src);
@@ -737,14 +738,15 @@ class Trashbin {
*/
private static function getVersionsFromTrash($filename, $timestamp) {
$view = new \OC\Files\View('/'.\OCP\User::getUser().'/files_trashbin/versions');
- $versionsName = $view->getLocalFile($filename);
+ $versionsName = $view->getLocalFile($filename).'.v';
+ $escapedVersionsName = preg_replace('/(\*|\?|\[)/', '[$1]', $versionsName);
$versions = array();
if ($timestamp ) {
// fetch for old versions
- $matches = glob( $versionsName.'.v*.d'.$timestamp );
+ $matches = glob( $escapedVersionsName.'*.d'.$timestamp );
$offset = -strlen($timestamp)-2;
} else {
- $matches = glob( $versionsName.'.v*' );
+ $matches = glob( $escapedVersionsName.'*' );
}
foreach( $matches as $ma ) {
diff --git a/apps/files_versions/lib/versions.php b/apps/files_versions/lib/versions.php
index 4beb9e0fe5c..757926cd77a 100644
--- a/apps/files_versions/lib/versions.php
+++ b/apps/files_versions/lib/versions.php
@@ -241,11 +241,12 @@ class Storage {
public static function getVersions($uid, $filename, $count = 0 ) {
if( \OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true' ) {
$versions_fileview = new \OC\Files\View('/' . $uid . '/files_versions');
- $versionsName = $versions_fileview->getLocalFile($filename);
-
+ $versionsName = \OC_Filesystem::normalizePath($versions_fileview->getLocalFile($filename).'.v');
+ $escapedVersionName = preg_replace('/(\*|\?|\[)/', '[$1]', $versionsName);
+
$versions = array();
// fetch for old versions
- $matches = glob(preg_quote($versionsName).'.v*' );
+ $matches = glob($escapedVersionName.'*');
if ( !$matches ) {
return $versions;