TS-2678: stop inspecting keep alive state to detect truncation When the server session breaks, is_http_server_eos_truncation() tries to determine whether the response was truncated. If it was truncated, then we need to propagate that to the client, otherwise we can just continue on.
is_http_server_eos_truncation() was examining the current server keepalive state to determine truncation, which is really not relevant at all. In this case, the server sent a HTTP/1.1 response without a Content-Length header and closes the connection. This should not be classed as a truncation. Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/1147bb3a Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/1147bb3a Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/1147bb3a Branch: refs/heads/5.0.x Commit: 1147bb3ad7369f6e0a27f52b016f2f1829745d11 Parents: 77c5cf3 Author: James Peach <[email protected]> Authored: Thu Apr 3 15:09:42 2014 -0700 Committer: James Peach <[email protected]> Committed: Thu Apr 10 12:39:20 2014 -0700 ---------------------------------------------------------------------- CHANGES | 3 +++ proxy/http/HttpSM.cc | 5 ----- 2 files changed, 3 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/1147bb3a/CHANGES ---------------------------------------------------------------------- diff --git a/CHANGES b/CHANGES index dd31b00..4efb31c 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ -*- coding: utf-8 -*- Changes with Apache Traffic Server 5.0.0 + *) [TS-2678] Some sites (e.g. craigslist) fails to load due to + incorrect truncated response detection. + *) [TS-2603] Do not update HostDB for server intercept requests. Author: Quehan <[email protected]> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/1147bb3a/proxy/http/HttpSM.cc ---------------------------------------------------------------------- diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc index f1fafff..92f7b74 100644 --- a/proxy/http/HttpSM.cc +++ b/proxy/http/HttpSM.cc @@ -2708,11 +2708,6 @@ HttpSM::tunnel_handler(int event, void *data) bool HttpSM::is_http_server_eos_truncation(HttpTunnelProducer * p) { - // If we are keep alive, an eos event means we - // did not get all the data - if (t_state.current.server->keep_alive == HTTP_KEEPALIVE) { - return true; - } if ((p->do_dechunking || p->do_chunked_passthru) && p->chunked_handler.truncation) { return true;
