瀏覽代碼

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 22 年之前
父節點
當前提交
517b418b5c
共有 1 個文件被更改,包括 2 次插入2 次删除
  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);