]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Bug 40862: Check if circuits are unused more ways
authorMike Perry <mikeperry-git@torproject.org>
Wed, 20 Sep 2023 23:35:36 +0000 (23:35 +0000)
committerMike Perry <mikeperry-git@torproject.org>
Wed, 20 Sep 2023 23:35:36 +0000 (23:35 +0000)
src/core/or/conflux_pool.c

index 46d36cf1060fc9dff3b06de8079a0dce0e79a566..4a7e941372bdc5f8ed82d9b25ebab0c1113e4c0b 100644 (file)
@@ -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;