Browse Source

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.
Roger Dingledine 6 years ago
parent
commit
7ce335c921
2 changed files with 6 additions and 1 deletions
  1. 5 0
      changes/bug24894
  2. 1 1
      src/or/hs_circuit.c

+ 5 - 0
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.

+ 1 - 1
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);