aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJulius Härtl <jus@bitgrid.net>2021-08-18 15:18:58 +0200
committerGitHub <noreply@github.com>2021-08-18 15:18:58 +0200
commit95987d903db987b138092f236c496752fe074cc6 (patch)
treeb6034679f26aaae9f87d77baea2a826017865e00 /lib
parent7ab39effd3d8d1ead9fac5bd475da024826b07c5 (diff)
parent60ecc432a49e1a768e8f95024073a1607c99a43e (diff)
downloadnextcloud-server-95987d903db987b138092f236c496752fe074cc6.tar.gz
nextcloud-server-95987d903db987b138092f236c496752fe074cc6.zip
Merge pull request #28481 from nextcloud/fix/hash-key
Hash cache key
Diffstat (limited to 'lib')
-rw-r--r--lib/private/User/Manager.php5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/private/User/Manager.php b/lib/private/User/Manager.php
index 12c615d500b..1827be61a7a 100644
--- a/lib/private/User/Manager.php
+++ b/lib/private/User/Manager.php
@@ -158,7 +158,7 @@ class Manager extends PublicEmitter implements IUserManager {
return $this->cachedUsers[$uid];
}
- $cachedBackend = $this->cache->get($uid);
+ $cachedBackend = $this->cache->get(sha1($uid));
if ($cachedBackend !== null && isset($this->backends[$cachedBackend])) {
// Cache has the info of the user backend already, so ask that one directly
$backend = $this->backends[$cachedBackend];
@@ -174,7 +174,8 @@ class Manager extends PublicEmitter implements IUserManager {
}
if ($backend->userExists($uid)) {
- $this->cache->set($uid, $i, 300);
+ // Hash $uid to ensure that only valid characters are used for the cache key
+ $this->cache->set(sha1($uid), $i, 300);
return $this->getUserObject($uid, $backend);
}
}