diff --git a/integrations/nextcloud/snappymail/lib/Controller/PageController.php b/integrations/nextcloud/snappymail/lib/Controller/PageController.php index e2b8a5309..3630ac891 100644 --- a/integrations/nextcloud/snappymail/lib/Controller/PageController.php +++ b/integrations/nextcloud/snappymail/lib/Controller/PageController.php @@ -38,6 +38,7 @@ class PageController extends Controller ]); $csp = new ContentSecurityPolicy(); $csp->addAllowedFrameDomain("'self'"); +// $csp->addAllowedFrameAncestorDomain("'self'"); $response->setContentSecurityPolicy($csp); return $response; } diff --git a/plugins/nextcloud/index.php b/plugins/nextcloud/index.php index 40ccb6c0a..71e08ea4c 100644 --- a/plugins/nextcloud/index.php +++ b/plugins/nextcloud/index.php @@ -4,7 +4,7 @@ class NextcloudPlugin extends \RainLoop\Plugins\AbstractPlugin { const NAME = 'Nextcloud', - VERSION = '2.19', + VERSION = '2.20', RELEASE = '2023-02-22', CATEGORY = 'Integrations', DESCRIPTION = 'Integrate with Nextcloud v20+', @@ -33,6 +33,17 @@ class NextcloudPlugin extends \RainLoop\Plugins\AbstractPlugin $this->addTemplate('templates/PopupsNextcloudFiles.html'); $this->addTemplate('templates/PopupsNextcloudCalendars.html'); + + } else { + // \OC::$server->getConfig()->getAppValue('snappymail', 'snappymail-no-embed'); + $this->addHook('main.content-security-policy', 'ContentSecurityPolicy'); + } + } + + public function ContentSecurityPolicy(\SnappyMail\HTTP\CSP $CSP) + { + if (\method_exists($CSP, 'add')) { + $CSP->add('frame-ancestors', "'self'"); } }