From: Mike Perry Date: Wed, 20 Sep 2023 23:35:36 +0000 (+0000) Subject: Bug 40862: Check if circuits are unused more ways X-Git-Tag: tor-0.4.8.7~3^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d499de58132fd45f8e20d508641e0ded392d045f;p=thirdparty%2Ftor.git Bug 40862: Check if circuits are unused more ways --- diff --git a/src/core/or/conflux_pool.c b/src/core/or/conflux_pool.c index 46d36cf106..4a7e941372 100644 --- a/src/core/or/conflux_pool.c +++ b/src/core/or/conflux_pool.c @@ -1322,7 +1322,12 @@ count_client_usable_sets(void) log_warn(LD_BUG, "Client conflux linked set leg without a circuit"); continue; } - if (!CONST_TO_ORIGIN_CIRCUIT(leg->circ)->unusable_for_new_conns) { + + /* The maze marks circuits used several different ways. If any of + * them are marked for this leg, launch a new one. */ + if (!CONST_TO_ORIGIN_CIRCUIT(leg->circ)->unusable_for_new_conns && + !CONST_TO_ORIGIN_CIRCUIT(leg->circ)->isolation_values_set && + !leg->circ->timestamp_dirty) { count++; } } DIGEST256MAP_FOREACH_END;