|
@@ -132,6 +132,9 @@ command_process_cell(cell_t *cell, or_connection_t *conn)
|
|
|
#define PROCESS_CELL(tp, cl, cn) command_process_ ## tp ## _cell(cl, cn)
|
|
|
#endif
|
|
|
|
|
|
+ if (conn->_base.marked_for_close)
|
|
|
+ return;
|
|
|
+
|
|
|
/* Reject all but VERSIONS and NETINFO when handshaking. */
|
|
|
if (handshaking && cell->command != CELL_VERSIONS &&
|
|
|
cell->command != CELL_NETINFO)
|
|
@@ -205,6 +208,9 @@ command_process_var_cell(var_cell_t *cell, or_connection_t *conn)
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
+ if (conn->_base.marked_for_close)
|
|
|
+ return;
|
|
|
+
|
|
|
/* reject all when not handshaking. */
|
|
|
if (conn->_base.state != OR_CONN_STATE_OR_HANDSHAKING)
|
|
|
return;
|