aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-inap.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2013-06-03 03:42:36 +0000
committerMichael Mann <mmann78@netscape.net>2013-06-03 03:42:36 +0000
commit7fe5422c4b4cd58dd7ffeebd984e7668cf61ab5d (patch)
treed1e444e2c6fa430fb2b7d048aafbbbefe8701641 /epan/dissectors/packet-inap.c
parenta28cbb7c8a83362e74b7e3db07c49d551d519983 (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.c77
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);