Port fix for bug 42497. Include ETag header on 304 response as per RFC2616. Patch...
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Sat, 2 Jun 2007 00:42:36 +0000 (00:42 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Sat, 2 Jun 2007 00:42:36 +0000 (00:42 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@543680 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/servlets/DefaultServlet.java
webapps/docs/changelog.xml

index ba61435..9f3f7c1 100644 (file)
@@ -1014,7 +1014,7 @@ public class DefaultServlet
 
         // Vector which will contain all the ranges which are successfully
         // parsed.
-        ArrayList result = new ArrayList();
+        ArrayList<Range> result = new ArrayList<Range>();
         StringTokenizer commaTokenizer = new StringTokenizer(rangeHeader, ",");
 
         // Parsing the range list
@@ -1571,6 +1571,8 @@ public class DefaultServlet
                     // The entity has not been modified since the date
                     // specified by the client. This is not an error case.
                     response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
+                    response.setHeader("ETag", getETag(resourceAttributes));
+
                     return false;
                 }
             }
@@ -1627,6 +1629,8 @@ public class DefaultServlet
                 if ( ("GET".equals(request.getMethod()))
                      || ("HEAD".equals(request.getMethod())) ) {
                     response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
+                    response.setHeader("ETag", getETag(resourceAttributes));
+
                     return false;
                 } else {
                     response.sendError
index 9951701..24d1710 100644 (file)
   <subsection name="Catalina">
     <changelog>
       <fix>
-         <bug>42449</bug>:
-         JNDIRealm does not catch NullPointerException for Sun's
-         LDAP provider (See bug for details) (funkman)
-      </fix>
-      <fix>
-         <bug>42444</bug>: prevent NPE for AccessLogValve
-         Patch provided by Nils Hammar (funkman)
+         <bug>39875</bug>: Fix BPE in RealmBase.init(). Port of yoavs's fix from
+         Tomcat 5. (markt)
       </fix>
       <fix>
          <bug>42361</bug>: Handle multi-part forms when saving requests during
          (markt)
       </fix>
       <fix>
-         <bug>39875</bug>: Fix BPE in RealmBase.init(). Port of yoavs's fix from
-         Tomcat 5. (markt)
+         <bug>42444</bug>: prevent NPE for AccessLogValve
+         Patch provided by Nils Hammar (funkman)
+      </fix>
+      <fix>
+         <bug>42449</bug>:
+         JNDIRealm does not catch NullPointerException for Sun's
+         LDAP provider (See bug for details) (funkman)
+      </fix>
+      <fix>
+         <bug>42497</bug>: Ensure ETag header is present in a 304 response.
+         Patch provided by Len Popp. (markt)
       </fix>
     </changelog>
   </subsection>