diff options
-rw-r--r-- | changes/bug27841 | 7 | ||||
-rw-r--r-- | src/feature/hs/hs_intropoint.c | 6 |
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; |