You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by sh...@apache.org on 2016/05/26 18:12:23 UTC

[trafficserver] branch master updated: TS-4661: SSL Client Connections not closed.

This is an automated email from the ASF dual-hosted git repository.

shinrich pushed a commit to branch master
in repository https://git-dual.apache.org/repos/asf/trafficserver.git

The following commit(s) were added to refs/heads/master by this push:
       new  456ade9   TS-4661: SSL Client Connections not closed.
456ade9 is described below

commit 456ade9ab35787d39d3414149a0ee04f44008268
Author: Susan Hinrichs <sh...@ieee.org>
AuthorDate: Thu May 26 02:09:48 2016 +0000

    TS-4661: SSL Client Connections not closed.
---
 iocore/net/P_UnixNetVConnection.h    |  6 +++++-
 proxy/http/Http1ClientSession.cc     | 13 +++++++------
 proxy/http/Http1ClientTransaction.cc |  2 +-
 proxy/http/HttpSM.cc                 |  2 +-
 4 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/iocore/net/P_UnixNetVConnection.h b/iocore/net/P_UnixNetVConnection.h
index 2443d7b..14786eb 100644
--- a/iocore/net/P_UnixNetVConnection.h
+++ b/iocore/net/P_UnixNetVConnection.h
@@ -372,7 +372,11 @@ UnixNetVConnection::set_inactivity_timeout(ink_hrtime timeout)
   } else
     inactivity_timeout = 0;
 #else
-  next_inactivity_timeout_at = Thread::get_hrtime() + timeout;
+  if (timeout) {
+    next_inactivity_timeout_at = Thread::get_hrtime() + timeout;
+  } else {
+    next_inactivity_timeout_at = 0;
+  }
 #endif
 }
 
diff --git a/proxy/http/Http1ClientSession.cc b/proxy/http/Http1ClientSession.cc
index 0164feb..0afc047 100644
--- a/proxy/http/Http1ClientSession.cc
+++ b/proxy/http/Http1ClientSession.cc
@@ -266,7 +266,7 @@ Http1ClientSession::do_io_close(int alerrno)
       // Set the active timeout to the same as the inactive time so
       //   that this connection does not hang around forever if
       //   the ua hasn't closed
-      client_vc->set_active_timeout(HRTIME_SECONDS(trans.get_sm()->t_state.txn_conf->keep_alive_no_activity_timeout_out));
+      client_vc->set_active_timeout(HRTIME_SECONDS(trans.get_sm()->t_state.txn_conf->keep_alive_no_activity_timeout_in));
     }
 
     // [bug 2610799] Drain any data read.
@@ -427,9 +427,10 @@ Http1ClientSession::release(ProxyClientTransaction *trans)
     ka_vio = this->do_io_read(this, INT64_MAX, read_buffer);
     ink_assert(slave_ka_vio != ka_vio);
 
-    // Y!?
-    // client_vc->add_to_keep_alive_lru();
-    client_vc->cancel_active_timeout();
+    if (client_vc) {
+      client_vc->cancel_active_timeout();
+      client_vc->add_to_keep_alive_queue();
+    }
     trans->destroy();
   }
 }
@@ -451,8 +452,8 @@ Http1ClientSession::new_transaction()
 
   trans.set_parent(this);
   transact_count++;
-  // Y!?
-  // client_vc->remove_from_keep_alive_lru();
+
+  client_vc->add_to_active_queue();
   trans.new_transaction();
 }
 
diff --git a/proxy/http/Http1ClientTransaction.cc b/proxy/http/Http1ClientTransaction.cc
index 22fb1d5..074d283 100644
--- a/proxy/http/Http1ClientTransaction.cc
+++ b/proxy/http/Http1ClientTransaction.cc
@@ -31,7 +31,7 @@ Http1ClientTransaction::release(IOBufferReader *r)
   // Must set this inactivity count here rather than in the session because the state machine
   // is not availble then
   MgmtInt ka_in = current_reader->t_state.txn_conf->keep_alive_no_activity_timeout_in;
-  get_netvc()->set_inactivity_timeout(HRTIME_SECONDS(ka_in));
+  set_inactivity_timeout(HRTIME_SECONDS(ka_in));
 
   if (m_active) {
     m_active = false;
diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc
index 3f866f6..56aa4b4 100644
--- a/proxy/http/HttpSM.cc
+++ b/proxy/http/HttpSM.cc
@@ -5591,7 +5591,7 @@ HttpSM::do_setup_post_tunnel(HttpVC_t to_vc_type)
   if (chunked)
     tunnel.set_producer_chunking_action(p, 0, TCA_PASSTHRU_CHUNKED_CONTENT);
 
-  ua_session->get_netvc()->set_inactivity_timeout(HRTIME_SECONDS(t_state.txn_conf->transaction_no_activity_timeout_in));
+  ua_session->set_inactivity_timeout(HRTIME_SECONDS(t_state.txn_conf->transaction_no_activity_timeout_in));
   server_session->get_netvc()->set_inactivity_timeout(HRTIME_SECONDS(t_state.txn_conf->transaction_no_activity_timeout_out));
 
   tunnel.tunnel_run(p);

-- 
To stop receiving notification emails like this one, please contact
['"commits@trafficserver.apache.org" <co...@trafficserver.apache.org>'].