From: Mike Perry Date: Fri, 27 Mar 2015 19:57:37 +0000 (-0700) Subject: Bug 15482: Don't abandon circuits that are still in use for browsing. X-Git-Tag: tor-0.2.7.3-rc~47^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a16115d9cb8c2e88da8a59c212155e2fd0e16aa3;p=thirdparty%2Ftor.git 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. --- diff --git a/src/or/circuituse.c b/src/or/circuituse.c index a3b71974ca..e10bb82641 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);