This is an automated email from the git hooks/post-receive script.
dgoulet pushed a commit to branch main in repository tor.
commit 44cd704636c5e67857cc93b193e1849bcebc96b4 Author: Mike Perry mikeperry-git@torproject.org AuthorDate: Thu Jun 15 16:13:34 2023 +0000
Bug 40811: Count conflux leg launch attempts early.
Also, double check that the consensus has enough overall exits before attempting conflux set launch. --- src/core/or/conflux_pool.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/core/or/conflux_pool.c b/src/core/or/conflux_pool.c index c8018f45e2..79fd6c1648 100644 --- a/src/core/or/conflux_pool.c +++ b/src/core/or/conflux_pool.c @@ -1140,6 +1140,11 @@ conflux_launch_leg(const uint8_t *nonce) fmt_nonce(nonce)); }
+ /* Increase the retry count for this conflux object as in this nonce. + * We must do this now, because some of the maze's early failure paths + * call right back into this function for relaunch. */ + unlinked->cfx->num_leg_launch++; + origin_circuit_t *circ = circuit_establish_circuit_conflux(nonce, CIRCUIT_PURPOSE_CONFLUX_UNLINKED, exit, flags); @@ -1169,9 +1174,6 @@ conflux_launch_leg(const uint8_t *nonce) last_seq_sent, last_seq_recv, get_client_ux()));
- /* Increase the retry count for this conflux object as in this nonce. */ - unlinked->cfx->num_leg_launch++; - unlinked_leg_add(unlinked, leg); return true;
@@ -1338,7 +1340,10 @@ conflux_predict_new(time_t now) { (void) now;
- if (!conflux_is_enabled(NULL)) { + /* If conflux is disabled, or we have insufficient consensus exits, + * don't prebuild. */ + if (!conflux_is_enabled(NULL) || + router_have_consensus_path() != CONSENSUS_PATH_EXIT) { return; }