aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomas Kukosa <tomas.kukosa@siemens.com>2007-01-26 12:08:45 +0000
committerTomas Kukosa <tomas.kukosa@siemens.com>2007-01-26 12:08:45 +0000
commit9c332d679948abc850efc1231bcc256d231c644f (patch)
tree6bae4346d4be17320572f4aae72bd6e8f65f8b50
parentebb948cd3c5fb5d133072d97c1fe43dc9284f83a (diff)
TLS 1.0/1.1 just ignores unknown records - RFC 2246 chapter 6. The TLS Record Protocol
(some implementations use it like "keepalive") svn path=/trunk/; revision=20565
-rw-r--r--epan/dissectors/packet-ssl.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/epan/dissectors/packet-ssl.c b/epan/dissectors/packet-ssl.c
index 2cd8e0b960..007429832c 100644
--- a/epan/dissectors/packet-ssl.c
+++ b/epan/dissectors/packet-ssl.c
@@ -929,6 +929,17 @@ dissect_ssl3_record(tvbuff_t *tvb, packet_info *pinfo,
available_bytes = tvb_length_remaining(tvb, offset);
+ /* TLS 1.0/1.1 just ignores unknown records - RFC 2246 chapter 6. The TLS Record Protocol */
+ if ((*conv_version==SSL_VER_TLS || *conv_version==SSL_VER_TLSv1DOT1) &&
+ (available_bytes >=1 ) && !ssl_is_valid_content_type(tvb_get_guint8(tvb, offset))) {
+ proto_tree_add_text(tree, tvb, offset, available_bytes, "Ignored Unknown Record");
+ if (check_col(pinfo->cinfo, COL_INFO))
+ col_append_str(pinfo->cinfo, COL_INFO, "Ignored Unknown Record");
+ if (check_col(pinfo->cinfo, COL_PROTOCOL))
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, ssl_version_short_names[*conv_version]);
+ return offset + available_bytes;
+ }
+
/*
* Can we do reassembly?
*/