aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-sdp.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2013-05-27 23:21:11 +0000
committerMichael Mann <mmann78@netscape.net>2013-05-27 23:21:11 +0000
commitb0090fd046d98c1410cb1f8d4012fea905621fc8 (patch)
tree10822d3a44ec601f38bf0d5547050d839395ddcb /epan/dissectors/packet-sdp.c
parent0ee4d0a00abd69e6479a55c12425c92cdf916d71 (diff)
Batch of filterable expert infos
svn path=/trunk/; revision=49600
Diffstat (limited to 'epan/dissectors/packet-sdp.c')
-rw-r--r--epan/dissectors/packet-sdp.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/epan/dissectors/packet-sdp.c b/epan/dissectors/packet-sdp.c
index 25e5b79436..6f20dc0378 100644
--- a/epan/dissectors/packet-sdp.c
+++ b/epan/dissectors/packet-sdp.c
@@ -205,6 +205,9 @@ static int ett_sdp_fmtp = -1;
static int ett_sdp_key_mgmt = -1;
static int ett_sdp_crypto_key_parameters = -1;
+static expert_field ei_sdp_invalid_key_param = EI_INIT;
+static expert_field ei_sdp_invalid_line = EI_INIT;
+
#define SDP_RTP_PROTO 0x00000001
#define SDP_SRTP_PROTO 0x00000002
#define SDP_T38_PROTO 0x00000004
@@ -1484,8 +1487,7 @@ static void dissect_sdp_media_attribute(tvbuff_t *tvb, packet_info *pinfo, proto
/* key-method or key-method-ext */
next_offset = tvb_find_guint8(tvb, offset, -1, ':');
if (next_offset == -1) {
- expert_add_info_format(pinfo, parameter_item, PI_MALFORMED, PI_NOTE,
- "Invalid key-param (no ':' delimiter)");
+ expert_add_info(pinfo, parameter_item, &ei_sdp_invalid_key_param);
break;
}
@@ -2058,8 +2060,7 @@ dissect_sdp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
delim = tvb_get_guint8(tvb, offset + 1);
if (delim != '=') {
proto_item *ti2 = proto_tree_add_item(sdp_tree, hf_invalid, tvb, offset, linelen, ENC_ASCII|ENC_NA);
- expert_add_info_format(pinfo, ti2, PI_MALFORMED, PI_NOTE,
- "Invalid SDP line (no '=' delimiter)");
+ expert_add_info(pinfo, ti2, &ei_sdp_invalid_line);
offset = next_offset;
continue;
}
@@ -2702,12 +2703,20 @@ proto_register_sdp(void)
&ett_sdp_crypto_key_parameters,
};
+ static ei_register_info ei[] = {
+ { &ei_sdp_invalid_key_param, { "sdp.invalid_key_param", PI_MALFORMED, PI_NOTE, "Invalid key-param (no ':' delimiter)", EXPFILL }},
+ { &ei_sdp_invalid_line, { "sdp.invalid_line", PI_MALFORMED, PI_NOTE, "Invalid SDP line (no '=' delimiter)", EXPFILL }},
+ };
+
module_t *sdp_module;
+ expert_module_t* expert_sdp;
proto_sdp = proto_register_protocol("Session Description Protocol",
"SDP", "sdp");
proto_register_field_array(proto_sdp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
+ expert_sdp = expert_register_protocol(proto_sdp);
+ expert_register_field_array(expert_sdp, ei, array_length(ei));
key_mgmt_dissector_table = register_dissector_table("key_mgmt",
"Key Management", FT_STRING, BASE_NONE);