From: Amos Jeffries Date: Sat, 6 Mar 2010 06:13:30 +0000 (+1300) Subject: Author: Henrik Nordstrom X-Git-Tag: SQUID_3_0_STABLE25~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=09b7c8a15e9b53b0417ac21ff83d95e18e88d00b;p=thirdparty%2Fsquid.git Author: Henrik Nordstrom Swallow 1xx status messages Ported from 2.7. This makes Squid swallow 1xx replies from 1.1 servers safely without breaking the clients connection. --- diff --git a/src/http.cc b/src/http.cc index 5578f1777b..278786c224 100644 --- a/src/http.cc +++ b/src/http.cc @@ -748,6 +748,19 @@ HttpStateData::processReplyHeader() readBuf->consume(header_bytes_read); } + /* Skip 1xx messages for now. Advertised in Via as an internal 1.0 hop */ + if (newrep->sline.status >= 100 && newrep->sline.status < 200) { + delete newrep; + debugs(11, 2, HERE << "1xx headers consume " << header_bytes_read << " bytes header."); + header_bytes_read = 0; + if (reply_bytes_read > 0) + debugs(11, 2, HERE << "1xx headers consume " << reply_bytes_read << " bytes reply."); + reply_bytes_read = 0; + ctx_exit(ctx); + processReplyHeader(); + return; + } + flags.chunked = 0; if (newrep->header.hasListMember(HDR_TRANSFER_ENCODING, "chunked", ',')) { flags.chunked = 1;