mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-14 07:03:44 +01:00
hs: Remove useless code in rend_mid_introduce()
With the previous commit, we validate the circuit _before_ calling rend_mid_introduce() which handles the INTRODUCE1 payload. Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
parent
9d7505a62a
commit
db77a38da2
@ -143,26 +143,10 @@ rend_mid_introduce(or_circuit_t *circ, const uint8_t *request,
|
|||||||
log_info(LD_REND, "Received an INTRODUCE1 request on circuit %u",
|
log_info(LD_REND, "Received an INTRODUCE1 request on circuit %u",
|
||||||
(unsigned)circ->p_circ_id);
|
(unsigned)circ->p_circ_id);
|
||||||
|
|
||||||
if (circ->base_.purpose != CIRCUIT_PURPOSE_OR || circ->base_.n_chan) {
|
/* At this point, we know that the circuit is valid for an INTRODUCE1
|
||||||
log_warn(LD_PROTOCOL,
|
* because the validation has been made before calling this function. */
|
||||||
"Rejecting INTRODUCE1 on non-OR or non-edge circuit %u.",
|
tor_assert(circ->base_.purpose == CIRCUIT_PURPOSE_OR);
|
||||||
(unsigned)circ->p_circ_id);
|
tor_assert(!circ->base_.n_chan);
|
||||||
goto err;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* We have already done an introduction on this circuit but we just
|
|
||||||
received a request for another one. We block it since this might
|
|
||||||
be an attempt to DoS a hidden service (#15515). */
|
|
||||||
if (circ->already_received_introduce1) {
|
|
||||||
log_fn(LOG_PROTOCOL_WARN, LD_REND,
|
|
||||||
"Blocking multiple introductions on the same circuit. "
|
|
||||||
"Someone might be trying to attack a hidden service through "
|
|
||||||
"this relay.");
|
|
||||||
circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_TORPROTOCOL);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
circ->already_received_introduce1 = 1;
|
|
||||||
|
|
||||||
/* We could change this to MAX_HEX_NICKNAME_LEN now that 0.0.9.x is
|
/* We could change this to MAX_HEX_NICKNAME_LEN now that 0.0.9.x is
|
||||||
* obsolete; however, there isn't much reason to do so, and we're going
|
* obsolete; however, there isn't much reason to do so, and we're going
|
||||||
|
Loading…
Reference in New Issue
Block a user