Hiya,
I lodged this bug - http://www.squid-cache.org/bugs/show_bug.cgi?id=1754 - and I think I've tracked it down. request->body_reader->notify() is called with whatever's left in the conn buffer. So it bumps available to be that amount. BodyReader::read() then tries reading up to that amount from the conn buffer. Normally this is the same as the content-length; but occasionally the content-length: is a couple bytes less than whats in the conn buffer. Squid then gets confused :) So, my suggested patch is to modify BodyReader::read() to only read what its been told to read via the Content-Length header. I think this is whats going on in the squid-2.6 code where its nipping the body size to copy against the content-length size. How's this sound? Adrian
