You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafficserver.apache.org by Igor Galić <i....@brainsware.org> on 2013/11/05 22:42:45 UTC
Re: git commit: TS-2178: Disable client side keep alive if server
is not and using client 4-tuple
----- Original Message -----
> Updated Branches:
> refs/heads/master 80734a8d6 -> 948df744d
>
>
> TS-2178: Disable client side keep alive if server is not and using client
> 4-tuple
>
>
> Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
> Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/948df744
> Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/948df744
> Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/948df744
>
> Branch: refs/heads/master
> Commit: 948df744d1e64f56daa37e46320b05460da6cb28
> Parents: 80734a8
> Author: Alan M. Carroll <am...@network-geographics.com>
> Authored: Sat Nov 2 19:52:04 2013 -0500
> Committer: Alan M. Carroll <am...@network-geographics.com>
> Committed: Sat Nov 2 19:52:04 2013 -0500
>
> ----------------------------------------------------------------------
> proxy/http/HttpTransact.cc | 7 +++++++
> 1 file changed, 7 insertions(+)
> ----------------------------------------------------------------------
>
>
> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/948df744/proxy/http/HttpTransact.cc
> ----------------------------------------------------------------------
> diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc
> index de4052a..a0fb53c 100644
> --- a/proxy/http/HttpTransact.cc
> +++ b/proxy/http/HttpTransact.cc
> @@ -5580,8 +5580,15 @@
> HttpTransact::initialize_state_variables_from_response(State* s, HTTPHdr*
> incomi
> if (s->current.server->keep_alive == HTTP_KEEPALIVE) {
> if (!s->cop_test_page)
> DebugTxn("http_hdrs", "[initialize_state_variables_from_response]"
> "Server is keep-alive.");
> + } else if (s->state_machine->ua_session &&
> s->state_machine->ua_session->f_outbound_transparent &&
> s->state_machine->t_state.http_config_param->use_client_source_port) {
> + /* If we are reusing the client<->ATS 4-tuple for ATS<->server then if
> the server side is closed, we can't
> + re-open it because the 4-tuple may still be in the processing of
processing -> process
> shutting down. So if the server isn't
> + keep alive we must turn that off for the client as well.
> + */
> + s->state_machine->t_state.client_info.keep_alive = HTTP_NO_KEEPALIVE;
> }
>
> +
> HTTPStatus status_code = incoming_response->status_get();
> if (is_response_body_precluded(status_code, s->method)) {
> s->hdr_info.response_content_length = 0;
>
>
--
Igor Galić
Tel: +43 (0) 664 886 22 883
Mail: i.galic@brainsware.org
URL: http://brainsware.org/
GPG: 8716 7A9F 989B ABD5 100F 4008 F266 55D6 2998 1641