mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-13 06:33:44 +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. */
|
* gotten no more than MAX_RELAY_EARLY_CELLS_PER_CIRCUIT of them. */
|
||||||
if (cell->command == CELL_RELAY_EARLY) {
|
if (cell->command == CELL_RELAY_EARLY) {
|
||||||
if (direction == CELL_DIRECTION_IN) {
|
if (direction == CELL_DIRECTION_IN) {
|
||||||
/* Allow an unlimited number of inbound relay_early cells,
|
/* Inbound early cells could once be encountered as a result of
|
||||||
* for hidden service compatibility. There isn't any way to make
|
* bug 1038; but relays running versions before 0.2.1.19 are long
|
||||||
* a long circuit through inbound relay_early cells anyway. See
|
* gone from the network, so any such cells now are surprising. */
|
||||||
* bug 1038. -RD */
|
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 {
|
} else {
|
||||||
or_circuit_t *or_circ = TO_OR_CIRCUIT(circ);
|
or_circuit_t *or_circ = TO_OR_CIRCUIT(circ);
|
||||||
if (or_circ->remaining_relay_early_cells == 0) {
|
if (or_circ->remaining_relay_early_cells == 0) {
|
||||||
|
@ -2464,7 +2464,7 @@ handle_control_extendcircuit(control_connection_t *conn, uint32_t len,
|
|||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
if (!node_has_descriptor(node)) {
|
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;
|
goto done;
|
||||||
}
|
}
|
||||||
smartlist_add(nodes, (void*)node);
|
smartlist_add(nodes, (void*)node);
|
||||||
|
Loading…
Reference in New Issue
Block a user