Sfoglia il codice sorgente

Merge remote-tracking branch 'dgoulet/bug14224_025_v1'

Nick Mathewson 9 anni fa
parent
commit
9ddc1fb10c
2 ha cambiato i file con 11 aggiunte e 0 eliminazioni
  1. 4 0
      changes/bug14224
  2. 7 0
      src/or/rendclient.c

+ 4 - 0
changes/bug14224

@@ -0,0 +1,4 @@
+  o Minor Bugfix
+    - Close the intro circuit once we don't have any more usable intro
+      points instead of making it timeout at some point. This also make sure
+      no extra HS descriptor fetch is triggered.

+ 7 - 0
src/or/rendclient.c

@@ -451,6 +451,13 @@ rend_client_introduction_acked(origin_circuit_t *circ,
       /* XXXX If that call failed, should we close the rend circuit,
        * too? */
       return result;
+    } else {
+      /* Close circuit because no more intro points are usable thus not
+       * useful anymore. Change it's purpose before so we don't report an
+       * intro point failure again triggering an extra descriptor fetch. */
+      circuit_change_purpose(TO_CIRCUIT(circ),
+          CIRCUIT_PURPOSE_C_INTRODUCE_ACKED);
+      circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_FINISHED);
     }
   }
   return 0;