--- /dev/null
+ o Major bugfix:
+ - Do not process cells on a marked-for-close connection. We previously
+ avoided this by not calling read handlers on marked connections, but
+ that's not adequate for the case when cells are very small. Fixes
+ bug 4299; bugfix on 0.2.0.20-rc which first made small cells possible.
#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)
}
#endif
+ if (conn->_base.marked_for_close)
+ return;
+
/* reject all when not handshaking. */
if (conn->_base.state != OR_CONN_STATE_OR_HANDSHAKING)
return;