mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
Merge remote-tracking branch 'public/not_bug8093'
This commit is contained in:
commit
e8dd34f165
4
changes/not_bug_8093
Normal file
4
changes/not_bug_8093
Normal file
@ -0,0 +1,4 @@
|
||||
o Minor bugfixes:
|
||||
- When rejecting DATA cells for stream_id zero, still count them against
|
||||
the circuit's deliver window so that we don't get fail to send a
|
||||
SENDME. Fix for bug 11246; bugfix on 0.2.4.10-alpha.
|
@ -1437,7 +1437,6 @@ connection_edge_process_relay_cell(cell_t *cell, circuit_t *circ,
|
||||
switch (rh.command) {
|
||||
case RELAY_COMMAND_BEGIN:
|
||||
case RELAY_COMMAND_CONNECTED:
|
||||
case RELAY_COMMAND_DATA:
|
||||
case RELAY_COMMAND_END:
|
||||
case RELAY_COMMAND_RESOLVE:
|
||||
case RELAY_COMMAND_RESOLVED:
|
||||
@ -1462,6 +1461,9 @@ connection_edge_process_relay_cell(cell_t *cell, circuit_t *circ,
|
||||
* EXIT_CONN_STATE_CONNECTING or EXIT_CONN_STATE_RESOLVING.
|
||||
* This speeds up HTTP, for example. */
|
||||
optimistic_data = 1;
|
||||
} else if (rh.stream_id == 0 && rh.command == RELAY_COMMAND_DATA) {
|
||||
log_warn(LD_BUG, "Somehow I had a connection that matched a "
|
||||
"data cell with stream ID 0.");
|
||||
} else {
|
||||
return connection_edge_process_relay_cell_not_open(
|
||||
&rh, cell, circ, conn, layer_hint);
|
||||
@ -1522,7 +1524,11 @@ connection_edge_process_relay_cell(cell_t *cell, circuit_t *circ,
|
||||
|
||||
circuit_consider_sending_sendme(circ, layer_hint);
|
||||
|
||||
if (!conn) {
|
||||
if (rh.stream_id == 0) {
|
||||
log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL, "Relay data cell with zero "
|
||||
"stream_id. Dropping.");
|
||||
return 0;
|
||||
} else if (!conn) {
|
||||
log_info(domain,"data cell dropped, unknown stream (streamid %d).",
|
||||
rh.stream_id);
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user