diff options
author | Michael Mann <mmann78@netscape.net> | 2015-01-02 12:19:10 -0500 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2015-01-02 22:11:34 +0000 |
commit | d1d5bf121e3fa4571b25c1bfd5a00f859d997e34 (patch) | |
tree | 00c1fb87043d0d9a5a8237949faac77ae361d5e6 /epan/dissectors/packet-gsm_bsslap.c | |
parent | 5eecf81b0ce09e3d3de5734957833f81d309e2ea (diff) |
Replace proto_tree_add_text in dissector header files where it was used in a macro that should be expert info.
Change-Id: I045368a0a91586231fc4b1e2700c2275088b76af
Reviewed-on: https://code.wireshark.org/review/6244
Petri-Dish: Michael Mann <mmann78@netscape.net>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-gsm_bsslap.c')
-rw-r--r-- | epan/dissectors/packet-gsm_bsslap.c | 41 |
1 files changed, 26 insertions, 15 deletions
diff --git a/epan/dissectors/packet-gsm_bsslap.c b/epan/dissectors/packet-gsm_bsslap.c index 9272f2afa1..2334c1ea4a 100644 --- a/epan/dissectors/packet-gsm_bsslap.c +++ b/epan/dissectors/packet-gsm_bsslap.c @@ -26,6 +26,7 @@ #include "config.h" #include <epan/packet.h> +#include <epan/expert.h> #include "packet-gsm_a_common.h" @@ -52,6 +53,8 @@ static int hf_gsm_bsslap_cell_id_disc = -1; static int ett_gsm_bsslap = -1; static int ett_bsslap_cell_list = -1; +static expert_field ei_gsm_bsslap_missing_mandatory_element = EI_INIT; + /* Table 5.1: Element Indentifier codes */ #define BSSLAP_PARAM_TIMING_ADVANCE 0x01 #define BSSLAP_PARAM_RESERVED_01 0x08 @@ -563,9 +566,9 @@ dissect_gsm_bsslap_ta_res(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, i curr_len = tvb_reported_length_remaining(tvb,offset); /* Cell Identity IE / 5.4 M TV 3 */ - ELEM_MAND_TV(BSSLAP_PARAM_CELL_IDENTITY, GSM_A_PDU_TYPE_COMMON, DE_CELL_ID, "Serving Cell Identity"); + ELEM_MAND_TV(BSSLAP_PARAM_CELL_IDENTITY, GSM_A_PDU_TYPE_COMMON, DE_CELL_ID, "Serving Cell Identity", ei_gsm_bsslap_missing_mandatory_element); /* Timing Advance IE / 5.2 M TV 2 */ - ELEM_MAND_TV(BSSLAP_PARAM_TIMING_ADVANCE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TA, NULL); + ELEM_MAND_TV(BSSLAP_PARAM_TIMING_ADVANCE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TA, NULL, ei_gsm_bsslap_missing_mandatory_element); /* Measurement Report IE / 5.12 O TLV 18 */ ELEM_OPT_TLV(BSSLAP_PARAM_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_MEAS_REP, " BSSLAP"); /* Enhanced Measurement Report IE / 5.18 O TLV 4-n */ @@ -592,7 +595,7 @@ dissect_gsm_bsslap_reject(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, i curr_len = tvb_reported_length_remaining(tvb,offset); /* Cause IE / 5.14 M TV 2 */ - ELEM_MAND_TV(BSSLAP_PARAM_CAUSE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CAUSE,NULL); + ELEM_MAND_TV(BSSLAP_PARAM_CAUSE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CAUSE, NULL, ei_gsm_bsslap_missing_mandatory_element); return; } @@ -609,13 +612,13 @@ dissect_gsm_bsslap_reset(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, in curr_len = tvb_reported_length_remaining(tvb,offset); /* Cell Identity IE / 5.4 M TV 3 */ - ELEM_MAND_TV(BSSLAP_PARAM_CELL_IDENTITY, GSM_A_PDU_TYPE_COMMON, DE_CELL_ID, NULL); + ELEM_MAND_TV(BSSLAP_PARAM_CELL_IDENTITY, GSM_A_PDU_TYPE_COMMON, DE_CELL_ID, NULL, ei_gsm_bsslap_missing_mandatory_element); /* Timing Advance IE / 5.2 M TV 2 */ - ELEM_MAND_TV(BSSLAP_PARAM_TIMING_ADVANCE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TA, NULL); + ELEM_MAND_TV(BSSLAP_PARAM_TIMING_ADVANCE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TA, NULL, ei_gsm_bsslap_missing_mandatory_element); /* Channel Description IE / 5.8 M TV 4 */ - ELEM_MAND_TV(BSSLAP_PARAM_CHANNEL_DESCRIPTION,GSM_A_PDU_TYPE_RR, DE_RR_CH_DSC,NULL); + ELEM_MAND_TV(BSSLAP_PARAM_CHANNEL_DESCRIPTION,GSM_A_PDU_TYPE_RR, DE_RR_CH_DSC, NULL, ei_gsm_bsslap_missing_mandatory_element); /* Cause IE / 5.1 M TV 2 */ - ELEM_MAND_TV(BSSLAP_PARAM_CAUSE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CAUSE,NULL); + ELEM_MAND_TV(BSSLAP_PARAM_CAUSE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CAUSE, NULL, ei_gsm_bsslap_missing_mandatory_element); /* Measurement Report Measurement Report IE / 5.12 O TLV 18 */ ELEM_OPT_TLV(BSSLAP_PARAM_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_MEAS_REP, " BSSLAP"); /* Enhanced Measurement Report Enhanced Measurement Report IE / 5.18 O TLV 4-n */ @@ -657,7 +660,7 @@ dissect_gsm_bsslap_abort(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, in curr_len = tvb_reported_length_remaining(tvb,offset); /* Cause IE / 5.14 M TV 2 */ - ELEM_MAND_TV(BSSLAP_PARAM_CAUSE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CAUSE,NULL); + ELEM_MAND_TV(BSSLAP_PARAM_CAUSE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_CAUSE, NULL, ei_gsm_bsslap_missing_mandatory_element); return; } @@ -673,7 +676,7 @@ dissect_gsm_bsslap_ta_layer3(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo curr_len = tvb_reported_length_remaining(tvb,offset); /* Timing Advance IE / 5.2 M TV 2 */ - ELEM_MAND_TV(BSSLAP_PARAM_TIMING_ADVANCE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TA, NULL); + ELEM_MAND_TV(BSSLAP_PARAM_TIMING_ADVANCE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TA, NULL, ei_gsm_bsslap_missing_mandatory_element); /* Measurement Report IE / 5.12 O TLV 18 */ ELEM_OPT_TLV(BSSLAP_PARAM_MEASUREMENT_REPORT, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_MEAS_REP, " BSSLAP"); /* Enhanced Measurement Report IE / 5.18 O TLV 4-n */ @@ -694,9 +697,9 @@ dissect_gsm_bsslap_ms_pos_cmd(tvbuff_t *tvb, proto_tree *tree, packet_info *pinf curr_len = tvb_reported_length_remaining(tvb,offset); /* RRLP flag IE / 5.15 M TV 2 */ - ELEM_MAND_TV(BSSLAP_PARAM_RRLP_FLAG, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_RRLP_FLG,"flag"); + ELEM_MAND_TV(BSSLAP_PARAM_RRLP_FLAG, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_RRLP_FLG, "flag", ei_gsm_bsslap_missing_mandatory_element); /* RRLP IE / 5.16 M TLV 3-n */ - ELEM_MAND_TV(BSSLAP_PARAM_RRLP_IE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_RRLP_IE,"RRLP Info"); + ELEM_MAND_TV(BSSLAP_PARAM_RRLP_IE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_RRLP_IE, "RRLP Info", ei_gsm_bsslap_missing_mandatory_element); return; } /* 4.2.10 MS Position Response ETSI TS 148 071 V7.2.0 (2007-06) */ @@ -711,9 +714,9 @@ dissect_gsm_bsslap_ms_pos_res(tvbuff_t *tvb, proto_tree *tree, packet_info *pinf curr_len = tvb_reported_length_remaining(tvb,offset); /* flag RRLP flag IE / 5.15 M TV 2 */ - ELEM_MAND_TV(BSSLAP_PARAM_RRLP_FLAG, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_RRLP_FLG,"flag"); + ELEM_MAND_TV(BSSLAP_PARAM_RRLP_FLAG, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_RRLP_FLG, "flag", ei_gsm_bsslap_missing_mandatory_element); /* RRLP Info RRLP IE / 5.16 M TLV 3-n */ - ELEM_MAND_TV(BSSLAP_PARAM_RRLP_IE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_RRLP_IE,"RRLP Info"); + ELEM_MAND_TV(BSSLAP_PARAM_RRLP_IE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_RRLP_IE, "RRLP Info", ei_gsm_bsslap_missing_mandatory_element); /* Timing Advance IE / 5.2 O TV 2 */ ELEM_OPT_TV(BSSLAP_PARAM_TIMING_ADVANCE, GSM_A_PDU_TYPE_BSSLAP, DE_BLAP_TA, NULL); /* Measurement Report IE / 5.12 O TLV 18 */ @@ -754,9 +757,9 @@ dissect_gsm_bsslap_u_tdoa_res(tvbuff_t *tvb, proto_tree *tree, packet_info *pinf curr_len = tvb_reported_length_remaining(tvb,offset); /* Channel Description IE 5.8 M TV 4 */ - ELEM_MAND_TV(BSSLAP_PARAM_CHANNEL_DESCRIPTION,GSM_A_PDU_TYPE_RR, DE_RR_CH_DSC, NULL); + ELEM_MAND_TV(BSSLAP_PARAM_CHANNEL_DESCRIPTION,GSM_A_PDU_TYPE_RR, DE_RR_CH_DSC, NULL, ei_gsm_bsslap_missing_mandatory_element); /* Serving Cell Identifier Cell Identifier IE 5.23 M TLV 4-n */ - ELEM_MAND_TLV(BSSLAP_PARAM_SERVING_CELL_IDENTIFIER,GSM_A_PDU_TYPE_BSSMAP, BE_CELL_ID, NULL); + ELEM_MAND_TLV(BSSLAP_PARAM_SERVING_CELL_IDENTIFIER,GSM_A_PDU_TYPE_BSSMAP, BE_CELL_ID, NULL, ei_gsm_bsslap_missing_mandatory_element); /* Frequency List IE 5.20 C (note 3) TLV 3-n */ ELEM_OPT_TLV(BSSLAP_PARAM_FREQUENCY_LIST, GSM_A_PDU_TYPE_RR, DE_RR_FREQ_LIST, NULL); /* Timing Advance IE 5.2 O TV 2 */ @@ -918,6 +921,12 @@ proto_register_gsm_bsslap(void) }, }; + static ei_register_info ei[] = { + { &ei_gsm_bsslap_missing_mandatory_element, { "gsm_bsslap.missing_mandatory_element", PI_PROTOCOL, PI_WARN, "Missing Mandatory element, rest of dissection is suspect", EXPFILL }}, + }; + + expert_module_t* expert_gsm_bsslap; + /* Setup protocol subtree array */ #define NUM_INDIVIDUAL_ELEMS 2 gint *ett[NUM_INDIVIDUAL_ELEMS + NUM_GSM_BSSLAP_MSG + @@ -949,6 +958,8 @@ proto_register_gsm_bsslap(void) /* Required function calls to register the header fields and subtrees used */ proto_register_field_array(proto_gsm_bsslap, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); + expert_gsm_bsslap = expert_register_protocol(proto_gsm_bsslap); + expert_register_field_array(expert_gsm_bsslap, ei, array_length(ei)); register_dissector("gsm_bsslap", dissect_gsm_bsslap, proto_gsm_bsslap); } |