|
@@ -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)) {
|