Community
Participate
Working Groups
Build Identifier: 6.1.15 When processing chunks sent over AJP connector, the connector does not correctly interpret empty packets. Instead of accepting them as end of body message, it waits for a chunk with size of zero, which never happens. According to AJP Protocol Reference: "If there is no more data in the body (i.e. the servlet container is trying to read past the end of the body), the server will send back an "empty" packet, which is a body packet with a payload length of 0. (0x12,0x34,0x00,0x00)" The code in Ajp13Parser waits for 6 bytes, which are never sent. I will attach a patch to this issue, I've tested it with 6.1.15, but it applies cleanly to latest AJP connector version from Jetty 8. Reproducible: Always Steps to Reproduce: 1. Just execute a POST method with chunked encoding. It won't finish.
Created attachment 180333 [details] a proposed patch
> Steps to Reproduce: > 1. Just execute a POST method with chunked encoding. It won't finish. Clarification: you need to send data using chunked encoding, not receive it.
thanks for the patch. I've applied it to jetty-6 and will soon patch jetty-7. I'll leave this open for a while, as I would like to ensure we give this some thorough testing.
in jetty-7.2.0.v20101020
Doh! the patch is making every second request fail
jetty-7.2.2.v20101205