relay: Remove dead code

append_cell_to_circuit_queue() had code disabled from commit
2a95f31716

This code is 4+ years old related to bug #9072 so if we ever want to revisit
it, lets inspect/revert this commit.

Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
David Goulet 2017-11-20 15:46:51 -05:00
parent c2f413e245
commit bf242ebe6c

View File

@ -2858,20 +2858,6 @@ channel_flush_from_first_active_circuit, (channel_t *chan, int max))
return n_flushed;
}
#if 0
/** Indicate the current preferred cap for middle circuits; zero disables
* the cap. Right now it's just a constant, ORCIRC_MAX_MIDDLE_CELLS, but
* the logic in append_cell_to_circuit_queue() is written to be correct
* if we want to base it on a consensus param or something that might change
* in the future.
*/
static int
get_max_middle_cells(void)
{
return ORCIRC_MAX_MIDDLE_CELLS;
}
#endif /* 0 */
/** Add <b>cell</b> to the queue of <b>circ</b> writing to <b>chan</b>
* transmitting in <b>direction</b>. */
void
@ -2882,10 +2868,6 @@ append_cell_to_circuit_queue(circuit_t *circ, channel_t *chan,
or_circuit_t *orcirc = NULL;
cell_queue_t *queue;
int streams_blocked;
#if 0
uint32_t tgt_max_middle_cells, p_len, n_len, tmp, hard_max_middle_cells;
#endif
int exitward;
if (circ->marked_for_close)
return;
@ -2900,88 +2882,6 @@ append_cell_to_circuit_queue(circuit_t *circ, channel_t *chan,
streams_blocked = circ->streams_blocked_on_p_chan;
}
/*
* Disabling this for now because of a possible guard discovery attack
*/
#if 0
/* Are we a middle circuit about to exceed ORCIRC_MAX_MIDDLE_CELLS? */
if ((circ->n_chan != NULL) && CIRCUIT_IS_ORCIRC(circ)) {
orcirc = TO_OR_CIRCUIT(circ);
if (orcirc->p_chan) {
/* We are a middle circuit if we have both n_chan and p_chan */
/* We'll need to know the current preferred maximum */
tgt_max_middle_cells = get_max_middle_cells();
if (tgt_max_middle_cells > 0) {
/* Do we need to initialize middle_max_cells? */
if (orcirc->max_middle_cells == 0) {
orcirc->max_middle_cells = tgt_max_middle_cells;
} else {
if (tgt_max_middle_cells > orcirc->max_middle_cells) {
/* If we want to increase the cap, we can do so right away */
orcirc->max_middle_cells = tgt_max_middle_cells;
} else if (tgt_max_middle_cells < orcirc->max_middle_cells) {
/*
* If we're shrinking the cap, we can't shrink past either queue;
* compare tgt_max_middle_cells rather than tgt_max_middle_cells *
* ORCIRC_MAX_MIDDLE_KILL_THRESH so the queues don't shrink enough
* to generate spurious warnings, either.
*/
n_len = circ->n_chan_cells.n;
p_len = orcirc->p_chan_cells.n;
tmp = tgt_max_middle_cells;
if (tmp < n_len) tmp = n_len;
if (tmp < p_len) tmp = p_len;
orcirc->max_middle_cells = tmp;
}
/* else no change */
}
} else {
/* tgt_max_middle_cells == 0 indicates we should disable the cap */
orcirc->max_middle_cells = 0;
}
/* Now we know orcirc->max_middle_cells is set correctly */
if (orcirc->max_middle_cells > 0) {
hard_max_middle_cells =
(uint32_t)(((double)orcirc->max_middle_cells) *
ORCIRC_MAX_MIDDLE_KILL_THRESH);
if ((unsigned)queue->n + 1 >= hard_max_middle_cells) {
/* Queueing this cell would put queue over the kill theshold */
log_warn(LD_CIRC,
"Got a cell exceeding the hard cap of %u in the "
"%s direction on middle circ ID %u on chan ID "
U64_FORMAT "; killing the circuit.",
hard_max_middle_cells,
(direction == CELL_DIRECTION_OUT) ? "n" : "p",
(direction == CELL_DIRECTION_OUT) ?
circ->n_circ_id : orcirc->p_circ_id,
U64_PRINTF_ARG(
(direction == CELL_DIRECTION_OUT) ?
circ->n_chan->global_identifier :
orcirc->p_chan->global_identifier));
circuit_mark_for_close(circ, END_CIRC_REASON_RESOURCELIMIT);
return;
} else if ((unsigned)queue->n + 1 == orcirc->max_middle_cells) {
/* Only use ==, not >= for this test so we don't spam the log */
log_warn(LD_CIRC,
"While trying to queue a cell, reached the soft cap of %u "
"in the %s direction on middle circ ID %u "
"on chan ID " U64_FORMAT ".",
orcirc->max_middle_cells,
(direction == CELL_DIRECTION_OUT) ? "n" : "p",
(direction == CELL_DIRECTION_OUT) ?
circ->n_circ_id : orcirc->p_circ_id,
U64_PRINTF_ARG(
(direction == CELL_DIRECTION_OUT) ?
circ->n_chan->global_identifier :
orcirc->p_chan->global_identifier));
}
}
}
}
#endif /* 0 */
cell_queue_append_packed_copy(circ, queue, exitward, cell,
chan->wide_circ_ids, 1);