aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-rmcp.c
diff options
context:
space:
mode:
authorChris Maynard <Christopher.Maynard@GTECH.COM>2010-10-29 22:37:31 +0000
committerChris Maynard <Christopher.Maynard@GTECH.COM>2010-10-29 22:37:31 +0000
commita12e86f59ffbd11364e60c80835a2ec495357bb0 (patch)
tree01da5c0033dcda4a53e4029c0df767532d6c3d6b /epan/dissectors/packet-rmcp.c
parentc469f5cd6eb4971d257bbdfba298bc71a58e222a (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.c10
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);