You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bi...@apache.org on 2007/11/24 02:37:37 UTC

svn commit: r597781 - /tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java

Author: billbarker
Date: Fri Nov 23 17:37:36 2007
New Revision: 597781

URL: http://svn.apache.org/viewvc?rev=597781&view=rev
Log:
Remove conditional headers from the re-played request.

These confuse some UAs (notably FireFox), and we can't really keep them from the HTTP/1.1 spec.

Fix for bug #43687
Reported By:   Przemyslaw Madzik  

Modified:
    tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java

Modified: tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java?rev=597781&r1=597780&r2=597781&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java (original)
+++ tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java Fri Nov 23 17:37:36 2007
@@ -402,12 +402,20 @@
 
         MimeHeaders rmh = request.getCoyoteRequest().getMimeHeaders();
         rmh.recycle();
+        boolean cachable = "GET".equalsIgnoreCase(saved.getMethod()) ||
+                           "HEAD".equalsIgnoreCase(saved.getMethod());
         Iterator names = saved.getHeaderNames();
         while (names.hasNext()) {
             String name = (String) names.next();
-            Iterator values = saved.getHeaderValues(name);
-            while (values.hasNext()) {
-                rmh.addValue(name).setString( (String)values.next() );
+            // The browser isn't expecting this conditional reposponse now.
+            // Assuming that it can quietly recover from an unexpected 412.
+            // BZ 43687
+            if(!("If-Modified-Since".equalsIgnoreCase(name) ||
+                 (cachable && "If-None-Match".equalsIgnoreCase(name)))) {
+                Iterator values = saved.getHeaderValues(name);
+                while (values.hasNext()) {
+                    rmh.addValue(name).setString( (String)values.next() );
+                }
             }
         }
         



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org