diff options
author | Roger Dingledine <arma@torproject.org> | 2014-07-28 02:47:15 -0400 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2014-07-28 02:47:15 -0400 |
commit | 29a82b5a8b6d5e75a1f8b880933c2a232458d386 (patch) | |
tree | 4a5c99918cc77aca7a21696f6b62f8c00f567e4c /src/or/command.c | |
parent | 2126feaabc3e07dc8f7ad712256de496fbcfb976 (diff) | |
parent | 68a2e4ca4baa595cc4595a511db11fa7ccbbc8f7 (diff) | |
download | tor-29a82b5a8b6d5e75a1f8b880933c2a232458d386.tar.gz tor-29a82b5a8b6d5e75a1f8b880933c2a232458d386.zip |
Merge branch 'maint-0.2.4' into maint-0.2.5
Diffstat (limited to 'src/or/command.c')
-rw-r--r-- | src/or/command.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/or/command.c b/src/or/command.c index fa2a0e74e7..1f6f93a868 100644 --- a/src/or/command.c +++ b/src/or/command.c @@ -474,10 +474,22 @@ command_process_relay_cell(cell_t *cell, channel_t *chan) * gotten no more than MAX_RELAY_EARLY_CELLS_PER_CIRCUIT of them. */ if (cell->command == CELL_RELAY_EARLY) { if (direction == CELL_DIRECTION_IN) { - /* Allow an unlimited number of inbound relay_early cells, - * for hidden service compatibility. There isn't any way to make - * a long circuit through inbound relay_early cells anyway. See - * bug 1038. -RD */ + /* Inbound early cells could once be encountered as a result of + * bug 1038; but relays running versions before 0.2.1.19 are long + * gone from the network, so any such cells now are surprising. */ + log_warn(LD_OR, + "Received an inbound RELAY_EARLY cell on circuit %u." + " Closing circuit. Please report this event," + " along with the following message.", + (unsigned)cell->circ_id); + if (CIRCUIT_IS_ORIGIN(circ)) { + circuit_log_path(LOG_WARN, LD_OR, TO_ORIGIN_CIRCUIT(circ)); + } else if (circ->n_chan) { + log_warn(LD_OR, " upstream=%s", + channel_get_actual_remote_descr(circ->n_chan)); + } + circuit_mark_for_close(circ, END_CIRC_REASON_TORPROTOCOL); + return; } else { or_circuit_t *or_circ = TO_OR_CIRCUIT(circ); if (or_circ->remaining_relay_early_cells == 0) { |