From 7ce335c9217f36b1aca6973d119630c7b846c1ce Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Mon, 15 Jan 2018 16:41:47 -0500 Subject: [PATCH] v3 onion services now obey MAX_REND_FAILURES New-style (v3) onion services now obey the "max rendezvous circuit attempts" logic. Previously they would make as many rendezvous circuit attempts as they could fit in the MAX_REND_TIMEOUT second window before giving up. Fixes bug 24894; bugfix on 0.3.2.1-alpha. --- changes/bug24894 | 5 +++++ src/or/hs_circuit.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 changes/bug24894 diff --git a/changes/bug24894 b/changes/bug24894 new file mode 100644 index 000000000..b08cdce1f --- /dev/null +++ b/changes/bug24894 @@ -0,0 +1,5 @@ + o Major bugfixes (v3 onion services): + - New-style (v3) onion services now obey the "max rendezvous circuit + attempts" logic. Previously they would make as many rendezvous + circuit attempts as they could fit in the MAX_REND_TIMEOUT second + window before giving up. Fixes bug 24894; bugfix on 0.3.2.1-alpha. diff --git a/src/or/hs_circuit.c b/src/or/hs_circuit.c index a58166ccd..11ce2a188 100644 --- a/src/or/hs_circuit.c +++ b/src/or/hs_circuit.c @@ -545,7 +545,7 @@ retry_service_rendezvous_point(const origin_circuit_t *circ) /* Transfer build state information to the new circuit state in part to * catch any other failures. */ - new_circ->build_state->failure_count = bstate->failure_count++; + new_circ->build_state->failure_count = bstate->failure_count+1; new_circ->build_state->expiry_time = bstate->expiry_time; new_circ->hs_ident = hs_ident_circuit_dup(circ->hs_ident);