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.
This commit is contained in:
Roger Dingledine 2018-01-15 16:41:47 -05:00
parent db5aa54a42
commit 7ce335c921
2 changed files with 6 additions and 1 deletions

5
changes/bug24894 Normal file
View File

@ -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.

View File

@ -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);