You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2003/05/23 15:40:41 UTC
DO NOT REPLY [Bug 20184] New: -
JkInputStream ignores packets containing less than 5 bytes
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=20184>.
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=20184
JkInputStream ignores packets containing less than 5 bytes
Summary: JkInputStream ignores packets containing less than 5
bytes
Product: Tomcat 4
Version: 4.1.24
Platform: Sun
OS/Version: Solaris
Status: NEW
Severity: Blocker
Priority: Other
Component: Connector:Coyote JK 2
AssignedTo: tomcat-dev@jakarta.apache.org
ReportedBy: dgoeury@workspeed.com
JkInputStream.receive() thinks that MsgAjp.getLen() returns the total number
of bytes contained by the ajp13 packet when in fact it returns only the data
length. Here is where I think the bug comes from:
/** Receive a chunk of data. Called to implement the
* 'special' packet in ajp13 and to receive the data
* after we send a GET_BODY packet
*/
public boolean receive() throws IOException
{
...
if( bodyMsg.getLen() <= 4 ) { // just the header
// Don't mark 'end of stream' for the first chunk.
// end_of_stream = true;
return false;
}
...
}
And here is an example of a packet that is ignored because of this bug. This
packet contains a two characters string "ab".
Byte Content Description
0 0x12 standard header
1 0x34 standard header
2 0x00 data length
3 0x04 data length
4 0x00 string length
5 0x02 string length
6 0x61 'a'
7 0x62 'b'
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org