Browse Source

bugfix: a connection-level sendme cell would cause a connection to start
packaging from its buffer, even if the circuit-level package-window was
still 0.


svn:r360

Roger Dingledine 21 years ago
parent
commit
517b418b5c
1 changed files with 2 additions and 2 deletions
  1. 2 2
      src/or/connection_edge.c

+ 2 - 2
src/or/connection_edge.c

@@ -248,8 +248,8 @@ int connection_edge_process_relay_cell(cell_t *cell, circuit_t *circ, connection
       }
       conn->package_window += STREAMWINDOW_INCREMENT;
       connection_start_reading(conn);
-      connection_package_raw_inbuf(conn); /* handle whatever might still be on the inbuf */
-      circuit_consider_stop_edge_reading(circ, edge_type, layer_hint);
+      if(!circuit_consider_stop_edge_reading(circ, edge_type, layer_hint))
+        connection_package_raw_inbuf(conn); /* handle whatever might still be on the inbuf */
       break;
     default:
       log_fn(LOG_DEBUG,"unknown relay command %d.",relay_command);