Skip to content
Snippets Groups Projects
Commit 212c3acd authored by Nick Mathewson's avatar Nick Mathewson :game_die:
Browse files

Merge remote-tracking branch 'origin/maint-0.2.2'

Conflicts:
	src/or/command.c
parents a2517fa7 cf8bffa3
No related branches found
No related tags found
No related merge requests found
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.
......@@ -148,6 +148,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. */
/* (VERSIONS should actually be impossible; it's variable-length.) */
if (handshaking && cell->command != CELL_VERSIONS &&
......@@ -230,6 +233,9 @@ command_process_var_cell(var_cell_t *cell, or_connection_t *conn)
}
#endif
if (conn->_base.marked_for_close)
return;
switch (conn->_base.state)
{
case OR_CONN_STATE_OR_HANDSHAKING_V2:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment