You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2023/12/06 12:29:29 UTC

(wicket) branch master updated: WICKET-7089: Set cookie SameSite only if the container supports it

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 <mg...@apache.org>
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 <mg...@apache.org>
---
 .../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());
+			}
+		}
 	}
 
 	/**