diff options
author | Michael Mann <mmann78@netscape.net> | 2013-06-03 03:42:36 +0000 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2013-06-03 03:42:36 +0000 |
commit | 7fe5422c4b4cd58dd7ffeebd984e7668cf61ab5d (patch) | |
tree | d1e444e2c6fa430fb2b7d048aafbbbefe8701641 /epan/dissectors/packet-inap.c | |
parent | a28cbb7c8a83362e74b7e3db07c49d551d519983 (diff) |
Convert ASN.1 dissectors to use filterable expert info.
NOTE: Kerberos ASN.1 template was updated, but not generated to source.
svn path=/trunk/; revision=49707
Diffstat (limited to 'epan/dissectors/packet-inap.c')
-rw-r--r-- | epan/dissectors/packet-inap.c | 77 |
1 files changed, 44 insertions, 33 deletions
diff --git a/epan/dissectors/packet-inap.c b/epan/dissectors/packet-inap.c index f24ae6e8eb..57615cd7e1 100644 --- a/epan/dissectors/packet-inap.c +++ b/epan/dissectors/packet-inap.c @@ -1290,6 +1290,10 @@ static gint ett_inap_InvokeId = -1; /*--- End of included file: packet-inap-ett.c ---*/ #line 80 "../../asn1/inap/packet-inap-template.c" +static expert_field ei_inap_unknown_invokeData = EI_INIT; +static expert_field ei_inap_unknown_returnResultData = EI_INIT; +static expert_field ei_inap_unknown_returnErrorData = EI_INIT; + /*--- Included file: packet-inap-table.c ---*/ #line 1 "../../asn1/inap/packet-inap-table.c" @@ -1414,7 +1418,7 @@ static const value_string inap_err_code_string_vals[] = { /*--- End of included file: packet-inap-table.c ---*/ -#line 82 "../../asn1/inap/packet-inap-template.c" +#line 86 "../../asn1/inap/packet-inap-template.c" const value_string inap_general_problem_strings[] = { {0,"General Problem Unrecognized Component"}, @@ -1451,7 +1455,7 @@ dissect_inap_CriticalityType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o static int dissect_inap_T_local(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 165 "../../asn1/inap/inap.cnf" +#line 162 "../../asn1/inap/inap.cnf" offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, &opcode); @@ -1508,7 +1512,7 @@ dissect_inap_Code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, static int dissect_inap_T_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 223 "../../asn1/inap/inap.cnf" +#line 220 "../../asn1/inap/inap.cnf" proto_tree_add_text(tree, tvb, offset, -1, "Extension Data"); if (obj_id){ offset=call_ber_oid_callback(obj_id, tvb, offset, actx->pinfo, tree); @@ -1534,7 +1538,7 @@ static const ber_sequence_t ExtensionField_sequence[] = { static int dissect_inap_ExtensionField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 218 "../../asn1/inap/inap.cnf" +#line 215 "../../asn1/inap/inap.cnf" obj_id = NULL; @@ -2188,7 +2192,7 @@ dissect_inap_BCSMEvent(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset static int dissect_inap_T_bearerCap(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 255 "../../asn1/inap/inap.cnf" +#line 252 "../../asn1/inap/inap.cnf" tvbuff_t *parameter_tvb; @@ -2343,7 +2347,7 @@ dissect_inap_CalledPartyBusinessGroupID(gboolean implicit_tag _U_, tvbuff_t *tvb static int dissect_inap_CalledPartyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 234 "../../asn1/inap/inap.cnf" +#line 231 "../../asn1/inap/inap.cnf" tvbuff_t *parameter_tvb; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, @@ -2394,7 +2398,7 @@ dissect_inap_CallingPartyBusinessGroupID(gboolean implicit_tag _U_, tvbuff_t *tv static int dissect_inap_CallingPartyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 244 "../../asn1/inap/inap.cnf" +#line 241 "../../asn1/inap/inap.cnf" tvbuff_t *parameter_tvb; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, @@ -4532,7 +4536,7 @@ dissect_inap_GlobalCallReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i int dissect_inap_HighLayerCompatibility(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 297 "../../asn1/inap/inap.cnf" +#line 294 "../../asn1/inap/inap.cnf" /* * -- Indicates the teleservice. For encoding, DSS1 (Q.931) is used. */ @@ -4706,7 +4710,7 @@ dissect_inap_NumberingPlan(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off static int dissect_inap_OriginalCalledPartyID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 277 "../../asn1/inap/inap.cnf" +#line 274 "../../asn1/inap/inap.cnf" tvbuff_t *parameter_tvb; @@ -4769,7 +4773,7 @@ dissect_inap_Reason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_ static int dissect_inap_RedirectingPartyID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 287 "../../asn1/inap/inap.cnf" +#line 284 "../../asn1/inap/inap.cnf" tvbuff_t *parameter_tvb; @@ -4790,7 +4794,7 @@ dissect_inap_RedirectingPartyID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in int dissect_inap_RedirectionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 266 "../../asn1/inap/inap.cnf" +#line 263 "../../asn1/inap/inap.cnf" tvbuff_t *parameter_tvb; @@ -5154,7 +5158,7 @@ dissect_inap_T_triggerId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse static int dissect_inap_T_triggerPar(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 204 "../../asn1/inap/inap.cnf" +#line 201 "../../asn1/inap/inap.cnf" /* FIX ME */ @@ -7732,7 +7736,7 @@ dissect_inap_MessageReceivedArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in static int dissect_inap_T_uIScriptSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 210 "../../asn1/inap/inap.cnf" +#line 207 "../../asn1/inap/inap.cnf" /* FIX ME */ @@ -7761,7 +7765,7 @@ dissect_inap_ScriptCloseArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of static int dissect_inap_T_uIScriptResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 207 "../../asn1/inap/inap.cnf" +#line 204 "../../asn1/inap/inap.cnf" /* FIX ME */ @@ -7791,7 +7795,7 @@ dissect_inap_ScriptEventArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of static int dissect_inap_T_uIScriptSpecificInfo_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 213 "../../asn1/inap/inap.cnf" +#line 210 "../../asn1/inap/inap.cnf" /* FIX ME */ @@ -7819,7 +7823,7 @@ dissect_inap_ScriptInformationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, static int dissect_inap_T_uIScriptSpecificInfo_02(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 215 "../../asn1/inap/inap.cnf" +#line 212 "../../asn1/inap/inap.cnf" /* FIX ME */ @@ -8050,7 +8054,7 @@ dissect_inap_T_linkedId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset static int dissect_inap_T_argument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 192 "../../asn1/inap/inap.cnf" +#line 189 "../../asn1/inap/inap.cnf" offset = dissect_invokeData(tree, tvb, offset, actx); @@ -8069,7 +8073,7 @@ static const ber_sequence_t Invoke_sequence[] = { static int dissect_inap_Invoke(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 180 "../../asn1/inap/inap.cnf" +#line 177 "../../asn1/inap/inap.cnf" inap_opcode_type=INAP_OPCODE_INVOKE; @@ -8083,7 +8087,7 @@ dissect_inap_Invoke(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_ static int dissect_inap_ResultArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 195 "../../asn1/inap/inap.cnf" +#line 192 "../../asn1/inap/inap.cnf" offset = dissect_returnResultData(tree, tvb, offset, actx); @@ -8115,7 +8119,7 @@ static const ber_sequence_t ReturnResult_sequence[] = { static int dissect_inap_ReturnResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 183 "../../asn1/inap/inap.cnf" +#line 180 "../../asn1/inap/inap.cnf" inap_opcode_type=INAP_OPCODE_RETURN_RESULT; @@ -8129,7 +8133,7 @@ dissect_inap_ReturnResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs static int dissect_inap_T_parameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 198 "../../asn1/inap/inap.cnf" +#line 195 "../../asn1/inap/inap.cnf" offset = dissect_returnErrorData(tree, tvb, offset, actx); @@ -8149,7 +8153,7 @@ static const ber_sequence_t ReturnError_sequence[] = { static int dissect_inap_ReturnError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 186 "../../asn1/inap/inap.cnf" +#line 183 "../../asn1/inap/inap.cnf" inap_opcode_type=INAP_OPCODE_RETURN_ERROR; @@ -8269,7 +8273,7 @@ static const ber_sequence_t Reject_sequence[] = { static int dissect_inap_Reject(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 189 "../../asn1/inap/inap.cnf" +#line 186 "../../asn1/inap/inap.cnf" inap_opcode_type=INAP_OPCODE_REJECT; @@ -8982,7 +8986,7 @@ static int dissect_PAR_taskRefused_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_ /*--- End of included file: packet-inap-fn.c ---*/ -#line 96 "../../asn1/inap/packet-inap-template.c" +#line 100 "../../asn1/inap/packet-inap-template.c" /* TC-Invokable OPERATION ::= {activateServiceFiltering | activityTest | analysedInformation | @@ -9268,8 +9272,7 @@ static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ break; default: cause=proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob"); - proto_item_set_expert_flags(cause, PI_MALFORMED, PI_WARN); - expert_add_info_format(actx->pinfo, cause, PI_MALFORMED, PI_WARN, "Unknown invokeData %d",opcode); + expert_add_info_format_text(actx->pinfo, cause, &ei_inap_unknown_invokeData, "Unknown invokeData %d",opcode); /* todo call the asn.1 dissector */ break; } @@ -9301,8 +9304,7 @@ static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset, break; default: cause=proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob"); - proto_item_set_expert_flags(cause, PI_MALFORMED, PI_WARN); - expert_add_info_format(actx->pinfo, cause, PI_MALFORMED, PI_WARN, "Unknown returnResultData %d",opcode); + expert_add_info_format_text(actx->pinfo, cause, &ei_inap_unknown_returnResultData, "Unknown returnResultData %d",opcode); } return offset; } @@ -9332,15 +9334,14 @@ static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset,a break; default: cause=proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnErrorData blob"); - proto_item_set_expert_flags(cause, PI_MALFORMED, PI_WARN); - expert_add_info_format(actx->pinfo, cause, PI_MALFORMED, PI_WARN, "Unknown returnErrorData %d",errorCode); + expert_add_info_format_text(actx->pinfo, cause, &ei_inap_unknown_returnErrorData, "Unknown returnErrorData %d",errorCode); } return offset; } /*--- End of included file: packet-inap-table2.c ---*/ -#line 117 "../../asn1/inap/packet-inap-template.c" +#line 121 "../../asn1/inap/packet-inap-template.c" static guint8 inap_pdu_type = 0; @@ -11666,7 +11667,7 @@ void proto_register_inap(void) { "InvokeId_present", HFILL }}, /*--- End of included file: packet-inap-hfarr.c ---*/ -#line 198 "../../asn1/inap/packet-inap-template.c" +#line 202 "../../asn1/inap/packet-inap-template.c" }; @@ -11920,15 +11921,25 @@ void proto_register_inap(void) { &ett_inap_InvokeId, /*--- End of included file: packet-inap-ettarr.c ---*/ -#line 211 "../../asn1/inap/packet-inap-template.c" +#line 215 "../../asn1/inap/packet-inap-template.c" }; + static ei_register_info ei[] = { + { &ei_inap_unknown_invokeData, { "inap.unknown.invokeData", PI_MALFORMED, PI_WARN, "Unknown invokeData", EXPFILL }}, + { &ei_inap_unknown_returnResultData, { "inap.unknown.returnResultData", PI_MALFORMED, PI_WARN, "Unknown returnResultData", EXPFILL }}, + { &ei_inap_unknown_returnErrorData, { "inap.unknown.returnErrorData", PI_MALFORMED, PI_WARN, "Unknown returnResultData", EXPFILL }}, + }; + + expert_module_t* expert_inap; + /* Register protocol */ proto_inap = proto_register_protocol(PNAME, PSNAME, PFNAME); register_dissector("inap", dissect_inap, proto_inap); /* Register fields and subtrees */ proto_register_field_array(proto_inap, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); + expert_inap = expert_register_protocol(proto_inap); + expert_register_field_array(expert_inap, ei, array_length(ei)); /* Set default SSNs */ range_convert_str(&global_ssn_range, "106,241", MAX_SSN); |