aboutsummaryrefslogtreecommitdiff
path: root/src/core/or/channeltls.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2019-09-17 09:16:52 -0400
committerNick Mathewson <nickm@torproject.org>2019-09-17 09:16:52 -0400
commit6ee19e57c2a25060f6610e795731575aa776d903 (patch)
tree524fd1a3dcd2bf191e2fd10201d65c556ec1d714 /src/core/or/channeltls.c
parent4596ead2fc88e4b1482b0f3bc8ff356daea2337b (diff)
parentda8ba5010b59ac3d55563df420711f862faeb2f8 (diff)
downloadtor-6ee19e57c2a25060f6610e795731575aa776d903.tar.gz
tor-6ee19e57c2a25060f6610e795731575aa776d903.zip
Merge branch 'bug31107_040' into bug31107_041
Diffstat (limited to 'src/core/or/channeltls.c')
-rw-r--r--src/core/or/channeltls.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/core/or/channeltls.c b/src/core/or/channeltls.c
index 2a6edc951c..25f3baf924 100644
--- a/src/core/or/channeltls.c
+++ b/src/core/or/channeltls.c
@@ -1106,7 +1106,15 @@ channel_tls_handle_cell(cell_t *cell, or_connection_t *conn)
/* do nothing */
break;
case CELL_VERSIONS:
- tor_fragile_assert();
+ /* A VERSIONS cell should always be a variable-length cell, and
+ * so should never reach this function (which handles constant-sized
+ * cells). But if the connection is using the (obsolete) v1 link
+ * protocol, all cells will be treated as constant-sized, and so
+ * it's possible we'll reach this code.
+ */
+ log_fn(LOG_PROTOCOL_WARN, LD_CHANNEL,
+ "Received unexpected VERSIONS cell on a channel using link "
+ "protocol %d; ignoring.", conn->link_proto);
break;
case CELL_NETINFO:
++stats_n_netinfo_cells_processed;