[tor-commits] [tor/release-0.3.5] At intro points, don't close circuits on NACKs

dgoulet at torproject.org dgoulet at torproject.org
Tue Nov 13 15:46:21 UTC 2018


commit f89f14802e938c7abcd2a6387f64d442cefe72c2
Author: Neel Chauhan <neel at neelc.org>
Date:   Tue Nov 6 17:04:08 2018 -0500

    At intro points, don't close circuits on NACKs
---
 changes/bug27841       | 7 +++++++
 src/or/hs_intropoint.c | 6 ------
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/changes/bug27841 b/changes/bug27841
new file mode 100644
index 000000000..9cd1da727
--- /dev/null
+++ b/changes/bug27841
@@ -0,0 +1,7 @@
+  o Minor bugfixes (onion services):
+    - On an intro point for a version 3 onion service, we do not close
+      an introduction circuit on an NACK. This lets the client decide
+      whether to reuse the circuit or discard it. Previously, we closed
+      intro circuits on NACKs. Fixes bug 27841; bugfix on 0.3.2.1-alpha.
+      Patch by Neel Chaunan
+
diff --git a/src/or/hs_intropoint.c b/src/or/hs_intropoint.c
index 9eaf57251..a622c62dd 100644
--- a/src/or/hs_intropoint.c
+++ b/src/or/hs_intropoint.c
@@ -501,12 +501,6 @@ handle_introduce1(or_circuit_t *client_circ, const uint8_t *request,
     /* Circuit has been closed on failure of transmission. */
     goto done;
   }
-  if (status != HS_INTRO_ACK_STATUS_SUCCESS) {
-    /* We just sent a NACK that is a non success status code so close the
-     * circuit because it's not useful to keep it open. Remember, a client can
-     * only send one INTRODUCE1 cell on a circuit. */
-    circuit_mark_for_close(TO_CIRCUIT(client_circ), END_CIRC_REASON_INTERNAL);
-  }
  done:
   trn_cell_introduce1_free(parsed_cell);
   return ret;





More information about the tor-commits mailing list