tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 7ce335c9217f36b1aca6973d119630c7b846c1ce
parent db5aa54a422cd45b690293a0c618e6275e1c3608
Author: Roger Dingledine <arma@torproject.org>
Date:   Mon, 15 Jan 2018 16:41:47 -0500

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.

Diffstat:
Achanges/bug24894 | 5+++++
Msrc/or/hs_circuit.c | 2+-
2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/changes/bug24894 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 @@ -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);