aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2013-01-15 00:41:09 -0500
committerNick Mathewson <nickm@torproject.org>2013-01-15 00:41:09 -0500
commitbeca92c31bed468be2db52c649f7276486e4018e (patch)
treebcb70e4f47c0de0c3bdbe1e99b935bb3396f10b9
parentebf30613ea41bbed3340851e839da9b7db4351c5 (diff)
downloadtor-beca92c31bed468be2db52c649f7276486e4018e.tar.gz
tor-beca92c31bed468be2db52c649f7276486e4018e.zip
Fix handling of ntor handshakes received via CREATE cells
Fixes bug 7959; bugfix on 0.2.4.8-alpha.
-rw-r--r--changes/bug79596
-rw-r--r--src/or/onion.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/changes/bug7959 b/changes/bug7959
new file mode 100644
index 0000000000..80cd8669ad
--- /dev/null
+++ b/changes/bug7959
@@ -0,0 +1,6 @@
+ o Major bugfixes:
+ - Fix backward compatibility logic when receiving an embedded ntor
+ handshake tunneled in a CREATE cell. This clears up the "Bug: couldn't
+ format CREATED cell" warning. Fix for bug 7959; bugfix on
+ 0.2.4.8-alpha.
+
diff --git a/src/or/onion.c b/src/or/onion.c
index fc3e621f73..329b01c20e 100644
--- a/src/or/onion.c
+++ b/src/or/onion.c
@@ -560,7 +560,8 @@ check_created_cell(const created_cell_t *cell)
{
switch (cell->cell_type) {
case CELL_CREATED:
- if (cell->handshake_len != TAP_ONIONSKIN_REPLY_LEN)
+ if (cell->handshake_len != TAP_ONIONSKIN_REPLY_LEN &&
+ cell->handshake_len != NTOR_REPLY_LEN)
return -1;
break;
case CELL_CREATED_FAST: