summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2023-09-21 08:59:02 -0400
committerDavid Goulet <dgoulet@torproject.org>2023-09-21 08:59:02 -0400
commit498e7e24d03594565ac6ca9aa09adc3f7b25b2f1 (patch)
tree58a28fafa158d9e8e82f0592fc7ab67f78df8bcd
parentc857d0e4673c10722d72f01ea306cd3e59a6bee9 (diff)
parent4dda47839c252bc0d2d544b95fed7e4600a7c54e (diff)
downloadtor-498e7e24d03594565ac6ca9aa09adc3f7b25b2f1.tar.gz
tor-498e7e24d03594565ac6ca9aa09adc3f7b25b2f1.zip
Merge branch 'maint-0.4.8' into release-0.4.8
-rw-r--r--changes/bug408623
-rw-r--r--src/core/or/conflux_pool.c7
2 files changed, 9 insertions, 1 deletions
diff --git a/changes/bug40862 b/changes/bug40862
new file mode 100644
index 0000000000..83ad9376d9
--- /dev/null
+++ b/changes/bug40862
@@ -0,0 +1,3 @@
+ o Major bugfixes (conflux):
+ - Fix an issue that prevented us from pre-building more conflux sets after
+ existing sets had been used. Fixes bug 40862; bugfix on 0.4.8.1-alpha.
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;