From 075d9c5ae454f4ecbda6cf558e6491d67e87208a 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 f993a8104294e..22444dcf6a02b 100644 --- a/apps/dav/appinfo/v1/publicwebdav.php +++ b/apps/dav/appinfo/v1/publicwebdav.php @@ -124,7 +124,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 e4ab50b7d46c5ddc7e5d75b13048beca95290458 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 22444dcf6a02b..996031f9e3b76 100644 --- a/apps/dav/appinfo/v1/publicwebdav.php +++ b/apps/dav/appinfo/v1/publicwebdav.php @@ -124,11 +124,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();