Skip to content

Commit 048774b

Browse files
icewind1991backportbot[bot]
authored andcommitted
fix: don't update cached mountpoints if the request doesn't have filesystem access
Signed-off-by: Robin Appelman <robin@icewind.nl>
1 parent 9a65982 commit 048774b

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

lib/private/Files/SetupManager.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ private function afterUserFullySetup(IUser $user, array $previouslySetupProvider
297297
$mounts = array_filter($mounts, function (IMountPoint $mount) use ($previouslySetupProviders) {
298298
return !in_array($mount->getMountProvider(), $previouslySetupProviders);
299299
});
300-
$this->userMountCache->registerMounts($user, $mounts, $newProviders);
300+
$this->registerMounts($user, $mounts, $newProviders);
301301

302302
$cacheDuration = $this->config->getSystemValueInt('fs_mount_cache_duration', 5 * 60);
303303
if ($cacheDuration > 0) {
@@ -462,7 +462,7 @@ public function setupForPath(string $path, bool $includeChildren = false): void
462462
}
463463

464464
if (count($mounts)) {
465-
$this->userMountCache->registerMounts($user, $mounts, $currentProviders);
465+
$this->registerMounts($user, $mounts, $currentProviders);
466466
$this->setupForUserWith($user, function () use ($mounts) {
467467
array_walk($mounts, [$this->mountManager, 'addMount']);
468468
});
@@ -533,7 +533,7 @@ public function setupForProvider(string $path, array $providers): void {
533533
$mounts = $this->mountProviderCollection->getUserMountsForProviderClasses($user, $providers);
534534
}
535535

536-
$this->userMountCache->registerMounts($user, $mounts, $providers);
536+
$this->registerMounts($user, $mounts, $providers);
537537
$this->setupForUserWith($user, function () use ($mounts) {
538538
array_walk($mounts, [$this->mountManager, 'addMount']);
539539
});
@@ -605,4 +605,10 @@ private function setupListeners() {
605605
});
606606
}
607607
}
608+
609+
private function registerMounts(IUser $user, array $mounts, ?array $mountProviderClasses = null): void {
610+
if ($this->lockdownManager->canAccessFilesystem()) {
611+
$this->userMountCache->registerMounts($user, $mounts, $mountProviderClasses);
612+
}
613+
}
608614
}

0 commit comments

Comments
 (0)