Skip to content
Snippets Groups Projects
Commit 4b41ffa6 authored by Nick Mathewson's avatar Nick Mathewson :game_die:
Browse files

Merge branch 'arthuredelstein_18859+1_031' into maint-0.3.2

parents d4ca1857 13049a98
No related branches found
No related tags found
No related merge requests found
o Major bugfixes (circuit prediction):
- Fix circuit prediction logic so that a client doesn't treat a stream as
being "handled" by a circuit if that circuit already has isolation
settings on it that might make it incompatible with the stream. This
change should make Tor clients more responsive by improving their
chances of having a pre-created circuit ready for use when a new client
request arrives. Fixes bug 18859; bugfix on 0.2.3.3-alpha.
......@@ -1001,7 +1001,7 @@ circuit_remove_handled_ports(smartlist_t *needed_ports)
tor_assert(*port);
if (circuit_stream_is_being_handled(NULL, *port,
MIN_CIRCUITS_HANDLING_STREAM)) {
// log_debug(LD_CIRC,"Port %d is already being handled; removing.", port);
log_debug(LD_CIRC,"Port %d is already being handled; removing.", *port);
smartlist_del(needed_ports, i--);
tor_free(port);
} else {
......@@ -1038,6 +1038,10 @@ circuit_stream_is_being_handled(entry_connection_t *conn,
continue;
if (origin_circ->unusable_for_new_conns)
continue;
if (origin_circ->isolation_values_set &&
(conn == NULL ||
!connection_edge_compatible_with_circuit(conn, origin_circ)))
continue;
exitnode = build_state_get_exit_node(build_state);
if (exitnode && (!need_uptime || build_state->need_uptime)) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment