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.

Reply via email to