Author: billbarker Date: Wed Nov 28 20:19:46 2007 New Revision: 599259 URL: http://svn.apache.org/viewvc?rev=599259&view=rev Log: Remove conditional headers on Form Auth replay, since the UA (esp. FireFox) isn't expecting it.
Fix for bug #43687 Reported by: Przemyslaw Madzik Modified: tomcat/tc6.0.x/trunk/STATUS.txt tomcat/tc6.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=599259&r1=599258&r2=599259&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Wed Nov 28 20:19:46 2007 @@ -31,11 +31,6 @@ +1: jfclere -1: fhanik - Can we add the 'package' directive to make the package match the dir structure -* Remove conditional headers on Form Auth replay, since the UA (esp. FireFox) isn't expecting it. - http://issues.apache.org/bugzilla/show_bug.cgi?id=43687 - +1: billbarker, remm, jfclere, pero - -1: - * Fix another license issue http://svn.apache.org/viewvc?rev=598412&view=rev +1: markt, fhanik, pero, remm, billbarker Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java?rev=599259&r1=599258&r2=599259&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java Wed Nov 28 20:19:46 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 response 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() ); + } } } Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=599259&r1=599258&r2=599259&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Wed Nov 28 20:19:46 2007 @@ -72,6 +72,9 @@ Improve the webDAV Servlet Javadocs to make clear that the WebDAV Servlet can not be used as the default servlet. (markt) </update> + <fix><bug>43687</bug> Remove conditional headers on Form Auth replay, + since the UA (esp. FireFox) isn't expecting it. + </fix> </changelog> </subsection> <subsection name="Jasper"> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]