Merge pull request #14652 from nextcloud/fix/invalid_usernames

Do not allow invalid users to be created
This commit is contained in:
Joas Schilling 2019-03-14 12:05:34 +01:00 committed by GitHub
commit 762a8bb3d9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 0 deletions

View File

@ -279,6 +279,10 @@ class Manager extends PublicEmitter implements IUserManager {
* @return bool|IUser the created user or false
*/
public function createUser($uid, $password) {
if (!$this->verifyUid($uid)) {
return false;
}
$localBackends = [];
foreach ($this->backends as $backend) {
if ($backend instanceof Database) {
@ -598,4 +602,14 @@ class Manager extends PublicEmitter implements IUserManager {
return ($u instanceof IUser);
}));
}
private function verifyUid(string $uid): bool {
$appdata = 'appdata_' . $this->config->getSystemValueString('instanceid');
if ($uid === '.htaccess' || $uid === 'files_external' || $uid === '.ocdata' || $uid === 'owncloud.log' || $uid === 'nextcloud.log' || $uid === $appdata) {
return false;
}
return true;
}
}