DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=20491>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=20491 Connection: Close header ignored Summary: Connection: Close header ignored Product: Tomcat 4 Version: 4.1.24 Platform: All OS/Version: All Status: NEW Severity: Normal Priority: Other Component: Catalina AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Referencing this copy of the HTTP 1.1 specification http://www.zvon.org/tmRFC/RFC2616/Output/index.html Per sections 8.1.2.1 and 14.10 any client not supporting persistent HTTP connections should send a "Connection: close" header. Per section 4.2 header field names are case-insensitive but header field values are not specified. It may therefore be assumed that the intent is to support case-sensitive header field values at the discretion of the implementing application. We've found a product (formerly Cisco uOne) which implements an HTTP client which uses the slightly incorrect syntax of "Connection: Close" (note the upper case 'C'). While this does not quite comply with the HTTP 1.1 spec which refers to use of the string "close" only the HTTP 1.1 spec never makes mention of requiring that "close" be lower case. Clearly the use of "Close" is a poor implementation but it would seem that Tomcat 4.1 is unnecessarily picky here. Per section 19.3 it is recommended that applications be "tolerant of deviations whenever those deviations can be interpreted unambiguously". I think that applies in this case and thus I suggest making Tomcat 4.x tolerant of the HTTP header "Connection: Close". Below is a patch for jakarta-tomcat- 4.0/catalina/src/share/org/apache/catalina/connector/http/HttpProcessor.java. It may not be the ideal way to implement the fix as perhaps adding alternative case-insensitive comparison methods to the HttpHeader class would be more elegant. RCS file: /home/cvspublic/jakarta-tomcat- 4.0/catalina/src/share/org/apache/catalina/connector/http/HttpProcessor.java,v retrieving revision 1.46 diff -r1.46 HttpProcessor.java 680,681c680,681 < if (header.valueEquals < (DefaultHeaders.CONNECTION_CLOSE_VALUE)) { --- > if (value.equalsIgnoreCase( > new String(DefaultHeaders.CONNECTION_CLOSE_VALUE))) { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]