]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Better handling of huge response headers. Fewer "BUG 3279" messages.
authorAlex Rousskov <rousskov@measurement-factory.com>
Thu, 18 Feb 2016 04:15:33 +0000 (21:15 -0700)
committerAlex Rousskov <rousskov@measurement-factory.com>
Thu, 18 Feb 2016 04:15:33 +0000 (21:15 -0700)
When we failed to parse a response, do not store the fake half-baked
response (via a replaceHttpReply() call). Doing so leads to misleading
"BUG 3279: HTTP reply without Date" messages (at best).  The fake
response is only meant for continueAfterParsingHeader().

Also removed a misleading XXX that may have caused Bug 4432 in v4.0
(trunk r14548).

src/http.cc

index 72eb94bef6d1d20479c2cf33414169fa0a45c6dc..178b3808216bfd5ca03864d6d1c84041b9dd1801 100644 (file)
@@ -719,11 +719,8 @@ HttpStateData::processReplyHeader()
         if (!parsed && error > 0) { // unrecoverable parsing error
             debugs(11, 3, "processReplyHeader: Non-HTTP-compliant header: '" <<  readBuf->content() << "'");
             flags.headers_parsed = true;
-            // XXX: when sanityCheck is gone and Http::StatusLine is used to parse,
-            //   the sline should be already set the appropriate values during that parser stage
             newrep->sline.set(Http::ProtocolVersion(1,1), error);
-            HttpReply *vrep = setVirginReply(newrep);
-            entry->replaceHttpReply(vrep);
+            setVirginReply(newrep);
             ctx_exit(ctx);
             return;
         }