Skip to content
Snippets Groups Projects
Commit 9575c2f3 authored by Björn Schießle's avatar Björn Schießle
Browse files

added helper function to escape glob pattern

Conflicts:

	apps/files_encryption/lib/helper.php
parent ec635007
No related branches found
No related tags found
No related merge requests found
......@@ -497,7 +497,7 @@ class Hooks {
// handle share-keys
$localKeyPath = $view->getLocalFile($baseDir . 'share-keys/' . $params['oldpath']);
$escapedPath = preg_replace('/(\*|\?|\[)/', '[$1]', $localKeyPath);
$escapedPath = Helper::escapeGlobPattern($localKeyPath);
$matches = glob($escapedPath . '*.shareKey');
foreach ($matches as $src) {
$dst = \OC\Files\Filesystem::normalizePath(str_replace($params['oldpath'], $params['newpath'], $src));
......
......@@ -218,7 +218,6 @@ class Helper {
exit();
}
/**
* check requirements for encryption app.
* @return bool true if requirements are met
......@@ -234,3 +233,14 @@ class Helper {
return (bool) $result;
}
}
/**
* @brief glob uses different pattern than regular expressions, escape glob pattern only
* @param unescaped path
* @return escaped path
*/
public static function escapeGlobPattern($path) {
return preg_replace('/(\*|\?|\[)/', '[$1]', $path);
}
}
......@@ -488,7 +488,7 @@ class Keymanager {
$view->unlink($baseDir . $filePath);
} else {
$localKeyPath = $view->getLocalFile($baseDir . $filePath);
$escapedPath = preg_replace('/(\*|\?|\[)/', '[$1]', $localKeyPath);
$escapedPath = Helper::escapeGlobPattern($localKeyPath);
$matches = glob($escapedPath . '*.shareKey');
foreach ($matches as $ma) {
$result = unlink($ma);
......@@ -549,8 +549,8 @@ class Keymanager {
private static function recursiveDelShareKeys($dir, $userIds) {
foreach ($userIds as $userId) {
$extension = '.' . $userId . '.shareKey';
$escapedDir = preg_replace('/(\*|\?|\[)/', '[$1]', $dir);
$escapedExtension = preg_replace('/(\*|\?|\[)/', '[$1]', $extension);
$escapedDir = Helper::escapeGlobPattern($dir);
$escapedExtension = Helper::escapeGlobPattern($extension);
$matches = glob($escapedDir . '/*' . $escapedExtension);
}
/** @var $matches array */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment