Loading src/feature/hs/hs_cell.c +6 −0 Original line number Diff line number Diff line Loading @@ -952,6 +952,12 @@ hs_cell_parse_introduce2(hs_cell_introduce2_data_t *data, } } /* If the client asked for congestion control, but we don't support it, * that's a failure. It should not have asked, based on our descriptor. */ if (data->cc_enabled && !congestion_control_enabled()) { goto done; } /* Success. */ ret = 0; log_info(LD_REND, "Valid INTRODUCE2 cell. Launching rendezvous circuit."); Loading src/feature/hs/hs_circuit.c +1 −0 Original line number Diff line number Diff line Loading @@ -996,6 +996,7 @@ hs_circ_handle_introduce2(const hs_service_t *service, data.payload_len = payload_len; data.link_specifiers = smartlist_new(); data.replay_cache = ip->replay_cache; data.cc_enabled = 0; if (get_subcredential_for_handling_intro2_cell(service, &data, subcredential)) { Loading src/test/test_hs_service.c +1 −0 Original line number Diff line number Diff line Loading @@ -2330,6 +2330,7 @@ test_intro2_handling(void *arg) intro_circ->cpath->prev = intro_circ->cpath; intro_circ->hs_ident = tor_malloc_zero(sizeof(*intro_circ->hs_ident)); origin_circuit_t rend_circ; TO_CIRCUIT(&rend_circ)->ccontrol = NULL; rend_circ.hs_ident = tor_malloc_zero(sizeof(*rend_circ.hs_ident)); curve25519_keypair_generate(&rend_circ.hs_ident->rendezvous_client_kp, 0); memset(rend_circ.hs_ident->rendezvous_cookie, 'r', HS_REND_COOKIE_LEN); Loading Loading
src/feature/hs/hs_cell.c +6 −0 Original line number Diff line number Diff line Loading @@ -952,6 +952,12 @@ hs_cell_parse_introduce2(hs_cell_introduce2_data_t *data, } } /* If the client asked for congestion control, but we don't support it, * that's a failure. It should not have asked, based on our descriptor. */ if (data->cc_enabled && !congestion_control_enabled()) { goto done; } /* Success. */ ret = 0; log_info(LD_REND, "Valid INTRODUCE2 cell. Launching rendezvous circuit."); Loading
src/feature/hs/hs_circuit.c +1 −0 Original line number Diff line number Diff line Loading @@ -996,6 +996,7 @@ hs_circ_handle_introduce2(const hs_service_t *service, data.payload_len = payload_len; data.link_specifiers = smartlist_new(); data.replay_cache = ip->replay_cache; data.cc_enabled = 0; if (get_subcredential_for_handling_intro2_cell(service, &data, subcredential)) { Loading
src/test/test_hs_service.c +1 −0 Original line number Diff line number Diff line Loading @@ -2330,6 +2330,7 @@ test_intro2_handling(void *arg) intro_circ->cpath->prev = intro_circ->cpath; intro_circ->hs_ident = tor_malloc_zero(sizeof(*intro_circ->hs_ident)); origin_circuit_t rend_circ; TO_CIRCUIT(&rend_circ)->ccontrol = NULL; rend_circ.hs_ident = tor_malloc_zero(sizeof(*rend_circ.hs_ident)); curve25519_keypair_generate(&rend_circ.hs_ident->rendezvous_client_kp, 0); memset(rend_circ.hs_ident->rendezvous_cookie, 'r', HS_REND_COOKIE_LEN); Loading