diff options
-rw-r--r-- | asn1/p1/p1.cnf | 19 | ||||
-rw-r--r-- | asn1/p1/packet-p1-template.c | 13 | ||||
-rw-r--r-- | asn1/p1/packet-p1-template.h | 1 | ||||
-rw-r--r-- | asn1/p7/p7.cnf | 14 | ||||
-rw-r--r-- | epan/dissectors/packet-p1.c | 175 | ||||
-rw-r--r-- | epan/dissectors/packet-p1.h | 3 | ||||
-rw-r--r-- | epan/dissectors/packet-p7.c | 17 |
7 files changed, 162 insertions, 80 deletions
diff --git a/asn1/p1/p1.cnf b/asn1/p1/p1.cnf index 9d5502f500..91410fa1a6 100644 --- a/asn1/p1/p1.cnf +++ b/asn1/p1/p1.cnf @@ -659,7 +659,7 @@ MessageToken B "2.6.1.7.36" "id-hat-forwarded-token" if (next_tvb) { if (content_type_id) { (void) call_ber_oid_callback(content_type_id, next_tvb, 0, actx->pinfo, top_tree ? top_tree : tree); - } else { + } else if (report_unknown_content_type) { proto_item *item = NULL; proto_tree *next_tree = NULL; @@ -669,6 +669,8 @@ MessageToken B "2.6.1.7.36" "id-hat-forwarded-token" next_tree=proto_item_add_subtree(item, ett_p1_content_unknown); } dissect_unknown_ber(actx->pinfo, next_tvb, 0, next_tree); + } else { + proto_item_append_text (actx->created_item, " (unknown content-type)"); } } @@ -1290,5 +1292,20 @@ MessageToken B "2.6.1.7.36" "id-hat-forwarded-token" } } +#.FN_BODY MessageSubmissionArgument + p1_initialize_content_globals(tree, TRUE); + %(DEFAULT_BODY)s + p1_initialize_content_globals(NULL, FALSE); + +#.FN_BODY MessageDeliveryArgument + p1_initialize_content_globals(tree, TRUE); + %(DEFAULT_BODY)s + p1_initialize_content_globals(NULL, FALSE); + +#.FN_BODY ReportDeliveryArgument + p1_initialize_content_globals(tree, TRUE); + %(DEFAULT_BODY)s + p1_initialize_content_globals(NULL, FALSE); + #.END diff --git a/asn1/p1/packet-p1-template.c b/asn1/p1/packet-p1-template.c index 3f52787d5c..ef567186a6 100644 --- a/asn1/p1/packet-p1-template.c +++ b/asn1/p1/packet-p1-template.c @@ -63,6 +63,7 @@ static struct SESSION_DATA_STRUCTURE* session = NULL; static int extension_id = -1; /* integer extension id */ static const char *object_identifier_id = NULL; /* extensions identifier */ static const char *content_type_id = NULL; /* content type identifier */ +static gboolean report_unknown_content_type = FALSE; #define MAX_ORA_STR_LEN 256 static char *oraddress = NULL; @@ -113,6 +114,12 @@ static const ros_info_t p3_ros_info = { p3_err_tab }; +void p1_initialize_content_globals (proto_tree *tree, gboolean report_unknown_cont_type) +{ + top_tree = tree; + content_type_id = NULL; + report_unknown_content_type = report_unknown_cont_type; +} char* p1_get_last_oraddress() { return oraddress; } @@ -128,7 +135,7 @@ dissect_p1_mts_apdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); /* save parent_tree so subdissectors can create new top nodes */ - top_tree=parent_tree; + p1_initialize_content_globals (parent_tree, TRUE); if(parent_tree){ item = proto_tree_add_item(parent_tree, proto_p1, tvb, 0, -1, FALSE); @@ -139,6 +146,7 @@ dissect_p1_mts_apdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) col_set_str(pinfo->cinfo, COL_INFO, "Transfer"); dissect_p1_MTS_APDU (FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_MTS_APDU_PDU); + p1_initialize_content_globals (NULL, FALSE); } /* @@ -158,7 +166,7 @@ dissect_p1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); /* save parent_tree so subdissectors can create new top nodes */ - top_tree=parent_tree; + p1_initialize_content_globals (parent_tree, TRUE); /* do we have operation information from the ROS dissector? */ if( !pinfo->private_data ){ @@ -216,6 +224,7 @@ dissect_p1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) break; } } + p1_initialize_content_globals (NULL, FALSE); } diff --git a/asn1/p1/packet-p1-template.h b/asn1/p1/packet-p1-template.h index d83bd5dc8e..c3a60ddf3a 100644 --- a/asn1/p1/packet-p1-template.h +++ b/asn1/p1/packet-p1-template.h @@ -28,6 +28,7 @@ #include "packet-p1-val.h" +void p1_initialize_content_globals (proto_tree *tree, gboolean report_unknown_cont_type); char* p1_get_last_oraddress(void); void dissect_p1_mts_apdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree); #include "packet-p1-exp.h" diff --git a/asn1/p7/p7.cnf b/asn1/p7/p7.cnf index 487f6f7c2e..fe2fba6624 100644 --- a/asn1/p7/p7.cnf +++ b/asn1/p7/p7.cnf @@ -402,3 +402,17 @@ RTSE-apdus B "2.6.0.2.10""id-as-ms-rtse" col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (count=%%d)", count); } +#.FN_BODY MSMessageSubmissionArgument + p1_initialize_content_globals (tree, TRUE); + %(DEFAULT_BODY)s + p1_initialize_content_globals (NULL, FALSE); + +#.FN_BODY EntryInformation + p1_initialize_content_globals (NULL, FALSE); + %(DEFAULT_BODY)s + p1_initialize_content_globals (NULL, FALSE); + +#.FN_BODY EntryModification + p1_initialize_content_globals (NULL, FALSE); + %(DEFAULT_BODY)s + p1_initialize_content_globals (NULL, FALSE); diff --git a/epan/dissectors/packet-p1.c b/epan/dissectors/packet-p1.c index e0e2e94215..532f4fc90c 100644 --- a/epan/dissectors/packet-p1.c +++ b/epan/dissectors/packet-p1.c @@ -71,6 +71,7 @@ static struct SESSION_DATA_STRUCTURE* session = NULL; static int extension_id = -1; /* integer extension id */ static const char *object_identifier_id = NULL; /* extensions identifier */ static const char *content_type_id = NULL; /* content type identifier */ +static gboolean report_unknown_content_type = FALSE; #define MAX_ORA_STR_LEN 256 static char *oraddress = NULL; @@ -656,7 +657,7 @@ static int hf_p1_G3FacsimileNonBasicParameters_jpeg = -1; static int hf_p1_G3FacsimileNonBasicParameters_processable_mode_26 = -1; /*--- End of included file: packet-p1-hf.c ---*/ -#line 82 "packet-p1-template.c" +#line 83 "packet-p1-template.c" /* Initialize the subtree pointers */ static gint ett_p1 = -1; @@ -853,7 +854,7 @@ static gint ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissio static gint ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields = -1; /*--- End of included file: packet-p1-ett.c ---*/ -#line 93 "packet-p1-template.c" +#line 94 "packet-p1-template.c" /* Dissector tables */ static dissector_table_t p1_extension_dissector_table; @@ -904,7 +905,7 @@ static const value_string p3_err_code_string_vals[] = { /*--- End of included file: packet-p1-table.c ---*/ -#line 100 "packet-p1-template.c" +#line 101 "packet-p1-template.c" /*--- Included file: packet-p1-fn.c ---*/ @@ -922,7 +923,7 @@ dissect_p1_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, as static int dissect_p1_MTAName(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 679 "p1.cnf" +#line 681 "p1.cnf" tvbuff_t *mtaname = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, @@ -1003,7 +1004,7 @@ dissect_p1_TokenTypeIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int dissect_p1_TokenTypeData(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 1213 "p1.cnf" +#line 1215 "p1.cnf" if(object_identifier_id) call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); @@ -1114,7 +1115,7 @@ static const ber_choice_t Credentials_choice[] = { int dissect_p1_Credentials(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 1221 "p1.cnf" +#line 1223 "p1.cnf" gint credentials = -1; offset = dissect_ber_choice(actx, tree, tvb, offset, @@ -1375,7 +1376,7 @@ static const value_string p1_MTABindError_vals[] = { static int dissect_p1_MTABindError(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 1204 "p1.cnf" +#line 1206 "p1.cnf" int error = -1; offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset, 0U, ub_integer_options, hf_index, &error); @@ -1392,7 +1393,7 @@ dissect_p1_MTABindError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset static int dissect_p1_T_x121_dcc_code(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 863 "p1.cnf" +#line 865 "p1.cnf" tvbuff_t *nstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, @@ -1412,7 +1413,7 @@ dissect_p1_T_x121_dcc_code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off static int dissect_p1_T_iso_3166_alpha2_code(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 815 "p1.cnf" +#line 817 "p1.cnf" tvbuff_t *nstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -1472,7 +1473,7 @@ dissect_p1_CountryName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset static int dissect_p1_T_numeric(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 871 "p1.cnf" +#line 873 "p1.cnf" tvbuff_t *nstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, @@ -1492,7 +1493,7 @@ dissect_p1_T_numeric(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U static int dissect_p1_T_printable(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 823 "p1.cnf" +#line 825 "p1.cnf" tvbuff_t *nstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -1552,7 +1553,7 @@ dissect_p1_AdministrationDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_ static int dissect_p1_T_numeric_private_domain_identifier(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 887 "p1.cnf" +#line 889 "p1.cnf" tvbuff_t *nstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, @@ -1572,7 +1573,7 @@ dissect_p1_T_numeric_private_domain_identifier(gboolean implicit_tag _U_, tvbuff static int dissect_p1_T_printable_private_domain_identifier(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 839 "p1.cnf" +#line 841 "p1.cnf" tvbuff_t *nstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -1603,7 +1604,7 @@ static const ber_choice_t PrivateDomainIdentifier_choice[] = { static int dissect_p1_PrivateDomainIdentifier(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 730 "p1.cnf" +#line 732 "p1.cnf" if(doing_address) g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN); @@ -1638,7 +1639,7 @@ dissect_p1_GlobalDomainIdentifier_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_ static int dissect_p1_GlobalDomainIdentifier(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 1084 "p1.cnf" +#line 1086 "p1.cnf" oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0'; address_item = tree; @@ -1665,7 +1666,7 @@ dissect_p1_GlobalDomainIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, static int dissect_p1_LocalIdentifier(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 1103 "p1.cnf" +#line 1105 "p1.cnf" tvbuff_t *id = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, @@ -1705,7 +1706,7 @@ dissect_p1_MTSIdentifier_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off static int dissect_p1_MTSIdentifier(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 1116 "p1.cnf" +#line 1118 "p1.cnf" doing_address = TRUE; @@ -1731,7 +1732,7 @@ dissect_p1_MTSIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse static int dissect_p1_MessageIdentifier(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 1078 "p1.cnf" +#line 1080 "p1.cnf" address_item = NULL; @@ -1747,7 +1748,7 @@ dissect_p1_MessageIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o static int dissect_p1_X121Address(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 699 "p1.cnf" +#line 701 "p1.cnf" tvbuff_t *string = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, @@ -1779,7 +1780,7 @@ dissect_p1_NetworkAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs static int dissect_p1_TerminalIdentifier(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 713 "p1.cnf" +#line 715 "p1.cnf" tvbuff_t *string = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -1801,7 +1802,7 @@ dissect_p1_TerminalIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int dissect_p1_T_numeric_private_domain_name(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 879 "p1.cnf" +#line 881 "p1.cnf" tvbuff_t *nstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, @@ -1821,7 +1822,7 @@ dissect_p1_T_numeric_private_domain_name(gboolean implicit_tag _U_, tvbuff_t *tv static int dissect_p1_T_printable_private_domain_name(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 831 "p1.cnf" +#line 833 "p1.cnf" tvbuff_t *nstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -1852,7 +1853,7 @@ static const ber_choice_t PrivateDomainName_choice[] = { static int dissect_p1_PrivateDomainName(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 723 "p1.cnf" +#line 725 "p1.cnf" if(doing_address) g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN); @@ -1871,7 +1872,7 @@ dissect_p1_PrivateDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o static int dissect_p1_OrganizationName(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 740 "p1.cnf" +#line 742 "p1.cnf" tvbuff_t *string = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -1904,7 +1905,7 @@ dissect_p1_NumericUserIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i static int dissect_p1_T_printable_surname(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 943 "p1.cnf" +#line 945 "p1.cnf" tvbuff_t *pstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -1926,7 +1927,7 @@ dissect_p1_T_printable_surname(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int dissect_p1_T_printable_given_name(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 953 "p1.cnf" +#line 955 "p1.cnf" tvbuff_t *pstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -1948,7 +1949,7 @@ dissect_p1_T_printable_given_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, static int dissect_p1_T_printable_initials(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 963 "p1.cnf" +#line 965 "p1.cnf" tvbuff_t *pstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -1970,7 +1971,7 @@ dissect_p1_T_printable_initials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in static int dissect_p1_T_printable_generation_qualifier(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 973 "p1.cnf" +#line 975 "p1.cnf" tvbuff_t *pstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -2009,7 +2010,7 @@ dissect_p1_PersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset static int dissect_p1_OrganizationalUnitName(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 766 "p1.cnf" +#line 768 "p1.cnf" tvbuff_t *string = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -2056,7 +2057,7 @@ static const ber_sequence_t BuiltInStandardAttributes_sequence[] = { static int dissect_p1_BuiltInStandardAttributes(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 1140 "p1.cnf" +#line 1142 "p1.cnf" address_item = tree; @@ -2073,7 +2074,7 @@ dissect_p1_BuiltInStandardAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U static int dissect_p1_T_printable_type(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 1023 "p1.cnf" +#line 1025 "p1.cnf" tvbuff_t *pstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -2096,7 +2097,7 @@ dissect_p1_T_printable_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of static int dissect_p1_T_printable_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 1034 "p1.cnf" +#line 1036 "p1.cnf" tvbuff_t *pstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -2126,7 +2127,7 @@ static const ber_sequence_t BuiltInDomainDefinedAttribute_sequence[] = { static int dissect_p1_BuiltInDomainDefinedAttribute(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 1047 "p1.cnf" +#line 1049 "p1.cnf" ddatype = ep_alloc(MAX_ORA_STR_LEN); ddatype[0] = '\0'; offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, @@ -2280,7 +2281,7 @@ dissect_p1_ORName_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_ int dissect_p1_ORName(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 1065 "p1.cnf" +#line 1067 "p1.cnf" oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0'; address_item = NULL; @@ -2654,7 +2655,7 @@ dissect_p1_PerMessageIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in static int dissect_p1_Time(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 1183 "p1.cnf" +#line 1185 "p1.cnf" tvbuff_t *arrival = NULL; offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index); @@ -2718,7 +2719,7 @@ dissect_p1_T_bilateral_domain(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int dissect_p1_T_bilateral_information(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 1251 "p1.cnf" +#line 1253 "p1.cnf" proto_item *item = NULL; int loffset = 0; guint32 len = 0; @@ -2786,7 +2787,7 @@ static const value_string p1_RoutingAction_vals[] = { static int dissect_p1_RoutingAction(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 1194 "p1.cnf" +#line 1196 "p1.cnf" int action = 0; offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, @@ -2847,7 +2848,7 @@ static const ber_sequence_t DomainSuppliedInformation_set[] = { static int dissect_p1_DomainSuppliedInformation(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 1162 "p1.cnf" +#line 1164 "p1.cnf" doing_address = FALSE; @@ -2872,7 +2873,7 @@ static const ber_sequence_t TraceInformationElement_sequence[] = { static int dissect_p1_TraceInformationElement(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 1146 "p1.cnf" +#line 1148 "p1.cnf" doing_address = TRUE; @@ -3220,7 +3221,7 @@ dissect_p1_Content(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, if (next_tvb) { if (content_type_id) { (void) call_ber_oid_callback(content_type_id, next_tvb, 0, actx->pinfo, top_tree ? top_tree : tree); - } else { + } else if (report_unknown_content_type) { proto_item *item = NULL; proto_tree *next_tree = NULL; @@ -3230,6 +3231,8 @@ dissect_p1_Content(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, next_tree=proto_item_add_subtree(item, ett_p1_content_unknown); } dissect_unknown_ber(actx->pinfo, next_tvb, 0, next_tree); + } else { + proto_item_append_text (actx->created_item, " (unknown content-type)"); } } @@ -3622,7 +3625,7 @@ static const ber_choice_t ReportType_choice[] = { static int dissect_p1_ReportType(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 1283 "p1.cnf" +#line 1285 "p1.cnf" gint report = -1; offset = dissect_ber_choice(actx, tree, tvb, offset, @@ -3764,7 +3767,7 @@ static const ber_choice_t MTS_APDU_choice[] = { static int dissect_p1_MTS_APDU(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 1269 "p1.cnf" +#line 1271 "p1.cnf" gint apdu = -1; offset = dissect_ber_choice(actx, tree, tvb, offset, @@ -3821,7 +3824,7 @@ static const ber_sequence_t MTASuppliedInformation_set[] = { static int dissect_p1_MTASuppliedInformation(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 1171 "p1.cnf" +#line 1173 "p1.cnf" doing_address = FALSE; @@ -3847,7 +3850,7 @@ static const ber_sequence_t InternalTraceInformationElement_sequence[] = { static int dissect_p1_InternalTraceInformationElement(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 1154 "p1.cnf" +#line 1156 "p1.cnf" doing_address = TRUE; @@ -4110,9 +4113,15 @@ static const ber_sequence_t MessageSubmissionArgument_sequence[] = { static int dissect_p1_MessageSubmissionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, +#line 1296 "p1.cnf" + p1_initialize_content_globals(tree, TRUE); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, MessageSubmissionArgument_sequence, hf_index, ett_p1_MessageSubmissionArgument); + p1_initialize_content_globals(NULL, FALSE); + + + return offset; } @@ -4678,9 +4687,15 @@ static const ber_sequence_t MessageDeliveryArgument_sequence[] = { static int dissect_p1_MessageDeliveryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, +#line 1301 "p1.cnf" + p1_initialize_content_globals(tree, TRUE); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, MessageDeliveryArgument_sequence, hf_index, ett_p1_MessageDeliveryArgument); + p1_initialize_content_globals(NULL, FALSE); + + + return offset; } @@ -4782,9 +4797,15 @@ static const ber_sequence_t ReportDeliveryArgument_set[] = { static int dissect_p1_ReportDeliveryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset, +#line 1306 "p1.cnf" + p1_initialize_content_globals(tree, TRUE); + offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset, ReportDeliveryArgument_set, hf_index, ett_p1_ReportDeliveryArgument); + p1_initialize_content_globals(NULL, FALSE); + + + return offset; } @@ -4989,7 +5010,7 @@ dissect_p1_UserName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_ static int dissect_p1_T_x121_address(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 855 "p1.cnf" +#line 857 "p1.cnf" tvbuff_t *nstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, @@ -5695,7 +5716,7 @@ static const ber_sequence_t ORAddress_sequence[] = { int dissect_p1_ORAddress(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 1052 "p1.cnf" +#line 1054 "p1.cnf" oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0'; doing_address = TRUE; @@ -6183,7 +6204,7 @@ dissect_p1_CertificateSelectors(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in static int dissect_p1_CommonName(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 792 "p1.cnf" +#line 794 "p1.cnf" tvbuff_t *string = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -6205,7 +6226,7 @@ dissect_p1_CommonName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _ static int dissect_p1_TeletexCommonName(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 805 "p1.cnf" +#line 807 "p1.cnf" tvbuff_t *string = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, @@ -6306,7 +6327,7 @@ dissect_p1_UniversalCommonName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int dissect_p1_TeletexOrganizationName(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 753 "p1.cnf" +#line 755 "p1.cnf" tvbuff_t *string = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, @@ -6337,7 +6358,7 @@ dissect_p1_UniversalOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb _U static int dissect_p1_T_teletex_surname(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 983 "p1.cnf" +#line 985 "p1.cnf" tvbuff_t *tstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, @@ -6359,7 +6380,7 @@ dissect_p1_T_teletex_surname(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o static int dissect_p1_T_teletex_given_name(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 993 "p1.cnf" +#line 995 "p1.cnf" tvbuff_t *tstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, @@ -6381,7 +6402,7 @@ dissect_p1_T_teletex_given_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in static int dissect_p1_T_teletex_initials(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 1003 "p1.cnf" +#line 1005 "p1.cnf" tvbuff_t *tstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, @@ -6403,7 +6424,7 @@ dissect_p1_T_teletex_initials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int dissect_p1_T_teletex_generation_qualifier(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 1013 "p1.cnf" +#line 1015 "p1.cnf" tvbuff_t *tstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, @@ -6459,7 +6480,7 @@ dissect_p1_UniversalPersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i static int dissect_p1_TeletexOrganizationalUnitName(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 779 "p1.cnf" +#line 781 "p1.cnf" tvbuff_t *string = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, @@ -6527,7 +6548,7 @@ dissect_p1_PDSName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, static int dissect_p1_T_x121_dcc_code_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 895 "p1.cnf" +#line 897 "p1.cnf" tvbuff_t *nstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, @@ -6547,7 +6568,7 @@ dissect_p1_T_x121_dcc_code_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int dissect_p1_T_iso_3166_alpha2_code_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 847 "p1.cnf" +#line 849 "p1.cnf" tvbuff_t *nstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -6589,7 +6610,7 @@ dissect_p1_PhysicalDeliveryCountryName(gboolean implicit_tag _U_, tvbuff_t *tvb static int dissect_p1_T_numeric_code(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 903 "p1.cnf" +#line 905 "p1.cnf" tvbuff_t *nstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, @@ -7014,7 +7035,7 @@ dissect_p1_TerminalType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset static int dissect_p1_T_type(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 912 "p1.cnf" +#line 914 "p1.cnf" tvbuff_t *tstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, @@ -7038,7 +7059,7 @@ dissect_p1_T_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, static int dissect_p1_T_teletex_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 924 "p1.cnf" +#line 926 "p1.cnf" tvbuff_t *tstring = NULL; offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, @@ -7069,7 +7090,7 @@ static const ber_sequence_t TeletexDomainDefinedAttribute_sequence[] = { static int dissect_p1_TeletexDomainDefinedAttribute(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 938 "p1.cnf" +#line 940 "p1.cnf" ddatype = ep_alloc(MAX_ORA_STR_LEN); ddatype[0] = '\0'; offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, @@ -7132,7 +7153,7 @@ static const ber_sequence_t MTANameAndOptionalGDI_sequence[] = { static int dissect_p1_MTANameAndOptionalGDI(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 1131 "p1.cnf" +#line 1133 "p1.cnf" doing_address = TRUE; @@ -7192,7 +7213,7 @@ dissect_p1_TokenDataType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse static int dissect_p1_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 1235 "p1.cnf" +#line 1237 "p1.cnf" proto_item_append_text(tree, " (%s)", val_to_str(extension_id, p1_TokenDataType_vals, "tokendata-type %d")); if (dissector_try_uint(p1_tokendata_dissector_table, extension_id, tvb, actx->pinfo, tree)) { @@ -8188,7 +8209,7 @@ static void dissect_SecurityClassification_PDU(tvbuff_t *tvb _U_, packet_info *p /*--- End of included file: packet-p1-fn.c ---*/ -#line 102 "packet-p1-template.c" +#line 103 "packet-p1-template.c" /*--- Included file: packet-p1-table11.c ---*/ @@ -8220,7 +8241,7 @@ static const ros_opr_t p3_opr_tab[] = { /*--- End of included file: packet-p1-table11.c ---*/ -#line 104 "packet-p1-template.c" +#line 105 "packet-p1-template.c" /*--- Included file: packet-p1-table21.c ---*/ #line 1 "packet-p1-table21.c" @@ -8265,7 +8286,7 @@ static const ros_err_t p3_err_tab[] = { /*--- End of included file: packet-p1-table21.c ---*/ -#line 105 "packet-p1-template.c" +#line 106 "packet-p1-template.c" static const ros_info_t p3_ros_info = { "P3", @@ -8277,6 +8298,12 @@ static const ros_info_t p3_ros_info = { p3_err_tab }; +void p1_initialize_content_globals (proto_tree *tree, gboolean report_unknown_cont_type) +{ + top_tree = tree; + content_type_id = NULL; + report_unknown_content_type = report_unknown_cont_type; +} char* p1_get_last_oraddress() { return oraddress; } @@ -8292,7 +8319,7 @@ dissect_p1_mts_apdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); /* save parent_tree so subdissectors can create new top nodes */ - top_tree=parent_tree; + p1_initialize_content_globals (parent_tree, TRUE); if(parent_tree){ item = proto_tree_add_item(parent_tree, proto_p1, tvb, 0, -1, FALSE); @@ -8303,6 +8330,7 @@ dissect_p1_mts_apdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) col_set_str(pinfo->cinfo, COL_INFO, "Transfer"); dissect_p1_MTS_APDU (FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_MTS_APDU_PDU); + p1_initialize_content_globals (NULL, FALSE); } /* @@ -8322,7 +8350,7 @@ dissect_p1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); /* save parent_tree so subdissectors can create new top nodes */ - top_tree=parent_tree; + p1_initialize_content_globals (parent_tree, TRUE); /* do we have operation information from the ROS dissector? */ if( !pinfo->private_data ){ @@ -8380,6 +8408,7 @@ dissect_p1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) break; } } + p1_initialize_content_globals (NULL, FALSE); } @@ -10668,7 +10697,7 @@ void proto_register_p1(void) { NULL, HFILL }}, /*--- End of included file: packet-p1-hfarr.c ---*/ -#line 247 "packet-p1-template.c" +#line 256 "packet-p1-template.c" }; /* List of subtrees */ @@ -10867,7 +10896,7 @@ void proto_register_p1(void) { &ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields, /*--- End of included file: packet-p1-ettarr.c ---*/ -#line 260 "packet-p1-template.c" +#line 269 "packet-p1-template.c" }; module_t *p1_module; @@ -11060,7 +11089,7 @@ void proto_reg_handoff_p1(void) { /*--- End of included file: packet-p1-dis-tab.c ---*/ -#line 296 "packet-p1-template.c" +#line 305 "packet-p1-template.c" /* APPLICATION CONTEXT */ diff --git a/epan/dissectors/packet-p1.h b/epan/dissectors/packet-p1.h index e6df43d822..a24ac0284d 100644 --- a/epan/dissectors/packet-p1.h +++ b/epan/dissectors/packet-p1.h @@ -174,6 +174,7 @@ /*--- End of included file: packet-p1-val.h ---*/ #line 30 "packet-p1-template.h" +void p1_initialize_content_globals (proto_tree *tree, gboolean report_unknown_cont_type); char* p1_get_last_oraddress(void); void dissect_p1_mts_apdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree); @@ -231,7 +232,7 @@ int dissect_p1_TeletexNonBasicParameters(gboolean implicit_tag _U_, tvbuff_t *tv int dissect_p1_SecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); /*--- End of included file: packet-p1-exp.h ---*/ -#line 34 "packet-p1-template.h" +#line 35 "packet-p1-template.h" void proto_reg_handoff_p1(void); void proto_register_p1(void); diff --git a/epan/dissectors/packet-p7.c b/epan/dissectors/packet-p7.c index 61d3692264..2b13933df6 100644 --- a/epan/dissectors/packet-p7.c +++ b/epan/dissectors/packet-p7.c @@ -1762,9 +1762,13 @@ static const ber_sequence_t EntryInformation_sequence[] = { static int dissect_p7_EntryInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + p1_initialize_content_globals (NULL, FALSE); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, EntryInformation_sequence, hf_index, ett_p7_EntryInformation); + p1_initialize_content_globals (NULL, FALSE); + + return offset; } @@ -2691,9 +2695,12 @@ static const ber_sequence_t EntryModification_set[] = { static int dissect_p7_EntryModification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset, + p1_initialize_content_globals (NULL, FALSE); + offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset, EntryModification_set, hf_index, ett_p7_EntryModification); + p1_initialize_content_globals (NULL, FALSE); + return offset; } @@ -2752,9 +2759,13 @@ static const ber_sequence_t MSMessageSubmissionArgument_sequence[] = { static int dissect_p7_MSMessageSubmissionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + p1_initialize_content_globals (tree, TRUE); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, MSMessageSubmissionArgument_sequence, hf_index, ett_p7_MSMessageSubmissionArgument); + p1_initialize_content_globals (NULL, FALSE); + + return offset; } |