mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-30 15:43:32 +01:00
Merge branch 'maint-0.2.5'
This commit is contained in:
commit
6c4a26b8ca
6
changes/bug1038-3
Normal file
6
changes/bug1038-3
Normal file
@ -0,0 +1,6 @@
|
||||
o Minor bugfixes:
|
||||
- Warn and drop the circuit if we receive an inbound 'relay early'
|
||||
cell. Those used to be normal to receive on hidden service circuits
|
||||
due to bug 1038, but the buggy Tor versions are long gone from
|
||||
the network so we can afford to resume watching for them. Resolves
|
||||
the rest of bug 1038; bugfix on 0.2.1.19.
|
5
changes/bug12718
Normal file
5
changes/bug12718
Normal file
@ -0,0 +1,5 @@
|
||||
o Minor bugfixes:
|
||||
- Correct a confusing error message when trying to extend a circuit
|
||||
via the control protocol but we don't know a descriptor or
|
||||
microdescriptor for one of the specified relays. Fixes bug 12718;
|
||||
bugfix on 0.2.3.1-alpha.
|
@ -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) {
|
||||
|
@ -2464,7 +2464,7 @@ handle_control_extendcircuit(control_connection_t *conn, uint32_t len,
|
||||
goto done;
|
||||
}
|
||||
if (!node_has_descriptor(node)) {
|
||||
connection_printf_to_buf(conn, "552 descriptor for \"%s\"\r\n", n);
|
||||
connection_printf_to_buf(conn, "552 No descriptor for \"%s\"\r\n", n);
|
||||
goto done;
|
||||
}
|
||||
smartlist_add(nodes, (void*)node);
|
||||
|
Loading…
Reference in New Issue
Block a user