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.
This commit is contained in:
Mike Perry
2015-03-27 12:57:37 -07:00
committed by Yawning Angel
parent 0e60c52c6c
commit a16115d9cb
+9 -2
View File
@@ -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);