aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Encryption
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/Encryption')
-rw-r--r--lib/private/Encryption/EncryptionEventListener.php17
-rw-r--r--lib/private/Encryption/Keys/Storage.php1
-rw-r--r--lib/private/Encryption/Util.php4
3 files changed, 15 insertions, 7 deletions
diff --git a/lib/private/Encryption/EncryptionEventListener.php b/lib/private/Encryption/EncryptionEventListener.php
index 59ac0dea932..d51b4b0d531 100644
--- a/lib/private/Encryption/EncryptionEventListener.php
+++ b/lib/private/Encryption/EncryptionEventListener.php
@@ -17,7 +17,9 @@ use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\EventDispatcher\IEventListener;
use OCP\Files\Events\Node\NodeRenamedEvent;
+use OCP\Files\NotFoundException;
use OCP\IUser;
+use OCP\IUserManager;
use OCP\IUserSession;
use OCP\Share\Events\ShareCreatedEvent;
use OCP\Share\Events\ShareDeletedEvent;
@@ -31,6 +33,7 @@ class EncryptionEventListener implements IEventListener {
private IUserSession $userSession,
private SetupManager $setupManager,
private Manager $encryptionManager,
+ private IUserManager $userManager,
) {
}
@@ -50,10 +53,14 @@ class EncryptionEventListener implements IEventListener {
} elseif ($event instanceof ShareCreatedEvent) {
$this->getUpdate()->postShared($event->getShare()->getNode());
} elseif ($event instanceof ShareDeletedEvent) {
- // In case the unsharing happens in a background job, we don't have
- // a session and we load instead the user from the UserManager
- $owner = $event->getShare()->getNode()->getOwner();
- $this->getUpdate($owner)->postUnshared($event->getShare()->getNode());
+ try {
+ // In case the unsharing happens in a background job, we don't have
+ // a session and we load instead the user from the UserManager
+ $owner = $this->userManager->get($event->getShare()->getShareOwner());
+ $this->getUpdate($owner)->postUnshared($event->getShare()->getNode());
+ } catch (NotFoundException $e) {
+ /* The node was deleted already, nothing to update */
+ }
} elseif ($event instanceof NodeRestoredEvent) {
$this->getUpdate()->postRestore($event->getTarget());
}
@@ -78,7 +85,7 @@ class EncryptionEventListener implements IEventListener {
$this->updater = new Update(
new Util(
new View(),
- \OC::$server->getUserManager(),
+ $this->userManager,
\OC::$server->getGroupManager(),
\OC::$server->getConfig()),
\OC::$server->getEncryptionManager(),
diff --git a/lib/private/Encryption/Keys/Storage.php b/lib/private/Encryption/Keys/Storage.php
index 2c0ce9e5ef3..cce22b9138a 100644
--- a/lib/private/Encryption/Keys/Storage.php
+++ b/lib/private/Encryption/Keys/Storage.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
diff --git a/lib/private/Encryption/Util.php b/lib/private/Encryption/Util.php
index 0566ab9a760..2d7bc28129b 100644
--- a/lib/private/Encryption/Util.php
+++ b/lib/private/Encryption/Util.php
@@ -290,8 +290,8 @@ class Util {
if (count($root) > 1) {
// detect alternative key storage root
$rootDir = $this->getKeyStorageRoot();
- if ($rootDir !== '' &&
- str_starts_with(Filesystem::normalizePath($path), Filesystem::normalizePath($rootDir))
+ if ($rootDir !== ''
+ && str_starts_with(Filesystem::normalizePath($path), Filesystem::normalizePath($rootDir))
) {
return true;
}