From 761ee14fd7693a1bcc920a96e6ae3300e63547b6 Mon Sep 17 00:00:00 2001 From: Daniel Kesselberg Date: Fri, 23 Oct 2020 21:12:15 +0200 Subject: [PATCH 1/2] Update phpdoc for circleToPrincipal as the QueryException is already catched inside circleToPrincipal. Signed-off-by: Daniel Kesselberg --- apps/dav/lib/Connector/Sabre/Principal.php | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/apps/dav/lib/Connector/Sabre/Principal.php b/apps/dav/lib/Connector/Sabre/Principal.php index 1ddbc1a608..14bb879863 100644 --- a/apps/dav/lib/Connector/Sabre/Principal.php +++ b/apps/dav/lib/Connector/Sabre/Principal.php @@ -178,11 +178,7 @@ class Principal implements BackendInterface { return $this->userToPrincipal($user); } } elseif ($prefix === 'principals/circles') { - try { - return $this->circleToPrincipal($name); - } catch (QueryException $e) { - return null; - } + return $this->circleToPrincipal($name); } return null; } @@ -471,9 +467,6 @@ class Principal implements BackendInterface { /** * @param string $circleUniqueId * @return array|null - * @throws \OCP\AppFramework\QueryException - * @suppress PhanUndeclaredClassMethod - * @suppress PhanUndeclaredClassCatch */ protected function circleToPrincipal($circleUniqueId) { if (!$this->appManager->isEnabledForUser('circles') || !class_exists('\OCA\Circles\Api\v1\Circles')) { From 6635dbb3bd6671ab05352ad3784594572cc50ada Mon Sep 17 00:00:00 2001 From: Daniel Kesselberg Date: Fri, 23 Oct 2020 21:18:02 +0200 Subject: [PATCH 2/2] A valid user session is required for circles. The circles app depends on a valid userId. A public shared calender might be viewed by guests without a user session. For such requests the principal is null. Signed-off-by: Daniel Kesselberg --- apps/dav/lib/Connector/Sabre/Principal.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/dav/lib/Connector/Sabre/Principal.php b/apps/dav/lib/Connector/Sabre/Principal.php index 14bb879863..5dedb0a7d7 100644 --- a/apps/dav/lib/Connector/Sabre/Principal.php +++ b/apps/dav/lib/Connector/Sabre/Principal.php @@ -178,7 +178,9 @@ class Principal implements BackendInterface { return $this->userToPrincipal($user); } } elseif ($prefix === 'principals/circles') { - return $this->circleToPrincipal($name); + if ($this->userSession->getUser() !== null) { + return $this->circleToPrincipal($name); + } } return null; }