[tor-commits] [tor/master] hs: Update the IP failure cache only if legacy

nickm at torproject.org nickm at torproject.org
Thu Aug 24 19:13:52 UTC 2017


commit 88f64eee68c972845131c8e372af067d8bb37cd1
Author: David Goulet <dgoulet at torproject.org>
Date:   Tue Jul 25 11:37:55 2017 -0400

    hs: Update the IP failure cache only if legacy
    
    Don't assert() on rend_data when closing circuits to report an IP failure. The
    prop224 code doesn't have yet the support for this.
    
    Signed-off-by: David Goulet <dgoulet at torproject.org>
---
 src/or/circuitlist.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c
index d891c89f3..2f3fe327e 100644
--- a/src/or/circuitlist.c
+++ b/src/or/circuitlist.c
@@ -1961,8 +1961,8 @@ circuit_about_to_free(circuit_t *circ)
     int timed_out = (reason == END_CIRC_REASON_TIMEOUT);
     tor_assert(circ->state == CIRCUIT_STATE_OPEN);
     tor_assert(ocirc->build_state->chosen_exit);
-    tor_assert(ocirc->rend_data);
-    if (orig_reason != END_CIRC_REASON_IP_NOW_REDUNDANT) {
+    if (orig_reason != END_CIRC_REASON_IP_NOW_REDUNDANT &&
+        ocirc->rend_data) {
       /* treat this like getting a nack from it */
       log_info(LD_REND, "Failed intro circ %s to %s (awaiting ack). %s",
           safe_str_client(rend_data_get_address(ocirc->rend_data)),
@@ -1978,7 +1978,8 @@ circuit_about_to_free(circuit_t *circ)
              reason != END_CIRC_REASON_TIMEOUT) {
     origin_circuit_t *ocirc = TO_ORIGIN_CIRCUIT(circ);
     if (ocirc->build_state->chosen_exit && ocirc->rend_data) {
-      if (orig_reason != END_CIRC_REASON_IP_NOW_REDUNDANT) {
+      if (orig_reason != END_CIRC_REASON_IP_NOW_REDUNDANT &&
+          ocirc->rend_data) {
         log_info(LD_REND, "Failed intro circ %s to %s "
             "(building circuit to intro point). "
             "Marking intro point as possibly unreachable.",





More information about the tor-commits mailing list