diff options
author | Tomas Kukosa <tomas.kukosa@siemens.com> | 2007-01-26 12:08:45 +0000 |
---|---|---|
committer | Tomas Kukosa <tomas.kukosa@siemens.com> | 2007-01-26 12:08:45 +0000 |
commit | 9c332d679948abc850efc1231bcc256d231c644f (patch) | |
tree | 6bae4346d4be17320572f4aae72bd6e8f65f8b50 | |
parent | ebb948cd3c5fb5d133072d97c1fe43dc9284f83a (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.c | 11 |
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? */ |