Merge pull request #2236 from owncloud/fix-migration
Check if username is valid and remove slashes from filename
This commit is contained in:
commit
769317702f
1 changed files with 9 additions and 0 deletions
|
@ -246,11 +246,20 @@ class OC_Migrate{
|
|||
OC_Log::write( 'migration', 'User doesn\'t exist', OC_Log::ERROR );
|
||||
return json_encode( array( 'success' => false ) );
|
||||
}
|
||||
|
||||
// Check if the username is valid
|
||||
if( preg_match( '/[^a-zA-Z0-9 _\.@\-]/', $json->exporteduser )) {
|
||||
OC_Log::write( 'migration', 'Username is not valid', OC_Log::ERROR );
|
||||
return json_encode( array( 'success' => false ) );
|
||||
}
|
||||
|
||||
// Copy data
|
||||
$userfolder = $extractpath . $json->exporteduser;
|
||||
$newuserfolder = $datadir . '/' . self::$uid;
|
||||
foreach(scandir($userfolder) as $file){
|
||||
if($file !== '.' && $file !== '..' && is_dir($file)) {
|
||||
$file = str_replace(array('/', '\\'), '', $file);
|
||||
|
||||
// Then copy the folder over
|
||||
OC_Helper::copyr($userfolder.'/'.$file, $newuserfolder.'/'.$file);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue