[tor-commits] [tor/master] Do not mark circs for close again after relay_send_command_from_edge()

nickm at torproject.org nickm at torproject.org
Thu Nov 3 18:37:16 UTC 2016


commit 2d049469602f5e6efbe8f1ded0cbcd3aa957f3eb
Author: Ivan Markin <twim at riseup.net>
Date:   Sun Oct 16 20:08:26 2016 +0000

    Do not mark circs for close again after relay_send_command_from_edge()
---
 src/or/rendmid.c     | 8 ++------
 src/or/rendservice.c | 6 ++----
 2 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/src/or/rendmid.c b/src/or/rendmid.c
index ca0ad7b..96993b6 100644
--- a/src/or/rendmid.c
+++ b/src/or/rendmid.c
@@ -106,7 +106,7 @@ rend_mid_establish_intro(or_circuit_t *circ, const uint8_t *request,
                                    RELAY_COMMAND_INTRO_ESTABLISHED,
                                    "", 0, NULL)<0) {
     log_info(LD_GENERAL, "Couldn't send INTRO_ESTABLISHED cell.");
-    goto err;
+    return -1;
   }
 
   /* Now, set up this circuit. */
@@ -208,7 +208,6 @@ rend_mid_introduce(or_circuit_t *circ, const uint8_t *request,
                                    RELAY_COMMAND_INTRODUCE_ACK,
                                    NULL,0,NULL)) {
     log_warn(LD_GENERAL, "Unable to send INTRODUCE_ACK cell to Tor client.");
-    circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_INTERNAL);
     return -1;
   }
 
@@ -220,8 +219,6 @@ rend_mid_introduce(or_circuit_t *circ, const uint8_t *request,
                                    RELAY_COMMAND_INTRODUCE_ACK,
                                    nak_body, 1, NULL)) {
     log_warn(LD_GENERAL, "Unable to send NAK to Tor client.");
-    /* Is this right? */
-    circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_INTERNAL);
   }
   return -1;
 }
@@ -269,8 +266,7 @@ rend_mid_establish_rendezvous(or_circuit_t *circ, const uint8_t *request,
                                    RELAY_COMMAND_RENDEZVOUS_ESTABLISHED,
                                    "", 0, NULL)<0) {
     log_warn(LD_PROTOCOL, "Couldn't send RENDEZVOUS_ESTABLISHED cell.");
-    reason = END_CIRC_REASON_INTERNAL;
-    goto err;
+    return -1;
   }
 
   circuit_change_purpose(TO_CIRCUIT(circ), CIRCUIT_PURPOSE_REND_POINT_WAITING);
diff --git a/src/or/rendservice.c b/src/or/rendservice.c
index ab7ec3f..3aeade8 100644
--- a/src/or/rendservice.c
+++ b/src/or/rendservice.c
@@ -3060,8 +3060,7 @@ rend_service_intro_has_opened(origin_circuit_t *circuit)
     log_info(LD_GENERAL,
              "Couldn't send introduction request for service %s on circuit %u",
              serviceid, (unsigned)circuit->base_.n_circ_id);
-    reason = END_CIRC_REASON_INTERNAL;
-    goto err;
+    goto done;
   }
 
   /* We've attempted to use this circuit */
@@ -3223,8 +3222,7 @@ rend_service_rendezvous_has_opened(origin_circuit_t *circuit)
                                    buf, REND_COOKIE_LEN+DH_KEY_LEN+DIGEST_LEN,
                                    circuit->cpath->prev)<0) {
     log_warn(LD_GENERAL, "Couldn't send RENDEZVOUS1 cell.");
-    reason = END_CIRC_REASON_INTERNAL;
-    goto err;
+    goto done;
   }
 
   crypto_dh_free(hop->rend_dh_handshake_state);





More information about the tor-commits mailing list