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());
+ }
+ }
}
/**