Hi, I need confirmation of an issue I've encountered while upgrading from Apache Tomcat 5.5.25 to 5.5.29 running in Java 1.5.0_22 on Solaris 10u8. Unfortunately, I'm going about this backwards as I've already created a bug report. The tomcat site, however, recommends that confirmation should be received as to whether a suspected bug is a bug or not on the tomcat user mailing list.
Issue found in: Apache Tomcat 5.5.29 Issue introduced in: Apache Tomcat 5.5.28 Issue: Get "HTTP/1.1 400 Bad Request" response back when Tomcat receives an HTTP simple request (no HTTP version specified in request line). Expected behaviour: According to its documentation, tomcat 5.5.x's HTTP connector is compliant with the HTTP/1.1 RFC, and will seamlessly transition to HTTP/1.0 if an HTTP/1.0 request is received. For backwards compatibility (I assume), the HTTP 1.0 RFC handles HTTP 0.9 requests for older clients, referring to these requests as "simple requests" in the RFC. Thus, according to the RFC, tomcat should respond with a "simple response" should it receive a "simple request". Example of expected behaviour: wcars1u7-unit1# telnet localhost 5555 Trying 127.0.0.1... Connected to localhost. Escape charac= ter is '^]'. GET /index.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <html> <head> <title>Zack Networks Application Server</title> <style type="text/css"> BODY {margin: 64px; background: #ffffff; cursor: default;} H1, H2, H3, H4, H5, H6 {font-family: Zack-Networks-Primary, Arial-Bold, Arial, Helvetica, Sans-Serif; color: #003399;} </style> </head> <body> <h2>No application is available at this URL. Please see the product documentation for the correct URL.</h2> </body> </html> Connection to localhost closed by foreign host. wcars1u7-unit1# Behaviour I'm seeing: wcars1u7-unit1# telnet localhost 8080 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. GET /index.html HTTP/1.1 400 Bad Request Server: Apache-Coyote/1.1 Transfer-Encoding: chunked Date: Tue, 10 Aug 2010 18:32:36 GMT Connection: close 0 Connection to localhost closed by foreign host. wcars1u7-unit1# With debug enabled, tomcat logs the following thrown exception: 2010-07-29 15:49:22,068 [http-8080-Processor24] DEBUG org.apache.coyote.http11.Http11Processor - Error parsing HTTP request header java.lang.IllegalArgumentException: Invalid character (CR or LF) found in method name at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:474) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:595) Further information can be found in the bug report: https://issues.apache.org/bugzilla/show_bug.cgi?id=3D49718 Can someone please confirm this issue? Is it possible to get some indication as to if, when, and in what version this issue will be fixed in the Tomcat 5.5.x release? Regards, Nick.