summaryrefslogtreecommitdiffstats
path: root/apps/dav/lib/Server.php
diff options
context:
space:
mode:
authorRichard Steinmetz <richard@steinmetz.cloud>2024-06-04 15:58:39 +0200
committerRichard Steinmetz <richard@steinmetz.cloud>2024-07-22 15:24:39 +0200
commitcbea7872333974bae8868e7553c06595e5d3d02d (patch)
treecacaa36b654f989903e300d379388df078d14674 /apps/dav/lib/Server.php
parent1768bd628052cf3b9db7cb3c1dbee7313ee24c16 (diff)
downloadnextcloud-server-cbea7872333974bae8868e7553c06595e5d3d02d.tar.gz
nextcloud-server-cbea7872333974bae8868e7553c06595e5d3d02d.zip
fix(caldav): stricter default calendar checks
Reject calendars that - are subscriptions - are not writable - are shared with a user - are deleted - don't support VEVENTs Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
Diffstat (limited to 'apps/dav/lib/Server.php')
-rw-r--r--apps/dav/lib/Server.php6
1 files changed, 4 insertions, 2 deletions
diff --git a/apps/dav/lib/Server.php b/apps/dav/lib/Server.php
index b2ffef27a9d..8f5184eacbd 100644
--- a/apps/dav/lib/Server.php
+++ b/apps/dav/lib/Server.php
@@ -9,6 +9,7 @@ namespace OCA\DAV;
use OCA\DAV\AppInfo\PluginManager;
use OCA\DAV\BulkUpload\BulkUploadPlugin;
use OCA\DAV\CalDAV\BirthdayService;
+use OCA\DAV\CalDAV\DefaultCalendarValidator;
use OCA\DAV\CalDAV\Schedule\IMipPlugin;
use OCA\DAV\CalDAV\Security\RateLimitingPlugin;
use OCA\DAV\CalDAV\Validation\CalDavValidatePlugin;
@@ -153,7 +154,7 @@ class Server {
$this->server->addPlugin(new DAV\Sharing\Plugin($authBackend, \OC::$server->getRequest(), \OC::$server->getConfig()));
$this->server->addPlugin(new \OCA\DAV\CalDAV\Plugin());
$this->server->addPlugin(new \OCA\DAV\CalDAV\ICSExportPlugin\ICSExportPlugin(\OC::$server->getConfig(), $logger));
- $this->server->addPlugin(new \OCA\DAV\CalDAV\Schedule\Plugin(\OC::$server->getConfig(), \OC::$server->get(LoggerInterface::class)));
+ $this->server->addPlugin(new \OCA\DAV\CalDAV\Schedule\Plugin(\OC::$server->getConfig(), \OC::$server->get(LoggerInterface::class), \OC::$server->get(DefaultCalendarValidator::class)));
$this->server->addPlugin(\OC::$server->get(\OCA\DAV\CalDAV\Trashbin\Plugin::class));
$this->server->addPlugin(new \OCA\DAV\CalDAV\WebcalCaching\Plugin($request));
@@ -254,7 +255,8 @@ class Server {
$this->server,
$this->server->tree,
\OC::$server->getDatabaseConnection(),
- \OC::$server->getUserSession()->getUser()
+ \OC::$server->getUserSession()->getUser(),
+ \OC::$server->get(DefaultCalendarValidator::class),
)
)
);