aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon L <szaimen@e.mail.de>2023-05-23 14:33:49 +0200
committerGitHub <noreply@github.com>2023-05-23 14:33:49 +0200
commit3894a86e74e675cc71fe0847b6132e21243ebdfe (patch)
treebb7e1165c716d573d5b75fdd64e23be560448a0c
parent0713c1c4c6c7860fc792f0eab1ff712fce3fe14c (diff)
parent3c93ce9c25f26984c589ca04738cd113a434ddd3 (diff)
downloadnextcloud-server-3894a86e74e675cc71fe0847b6132e21243ebdfe.tar.gz
nextcloud-server-3894a86e74e675cc71fe0847b6132e21243ebdfe.zip
Merge pull request #38308 from nextcloud/fix/check-for-php-auth-server-variables
fix(carddav): Check if SERVER variables are set before accessing them
-rw-r--r--apps/dav/lib/CardDAV/SystemAddressbook.php9
1 files changed, 4 insertions, 5 deletions
diff --git a/apps/dav/lib/CardDAV/SystemAddressbook.php b/apps/dav/lib/CardDAV/SystemAddressbook.php
index 41e473ede63..c936ad2344f 100644
--- a/apps/dav/lib/CardDAV/SystemAddressbook.php
+++ b/apps/dav/lib/CardDAV/SystemAddressbook.php
@@ -35,14 +35,12 @@ use OCP\IConfig;
use OCP\IGroupManager;
use OCP\IL10N;
use OCP\IRequest;
-use OCP\IUser;
use OCP\IUserSession;
use Sabre\CardDAV\Backend\SyncSupport;
use Sabre\CardDAV\Backend\BackendInterface;
use Sabre\CardDAV\Card;
use Sabre\DAV\Exception\Forbidden;
use Sabre\DAV\Exception\NotFound;
-use Sabre\DAV\ICollection;
use Sabre\VObject\Component\VCard;
use Sabre\VObject\Reader;
use function array_filter;
@@ -234,12 +232,13 @@ class SystemAddressbook extends AddressBook {
}
/** @psalm-suppress NoInterfaceProperties */
- if ($this->request->server['PHP_AUTH_USER'] !== 'system') {
+ $server = $this->request->server;
+ if (!isset($server['PHP_AUTH_USER']) || $server['PHP_AUTH_USER'] !== 'system') {
return false;
}
/** @psalm-suppress NoInterfaceProperties */
- $sharedSecret = $this->request->server['PHP_AUTH_PW'];
+ $sharedSecret = $server['PHP_AUTH_PW'] ?? null;
if ($sharedSecret === null) {
return false;
}
@@ -299,7 +298,7 @@ class SystemAddressbook extends AddressBook {
}
public function getACL() {
- return array_filter(parent::getACL(), function($acl) {
+ return array_filter(parent::getACL(), function ($acl) {
if (in_array($acl['privilege'], ['{DAV:}write', '{DAV:}all'], true)) {
return false;
}