From 865f3577d4ef7549b540756ea7e39d414f6d1891 Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Tue, 20 May 2025 00:39:31 +0200 Subject: [PATCH] Solved portfolio bug --- filter_plugins/csp_filters.py | 2 +- tests/unit/test_csp_filters.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/filter_plugins/csp_filters.py b/filter_plugins/csp_filters.py index 38799ce1..17cf06ac 100644 --- a/filter_plugins/csp_filters.py +++ b/filter_plugins/csp_filters.py @@ -126,7 +126,7 @@ class FilterModule(object): self.is_feature_enabled(applications, 'portfolio_iframe', application_id) and directive == 'frame-ancestors' ): - domain = domains.get(application_id) # e.g. "sub.example.com" or "example.com" + domain = domains.get('portfolio')[0] # e.g. "sub.example.com" or "example.com" # Extract the second-level + top-level domain and prefix with "*." sld_tld = ".".join(domain.split(".")[-2:]) # yields "example.com" tokens.append(f"*.{sld_tld}") # yields "*.example.com" diff --git a/tests/unit/test_csp_filters.py b/tests/unit/test_csp_filters.py index 41c9c868..3dc9dc44 100644 --- a/tests/unit/test_csp_filters.py +++ b/tests/unit/test_csp_filters.py @@ -175,7 +175,7 @@ class TestCspFilters(unittest.TestCase): # Ensure feature enabled and domain set self.apps['app1']['features']['portfolio_iframe'] = True # simulate a subdomain for the application - self.domains['app1'] = 'sub.domain-example.com' + self.domains['portfolio'] = ['domain-example.com'] header = self.filter.build_csp_header(self.apps, 'app1', self.domains, web_protocol='https') # Expect '*.domain-example.com' in the frame-ancestors directive