mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +01:00
Merge branch 'maint-0.3.2'
This commit is contained in:
commit
45b9b2245f
7
changes/bug18859
Normal file
7
changes/bug18859
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
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);
|
tor_assert(*port);
|
||||||
if (circuit_stream_is_being_handled(NULL, *port,
|
if (circuit_stream_is_being_handled(NULL, *port,
|
||||||
MIN_CIRCUITS_HANDLING_STREAM)) {
|
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--);
|
smartlist_del(needed_ports, i--);
|
||||||
tor_free(port);
|
tor_free(port);
|
||||||
} else {
|
} else {
|
||||||
@ -1038,6 +1038,10 @@ circuit_stream_is_being_handled(entry_connection_t *conn,
|
|||||||
continue;
|
continue;
|
||||||
if (origin_circ->unusable_for_new_conns)
|
if (origin_circ->unusable_for_new_conns)
|
||||||
continue;
|
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);
|
exitnode = build_state_get_exit_node(build_state);
|
||||||
if (exitnode && (!need_uptime || build_state->need_uptime)) {
|
if (exitnode && (!need_uptime || build_state->need_uptime)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user