From 57d70a8b9bd8c4d0527436436993aae007711a37 Mon Sep 17 00:00:00 2001 From: Maxence Lange Date: Mon, 17 Aug 2026 09:19:08 -0100 Subject: [PATCH 1/2] fix(federation): use share owner Signed-off-by: Maxence Lange --- apps/dav/appinfo/v1/publicwebdav.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/dav/appinfo/v1/publicwebdav.php b/apps/dav/appinfo/v1/publicwebdav.php index bf32d561c1649..4a68d09cf673e 100644 --- a/apps/dav/appinfo/v1/publicwebdav.php +++ b/apps/dav/appinfo/v1/publicwebdav.php @@ -118,7 +118,11 @@ function (\Sabre\DAV\Server $server) use ( Filesystem::logWarningWhenAddingStorageWrapper($previousLog); $rootFolder = Server::get(IRootFolder::class); - $userFolder = $rootFolder->getUserFolder($share->getSharedBy()); + $sharedBy = $share->getSharedBy(); + if ($share->getShareType() === \OCP\Share\IShare::TYPE_REMOTE) { + $sharedBy = $share->getShareOwner(); + } + $userFolder = $rootFolder->getUserFolder($sharedBy); $node = $userFolder->getFirstNodeById($fileId); if (!$node) { throw new \Sabre\DAV\Exception\NotFound(); From 7b6b9314069ba23e7dbe4fe93fb703dacfe29386 Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 28 Aug 2026 13:06:52 -0400 Subject: [PATCH 2/2] refactor(dav): clarify public share user selection Signed-off-by: Josh --- apps/dav/appinfo/v1/publicwebdav.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/apps/dav/appinfo/v1/publicwebdav.php b/apps/dav/appinfo/v1/publicwebdav.php index 4a68d09cf673e..6838a277429eb 100644 --- a/apps/dav/appinfo/v1/publicwebdav.php +++ b/apps/dav/appinfo/v1/publicwebdav.php @@ -118,11 +118,10 @@ function (\Sabre\DAV\Server $server) use ( Filesystem::logWarningWhenAddingStorageWrapper($previousLog); $rootFolder = Server::get(IRootFolder::class); - $sharedBy = $share->getSharedBy(); - if ($share->getShareType() === \OCP\Share\IShare::TYPE_REMOTE) { - $sharedBy = $share->getShareOwner(); - } - $userFolder = $rootFolder->getUserFolder($sharedBy); + $userId = $share->getShareType() === \OCP\Share\IShare::TYPE_REMOTE + ? $share->getShareOwner() + : $share->getSharedBy(); + $userFolder = $rootFolder->getUserFolder($userId); $node = $userFolder->getFirstNodeById($fileId); if (!$node) { throw new \Sabre\DAV\Exception\NotFound();