[tor-commits] [tor/master] Don't let a bad IPv6 orport stop our IPv4 bandwidth test.

nickm at torproject.org nickm at torproject.org
Fri Jul 24 19:15:52 UTC 2020


commit 2299b31f405e01abefa28924d86634b386949377
Author: Nick Mathewson <nickm at torproject.org>
Date:   Fri Jul 24 14:50:42 2020 -0400

    Don't let a bad IPv6 orport stop our IPv4 bandwidth test.
    
    Specifically: do not close IPv4 bandwidth-testing circuits just
    because our IPv6 orport is unreachable.
    
    Attempted fix for #40068.
---
 src/core/or/circuituse.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/core/or/circuituse.c b/src/core/or/circuituse.c
index 3c8a7c4a89..df23c63cff 100644
--- a/src/core/or/circuituse.c
+++ b/src/core/or/circuituse.c
@@ -1651,11 +1651,12 @@ static void
 circuit_testing_opened(origin_circuit_t *circ)
 {
   if (have_performed_bandwidth_test ||
-      !router_all_orports_seem_reachable(get_options())) {
+      !router_orport_seems_reachable(get_options(), AF_INET)) {
     /* either we've already done everything we want with testing circuits,
-     * or this testing circuit became open due to a fluke, e.g. we picked
-     * a last hop where we already had the connection open due to an
-     * outgoing local circuit. */
+     * OR this IPv4 testing circuit became open due to a fluke, e.g. we picked
+     * a last hop where we already had the connection open due to a
+     * outgoing local circuit, OR this is an IPv6 self-test circuit, not
+     * a bandwidth test circuit. */
     circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_AT_ORIGIN);
   } else if (circuit_enough_testing_circs()) {
     router_perform_bandwidth_test(NUM_PARALLEL_TESTING_CIRCS, time(NULL));





More information about the tor-commits mailing list