diff options
author | Richard Steinmetz <richard@steinmetz.cloud> | 2024-06-04 15:58:39 +0200 |
---|---|---|
committer | Richard Steinmetz <richard@steinmetz.cloud> | 2024-07-22 15:24:39 +0200 |
commit | cbea7872333974bae8868e7553c06595e5d3d02d (patch) | |
tree | cacaa36b654f989903e300d379388df078d14674 /apps/dav/lib/Server.php | |
parent | 1768bd628052cf3b9db7cb3c1dbee7313ee24c16 (diff) | |
download | nextcloud-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.php | 6 |
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), ) ) ); |