From 54f47f53a80241a3962f4da7bab583a2217a14c9 Mon Sep 17 00:00:00 2001 From: MichaIng Date: Fri, 22 Dec 2023 04:10:07 +0100 Subject: [PATCH] fix(dav): fallback realm for HTTP authentication By default, the name of the Nextcloud instance is an empty string, until changed by the admin. This leads to an empty realm sent with the WWW-Authenticate header, while the realm is mandatory for Basic HTTP authentication. Some clients have issues with an empty realm, e.g. Thunderbird cannot store passwords in this case. This commit applies "Nextcloud" as fallback for the realm, in case the name of the Nextcloud instance is not set. Solves: https://help.nextcloud.com/t/thunderbird-dont-save-caldav-password-because-of-missing-httprealm-or-formsubmiturl/93233 Signed-off-by: MichaIng --- apps/dav/lib/Connector/PublicAuth.php | 2 +- apps/dav/lib/Connector/Sabre/Auth.php | 2 +- apps/dav/lib/Connector/Sabre/BearerAuth.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/dav/lib/Connector/PublicAuth.php b/apps/dav/lib/Connector/PublicAuth.php index d613a5a188f1b..65b20ca661ab2 100644 --- a/apps/dav/lib/Connector/PublicAuth.php +++ b/apps/dav/lib/Connector/PublicAuth.php @@ -61,7 +61,7 @@ public function __construct(IRequest $request, // setup realm $defaults = new \OCP\Defaults(); - $this->realm = $defaults->getName(); + $this->realm = $defaults->getName() ?: 'Nextcloud'; } /** diff --git a/apps/dav/lib/Connector/Sabre/Auth.php b/apps/dav/lib/Connector/Sabre/Auth.php index 243b92e63f744..c2e343d8656f1 100644 --- a/apps/dav/lib/Connector/Sabre/Auth.php +++ b/apps/dav/lib/Connector/Sabre/Auth.php @@ -75,7 +75,7 @@ public function __construct(ISession $session, // setup realm $defaults = new \OCP\Defaults(); - $this->realm = $defaults->getName(); + $this->realm = $defaults->getName() ?: 'Nextcloud'; } /** diff --git a/apps/dav/lib/Connector/Sabre/BearerAuth.php b/apps/dav/lib/Connector/Sabre/BearerAuth.php index 4d9599b97a3da..6fd61c44b3452 100644 --- a/apps/dav/lib/Connector/Sabre/BearerAuth.php +++ b/apps/dav/lib/Connector/Sabre/BearerAuth.php @@ -47,7 +47,7 @@ public function __construct(IUserSession $userSession, // setup realm $defaults = new \OCP\Defaults(); - $this->realm = $defaults->getName(); + $this->realm = $defaults->getName() ?: 'Nextcloud'; } private function setupUserFs($userId) {