aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/bug278417
-rw-r--r--src/feature/hs/hs_intropoint.c6
2 files changed, 7 insertions, 6 deletions
diff --git a/changes/bug27841 b/changes/bug27841
new file mode 100644
index 0000000000..9cd1da7275
--- /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/feature/hs/hs_intropoint.c b/src/feature/hs/hs_intropoint.c
index c716447c9f..2ea53af6a0 100644
--- a/src/feature/hs/hs_intropoint.c
+++ b/src/feature/hs/hs_intropoint.c
@@ -503,12 +503,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;