This is an automated email from the ASF dual-hosted git repository.

pedro pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git


The following commit(s) were added to refs/heads/master by this push:
     new 0968c08142 Revert "WICKET-7107 configure ContentSecurityPolicySettings 
to protect buffered pages"
0968c08142 is described below

commit 0968c081425b79ee9d1c4a0058621804863c5c3a
Author: Pedro Santos <[email protected]>
AuthorDate: Wed Dec 11 10:45:16 2024 -0300

    Revert "WICKET-7107 configure ContentSecurityPolicySettings to protect 
buffered pages"
    
    This reverts commit 6f1d6a2ce7046f446c52e977ac4c9edb5d201471.
---
 .../csp/CSPSettingRequestCycleListenerTest.java    | 75 +++++++---------------
 .../wicket/csp/ContentSecurityPolicySettings.java  |  9 +--
 2 files changed, 24 insertions(+), 60 deletions(-)

diff --git 
a/wicket-core-tests/src/test/java/org/apache/wicket/csp/CSPSettingRequestCycleListenerTest.java
 
b/wicket-core-tests/src/test/java/org/apache/wicket/csp/CSPSettingRequestCycleListenerTest.java
index 28c5efd738..1fdd8cb92c 100644
--- 
a/wicket-core-tests/src/test/java/org/apache/wicket/csp/CSPSettingRequestCycleListenerTest.java
+++ 
b/wicket-core-tests/src/test/java/org/apache/wicket/csp/CSPSettingRequestCycleListenerTest.java
@@ -16,21 +16,19 @@
  */
 package org.apache.wicket.csp;
 
-import org.apache.wicket.MarkupContainer;
-import org.apache.wicket.RestartResponseException;
-import org.apache.wicket.markup.IMarkupResourceStreamProvider;
-import org.apache.wicket.markup.html.WebPage;
-import org.apache.wicket.mock.MockApplication;
-import org.apache.wicket.protocol.http.WebApplication;
-import org.apache.wicket.request.cycle.RequestCycle;
-import org.apache.wicket.util.resource.IResourceStream;
-import org.apache.wicket.util.resource.StringResourceStream;
-import org.apache.wicket.util.tester.DummyHomePage;
-import org.apache.wicket.util.tester.WicketTestCase;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.params.ParameterizedTest;
-import org.junit.jupiter.params.provider.ValueSource;
+import static org.apache.wicket.csp.CSPDirective.CHILD_SRC;
+import static org.apache.wicket.csp.CSPDirective.DEFAULT_SRC;
+import static org.apache.wicket.csp.CSPDirective.FRAME_SRC;
+import static org.apache.wicket.csp.CSPDirective.IMG_SRC;
+import static org.apache.wicket.csp.CSPDirective.REPORT_URI;
+import static org.apache.wicket.csp.CSPDirective.SANDBOX;
+import static org.apache.wicket.csp.CSPDirectiveSandboxValue.ALLOW_FORMS;
+import static org.apache.wicket.csp.CSPDirectiveSandboxValue.EMPTY;
+import static org.apache.wicket.csp.CSPDirectiveSrcValue.NONE;
+import static org.apache.wicket.csp.CSPDirectiveSrcValue.SELF;
+import static org.apache.wicket.csp.CSPDirectiveSrcValue.WILDCARD;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import java.net.URI;
 import java.net.URISyntaxException;
@@ -41,14 +39,15 @@ import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import static org.apache.wicket.csp.CSPDirective.*;
-import static org.apache.wicket.csp.CSPDirectiveSandboxValue.ALLOW_FORMS;
-import static org.apache.wicket.csp.CSPDirectiveSandboxValue.EMPTY;
-import static org.apache.wicket.csp.CSPDirectiveSrcValue.*;
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import org.apache.wicket.mock.MockApplication;
+import org.apache.wicket.protocol.http.WebApplication;
+import org.apache.wicket.request.cycle.RequestCycle;
+import org.apache.wicket.util.tester.DummyHomePage;
+import org.apache.wicket.util.tester.WicketTestCase;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.ValueSource;
 
 class CSPSettingRequestCycleListenerTest extends WicketTestCase
 {
@@ -382,36 +381,6 @@ class CSPSettingRequestCycleListenerTest extends 
WicketTestCase
                assertThrows(IllegalArgumentException.class, () -> 
settings.add(IMG_SRC, source + ":"));
        }
 
-       @Test
-       void addCspDirectiveInBufferedPageResponses()
-       {
-               tester.setFollowRedirects(true);
-               
tester.getApplication().getCspSettings().blocking().add(STYLE_SRC, SELF);
-
-               tester.startPage(RedirectPage.class);
-
-               
assertThat(tester.getLastResponse().getHeader("Content-Security-Policy"),
-                       containsString(STYLE_SRC.getValue()));
-       }
-
-       public static class Page extends WebPage implements 
IMarkupResourceStreamProvider
-       {
-               @Override
-               public IResourceStream getMarkupResourceStream(MarkupContainer 
container,
-                       Class<?> containerClass)
-               {
-                       return new 
StringResourceStream("<html><head></head><body></body></html>");
-               }
-       }
-
-       public static class RedirectPage extends Page
-       {
-               public RedirectPage()
-               {
-                       throw new RestartResponseException(new Page());
-               }
-       }
-
 
        private String renderDirective(List<CSPRenderable> values,
                ContentSecurityPolicySettings settings, RequestCycle cycle)
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/csp/ContentSecurityPolicySettings.java
 
b/wicket-core/src/main/java/org/apache/wicket/csp/ContentSecurityPolicySettings.java
index 4c3ba85b45..65b510b7f4 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/csp/ContentSecurityPolicySettings.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/csp/ContentSecurityPolicySettings.java
@@ -25,7 +25,6 @@ import java.util.function.Supplier;
 import org.apache.wicket.Application;
 import org.apache.wicket.MetaDataKey;
 import org.apache.wicket.Page;
-import org.apache.wicket.core.request.handler.BufferedResponseRequestHandler;
 import org.apache.wicket.core.request.handler.IPageRequestHandler;
 import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
 import org.apache.wicket.protocol.http.WebApplication;
@@ -70,18 +69,14 @@ public class ContentSecurityPolicySettings
        private final Map<CSPHeaderMode, CSPHeaderConfiguration> configs = new 
EnumMap<>(
                CSPHeaderMode.class);
 
-       private Predicate<IRequestHandler> protectedFilter;
+       private Predicate<IRequestHandler> protectedFilter = 
RenderPageRequestHandler.class::isInstance;
 
        private Supplier<String> nonceCreator;
        
        public ContentSecurityPolicySettings(Application application)
        {
                Args.notNull(application, "application");
-
-               Predicate<IRequestHandler> isPage = 
RenderPageRequestHandler.class::isInstance;
-               Predicate<IRequestHandler> isBufferedPage = 
BufferedResponseRequestHandler.class::isInstance;
-               protectedFilter = isPage.or(isBufferedPage);
-
+               
                nonceCreator = () ->
                                
application.getSecuritySettings().getRandomSupplier().getRandomBase64(NONCE_LENGTH);
        }

Reply via email to