aboutsummaryrefslogtreecommitdiff
path: root/src/or/command.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-09-28 10:31:56 -0400
committerNick Mathewson <nickm@torproject.org>2011-10-10 23:14:30 -0400
commit7aadae606b51460810163cac0a5e695ebbefa3b9 (patch)
treeee684d617ae83b3192ae003468ef0410759a6de5 /src/or/command.c
parent41b250d7ea6b2d635d0e0b70cf7e1d5c1ed9ca4f (diff)
downloadtor-7aadae606b51460810163cac0a5e695ebbefa3b9.tar
tor-7aadae606b51460810163cac0a5e695ebbefa3b9.tar.gz
Make sure we stop putting cells into our hash at the right time.
Diffstat (limited to 'src/or/command.c')
-rw-r--r--src/or/command.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/or/command.c b/src/or/command.c
index 4da5f8600..d63b9dd35 100644
--- a/src/or/command.c
+++ b/src/or/command.c
@@ -243,7 +243,8 @@ command_process_var_cell(var_cell_t *cell, or_connection_t *conn)
return; /*XXXX023 log*/
break;
case OR_CONN_STATE_OR_HANDSHAKING_V3:
- or_handshake_state_record_var_cell(conn->handshake_state, cell, 1);
+ if (cell->command != CELL_AUTHENTICATE)
+ or_handshake_state_record_var_cell(conn->handshake_state, cell, 1);
break; /* Everything is allowed */
case OR_CONN_STATE_OPEN:
if (conn->link_proto < 3)
@@ -1131,6 +1132,7 @@ command_process_authenticate_cell(var_cell_t *cell, or_connection_t *conn)
/* Okay, we are authenticated. */
conn->handshake_state->received_authenticate = 1;
conn->handshake_state->authenticated = 1;
+ conn->handshake_state->digest_received_data = 0;
{
crypto_pk_env_t *identity_rcvd =
tor_tls_cert_get_key(conn->handshake_state->id_cert);