diff options
author | Chris Maynard <Christopher.Maynard@GTECH.COM> | 2010-10-29 22:37:31 +0000 |
---|---|---|
committer | Chris Maynard <Christopher.Maynard@GTECH.COM> | 2010-10-29 22:37:31 +0000 |
commit | a12e86f59ffbd11364e60c80835a2ec495357bb0 (patch) | |
tree | 01da5c0033dcda4a53e4029c0df767532d6c3d6b /epan/dissectors/packet-rmcp.c | |
parent | c469f5cd6eb4971d257bbdfba298bc71a58e222a (diff) |
Fixes bug 974 by adding RSP trailer. Also resolves packet-asp "FIXME" for
IANA Enterprise ID as well as extended packet-asp decoding of authentication
and integrity payloads using the sample capture file attached to the bug.
Fuzz tested ~500 passes on that 3 packet capture file.
svn path=/trunk/; revision=34701
Diffstat (limited to 'epan/dissectors/packet-rmcp.c')
-rw-r--r-- | epan/dissectors/packet-rmcp.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/epan/dissectors/packet-rmcp.c b/epan/dissectors/packet-rmcp.c index aefe7a91d0..117b892b42 100644 --- a/epan/dissectors/packet-rmcp.c +++ b/epan/dissectors/packet-rmcp.c @@ -93,6 +93,7 @@ dissect_rmcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) guint8 class; const gchar *class_str; guint8 type; + guint len; /* * Check whether it's a known class value; if not, assume it's @@ -140,8 +141,13 @@ dissect_rmcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) next_tvb = tvb_new_subset_remaining(tvb, 4); if (!dissector_try_port(rmcp_dissector_table, class, next_tvb, pinfo, - tree)) - call_dissector(data_handle, next_tvb, pinfo, tree); + tree)) { + len = call_dissector(data_handle, next_tvb, pinfo, tree); + if (len < tvb_length(next_tvb)) { + proto_tree_add_text(tree, tvb, 4 + len, -1, + "RSP Trailer (%d bytes):", tvb_length(next_tvb) - len); + } + } } return tvb_length(tvb); |