[tor-commits] [tor/master] Bug 15482: Don't abandon circuits that are still in use for browsing.

nickm at torproject.org nickm at torproject.org
Tue Sep 8 18:04:15 UTC 2015


commit a16115d9cb8c2e88da8a59c212155e2fd0e16aa3
Author: Mike Perry <mikeperry-git at torproject.org>
Date:   Fri Mar 27 12:57:37 2015 -0700

    Bug 15482: Don't abandon circuits that are still in use for browsing.
    
    Only applies to connections with SOCKS auth set, so that non-web Tor
    activity is not affected.
    
    Simpler version of Nick's patch because the randomness worried me, and I'm not
    otherwise sure why we want a max here.
---
 src/or/circuituse.c |   11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/or/circuituse.c b/src/or/circuituse.c
index a3b7197..e10bb82 100644
--- a/src/or/circuituse.c
+++ b/src/or/circuituse.c
@@ -2284,8 +2284,15 @@ connection_ap_handshake_attach_chosen_circuit(entry_connection_t *conn,
 
   base_conn->state = AP_CONN_STATE_CIRCUIT_WAIT;
 
-  if (!circ->base_.timestamp_dirty)
-    circ->base_.timestamp_dirty = time(NULL);
+  if (!circ->base_.timestamp_dirty) {
+    circ->base_.timestamp_dirty = approx_time();
+  } else if ((conn->entry_cfg.isolation_flags & ISO_SOCKSAUTH) &&
+             (conn->socks_request->usernamelen ||
+              conn->socks_request->passwordlen)) {
+    /* When stream isolation is in use and controlled by an application
+     * we are willing to keep using the stream. */
+    circ->base_.timestamp_dirty = approx_time();
+  }
 
   pathbias_count_use_attempt(circ);
 





More information about the tor-commits mailing list