summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Ng <chrng8@gmail.com>2021-08-17 17:57:21 +0000
committerbackportbot[bot] <backportbot[bot]@users.noreply.github.com>2021-08-18 13:23:44 +0000
commit7aa75c7b5ef4146e75539bcc432b074b9c9661af (patch)
tree6dfe8341503793fefe0185b297f16de03cb3a628
parent0723cb14f005d82261ec8658fc90aae1dd07ff6f (diff)
downloadnextcloud-server-7aa75c7b5ef4146e75539bcc432b074b9c9661af.tar.gz
nextcloud-server-7aa75c7b5ef4146e75539bcc432b074b9c9661af.zip
Hash cache key
Signed-off-by: Christopher Ng <chrng8@gmail.com>
-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 59c007b6b59..fca642473d9 100644
--- a/lib/private/User/Manager.php
+++ b/lib/private/User/Manager.php
@@ -159,7 +159,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];
@@ -175,7 +175,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);
}
}