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

mgrigorov 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 a68536eb09 WICKET-7089: Set cookie SameSite only if the container 
supports it
a68536eb09 is described below

commit a68536eb095bb5cf59e4063b6af9436523ddc623
Author: Martin Tzvetanov Grigorov <[email protected]>
AuthorDate: Wed Dec 6 14:28:40 2023 +0200

    WICKET-7089: Set cookie SameSite only if the container supports it
    
    Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
---
 .../apache/wicket/protocol/http/mock/MockServletContext.java  |  4 ++--
 .../main/java/org/apache/wicket/util/cookies/CookieUtils.java | 11 ++++++++++-
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockServletContext.java
 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockServletContext.java
index 4b06755bb7..b69258b53c 100755
--- 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockServletContext.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockServletContext.java
@@ -386,7 +386,7 @@ public class MockServletContext implements ServletContext
        @Override
        public int getMajorVersion()
        {
-               return 3;
+               return 6;
        }
 
        @Override
@@ -398,7 +398,7 @@ public class MockServletContext implements ServletContext
        @Override
        public int getEffectiveMajorVersion()
        {
-               return 3;
+               return 6;
        }
 
        @Override
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/util/cookies/CookieUtils.java 
b/wicket-core/src/main/java/org/apache/wicket/util/cookies/CookieUtils.java
index 4c0c03d779..e8498811d4 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/cookies/CookieUtils.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/cookies/CookieUtils.java
@@ -20,6 +20,7 @@ import java.time.Instant;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
 
+import jakarta.servlet.ServletContext;
 import jakarta.servlet.http.Cookie;
 import org.apache.wicket.markup.html.form.FormComponent;
 import org.apache.wicket.protocol.http.WebApplication;
@@ -338,7 +339,15 @@ public class CookieUtils
                cookie.setSecure(settings.getSecure());
                cookie.setMaxAge(settings.getMaxAge());
                cookie.setHttpOnly(settings.isHttpOnly());
-               cookie.setAttribute("SameSite", settings.getSameSite().name());
+
+               if (WebApplication.exists())
+               {
+                       final ServletContext servletContext = 
WebApplication.get().getServletContext();
+                       if (servletContext.getEffectiveMajorVersion() >= 6)
+                       {
+                               cookie.setAttribute("SameSite", 
settings.getSameSite().name());
+                       }
+               }
        }
 
        /**

Reply via email to