You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by am...@apache.org on 2013/02/01 19:35:52 UTC

git commit: TS-1424: Disable client keep alive on server close if using client source port.

Updated Branches:
  refs/heads/master 5f93bc50f -> 096f0308d


TS-1424: Disable client keep alive on server close if using client source port.


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/096f0308
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/096f0308
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/096f0308

Branch: refs/heads/master
Commit: 096f0308d7fba17a4ab820d5e88d2fe807b32bbc
Parents: 5f93bc5
Author: Alan M. Carroll <am...@network-geographics.com>
Authored: Fri Feb 1 12:35:17 2013 -0600
Committer: Alan M. Carroll <am...@network-geographics.com>
Committed: Fri Feb 1 12:35:17 2013 -0600

----------------------------------------------------------------------
 proxy/http/HttpSM.cc |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/096f0308/proxy/http/HttpSM.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc
index 0752500..d16dc33 100644
--- a/proxy/http/HttpSM.cc
+++ b/proxy/http/HttpSM.cc
@@ -2867,6 +2867,12 @@ HttpSM::tunnel_handler_server(int event, HttpTunnelProducer * p)
   if (close_connection) {
     p->vc->do_io_close();
     p->read_vio = NULL;
+    /* TS-1424: if we're outbound transparent and using the client
+       source port for the outbound connection we must effectively
+       propagate server closes back to the client.
+    */
+    if (ua_session && ua_session->f_outbound_transparent && t_state.http_config_param->use_client_source_port)
+      t_state.client_info.keep_alive = HTTP_NO_KEEPALIVE;
   } else {
     server_session->attach_hostname(t_state.current.server->name);
     server_session->server_trans_stat--;