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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]