This is an automated email from the ASF dual-hosted git repository. remm pushed a commit to branch 11.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/11.0.x by this push: new 0cf2688758 Return the full range with weak etags 0cf2688758 is described below commit 0cf26887587587081be277f0dfdf7f29cdb23b3a Author: remm <r...@apache.org> AuthorDate: Mon Mar 3 12:09:32 2025 +0100 Return the full range with weak etags --- java/org/apache/catalina/servlets/DefaultServlet.java | 2 +- .../apache/catalina/servlets/TestDefaultServletRangeRequests.java | 2 +- webapps/docs/changelog.xml | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/java/org/apache/catalina/servlets/DefaultServlet.java b/java/org/apache/catalina/servlets/DefaultServlet.java index 10ca0cf5dd..8273b475bd 100644 --- a/java/org/apache/catalina/servlets/DefaultServlet.java +++ b/java/org/apache/catalina/servlets/DefaultServlet.java @@ -2409,7 +2409,7 @@ public class DefaultServlet extends HttpServlet { } // If the ETag the client gave does not match the entity // etag, then the entire entity is returned. - if (resourceETag != null && resourceETag.equals(headerValue)) { + if (!weakETag && resourceETag != null && resourceETag.equals(headerValue)) { return true; } else { return false; diff --git a/test/org/apache/catalina/servlets/TestDefaultServletRangeRequests.java b/test/org/apache/catalina/servlets/TestDefaultServletRangeRequests.java index 4fb3952531..e59534b5f9 100644 --- a/test/org/apache/catalina/servlets/TestDefaultServletRangeRequests.java +++ b/test/org/apache/catalina/servlets/TestDefaultServletRangeRequests.java @@ -123,7 +123,7 @@ public class TestDefaultServletRangeRequests extends TomcatBaseTest { "bytes=0-9", FastHttpDateFormat.formatDate(1000), Integer.valueOf(200), strLen, "" }); // Valid weak etag parameterSets.add(new Object[] { - "bytes=0-9", weakETag, Integer.valueOf(206), "10", "0-9/" + len }); + "bytes=0-9", weakETag, Integer.valueOf(200), strLen, "" }); // Invalid strong etag parameterSets.add(new Object[] { "bytes=0-9", "\"46273648\"", Integer.valueOf(200), strLen, "" }); diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 02365bfcb9..6ce8b4775c 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -109,8 +109,9 @@ <changelog> <fix> <bug>69602</bug>: Fix regression in releases from 12-2024 that were too - strict and rejected weak etags in the <code>If-Range</code> header. - (remm) + strict and rejected weak etags in the <code>If-Range</code> header with + a 400 response. Instead will consider it as a failed match since strong + etags are required for <code>If-Range</code>. (remm) </fix> </changelog> </subsection> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org