From 35098a99738b2149c65318b39400d6dafa6541c1 Mon Sep 17 00:00:00 2001
From: Daniel Kesselberg <mail@danielkesselberg.de>
Date: Fri, 23 Oct 2020 21:18:02 +0200
Subject: [PATCH] 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 <mail@danielkesselberg.de>
---
 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 14bb8798630..5dedb0a7d7b 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;
 	}
-- 
GitLab