Repository: trafficserver Updated Branches: refs/heads/master 1d5364616 -> 05cfba6a7
TS-3054: Pass truncated chunked data to client. Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/05cfba6a Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/05cfba6a Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/05cfba6a Branch: refs/heads/master Commit: 05cfba6a77c48bf2f651e7d88202d5af3f676074 Parents: 1d53646 Author: Susan Hinrichs <[email protected]> Authored: Mon Sep 22 11:56:52 2014 -0500 Committer: Alan M. Carroll <[email protected]> Committed: Mon Sep 22 11:58:25 2014 -0500 ---------------------------------------------------------------------- CHANGES | 3 +++ proxy/http/HttpSM.cc | 10 +++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/05cfba6a/CHANGES ---------------------------------------------------------------------- diff --git a/CHANGES b/CHANGES index 866ac29..d79dadb 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ -*- coding: utf-8 -*- Changes with Apache Traffic Server 5.2.0 + *) [TS-3054] Forward partial chunked data to client to be more transparent. + Author: Susan Hinrichs <[email protected]> + *) [TS-3084] Fix FIN forwarding issue with POST. Author: Susan Hinrichs <[email protected]> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/05cfba6a/proxy/http/HttpSM.cc ---------------------------------------------------------------------- diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc index 29d92f7..deb2daf 100644 --- a/proxy/http/HttpSM.cc +++ b/proxy/http/HttpSM.cc @@ -2795,7 +2795,15 @@ HttpSM::is_http_server_eos_truncation(HttpTunnelProducer * p) { if ((p->do_dechunking || p->do_chunked_passthru) && p->chunked_handler.truncation) { - return true; + // TS-3054 - In the chunked cases, chunked data that is incomplete + // should not be cached, but it should be passed onto the client + // This makes ATS more transparent in the case of non-standard + // servers. The cache aborts are dealt with in other checks + // on the truncation flag elsewhere in the code. This return value + // invalidates the current data being passed over to the client. + // So changing it from return true to return false, so the partial data + // is passed onto the client. + return false; } //////////////////////////////////////////////////////////////
