The support is to deal with buggy servers sending chunked-encoded replies to a HTTP/1.0 request from Squid.
Adrian On Fri, Jan 19, 2007, ShuXin Zheng wrote: > Hi, I'm glad to see squid2.6-stable7 began to support chunked transfer. > But I think there are some problem in it. In function > "httpBuildRequestPrefix" > of http.c file, the squid builds the http request with "HTTP/1.0", the > web server, > such as MS-IIS, Apache and Tomcat will not reply squid-proxy with > "Transfer-Encoding: chunked" after receiving the HTTP request with the > HTTP/1.0 > version. So the transfer-encoding process may not be used in real > application > environment. The reason is that the RFC2616 describes the following: > 1) in "3.6 Transfer Codings" section: > ... A server MUST NOT send transfer-codings to an HTTP/1.0 client. ... > > And there are some problems when handling the condition that > Transfer-Encoding and > Conteng-Length are presented at the same time. See function > "httpProcessReplyHeader" > in http.c as below: > if (httpState->flags.chunked && reply->content_length >= 0) { > /* Can't have a content-length in chunked encoding */ > reply->sline.status = HTTP_INVALID_HEADER; > return done; > } > We should prefer to use "Transfer-Encoding" when Transfer-Encoding and > Content-Length > are all presented. See RFC2616 "4.4 Message Length" section: > 3.If a Content-Length header field (section 14.13) is present, its > decimal value in OCTETs represents both the entity-length and the > transfer-length. The Content-Length header field MUST NOT be sent > if these two lengths are different (i.e., if a Transfer-Encoding > header field is present). If a message is received with both a > Transfer-Encoding header field and a Content-Length header field, > the latter MUST be ignored. > > > zsx > 2007/1/19 > > On 1/19/07, Henrik Nordstrom <[EMAIL PROTECTED]> wrote: > >Due to Bug #1872 2.6.STABLE8 is due for release lot earlier than > >intended (significant cache error introduced in 2.6.STABLE6). > > > >The next nightly (released in 24 hours) is to be considered a > >2.6.STABLE8 release candidate. Please give it the best testing you can. > >There has been quite substantial changes since STABLE7, most notably it > >now dechunks chunked encoding should a server send us chunked.. > > > >After this release Squid-2.6 will be branched from Squid-2, allowing > >more intrusive fixes to be tested properly in Squid-2 before getting > >into the release and also avoiding accidental commits while a release is > >being prepared. If you make bugfixes just commit them on Squid-2 HEAD as > >usual. > > > >Regards > >Henrik > > > > > > > -- > zsxxsz -- - Xenion - http://www.xenion.com.au/ - VPS Hosting - Commercial Squid Support - - $25/pm entry-level bandwidth-capped VPSes available in WA -