aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCôme Chilliet <come.chilliet@nextcloud.com>2025-06-16 16:35:27 +0200
committerCôme Chilliet <come.chilliet@nextcloud.com>2025-06-16 16:35:27 +0200
commita9acaaa45f13868dc927072c5701173a2268c321 (patch)
tree2c3babd34732ab14cbb751ceba01636f25d6ffcc
parent0450ce9ed497b666067dba6e20c45e7d73f6f97a (diff)
downloadnextcloud-server-fix/fix-encryption-manager-injection.tar.gz
nextcloud-server-fix/fix-encryption-manager-injection.zip
fix(encryption): Fix DI for encryption Manager classfix/fix-encryption-manager-injection
Only IManager was registered but the class name is used as well for DI in the encryption application. This was causing a crash of encryption command when using PHP 8.4 and lazy ghosts. Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
-rw-r--r--lib/private/Server.php3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/private/Server.php b/lib/private/Server.php
index b84c001a200..5964a979e21 100644
--- a/lib/private/Server.php
+++ b/lib/private/Server.php
@@ -322,7 +322,7 @@ class Server extends ServerContainer implements IServerContainer {
return new Profiler($c->get(SystemConfig::class));
});
- $this->registerService(\OCP\Encryption\IManager::class, function (Server $c): Encryption\Manager {
+ $this->registerService(Encryption\Manager::class, function (Server $c): Encryption\Manager {
$view = new View();
$util = new Encryption\Util(
$view,
@@ -339,6 +339,7 @@ class Server extends ServerContainer implements IServerContainer {
new ArrayCache()
);
});
+ $this->registerAlias(\OCP\Encryption\IManager::class, Encryption\Manager::class);
$this->registerService(IFile::class, function (ContainerInterface $c) {
$util = new Encryption\Util(