fix: don't update cached mountpoints if the request doesn't have filesystem access

Signed-off-by: Robin Appelman <robin@icewind.nl>
This commit is contained in:
Robin Appelman 2025-07-31 18:28:26 +02:00 committed by backportbot[bot]
parent 2057fff1ad
commit 034cf48da3

View file

@ -292,7 +292,7 @@ class SetupManager {
$mounts = array_filter($mounts, function (IMountPoint $mount) use ($previouslySetupProviders) {
return !in_array($mount->getMountProvider(), $previouslySetupProviders);
});
$this->userMountCache->registerMounts($user, $mounts, $newProviders);
$this->registerMounts($user, $mounts, $newProviders);
$cacheDuration = $this->config->getSystemValueInt('fs_mount_cache_duration', 5 * 60);
if ($cacheDuration > 0) {
@ -457,7 +457,7 @@ class SetupManager {
}
if (count($mounts)) {
$this->userMountCache->registerMounts($user, $mounts, $currentProviders);
$this->registerMounts($user, $mounts, $currentProviders);
$this->setupForUserWith($user, function () use ($mounts) {
array_walk($mounts, [$this->mountManager, 'addMount']);
});
@ -528,7 +528,7 @@ class SetupManager {
$mounts = $this->mountProviderCollection->getUserMountsForProviderClasses($user, $providers);
}
$this->userMountCache->registerMounts($user, $mounts, $providers);
$this->registerMounts($user, $mounts, $providers);
$this->setupForUserWith($user, function () use ($mounts) {
array_walk($mounts, [$this->mountManager, 'addMount']);
});
@ -600,4 +600,10 @@ class SetupManager {
});
}
}
private function registerMounts(IUser $user, array $mounts, ?array $mountProviderClasses = null): void {
if ($this->lockdownManager->canAccessFilesystem()) {
$this->userMountCache->registerMounts($user, $mounts, $mountProviderClasses);
}
}
}