diff --git a/asn1/acse/Makefile.common b/asn1/acse/Makefile.common index dd1f76aee3..22be6b521f 100644 --- a/asn1/acse/Makefile.common +++ b/asn1/acse/Makefile.common @@ -46,7 +46,7 @@ SRC_FILES = \ $(EXTRA_DIST) \ $(EXT_ASN_FILE_LIST) -A2W_FLAGS= -b -e +A2W_FLAGS= -b -e -X -T EXTRA_CNF= \ ../x509if/x509if-exp.cnf diff --git a/asn1/acse/acse.cnf b/asn1/acse/acse.cnf index 0962c77565..909bccf96a 100644 --- a/asn1/acse/acse.cnf +++ b/asn1/acse/acse.cnf @@ -15,45 +15,28 @@ ASO-qualifier AE-invocation-identifier #.TYPE_RENAME -AARQ-apdu/protocol-version T_AARQ_protocol_version -AARE-apdu/protocol-version T_AARE_protocol_version -AARQ-apdu/aSO-context-name T_AARQ_aSO_context_name -AARE-apdu/aSO-context-name T_AARE_aSO_context_name -ACRQ-apdu/aSO-context-name T_ACRQ_aSO_context_name -ACRP-apdu/aSO-context-name T_ACRP_aSO_context_name +AARQ-apdu/_untag/protocol-version T_AARQ_protocol_version +AARE-apdu/_untag/protocol-version T_AARE_protocol_version +AARQ-apdu/_untag/aSO-context-name T_AARQ_aSO_context_name +AARE-apdu/_untag/aSO-context-name T_AARE_aSO_context_name +ACRQ-apdu/_untag/aSO-context-name T_ACRQ_aSO_context_name +ACRP-apdu/_untag/aSO-context-name T_ACRP_aSO_context_name #.FIELD_RENAME -AARQ-apdu/user-information aARQ_user_information -AARE-apdu/user-information aARE_user_information -ABRT-apdu/user-information aBRT_user_information -RLRE-apdu/user-information rLRE_user_information -RLRQ-apdu/user-information rLRQ_user_information -AARE-apdu/result aARE_result +AARQ-apdu/_untag/user-information aARQ_user_information +AARE-apdu/_untag/user-information aARE_user_information +ABRT-apdu/_untag/user-information aBRT_user_information +RLRE-apdu/_untag/user-information rLRE_user_information +RLRQ-apdu/_untag/user-information rLRQ_user_information P-context-result-list/_item/result pcontext_result -RLRE-apdu/reason rLRE_reason -RLRQ-apdu/reason rLRQ_reason -AARQ-apdu/protocol-version aARQ_protocol_version -AARE-apdu/protocol-version aARE_protocol_version -AARQ-apdu/aSO-context-name aARQ_aSO_context_name -AARE-apdu/aSO-context-name aARE_aSO_context_name -ACRQ-apdu/aSO-context-name aCRQ_aSO_context_name +RLRE-apdu/_untag/reason rLRE_reason +RLRQ-apdu/_untag/reason rLRQ_reason +AARQ-apdu/_untag/protocol-version aARQ_protocol_version +AARE-apdu/_untag/protocol-version aARE_protocol_version +AARQ-apdu/_untag/aSO-context-name aARQ_aSO_context_name +AARE-apdu/_untag/aSO-context-name aARE_aSO_context_name +ACRQ-apdu/_untag/aSO-context-name aCRQ_aSO_context_name -#.FN_BODY EXTERNALt - gint8 class; - gboolean pc, ind_field; - gint32 tag; - guint32 len1; - - if(!implicit_tag) { - /* XXX asn2wrs can not yet handle tagged assignment so for the - * time being just remove this tag manually inside the EXTERNAL - * dissector. - */ - offset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &class, &pc, &tag); - offset = dissect_ber_length(actx->pinfo, tree, tvb, offset, &len1, &ind_field); - } - offset = dissect_ber_old_sequence(TRUE, actx, tree, tvb, offset, - EXTERNALt_sequence, hf_index, ett_acse_EXTERNALt); #.FN_PARS Authentication-value-other/other-mechanism-name FN_VARIANT = _str VAL_PTR = &object_identifier_id @@ -64,23 +47,23 @@ ACRQ-apdu/aSO-context-name aCRQ_aSO_context_name #.FN_BODY PDV-list/presentation-data-values/simple-ASN1-type /*XXX not implemented yet */ -#.FN_BODY AARQ-apdu/aSO-context-name +#.FN_BODY AARQ-apdu/_untag/aSO-context-name offset = dissect_ber_object_identifier_str(FALSE, actx, tree, tvb, offset, hf_index, &object_identifier_id); -#.FN_BODY AARE-apdu/aSO-context-name +#.FN_BODY AARE-apdu/_untag/aSO-context-name offset = dissect_ber_object_identifier_str(FALSE, actx, tree, tvb, offset, hf_index, &object_identifier_id); -#.FN_BODY ACRQ-apdu/aSO-context-name +#.FN_BODY ACRQ-apdu/_untag/aSO-context-name offset = dissect_ber_object_identifier_str(FALSE, actx, tree, tvb, offset, hf_index, &object_identifier_id); -#.FN_BODY ACRP-apdu/aSO-context-name +#.FN_BODY ACRP-apdu/_untag/aSO-context-name offset = dissect_ber_object_identifier_str(FALSE, actx, tree, tvb, offset, hf_index, &object_identifier_id); -#.FN_BODY EXTERNALt/indirect-reference +#.FN_BODY EXTERNALt/_untag/indirect-reference char *oid; offset = dissect_ber_integer(FALSE, actx, tree, tvb, offset, hf_acse_indirect_reference, @@ -94,13 +77,13 @@ ACRQ-apdu/aSO-context-name aCRQ_aSO_context_name if(session) session->pres_ctx_id = indir_ref; -#.FN_PARS EXTERNALt/direct-reference +#.FN_PARS EXTERNALt/_untag/direct-reference FN_VARIANT = _str VAL_PTR = &object_identifier_id -#.FN_BODY EXTERNALt/encoding/single-ASN1-type +#.FN_BODY EXTERNALt/_untag/encoding/single-ASN1-type offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, top_tree ? top_tree : tree); -#.FN_BODY EXTERNALt/encoding/octet-aligned +#.FN_BODY EXTERNALt/_untag/encoding/octet-aligned offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, top_tree ? top_tree : tree); #.FN_PARS Release-request-reason diff --git a/asn1/x509af/Makefile.common b/asn1/x509af/Makefile.common index 21f7aefc7f..c2e99b10bd 100644 --- a/asn1/x509af/Makefile.common +++ b/asn1/x509af/Makefile.common @@ -45,7 +45,7 @@ SRC_FILES = \ $(EXTRA_DIST) \ $(EXT_ASN_FILE_LIST) -A2W_FLAGS= -b -e +A2W_FLAGS= -b -e -X -T EXTRA_CNF= \ ../x509ce/x509ce-exp.cnf \ diff --git a/asn1/x509ce/Makefile.common b/asn1/x509ce/Makefile.common index f8307d68c9..b9c916b203 100644 --- a/asn1/x509ce/Makefile.common +++ b/asn1/x509ce/Makefile.common @@ -45,7 +45,7 @@ SRC_FILES = \ $(EXTRA_DIST) \ $(EXT_ASN_FILE_LIST) -A2W_FLAGS= -b -e +A2W_FLAGS= -b -e -X -T EXTRA_CNF= \ ../x411/x411-exp.cnf \ diff --git a/asn1/x509if/Makefile.common b/asn1/x509if/Makefile.common index b16f315e77..b07184b4eb 100644 --- a/asn1/x509if/Makefile.common +++ b/asn1/x509if/Makefile.common @@ -46,7 +46,7 @@ SRC_FILES = \ $(EXTRA_DIST) \ $(EXT_ASN_FILE_LIST) -A2W_FLAGS= -b -e +A2W_FLAGS= -b -e -X -T EXTRA_CNF= \ ../x509sat/x509sat-exp.cnf diff --git a/asn1/x509sat/Makefile.common b/asn1/x509sat/Makefile.common index a2fde7ed09..159d6b852e 100644 --- a/asn1/x509sat/Makefile.common +++ b/asn1/x509sat/Makefile.common @@ -46,7 +46,7 @@ SRC_FILES = \ $(EXTRA_DIST) \ $(EXT_ASN_FILE_LIST) -A2W_FLAGS= -b -e +A2W_FLAGS= -b -e -X -T EXTRA_CNF= \ ../x509if/x509if-exp.cnf diff --git a/epan/dissectors/packet-acse.c b/epan/dissectors/packet-acse.c index 9861fd8182..b5a0091b5e 100644 --- a/epan/dissectors/packet-acse.c +++ b/epan/dissectors/packet-acse.c @@ -1,7 +1,7 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-acse.c */ -/* ../../tools/asn2wrs.py -b -e -p acse -c acse.cnf -s packet-acse-template acse.asn */ +/* ../../tools/asn2wrs.py -b -e -X -T -p acse -c acse.cnf -s packet-acse-template acse.asn */ /* Input file: packet-acse-template.c */ @@ -109,7 +109,7 @@ static int hf_acse_calling_asoi_tag = -1; /* ASOI_tag */ static int hf_acse_aARQ_user_information = -1; /* Association_data */ static int hf_acse_aARE_protocol_version = -1; /* T_AARE_protocol_version */ static int hf_acse_aARE_aSO_context_name = -1; /* T_AARE_aSO_context_name */ -static int hf_acse_aARE_result = -1; /* Associate_result */ +static int hf_acse_result = -1; /* Associate_result */ static int hf_acse_result_source_diagnostic = -1; /* Associate_source_diagnostic */ static int hf_acse_responding_AP_title = -1; /* AP_title */ static int hf_acse_responding_AE_qualifier = -1; /* AE_qualifier */ @@ -190,19 +190,19 @@ static gint ett_acse = -1; /*--- Included file: packet-acse-ett.c ---*/ #line 1 "packet-acse-ett.c" -static gint ett_acse_EXTERNALt = -1; +static gint ett_acse_EXTERNALt_U = -1; static gint ett_acse_T_encoding = -1; static gint ett_acse_ACSE_apdu = -1; -static gint ett_acse_AARQ_apdu = -1; +static gint ett_acse_AARQ_apdu_U = -1; static gint ett_acse_T_AARQ_protocol_version = -1; -static gint ett_acse_AARE_apdu = -1; +static gint ett_acse_AARE_apdu_U = -1; static gint ett_acse_T_AARE_protocol_version = -1; -static gint ett_acse_RLRQ_apdu = -1; -static gint ett_acse_RLRE_apdu = -1; -static gint ett_acse_ABRT_apdu = -1; -static gint ett_acse_A_DT_apdu = -1; -static gint ett_acse_ACRQ_apdu = -1; -static gint ett_acse_ACRP_apdu = -1; +static gint ett_acse_RLRQ_apdu_U = -1; +static gint ett_acse_RLRE_apdu_U = -1; +static gint ett_acse_ABRT_apdu_U = -1; +static gint ett_acse_A_DT_apdu_U = -1; +static gint ett_acse_ACRQ_apdu_U = -1; +static gint ett_acse_ACRP_apdu_U = -1; static gint ett_acse_ACSE_requirements = -1; static gint ett_acse_AP_title = -1; static gint ett_acse_ASO_qualifier = -1; @@ -306,9 +306,6 @@ find_oid_by_ctx_id(packet_info *pinfo _U_, guint32 idx) /*--- Included file: packet-acse-fn.c ---*/ #line 1 "packet-acse-fn.c" -/*--- Fields for imported types ---*/ - - static int @@ -317,15 +314,12 @@ dissect_acse_T_direct_reference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in return offset; } -static int dissect_direct_reference(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_T_direct_reference(FALSE, tvb, offset, actx, tree, hf_acse_direct_reference); -} static int dissect_acse_T_indirect_reference(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 84 "acse.cnf" +#line 67 "acse.cnf" char *oid; offset = dissect_ber_integer(FALSE, actx, tree, tvb, offset, hf_acse_indirect_reference, @@ -343,9 +337,6 @@ dissect_acse_T_indirect_reference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, return offset; } -static int dissect_indirect_reference(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_T_indirect_reference(FALSE, tvb, offset, actx, tree, hf_acse_indirect_reference); -} @@ -357,39 +348,30 @@ dissect_acse_ObjectDescriptor(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int return offset; } -static int dissect_data_value_descriptor(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ObjectDescriptor(FALSE, tvb, offset, actx, tree, hf_acse_data_value_descriptor); -} static int dissect_acse_T_single_ASN1_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 101 "acse.cnf" +#line 84 "acse.cnf" offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, top_tree ? top_tree : tree); return offset; } -static int dissect_single_ASN1_type(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_T_single_ASN1_type(FALSE, tvb, offset, actx, tree, hf_acse_single_ASN1_type); -} static int dissect_acse_T_octet_aligned(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 104 "acse.cnf" +#line 87 "acse.cnf" offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, top_tree ? top_tree : tree); return offset; } -static int dissect_octet_aligned_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_T_octet_aligned(TRUE, tvb, offset, actx, tree, hf_acse_octet_aligned); -} @@ -401,12 +383,6 @@ dissect_acse_BIT_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset return offset; } -static int dissect_arbitrary_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_BIT_STRING(TRUE, tvb, offset, actx, tree, hf_acse_arbitrary); -} -static int dissect_bitstring_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_BIT_STRING(TRUE, tvb, offset, actx, tree, hf_acse_bitstring); -} static const value_string acse_T_encoding_vals[] = { @@ -416,63 +392,48 @@ static const value_string acse_T_encoding_vals[] = { { 0, NULL } }; -static const ber_old_choice_t T_encoding_choice[] = { - { 0, BER_CLASS_CON, 0, 0, dissect_single_ASN1_type }, - { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_octet_aligned_impl }, - { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_arbitrary_impl }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t T_encoding_choice[] = { + { 0, &hf_acse_single_ASN1_type, BER_CLASS_CON, 0, 0, dissect_acse_T_single_ASN1_type }, + { 1, &hf_acse_octet_aligned , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_acse_T_octet_aligned }, + { 2, &hf_acse_arbitrary , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_acse_BIT_STRING }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_acse_T_encoding(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_old_choice(actx, tree, tvb, offset, - T_encoding_choice, hf_index, ett_acse_T_encoding, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + T_encoding_choice, hf_index, ett_acse_T_encoding, + NULL); return offset; } -static int dissect_encoding(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_T_encoding(FALSE, tvb, offset, actx, tree, hf_acse_encoding); + + +static const ber_sequence_t EXTERNALt_U_sequence[] = { + { &hf_acse_direct_reference, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_acse_T_direct_reference }, + { &hf_acse_indirect_reference, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_acse_T_indirect_reference }, + { &hf_acse_data_value_descriptor, BER_CLASS_UNI, BER_UNI_TAG_ObjectDescriptor, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_acse_ObjectDescriptor }, + { &hf_acse_encoding , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_acse_T_encoding }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_acse_EXTERNALt_U(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, + EXTERNALt_U_sequence, hf_index, ett_acse_EXTERNALt_U); + + return offset; } -static const ber_old_sequence_t EXTERNALt_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_direct_reference }, - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_indirect_reference }, - { BER_CLASS_UNI, BER_UNI_TAG_ObjectDescriptor, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_data_value_descriptor }, - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_encoding }, - { 0, 0, 0, NULL } -}; int dissect_acse_EXTERNALt(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 42 "acse.cnf" - gint8 class; - gboolean pc, ind_field; - gint32 tag; - guint32 len1; - - if(!implicit_tag) { - /* XXX asn2wrs can not yet handle tagged assignment so for the - * time being just remove this tag manually inside the EXTERNAL - * dissector. - */ - offset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &class, &pc, &tag); - offset = dissect_ber_length(actx->pinfo, tree, tvb, offset, &len1, &ind_field); - } - offset = dissect_ber_old_sequence(TRUE, actx, tree, tvb, offset, - EXTERNALt_sequence, hf_index, ett_acse_EXTERNALt); - - + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_UNI, 8, TRUE, dissect_acse_EXTERNALt_U); return offset; } -static int dissect_Association_data_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_EXTERNALt(FALSE, tvb, offset, actx, tree, hf_acse_Association_data_item); -} -static int dissect_external_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_EXTERNALt(TRUE, tvb, offset, actx, tree, hf_acse_external); -} static const asn_namedbit T_AARQ_protocol_version_bits[] = { @@ -488,9 +449,6 @@ dissect_acse_T_AARQ_protocol_version(gboolean implicit_tag _U_, tvbuff_t *tvb _U return offset; } -static int dissect_aARQ_protocol_version_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_T_AARQ_protocol_version(TRUE, tvb, offset, actx, tree, hf_acse_aARQ_protocol_version); -} @@ -500,15 +458,12 @@ dissect_acse_ASO_context_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int return offset; } -static int dissect_ASO_context_name_list_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ASO_context_name(FALSE, tvb, offset, actx, tree, hf_acse_ASO_context_name_list_item); -} static int dissect_acse_T_AARQ_aSO_context_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 68 "acse.cnf" +#line 51 "acse.cnf" offset = dissect_ber_object_identifier_str(FALSE, actx, tree, tvb, offset, hf_index, &object_identifier_id); @@ -516,9 +471,6 @@ dissect_acse_T_AARQ_aSO_context_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U return offset; } -static int dissect_aARQ_aSO_context_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_T_AARQ_aSO_context_name(FALSE, tvb, offset, actx, tree, hf_acse_aARQ_aSO_context_name); -} @@ -528,9 +480,6 @@ dissect_acse_AP_title_form1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of return offset; } -static int dissect_ap_title_form1(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_AP_title_form1(FALSE, tvb, offset, actx, tree, hf_acse_ap_title_form1); -} @@ -540,9 +489,6 @@ dissect_acse_AP_title_form2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of return offset; } -static int dissect_ap_title_form2(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_AP_title_form2(FALSE, tvb, offset, actx, tree, hf_acse_ap_title_form2); -} @@ -554,9 +500,6 @@ dissect_acse_AP_title_form3(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of return offset; } -static int dissect_ap_title_form3(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_AP_title_form3(FALSE, tvb, offset, actx, tree, hf_acse_ap_title_form3); -} const value_string acse_AP_title_vals[] = { @@ -566,30 +509,21 @@ const value_string acse_AP_title_vals[] = { { 0, NULL } }; -static const ber_old_choice_t AP_title_choice[] = { - { 0, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_ap_title_form1 }, - { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ap_title_form2 }, - { 2, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_ap_title_form3 }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t AP_title_choice[] = { + { 0, &hf_acse_ap_title_form1 , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AP_title_form1 }, + { 1, &hf_acse_ap_title_form2 , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_acse_AP_title_form2 }, + { 2, &hf_acse_ap_title_form3 , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_acse_AP_title_form3 }, + { 0, NULL, 0, 0, 0, NULL } }; int dissect_acse_AP_title(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_old_choice(actx, tree, tvb, offset, - AP_title_choice, hf_index, ett_acse_AP_title, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + AP_title_choice, hf_index, ett_acse_AP_title, + NULL); return offset; } -static int dissect_called_AP_title(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_AP_title(FALSE, tvb, offset, actx, tree, hf_acse_called_AP_title); -} -static int dissect_calling_AP_title(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_AP_title(FALSE, tvb, offset, actx, tree, hf_acse_calling_AP_title); -} -static int dissect_responding_AP_title(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_AP_title(FALSE, tvb, offset, actx, tree, hf_acse_responding_AP_title); -} @@ -599,9 +533,6 @@ dissect_acse_ASO_qualifier_form1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i return offset; } -static int dissect_aso_qualifier_form1(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ASO_qualifier_form1(FALSE, tvb, offset, actx, tree, hf_acse_aso_qualifier_form1); -} @@ -612,9 +543,6 @@ dissect_acse_ASO_qualifier_form2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i return offset; } -static int dissect_aso_qualifier_form2(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ASO_qualifier_form2(FALSE, tvb, offset, actx, tree, hf_acse_aso_qualifier_form2); -} @@ -626,9 +554,6 @@ dissect_acse_ASO_qualifier_form3(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i return offset; } -static int dissect_aso_qualifier_form3(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ASO_qualifier_form3(FALSE, tvb, offset, actx, tree, hf_acse_aso_qualifier_form3); -} @@ -639,9 +564,6 @@ dissect_acse_ASO_qualifier_form_octets(gboolean implicit_tag _U_, tvbuff_t *tvb return offset; } -static int dissect_aso_qualifier_form_any_octets(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ASO_qualifier_form_octets(FALSE, tvb, offset, actx, tree, hf_acse_aso_qualifier_form_any_octets); -} const value_string acse_ASO_qualifier_vals[] = { @@ -652,28 +574,22 @@ const value_string acse_ASO_qualifier_vals[] = { { 0, NULL } }; -static const ber_old_choice_t ASO_qualifier_choice[] = { - { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_aso_qualifier_form1 }, - { 1, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_aso_qualifier_form2 }, - { 2, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_aso_qualifier_form3 }, - { 3, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_aso_qualifier_form_any_octets }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t ASO_qualifier_choice[] = { + { 0, &hf_acse_aso_qualifier_form1, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_acse_ASO_qualifier_form1 }, + { 1, &hf_acse_aso_qualifier_form2, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_acse_ASO_qualifier_form2 }, + { 2, &hf_acse_aso_qualifier_form3, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_acse_ASO_qualifier_form3 }, + { 3, &hf_acse_aso_qualifier_form_any_octets, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_acse_ASO_qualifier_form_octets }, + { 0, NULL, 0, 0, 0, NULL } }; int dissect_acse_ASO_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_) { - offset = dissect_ber_old_choice(actx, tree, tvb, offset, - ASO_qualifier_choice, hf_index, ett_acse_ASO_qualifier, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + ASO_qualifier_choice, hf_index, ett_acse_ASO_qualifier, + NULL); return offset; } -static int dissect_aso_qualifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ASO_qualifier(FALSE, tvb, offset, actx, tree, hf_acse_aso_qualifier); -} -static int dissect_qualifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ASO_qualifier(FALSE, tvb, offset, actx, tree, hf_acse_qualifier); -} @@ -683,15 +599,6 @@ dissect_acse_AE_qualifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs return offset; } -static int dissect_called_AE_qualifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_AE_qualifier(FALSE, tvb, offset, actx, tree, hf_acse_called_AE_qualifier); -} -static int dissect_calling_AE_qualifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_AE_qualifier(FALSE, tvb, offset, actx, tree, hf_acse_calling_AE_qualifier); -} -static int dissect_responding_AE_qualifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_AE_qualifier(FALSE, tvb, offset, actx, tree, hf_acse_responding_AE_qualifier); -} @@ -702,15 +609,6 @@ dissect_acse_AP_invocation_identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _ return offset; } -static int dissect_called_AP_invocation_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_AP_invocation_identifier(FALSE, tvb, offset, actx, tree, hf_acse_called_AP_invocation_identifier); -} -static int dissect_calling_AP_invocation_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_AP_invocation_identifier(FALSE, tvb, offset, actx, tree, hf_acse_calling_AP_invocation_identifier); -} -static int dissect_responding_AP_invocation_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_AP_invocation_identifier(FALSE, tvb, offset, actx, tree, hf_acse_responding_AP_invocation_identifier); -} @@ -721,15 +619,6 @@ dissect_acse_AE_invocation_identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _ return offset; } -static int dissect_called_AE_invocation_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_AE_invocation_identifier(FALSE, tvb, offset, actx, tree, hf_acse_called_AE_invocation_identifier); -} -static int dissect_calling_AE_invocation_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_AE_invocation_identifier(FALSE, tvb, offset, actx, tree, hf_acse_calling_AE_invocation_identifier); -} -static int dissect_responding_AE_invocation_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_AE_invocation_identifier(FALSE, tvb, offset, actx, tree, hf_acse_responding_AE_invocation_identifier); -} static const asn_namedbit ACSE_requirements_bits[] = { @@ -748,12 +637,6 @@ dissect_acse_ACSE_requirements(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int return offset; } -static int dissect_sender_acse_requirements_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ACSE_requirements(TRUE, tvb, offset, actx, tree, hf_acse_sender_acse_requirements); -} -static int dissect_responder_acse_requirements_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ACSE_requirements(TRUE, tvb, offset, actx, tree, hf_acse_responder_acse_requirements); -} @@ -763,9 +646,6 @@ dissect_acse_Mechanism_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of return offset; } -static int dissect_mechanism_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Mechanism_name(TRUE, tvb, offset, actx, tree, hf_acse_mechanism_name); -} @@ -777,9 +657,6 @@ dissect_acse_GraphicString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off return offset; } -static int dissect_charstring_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_GraphicString(TRUE, tvb, offset, actx, tree, hf_acse_charstring); -} @@ -789,42 +666,33 @@ dissect_acse_T_other_mechanism_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_ return offset; } -static int dissect_other_mechanism_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_T_other_mechanism_name(FALSE, tvb, offset, actx, tree, hf_acse_other_mechanism_name); -} static int dissect_acse_T_other_mechanism_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 62 "acse.cnf" +#line 45 "acse.cnf" offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, top_tree); return offset; } -static int dissect_other_mechanism_value(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_T_other_mechanism_value(FALSE, tvb, offset, actx, tree, hf_acse_other_mechanism_value); -} -static const ber_old_sequence_t Authentication_value_other_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_other_mechanism_name }, - { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_other_mechanism_value }, - { 0, 0, 0, NULL } +static const ber_sequence_t Authentication_value_other_sequence[] = { + { &hf_acse_other_mechanism_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_acse_T_other_mechanism_name }, + { &hf_acse_other_mechanism_value, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_acse_T_other_mechanism_value }, + { NULL, 0, 0, 0, NULL } }; static int dissect_acse_Authentication_value_other(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - Authentication_value_other_sequence, hf_index, ett_acse_Authentication_value_other); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + Authentication_value_other_sequence, hf_index, ett_acse_Authentication_value_other); return offset; } -static int dissect_other_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Authentication_value_other(TRUE, tvb, offset, actx, tree, hf_acse_other); -} static const value_string acse_Authentication_value_vals[] = { @@ -835,44 +703,35 @@ static const value_string acse_Authentication_value_vals[] = { { 0, NULL } }; -static const ber_old_choice_t Authentication_value_choice[] = { - { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_charstring_impl }, - { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_bitstring_impl }, - { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_external_impl }, - { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_other_impl }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t Authentication_value_choice[] = { + { 0, &hf_acse_charstring , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_acse_GraphicString }, + { 1, &hf_acse_bitstring , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_acse_BIT_STRING }, + { 2, &hf_acse_external , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_acse_EXTERNALt }, + { 3, &hf_acse_other , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_acse_Authentication_value_other }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_acse_Authentication_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_) { - offset = dissect_ber_old_choice(actx, tree, tvb, offset, - Authentication_value_choice, hf_index, ett_acse_Authentication_value, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + Authentication_value_choice, hf_index, ett_acse_Authentication_value, + NULL); return offset; } -static int dissect_calling_authentication_value(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Authentication_value(FALSE, tvb, offset, actx, tree, hf_acse_calling_authentication_value); -} -static int dissect_responding_authentication_value(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Authentication_value(FALSE, tvb, offset, actx, tree, hf_acse_responding_authentication_value); -} -static const ber_old_sequence_t ASO_context_name_list_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ASO_context_name_list_item }, +static const ber_sequence_t ASO_context_name_list_sequence_of[1] = { + { &hf_acse_ASO_context_name_list_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_acse_ASO_context_name }, }; static int dissect_acse_ASO_context_name_list(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - ASO_context_name_list_sequence_of, hf_index, ett_acse_ASO_context_name_list); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + ASO_context_name_list_sequence_of, hf_index, ett_acse_ASO_context_name_list); return offset; } -static int dissect_aSO_context_name_list_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ASO_context_name_list(TRUE, tvb, offset, actx, tree, hf_acse_aSO_context_name_list); -} @@ -884,9 +743,6 @@ dissect_acse_Implementation_data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i return offset; } -static int dissect_implementation_information_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Implementation_data(TRUE, tvb, offset, actx, tree, hf_acse_implementation_information); -} @@ -897,12 +753,6 @@ dissect_acse_Presentation_context_identifier(gboolean implicit_tag _U_, tvbuff_t return offset; } -static int dissect_pci(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Presentation_context_identifier(FALSE, tvb, offset, actx, tree, hf_acse_pci); -} -static int dissect_presentation_context_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Presentation_context_identifier(FALSE, tvb, offset, actx, tree, hf_acse_presentation_context_identifier); -} @@ -912,12 +762,6 @@ dissect_acse_Abstract_syntax_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, return offset; } -static int dissect_abstract_syntax(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Abstract_syntax_name(FALSE, tvb, offset, actx, tree, hf_acse_abstract_syntax); -} -static int dissect_abstract_syntax_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Abstract_syntax_name(TRUE, tvb, offset, actx, tree, hf_acse_abstract_syntax_name); -} @@ -927,100 +771,76 @@ dissect_acse_TransferSyntaxName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in return offset; } -static int dissect_transfer_syntaxes_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_TransferSyntaxName(FALSE, tvb, offset, actx, tree, hf_acse_transfer_syntaxes_item); -} -static int dissect_transfer_syntax_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_TransferSyntaxName(FALSE, tvb, offset, actx, tree, hf_acse_transfer_syntax_name); -} -static int dissect_transfer_syntax_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_TransferSyntaxName(TRUE, tvb, offset, actx, tree, hf_acse_transfer_syntax_name); -} -static const ber_old_sequence_t SEQUENCE_OF_TransferSyntaxName_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_transfer_syntaxes_item }, +static const ber_sequence_t SEQUENCE_OF_TransferSyntaxName_sequence_of[1] = { + { &hf_acse_transfer_syntaxes_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_acse_TransferSyntaxName }, }; static int dissect_acse_SEQUENCE_OF_TransferSyntaxName(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_OF_TransferSyntaxName_sequence_of, hf_index, ett_acse_SEQUENCE_OF_TransferSyntaxName); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_TransferSyntaxName_sequence_of, hf_index, ett_acse_SEQUENCE_OF_TransferSyntaxName); return offset; } -static int dissect_transfer_syntaxes(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_SEQUENCE_OF_TransferSyntaxName(FALSE, tvb, offset, actx, tree, hf_acse_transfer_syntaxes); -} -static const ber_old_sequence_t Context_list_item_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_pci }, - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_abstract_syntax }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_transfer_syntaxes }, - { 0, 0, 0, NULL } +static const ber_sequence_t Context_list_item_sequence[] = { + { &hf_acse_pci , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_acse_Presentation_context_identifier }, + { &hf_acse_abstract_syntax, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_acse_Abstract_syntax_name }, + { &hf_acse_transfer_syntaxes, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_acse_SEQUENCE_OF_TransferSyntaxName }, + { NULL, 0, 0, 0, NULL } }; static int dissect_acse_Context_list_item(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - Context_list_item_sequence, hf_index, ett_acse_Context_list_item); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + Context_list_item_sequence, hf_index, ett_acse_Context_list_item); return offset; } -static int dissect_Context_list_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Context_list_item(FALSE, tvb, offset, actx, tree, hf_acse_Context_list_item); -} -static const ber_old_sequence_t Context_list_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Context_list_item }, +static const ber_sequence_t Context_list_sequence_of[1] = { + { &hf_acse_Context_list_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_acse_Context_list_item }, }; static int dissect_acse_Context_list(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - Context_list_sequence_of, hf_index, ett_acse_Context_list); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + Context_list_sequence_of, hf_index, ett_acse_Context_list); return offset; } -static int dissect_context_list(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Context_list(FALSE, tvb, offset, actx, tree, hf_acse_context_list); -} -static const ber_old_sequence_t Default_Context_List_item_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_abstract_syntax_name_impl }, - { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_transfer_syntax_name_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t Default_Context_List_item_sequence[] = { + { &hf_acse_abstract_syntax_name, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_Abstract_syntax_name }, + { &hf_acse_transfer_syntax_name, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_acse_TransferSyntaxName }, + { NULL, 0, 0, 0, NULL } }; static int dissect_acse_Default_Context_List_item(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - Default_Context_List_item_sequence, hf_index, ett_acse_Default_Context_List_item); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + Default_Context_List_item_sequence, hf_index, ett_acse_Default_Context_List_item); return offset; } -static int dissect_Default_Context_List_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Default_Context_List_item(FALSE, tvb, offset, actx, tree, hf_acse_Default_Context_List_item); -} -static const ber_old_sequence_t Default_Context_List_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Default_Context_List_item }, +static const ber_sequence_t Default_Context_List_sequence_of[1] = { + { &hf_acse_Default_Context_List_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_acse_Default_Context_List_item }, }; static int dissect_acse_Default_Context_List(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - Default_Context_List_sequence_of, hf_index, ett_acse_Default_Context_List); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + Default_Context_List_sequence_of, hf_index, ett_acse_Default_Context_List); return offset; } -static int dissect_default_contact_list(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Default_Context_List(FALSE, tvb, offset, actx, tree, hf_acse_default_contact_list); -} static const value_string acse_Syntactic_context_list_vals[] = { @@ -1029,23 +849,20 @@ static const value_string acse_Syntactic_context_list_vals[] = { { 0, NULL } }; -static const ber_old_choice_t Syntactic_context_list_choice[] = { - { 0, BER_CLASS_CON, 0, 0, dissect_context_list }, - { 1, BER_CLASS_CON, 1, 0, dissect_default_contact_list }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t Syntactic_context_list_choice[] = { + { 0, &hf_acse_context_list , BER_CLASS_CON, 0, 0, dissect_acse_Context_list }, + { 1, &hf_acse_default_contact_list, BER_CLASS_CON, 1, 0, dissect_acse_Default_Context_List }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_acse_Syntactic_context_list(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_old_choice(actx, tree, tvb, offset, - Syntactic_context_list_choice, hf_index, ett_acse_Syntactic_context_list, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + Syntactic_context_list_choice, hf_index, ett_acse_Syntactic_context_list, + NULL); return offset; } -static int dissect_p_context_definition_list(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Syntactic_context_list(FALSE, tvb, offset, actx, tree, hf_acse_p_context_definition_list); -} @@ -1056,111 +873,88 @@ dissect_acse_ASOI_identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o return offset; } -static int dissect_asoi_identifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ASOI_identifier(TRUE, tvb, offset, actx, tree, hf_acse_asoi_identifier); -} -static int dissect_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ASOI_identifier(FALSE, tvb, offset, actx, tree, hf_acse_identifier); -} -static const ber_old_sequence_t ASOI_tag_item_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_qualifier }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_identifier }, - { 0, 0, 0, NULL } +static const ber_sequence_t ASOI_tag_item_sequence[] = { + { &hf_acse_qualifier , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_acse_ASO_qualifier }, + { &hf_acse_identifier , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_acse_ASOI_identifier }, + { NULL, 0, 0, 0, NULL } }; static int dissect_acse_ASOI_tag_item(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - ASOI_tag_item_sequence, hf_index, ett_acse_ASOI_tag_item); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ASOI_tag_item_sequence, hf_index, ett_acse_ASOI_tag_item); return offset; } -static int dissect_ASOI_tag_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ASOI_tag_item(FALSE, tvb, offset, actx, tree, hf_acse_ASOI_tag_item); -} -static const ber_old_sequence_t ASOI_tag_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ASOI_tag_item }, +static const ber_sequence_t ASOI_tag_sequence_of[1] = { + { &hf_acse_ASOI_tag_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_acse_ASOI_tag_item }, }; static int dissect_acse_ASOI_tag(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - ASOI_tag_sequence_of, hf_index, ett_acse_ASOI_tag); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + ASOI_tag_sequence_of, hf_index, ett_acse_ASOI_tag); return offset; } -static int dissect_called_asoi_tag_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ASOI_tag(TRUE, tvb, offset, actx, tree, hf_acse_called_asoi_tag); -} -static int dissect_calling_asoi_tag_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ASOI_tag(TRUE, tvb, offset, actx, tree, hf_acse_calling_asoi_tag); -} -static const ber_old_sequence_t Association_data_sequence_of[1] = { - { BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_Association_data_item }, +static const ber_sequence_t Association_data_sequence_of[1] = { + { &hf_acse_Association_data_item, BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_acse_EXTERNALt }, }; static int dissect_acse_Association_data(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - Association_data_sequence_of, hf_index, ett_acse_Association_data); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + Association_data_sequence_of, hf_index, ett_acse_Association_data); return offset; } -static int dissect_aARQ_user_information_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Association_data(TRUE, tvb, offset, actx, tree, hf_acse_aARQ_user_information); -} -static int dissect_aARE_user_information_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Association_data(TRUE, tvb, offset, actx, tree, hf_acse_aARE_user_information); -} -static int dissect_rLRQ_user_information_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Association_data(TRUE, tvb, offset, actx, tree, hf_acse_rLRQ_user_information); -} -static int dissect_rLRE_user_information_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Association_data(TRUE, tvb, offset, actx, tree, hf_acse_rLRE_user_information); -} -static int dissect_aBRT_user_information_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Association_data(TRUE, tvb, offset, actx, tree, hf_acse_aBRT_user_information); -} -static const ber_old_sequence_t AARQ_apdu_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_aARQ_protocol_version_impl }, - { BER_CLASS_CON, 1, 0, dissect_aARQ_aSO_context_name }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_called_AP_title }, - { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_called_AE_qualifier }, - { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_called_AP_invocation_identifier }, - { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_called_AE_invocation_identifier }, - { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_calling_AP_title }, - { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_calling_AE_qualifier }, - { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_calling_AP_invocation_identifier }, - { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL, dissect_calling_AE_invocation_identifier }, - { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sender_acse_requirements_impl }, - { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mechanism_name_impl }, - { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_calling_authentication_value }, - { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_aSO_context_name_list_impl }, - { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_implementation_information_impl }, - { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_p_context_definition_list }, - { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_called_asoi_tag_impl }, - { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calling_asoi_tag_impl }, - { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_aARQ_user_information_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t AARQ_apdu_U_sequence[] = { + { &hf_acse_aARQ_protocol_version, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_T_AARQ_protocol_version }, + { &hf_acse_aARQ_aSO_context_name, BER_CLASS_CON, 1, 0, dissect_acse_T_AARQ_aSO_context_name }, + { &hf_acse_called_AP_title, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_acse_AP_title }, + { &hf_acse_called_AE_qualifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_acse_AE_qualifier }, + { &hf_acse_called_AP_invocation_identifier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_acse_AP_invocation_identifier }, + { &hf_acse_called_AE_invocation_identifier, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_acse_AE_invocation_identifier }, + { &hf_acse_calling_AP_title, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_acse_AP_title }, + { &hf_acse_calling_AE_qualifier, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_acse_AE_qualifier }, + { &hf_acse_calling_AP_invocation_identifier, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_acse_AP_invocation_identifier }, + { &hf_acse_calling_AE_invocation_identifier, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL, dissect_acse_AE_invocation_identifier }, + { &hf_acse_sender_acse_requirements, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_ACSE_requirements }, + { &hf_acse_mechanism_name , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_Mechanism_name }, + { &hf_acse_calling_authentication_value, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_acse_Authentication_value }, + { &hf_acse_aSO_context_name_list, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_ASO_context_name_list }, + { &hf_acse_implementation_information, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_Implementation_data }, + { &hf_acse_p_context_definition_list, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_acse_Syntactic_context_list }, + { &hf_acse_called_asoi_tag, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_ASOI_tag }, + { &hf_acse_calling_asoi_tag, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_ASOI_tag }, + { &hf_acse_aARQ_user_information, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_Association_data }, + { NULL, 0, 0, 0, NULL } }; static int -dissect_acse_AARQ_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_) { - offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset, - AARQ_apdu_sequence, hf_index, ett_acse_AARQ_apdu); +dissect_acse_AARQ_apdu_U(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, + AARQ_apdu_U_sequence, hf_index, ett_acse_AARQ_apdu_U); return offset; } -static int dissect_aarq_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_AARQ_apdu(TRUE, tvb, offset, actx, tree, hf_acse_aarq); + + + +static int +dissect_acse_AARQ_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_) { + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 0, TRUE, dissect_acse_AARQ_apdu_U); + + return offset; } @@ -1177,15 +971,12 @@ dissect_acse_T_AARE_protocol_version(gboolean implicit_tag _U_, tvbuff_t *tvb _U return offset; } -static int dissect_aARE_protocol_version_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_T_AARE_protocol_version(TRUE, tvb, offset, actx, tree, hf_acse_aARE_protocol_version); -} static int dissect_acse_T_AARE_aSO_context_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 72 "acse.cnf" +#line 55 "acse.cnf" offset = dissect_ber_object_identifier_str(FALSE, actx, tree, tvb, offset, hf_index, &object_identifier_id); @@ -1193,9 +984,6 @@ dissect_acse_T_AARE_aSO_context_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U return offset; } -static int dissect_aARE_aSO_context_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_T_AARE_aSO_context_name(FALSE, tvb, offset, actx, tree, hf_acse_aARE_aSO_context_name); -} static const value_string acse_Associate_result_vals[] = { @@ -1213,9 +1001,6 @@ dissect_acse_Associate_result(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int return offset; } -static int dissect_aARE_result(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Associate_result(FALSE, tvb, offset, actx, tree, hf_acse_aARE_result); -} static const value_string acse_T_acse_service_user_vals[] = { @@ -1245,9 +1030,6 @@ dissect_acse_T_acse_service_user(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i return offset; } -static int dissect_acse_service_user(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_T_acse_service_user(FALSE, tvb, offset, actx, tree, hf_acse_acse_service_user); -} static const value_string acse_T_acse_service_provider_vals[] = { @@ -1265,9 +1047,6 @@ dissect_acse_T_acse_service_provider(gboolean implicit_tag _U_, tvbuff_t *tvb _U return offset; } -static int dissect_acse_service_provider(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_T_acse_service_provider(FALSE, tvb, offset, actx, tree, hf_acse_acse_service_provider); -} static const value_string acse_Associate_source_diagnostic_vals[] = { @@ -1276,23 +1055,20 @@ static const value_string acse_Associate_source_diagnostic_vals[] = { { 0, NULL } }; -static const ber_old_choice_t Associate_source_diagnostic_choice[] = { - { 1, BER_CLASS_CON, 1, 0, dissect_acse_service_user }, - { 2, BER_CLASS_CON, 2, 0, dissect_acse_service_provider }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t Associate_source_diagnostic_choice[] = { + { 1, &hf_acse_acse_service_user, BER_CLASS_CON, 1, 0, dissect_acse_T_acse_service_user }, + { 2, &hf_acse_acse_service_provider, BER_CLASS_CON, 2, 0, dissect_acse_T_acse_service_provider }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_acse_Associate_source_diagnostic(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_old_choice(actx, tree, tvb, offset, - Associate_source_diagnostic_choice, hf_index, ett_acse_Associate_source_diagnostic, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + Associate_source_diagnostic_choice, hf_index, ett_acse_Associate_source_diagnostic, + NULL); return offset; } -static int dissect_result_source_diagnostic(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Associate_source_diagnostic(FALSE, tvb, offset, actx, tree, hf_acse_result_source_diagnostic); -} static const value_string acse_Result_vals[] = { @@ -1310,9 +1086,6 @@ dissect_acse_Result(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_ return offset; } -static int dissect_pcontext_result_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Result(TRUE, tvb, offset, actx, tree, hf_acse_pcontext_result); -} @@ -1322,9 +1095,6 @@ dissect_acse_Concrete_syntax_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, return offset; } -static int dissect_concrete_syntax_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Concrete_syntax_name(TRUE, tvb, offset, actx, tree, hf_acse_concrete_syntax_name); -} static const value_string acse_T_provider_reason_vals[] = { @@ -1343,76 +1113,74 @@ dissect_acse_T_provider_reason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int return offset; } -static int dissect_provider_reason_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_T_provider_reason(TRUE, tvb, offset, actx, tree, hf_acse_provider_reason); -} -static const ber_old_sequence_t P_context_result_list_item_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_pcontext_result_impl }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_concrete_syntax_name_impl }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_provider_reason_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t P_context_result_list_item_sequence[] = { + { &hf_acse_pcontext_result, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_acse_Result }, + { &hf_acse_concrete_syntax_name, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_Concrete_syntax_name }, + { &hf_acse_provider_reason, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_T_provider_reason }, + { NULL, 0, 0, 0, NULL } }; static int dissect_acse_P_context_result_list_item(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - P_context_result_list_item_sequence, hf_index, ett_acse_P_context_result_list_item); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + P_context_result_list_item_sequence, hf_index, ett_acse_P_context_result_list_item); return offset; } -static int dissect_P_context_result_list_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_P_context_result_list_item(FALSE, tvb, offset, actx, tree, hf_acse_P_context_result_list_item); -} -static const ber_old_sequence_t P_context_result_list_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_P_context_result_list_item }, +static const ber_sequence_t P_context_result_list_sequence_of[1] = { + { &hf_acse_P_context_result_list_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_acse_P_context_result_list_item }, }; static int dissect_acse_P_context_result_list(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - P_context_result_list_sequence_of, hf_index, ett_acse_P_context_result_list); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + P_context_result_list_sequence_of, hf_index, ett_acse_P_context_result_list); return offset; } -static int dissect_p_context_result_list_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_P_context_result_list(TRUE, tvb, offset, actx, tree, hf_acse_p_context_result_list); -} -static const ber_old_sequence_t AARE_apdu_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_aARE_protocol_version_impl }, - { BER_CLASS_CON, 1, 0, dissect_aARE_aSO_context_name }, - { BER_CLASS_CON, 2, 0, dissect_aARE_result }, - { BER_CLASS_CON, 3, BER_FLAGS_NOTCHKTAG, dissect_result_source_diagnostic }, - { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_responding_AP_title }, - { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_responding_AE_qualifier }, - { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_responding_AP_invocation_identifier }, - { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_responding_AE_invocation_identifier }, - { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_responder_acse_requirements_impl }, - { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mechanism_name_impl }, - { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_responding_authentication_value }, - { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_aSO_context_name_list_impl }, - { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_implementation_information_impl }, - { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p_context_result_list_impl }, - { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_called_asoi_tag_impl }, - { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calling_asoi_tag_impl }, - { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_aARE_user_information_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t AARE_apdu_U_sequence[] = { + { &hf_acse_aARE_protocol_version, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_T_AARE_protocol_version }, + { &hf_acse_aARE_aSO_context_name, BER_CLASS_CON, 1, 0, dissect_acse_T_AARE_aSO_context_name }, + { &hf_acse_result , BER_CLASS_CON, 2, 0, dissect_acse_Associate_result }, + { &hf_acse_result_source_diagnostic, BER_CLASS_CON, 3, BER_FLAGS_NOTCHKTAG, dissect_acse_Associate_source_diagnostic }, + { &hf_acse_responding_AP_title, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_acse_AP_title }, + { &hf_acse_responding_AE_qualifier, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_acse_AE_qualifier }, + { &hf_acse_responding_AP_invocation_identifier, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_acse_AP_invocation_identifier }, + { &hf_acse_responding_AE_invocation_identifier, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_acse_AE_invocation_identifier }, + { &hf_acse_responder_acse_requirements, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_ACSE_requirements }, + { &hf_acse_mechanism_name , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_Mechanism_name }, + { &hf_acse_responding_authentication_value, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_acse_Authentication_value }, + { &hf_acse_aSO_context_name_list, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_ASO_context_name_list }, + { &hf_acse_implementation_information, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_Implementation_data }, + { &hf_acse_p_context_result_list, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_P_context_result_list }, + { &hf_acse_called_asoi_tag, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_ASOI_tag }, + { &hf_acse_calling_asoi_tag, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_ASOI_tag }, + { &hf_acse_aARE_user_information, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_Association_data }, + { NULL, 0, 0, 0, NULL } }; static int -dissect_acse_AARE_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_) { - offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset, - AARE_apdu_sequence, hf_index, ett_acse_AARE_apdu); +dissect_acse_AARE_apdu_U(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, + AARE_apdu_U_sequence, hf_index, ett_acse_AARE_apdu_U); return offset; } -static int dissect_aare_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_AARE_apdu(TRUE, tvb, offset, actx, tree, hf_acse_aare); + + + +static int +dissect_acse_AARE_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_) { + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 1, TRUE, dissect_acse_AARE_apdu_U); + + return offset; } @@ -1426,7 +1194,7 @@ static const value_string acse_Release_request_reason_vals[] = { static int dissect_acse_Release_request_reason(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 110 "acse.cnf" +#line 93 "acse.cnf" int reason = -1; offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, @@ -1441,28 +1209,32 @@ dissect_acse_Release_request_reason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_ return offset; } -static int dissect_rLRQ_reason_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Release_request_reason(TRUE, tvb, offset, actx, tree, hf_acse_rLRQ_reason); -} -static const ber_old_sequence_t RLRQ_apdu_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rLRQ_reason_impl }, - { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_aso_qualifier }, - { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_asoi_identifier_impl }, - { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rLRQ_user_information_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t RLRQ_apdu_U_sequence[] = { + { &hf_acse_rLRQ_reason , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_Release_request_reason }, + { &hf_acse_aso_qualifier , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_acse_ASO_qualifier }, + { &hf_acse_asoi_identifier, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_ASOI_identifier }, + { &hf_acse_rLRQ_user_information, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_Association_data }, + { NULL, 0, 0, 0, NULL } }; static int -dissect_acse_RLRQ_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_) { - offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset, - RLRQ_apdu_sequence, hf_index, ett_acse_RLRQ_apdu); +dissect_acse_RLRQ_apdu_U(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, + RLRQ_apdu_U_sequence, hf_index, ett_acse_RLRQ_apdu_U); return offset; } -static int dissect_rlrq_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_RLRQ_apdu(TRUE, tvb, offset, actx, tree, hf_acse_rlrq); + + + +static int +dissect_acse_RLRQ_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_) { + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 2, TRUE, dissect_acse_RLRQ_apdu_U); + + return offset; } @@ -1476,7 +1248,7 @@ static const value_string acse_Release_response_reason_vals[] = { static int dissect_acse_Release_response_reason(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 122 "acse.cnf" +#line 105 "acse.cnf" int reason = -1; offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, @@ -1491,28 +1263,32 @@ dissect_acse_Release_response_reason(gboolean implicit_tag _U_, tvbuff_t *tvb _U return offset; } -static int dissect_rLRE_reason_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Release_response_reason(TRUE, tvb, offset, actx, tree, hf_acse_rLRE_reason); -} -static const ber_old_sequence_t RLRE_apdu_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rLRE_reason_impl }, - { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_aso_qualifier }, - { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_asoi_identifier_impl }, - { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rLRE_user_information_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t RLRE_apdu_U_sequence[] = { + { &hf_acse_rLRE_reason , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_Release_response_reason }, + { &hf_acse_aso_qualifier , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_acse_ASO_qualifier }, + { &hf_acse_asoi_identifier, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_ASOI_identifier }, + { &hf_acse_rLRE_user_information, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_Association_data }, + { NULL, 0, 0, 0, NULL } }; static int -dissect_acse_RLRE_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_) { - offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset, - RLRE_apdu_sequence, hf_index, ett_acse_RLRE_apdu); +dissect_acse_RLRE_apdu_U(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, + RLRE_apdu_U_sequence, hf_index, ett_acse_RLRE_apdu_U); return offset; } -static int dissect_rlre_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_RLRE_apdu(TRUE, tvb, offset, actx, tree, hf_acse_rlre); + + + +static int +dissect_acse_RLRE_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_) { + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 3, TRUE, dissect_acse_RLRE_apdu_U); + + return offset; } @@ -1530,9 +1306,6 @@ dissect_acse_ABRT_source(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse return offset; } -static int dissect_abort_source_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ABRT_source(TRUE, tvb, offset, actx, tree, hf_acse_abort_source); -} static const value_string acse_ABRT_diagnostic_vals[] = { @@ -1553,29 +1326,33 @@ dissect_acse_ABRT_diagnostic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o return offset; } -static int dissect_abort_diagnostic_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ABRT_diagnostic(TRUE, tvb, offset, actx, tree, hf_acse_abort_diagnostic); -} -static const ber_old_sequence_t ABRT_apdu_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_abort_source_impl }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_abort_diagnostic_impl }, - { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_aso_qualifier }, - { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_asoi_identifier_impl }, - { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_aBRT_user_information_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t ABRT_apdu_U_sequence[] = { + { &hf_acse_abort_source , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_acse_ABRT_source }, + { &hf_acse_abort_diagnostic, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_ABRT_diagnostic }, + { &hf_acse_aso_qualifier , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_acse_ASO_qualifier }, + { &hf_acse_asoi_identifier, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_ASOI_identifier }, + { &hf_acse_aBRT_user_information, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_Association_data }, + { NULL, 0, 0, 0, NULL } }; static int -dissect_acse_ABRT_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_) { - offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset, - ABRT_apdu_sequence, hf_index, ett_acse_ABRT_apdu); +dissect_acse_ABRT_apdu_U(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, + ABRT_apdu_U_sequence, hf_index, ett_acse_ABRT_apdu_U); return offset; } -static int dissect_abrt_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ABRT_apdu(TRUE, tvb, offset, actx, tree, hf_acse_abrt); + + + +static int +dissect_acse_ABRT_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_) { + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 4, TRUE, dissect_acse_ABRT_apdu_U); + + return offset; } @@ -1586,12 +1363,6 @@ dissect_acse_User_information(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int return offset; } -static int dissect_user_information(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_User_information(FALSE, tvb, offset, actx, tree, hf_acse_user_information); -} -static int dissect_user_information_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_User_information(TRUE, tvb, offset, actx, tree, hf_acse_user_information); -} @@ -1602,24 +1373,18 @@ dissect_acse_Simply_encoded_data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i return offset; } -static int dissect_simply_encoded_data(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_Simply_encoded_data(FALSE, tvb, offset, actx, tree, hf_acse_simply_encoded_data); -} static int dissect_acse_T_simple_ASN1_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 65 "acse.cnf" +#line 48 "acse.cnf" /*XXX not implemented yet */ return offset; } -static int dissect_simple_ASN1_type(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_T_simple_ASN1_type(FALSE, tvb, offset, actx, tree, hf_acse_simple_ASN1_type); -} @@ -1630,9 +1395,6 @@ dissect_acse_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs return offset; } -static int dissect_octet_aligned_01_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_OCTET_STRING(TRUE, tvb, offset, actx, tree, hf_acse_octet_aligned_01); -} static const value_string acse_T_presentation_data_values_vals[] = { @@ -1642,43 +1404,37 @@ static const value_string acse_T_presentation_data_values_vals[] = { { 0, NULL } }; -static const ber_old_choice_t T_presentation_data_values_choice[] = { - { 0, BER_CLASS_CON, 0, 0, dissect_simple_ASN1_type }, - { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_octet_aligned_01_impl }, - { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_arbitrary_impl }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t T_presentation_data_values_choice[] = { + { 0, &hf_acse_simple_ASN1_type, BER_CLASS_CON, 0, 0, dissect_acse_T_simple_ASN1_type }, + { 1, &hf_acse_octet_aligned_01, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_acse_OCTET_STRING }, + { 2, &hf_acse_arbitrary , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_acse_BIT_STRING }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_acse_T_presentation_data_values(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_old_choice(actx, tree, tvb, offset, - T_presentation_data_values_choice, hf_index, ett_acse_T_presentation_data_values, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + T_presentation_data_values_choice, hf_index, ett_acse_T_presentation_data_values, + NULL); return offset; } -static int dissect_presentation_data_values(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_T_presentation_data_values(FALSE, tvb, offset, actx, tree, hf_acse_presentation_data_values); -} -static const ber_old_sequence_t PDV_list_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_transfer_syntax_name }, - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_presentation_context_identifier }, - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_presentation_data_values }, - { 0, 0, 0, NULL } +static const ber_sequence_t PDV_list_sequence[] = { + { &hf_acse_transfer_syntax_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_acse_TransferSyntaxName }, + { &hf_acse_presentation_context_identifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_acse_Presentation_context_identifier }, + { &hf_acse_presentation_data_values, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_acse_T_presentation_data_values }, + { NULL, 0, 0, 0, NULL } }; static int dissect_acse_PDV_list(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - PDV_list_sequence, hf_index, ett_acse_PDV_list); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + PDV_list_sequence, hf_index, ett_acse_PDV_list); return offset; } -static int dissect_fully_encoded_data(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_PDV_list(FALSE, tvb, offset, actx, tree, hf_acse_fully_encoded_data); -} static const value_string acse_User_Data_vals[] = { @@ -1688,49 +1444,53 @@ static const value_string acse_User_Data_vals[] = { { 0, NULL } }; -static const ber_old_choice_t User_Data_choice[] = { - { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_user_information }, - { 1, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_simply_encoded_data }, - { 2, BER_CLASS_CON, 0, 0, dissect_fully_encoded_data }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t User_Data_choice[] = { + { 0, &hf_acse_user_information, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_acse_User_information }, + { 1, &hf_acse_simply_encoded_data, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_acse_Simply_encoded_data }, + { 2, &hf_acse_fully_encoded_data, BER_CLASS_CON, 0, 0, dissect_acse_PDV_list }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_acse_User_Data(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_old_choice(actx, tree, tvb, offset, - User_Data_choice, hf_index, ett_acse_User_Data, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + User_Data_choice, hf_index, ett_acse_User_Data, + NULL); return offset; } -static int dissect_a_user_data(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_User_Data(FALSE, tvb, offset, actx, tree, hf_acse_a_user_data); -} -static const ber_old_sequence_t A_DT_apdu_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_aso_qualifier }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_asoi_identifier_impl }, - { BER_CLASS_CON, 30, BER_FLAGS_NOTCHKTAG, dissect_a_user_data }, - { 0, 0, 0, NULL } +static const ber_sequence_t A_DT_apdu_U_sequence[] = { + { &hf_acse_aso_qualifier , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_acse_ASO_qualifier }, + { &hf_acse_asoi_identifier, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_ASOI_identifier }, + { &hf_acse_a_user_data , BER_CLASS_CON, 30, BER_FLAGS_NOTCHKTAG, dissect_acse_User_Data }, + { NULL, 0, 0, 0, NULL } }; static int -dissect_acse_A_DT_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_) { - offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset, - A_DT_apdu_sequence, hf_index, ett_acse_A_DT_apdu); +dissect_acse_A_DT_apdu_U(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, + A_DT_apdu_U_sequence, hf_index, ett_acse_A_DT_apdu_U); return offset; } -static int dissect_adt_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_A_DT_apdu(TRUE, tvb, offset, actx, tree, hf_acse_adt); + + + +static int +dissect_acse_A_DT_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_) { + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 5, TRUE, dissect_acse_A_DT_apdu_U); + + return offset; } static int dissect_acse_T_ACRQ_aSO_context_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 76 "acse.cnf" +#line 59 "acse.cnf" offset = dissect_ber_object_identifier_str(FALSE, actx, tree, tvb, offset, hf_index, &object_identifier_id); @@ -1738,37 +1498,41 @@ dissect_acse_T_ACRQ_aSO_context_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U return offset; } -static int dissect_aCRQ_aSO_context_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_T_ACRQ_aSO_context_name(TRUE, tvb, offset, actx, tree, hf_acse_aCRQ_aSO_context_name); -} -static const ber_old_sequence_t ACRQ_apdu_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_aso_qualifier }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_asoi_identifier_impl }, - { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_aCRQ_aSO_context_name_impl }, - { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_aSO_context_name_list_impl }, - { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_p_context_definition_list }, - { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_user_information_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t ACRQ_apdu_U_sequence[] = { + { &hf_acse_aso_qualifier , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_acse_ASO_qualifier }, + { &hf_acse_asoi_identifier, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_ASOI_identifier }, + { &hf_acse_aCRQ_aSO_context_name, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_T_ACRQ_aSO_context_name }, + { &hf_acse_aSO_context_name_list, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_ASO_context_name_list }, + { &hf_acse_p_context_definition_list, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_acse_Syntactic_context_list }, + { &hf_acse_user_information, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_User_information }, + { NULL, 0, 0, 0, NULL } }; static int -dissect_acse_ACRQ_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_) { - offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset, - ACRQ_apdu_sequence, hf_index, ett_acse_ACRQ_apdu); +dissect_acse_ACRQ_apdu_U(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, + ACRQ_apdu_U_sequence, hf_index, ett_acse_ACRQ_apdu_U); return offset; } -static int dissect_acrq_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ACRQ_apdu(TRUE, tvb, offset, actx, tree, hf_acse_acrq); + + + +static int +dissect_acse_ACRQ_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_) { + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 6, TRUE, dissect_acse_ACRQ_apdu_U); + + return offset; } static int dissect_acse_T_ACRP_aSO_context_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 80 "acse.cnf" +#line 63 "acse.cnf" offset = dissect_ber_object_identifier_str(FALSE, actx, tree, tvb, offset, hf_index, &object_identifier_id); @@ -1776,29 +1540,33 @@ dissect_acse_T_ACRP_aSO_context_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U return offset; } -static int dissect_aSO_context_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_T_ACRP_aSO_context_name(TRUE, tvb, offset, actx, tree, hf_acse_aSO_context_name); -} -static const ber_old_sequence_t ACRP_apdu_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_aso_qualifier }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_asoi_identifier_impl }, - { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_aSO_context_name_impl }, - { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p_context_result_list_impl }, - { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_user_information_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t ACRP_apdu_U_sequence[] = { + { &hf_acse_aso_qualifier , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_acse_ASO_qualifier }, + { &hf_acse_asoi_identifier, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_ASOI_identifier }, + { &hf_acse_aSO_context_name, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_T_ACRP_aSO_context_name }, + { &hf_acse_p_context_result_list, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_P_context_result_list }, + { &hf_acse_user_information, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acse_User_information }, + { NULL, 0, 0, 0, NULL } }; static int -dissect_acse_ACRP_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_) { - offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset, - ACRP_apdu_sequence, hf_index, ett_acse_ACRP_apdu); +dissect_acse_ACRP_apdu_U(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, + ACRP_apdu_U_sequence, hf_index, ett_acse_ACRP_apdu_U); return offset; } -static int dissect_acrp_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_ACRP_apdu(TRUE, tvb, offset, actx, tree, hf_acse_acrp); + + + +static int +dissect_acse_ACRP_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_) { + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 7, TRUE, dissect_acse_ACRP_apdu_U); + + return offset; } @@ -1814,23 +1582,23 @@ static const value_string acse_ACSE_apdu_vals[] = { { 0, NULL } }; -static const ber_old_choice_t ACSE_apdu_choice[] = { - { 0, BER_CLASS_APP, 0, BER_FLAGS_IMPLTAG, dissect_aarq_impl }, - { 1, BER_CLASS_APP, 1, BER_FLAGS_IMPLTAG, dissect_aare_impl }, - { 2, BER_CLASS_APP, 2, BER_FLAGS_IMPLTAG, dissect_rlrq_impl }, - { 3, BER_CLASS_APP, 3, BER_FLAGS_IMPLTAG, dissect_rlre_impl }, - { 4, BER_CLASS_APP, 4, BER_FLAGS_IMPLTAG, dissect_abrt_impl }, - { 5, BER_CLASS_APP, 5, BER_FLAGS_IMPLTAG, dissect_adt_impl }, - { 6, BER_CLASS_APP, 6, BER_FLAGS_IMPLTAG, dissect_acrq_impl }, - { 7, BER_CLASS_APP, 7, BER_FLAGS_IMPLTAG, dissect_acrp_impl }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t ACSE_apdu_choice[] = { + { 0, &hf_acse_aarq , BER_CLASS_APP, 0, BER_FLAGS_IMPLTAG, dissect_acse_AARQ_apdu }, + { 1, &hf_acse_aare , BER_CLASS_APP, 1, BER_FLAGS_IMPLTAG, dissect_acse_AARE_apdu }, + { 2, &hf_acse_rlrq , BER_CLASS_APP, 2, BER_FLAGS_IMPLTAG, dissect_acse_RLRQ_apdu }, + { 3, &hf_acse_rlre , BER_CLASS_APP, 3, BER_FLAGS_IMPLTAG, dissect_acse_RLRE_apdu }, + { 4, &hf_acse_abrt , BER_CLASS_APP, 4, BER_FLAGS_IMPLTAG, dissect_acse_ABRT_apdu }, + { 5, &hf_acse_adt , BER_CLASS_APP, 5, BER_FLAGS_IMPLTAG, dissect_acse_A_DT_apdu }, + { 6, &hf_acse_acrq , BER_CLASS_APP, 6, BER_FLAGS_IMPLTAG, dissect_acse_ACRQ_apdu }, + { 7, &hf_acse_acrp , BER_CLASS_APP, 7, BER_FLAGS_IMPLTAG, dissect_acse_ACRP_apdu }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_acse_ACSE_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_) { - offset = dissect_ber_old_choice(actx, tree, tvb, offset, - ACSE_apdu_choice, hf_index, ett_acse_ACSE_apdu, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + ACSE_apdu_choice, hf_index, ett_acse_ACSE_apdu, + NULL); return offset; } @@ -1852,9 +1620,6 @@ dissect_acse_AE_title_form1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of return offset; } -static int dissect_ae_title_form1(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_AE_title_form1(FALSE, tvb, offset, actx, tree, hf_acse_ae_title_form1); -} @@ -1864,9 +1629,6 @@ dissect_acse_AE_title_form2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of return offset; } -static int dissect_ae_title_form2(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_acse_AE_title_form2(FALSE, tvb, offset, actx, tree, hf_acse_ae_title_form2); -} const value_string acse_AE_title_vals[] = { @@ -1875,17 +1637,17 @@ const value_string acse_AE_title_vals[] = { { 0, NULL } }; -static const ber_old_choice_t AE_title_choice[] = { - { 0, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_ae_title_form1 }, - { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ae_title_form2 }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t AE_title_choice[] = { + { 0, &hf_acse_ae_title_form1 , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AE_title_form1 }, + { 1, &hf_acse_ae_title_form2 , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_acse_AE_title_form2 }, + { 0, NULL, 0, 0, 0, NULL } }; int dissect_acse_AE_title(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_old_choice(actx, tree, tvb, offset, - AE_title_choice, hf_index, ett_acse_AE_title, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + AE_title_choice, hf_index, ett_acse_AE_title, + NULL); return offset; } @@ -2145,7 +1907,7 @@ void proto_register_acse(void) { { "aSO-context-name", "acse.aSO_context_name", FT_OID, BASE_NONE, NULL, 0, "acse.T_AARE_aSO_context_name", HFILL }}, - { &hf_acse_aARE_result, + { &hf_acse_result, { "result", "acse.result", FT_UINT32, BASE_DEC, VALS(acse_Associate_result_vals), 0, "acse.Associate_result", HFILL }}, @@ -2440,19 +2202,19 @@ void proto_register_acse(void) { /*--- Included file: packet-acse-ettarr.c ---*/ #line 1 "packet-acse-ettarr.c" - &ett_acse_EXTERNALt, + &ett_acse_EXTERNALt_U, &ett_acse_T_encoding, &ett_acse_ACSE_apdu, - &ett_acse_AARQ_apdu, + &ett_acse_AARQ_apdu_U, &ett_acse_T_AARQ_protocol_version, - &ett_acse_AARE_apdu, + &ett_acse_AARE_apdu_U, &ett_acse_T_AARE_protocol_version, - &ett_acse_RLRQ_apdu, - &ett_acse_RLRE_apdu, - &ett_acse_ABRT_apdu, - &ett_acse_A_DT_apdu, - &ett_acse_ACRQ_apdu, - &ett_acse_ACRP_apdu, + &ett_acse_RLRQ_apdu_U, + &ett_acse_RLRE_apdu_U, + &ett_acse_ABRT_apdu_U, + &ett_acse_A_DT_apdu_U, + &ett_acse_ACRQ_apdu_U, + &ett_acse_ACRP_apdu_U, &ett_acse_ACSE_requirements, &ett_acse_AP_title, &ett_acse_ASO_qualifier, diff --git a/epan/dissectors/packet-acse.h b/epan/dissectors/packet-acse.h index 5bc4693709..ce07ac7ca5 100644 --- a/epan/dissectors/packet-acse.h +++ b/epan/dissectors/packet-acse.h @@ -1,7 +1,7 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-acse.h */ -/* ../../tools/asn2wrs.py -b -e -p acse -c acse.cnf -s packet-acse-template acse.asn */ +/* ../../tools/asn2wrs.py -b -e -X -T -p acse -c acse.cnf -s packet-acse-template acse.asn */ /* Input file: packet-acse-template.h */ diff --git a/epan/dissectors/packet-x509af.c b/epan/dissectors/packet-x509af.c index 9120a011dd..86ef1ba8c5 100644 --- a/epan/dissectors/packet-x509af.c +++ b/epan/dissectors/packet-x509af.c @@ -1,7 +1,7 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-x509af.c */ -/* ../../tools/asn2wrs.py -b -e -p x509af -c x509af.cnf -s packet-x509af-template AuthenticationFramework.asn */ +/* ../../tools/asn2wrs.py -b -e -X -T -p x509af -c x509af.cnf -s packet-x509af-template AuthenticationFramework.asn */ /* Input file: packet-x509af-template.c */ @@ -187,42 +187,6 @@ static const char *extension_id; /*--- Included file: packet-x509af-fn.c ---*/ #line 1 "packet-x509af-fn.c" -/*--- Fields for imported types ---*/ - -static int dissect_issuer(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_Name(FALSE, tvb, offset, actx, tree, hf_x509af_issuer); -} -static int dissect_issuerUniqueIdentifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_UniqueIdentifier(TRUE, tvb, offset, actx, tree, hf_x509af_issuerUniqueIdentifier); -} -static int dissect_subjectUniqueIdentifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_UniqueIdentifier(TRUE, tvb, offset, actx, tree, hf_x509af_subjectUniqueIdentifier); -} -static int dissect_rdnSequence(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_RDNSequence(FALSE, tvb, offset, actx, tree, hf_x509af_rdnSequence); -} -static int dissect_infoSubjectName(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralNames(FALSE, tvb, offset, actx, tree, hf_x509af_infoSubjectName); -} -static int dissect_issuerName(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralNames(FALSE, tvb, offset, actx, tree, hf_x509af_issuerName); -} -static int dissect_attributes_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_Attribute(FALSE, tvb, offset, actx, tree, hf_x509af_attributes_item); -} -static int dissect_issuerUniqueID(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_UniqueIdentifier(FALSE, tvb, offset, actx, tree, hf_x509af_issuerUniqueID); -} -static int dissect_issuerUID(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_UniqueIdentifier(FALSE, tvb, offset, actx, tree, hf_x509af_issuerUID); -} -static int dissect_assertionIssuer(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_Name(FALSE, tvb, offset, actx, tree, hf_x509af_assertionIssuer); -} -static int dissect_attType_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeType(FALSE, tvb, offset, actx, tree, hf_x509af_attType_item); -} - const value_string x509af_Version_vals[] = { { 0, "v1" }, @@ -239,9 +203,6 @@ dissect_x509af_Version(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset return offset; } -static int dissect_version(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_Version(FALSE, tvb, offset, actx, tree, hf_x509af_version); -} @@ -252,15 +213,6 @@ dissect_x509af_CertificateSerialNumber(gboolean implicit_tag _U_, tvbuff_t *tvb return offset; } -static int dissect_serialNumber(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_CertificateSerialNumber(FALSE, tvb, offset, actx, tree, hf_x509af_serialNumber); -} -static int dissect_revokedUserCertificate(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_CertificateSerialNumber(FALSE, tvb, offset, actx, tree, hf_x509af_revokedUserCertificate); -} -static int dissect_serial(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_CertificateSerialNumber(FALSE, tvb, offset, actx, tree, hf_x509af_serial); -} @@ -282,9 +234,6 @@ dissect_x509af_T_algorithmId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o return offset; } -static int dissect_algorithmId(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_T_algorithmId(FALSE, tvb, offset, actx, tree, hf_x509af_algorithmId); -} @@ -297,33 +246,21 @@ dissect_x509af_T_parameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of return offset; } -static int dissect_parameters(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_T_parameters(FALSE, tvb, offset, actx, tree, hf_x509af_parameters); -} -static const ber_old_sequence_t AlgorithmIdentifier_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_algorithmId }, - { BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_parameters }, - { 0, 0, 0, NULL } +static const ber_sequence_t AlgorithmIdentifier_sequence[] = { + { &hf_x509af_algorithmId , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509af_T_algorithmId }, + { &hf_x509af_parameters , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509af_T_parameters }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509af_AlgorithmIdentifier(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - AlgorithmIdentifier_sequence, hf_index, ett_x509af_AlgorithmIdentifier); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + AlgorithmIdentifier_sequence, hf_index, ett_x509af_AlgorithmIdentifier); return offset; } -static int dissect_signature(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_AlgorithmIdentifier(FALSE, tvb, offset, actx, tree, hf_x509af_signature); -} -static int dissect_algorithmIdentifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_AlgorithmIdentifier(FALSE, tvb, offset, actx, tree, hf_x509af_algorithmIdentifier); -} -static int dissect_algorithm(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_AlgorithmIdentifier(FALSE, tvb, offset, actx, tree, hf_x509af_algorithm); -} @@ -335,9 +272,6 @@ dissect_x509af_UTCTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset return offset; } -static int dissect_utcTime(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_UTCTime(FALSE, tvb, offset, actx, tree, hf_x509af_utcTime); -} @@ -347,18 +281,6 @@ dissect_x509af_GeneralizedTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int return offset; } -static int dissect_generalizedTime(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_GeneralizedTime(FALSE, tvb, offset, actx, tree, hf_x509af_generalizedTime); -} -static int dissect_notBeforeTime(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_GeneralizedTime(FALSE, tvb, offset, actx, tree, hf_x509af_notBeforeTime); -} -static int dissect_notAfterTime(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_GeneralizedTime(FALSE, tvb, offset, actx, tree, hf_x509af_notAfterTime); -} -static int dissect_attCertValidity(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_GeneralizedTime(FALSE, tvb, offset, actx, tree, hf_x509af_attCertValidity); -} const value_string x509af_Time_vals[] = { @@ -367,53 +289,35 @@ const value_string x509af_Time_vals[] = { { 0, NULL } }; -static const ber_old_choice_t Time_choice[] = { - { 0, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_utcTime }, - { 1, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_generalizedTime }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t Time_choice[] = { + { 0, &hf_x509af_utcTime , BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_x509af_UTCTime }, + { 1, &hf_x509af_generalizedTime, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_x509af_GeneralizedTime }, + { 0, NULL, 0, 0, 0, NULL } }; int dissect_x509af_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_) { - offset = dissect_ber_old_choice(actx, tree, tvb, offset, - Time_choice, hf_index, ett_x509af_Time, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + Time_choice, hf_index, ett_x509af_Time, + NULL); return offset; } -static int dissect_notBefore(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_Time(FALSE, tvb, offset, actx, tree, hf_x509af_notBefore); -} -static int dissect_notAfter(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_Time(FALSE, tvb, offset, actx, tree, hf_x509af_notAfter); -} -static int dissect_thisUpdate(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_Time(FALSE, tvb, offset, actx, tree, hf_x509af_thisUpdate); -} -static int dissect_nextUpdate(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_Time(FALSE, tvb, offset, actx, tree, hf_x509af_nextUpdate); -} -static int dissect_revocationDate(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_Time(FALSE, tvb, offset, actx, tree, hf_x509af_revocationDate); -} -static const ber_old_sequence_t Validity_sequence[] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_notBefore }, - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_notAfter }, - { 0, 0, 0, NULL } +static const ber_sequence_t Validity_sequence[] = { + { &hf_x509af_notBefore , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509af_Time }, + { &hf_x509af_notAfter , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509af_Time }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509af_Validity(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - Validity_sequence, hf_index, ett_x509af_Validity); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + Validity_sequence, hf_index, ett_x509af_Validity); return offset; } -static int dissect_validity(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_Validity(FALSE, tvb, offset, actx, tree, hf_x509af_validity); -} static const value_string x509af_SubjectName_vals[] = { @@ -421,9 +325,9 @@ static const value_string x509af_SubjectName_vals[] = { { 0, NULL } }; -static const ber_old_choice_t SubjectName_choice[] = { - { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_rdnSequence }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t SubjectName_choice[] = { + { 0, &hf_x509af_rdnSequence , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_RDNSequence }, + { 0, NULL, 0, 0, 0, NULL } }; static int @@ -431,9 +335,9 @@ dissect_x509af_SubjectName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off #line 107 "x509af.cnf" const char* str; - offset = dissect_ber_old_choice(actx, tree, tvb, offset, - SubjectName_choice, hf_index, ett_x509af_SubjectName, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + SubjectName_choice, hf_index, ett_x509af_SubjectName, + NULL); str = x509if_get_last_dn(); @@ -443,12 +347,6 @@ dissect_x509af_SubjectName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off return offset; } -static int dissect_subject(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_SubjectName(FALSE, tvb, offset, actx, tree, hf_x509af_subject); -} -static int dissect_assertionSubjectName(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_SubjectName(FALSE, tvb, offset, actx, tree, hf_x509af_assertionSubjectName); -} @@ -460,30 +358,21 @@ dissect_x509af_BIT_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs return offset; } -static int dissect_encrypted(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_BIT_STRING(FALSE, tvb, offset, actx, tree, hf_x509af_encrypted); -} -static int dissect_subjectPublicKey(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_BIT_STRING(FALSE, tvb, offset, actx, tree, hf_x509af_subjectPublicKey); -} -static const ber_old_sequence_t SubjectPublicKeyInfo_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithm }, - { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_subjectPublicKey }, - { 0, 0, 0, NULL } +static const ber_sequence_t SubjectPublicKeyInfo_sequence[] = { + { &hf_x509af_algorithm , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, + { &hf_x509af_subjectPublicKey, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x509af_BIT_STRING }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509af_SubjectPublicKeyInfo(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - SubjectPublicKeyInfo_sequence, hf_index, ett_x509af_SubjectPublicKeyInfo); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + SubjectPublicKeyInfo_sequence, hf_index, ett_x509af_SubjectPublicKeyInfo); return offset; } -static int dissect_subjectPublicKeyInfo(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_SubjectPublicKeyInfo(FALSE, tvb, offset, actx, tree, hf_x509af_subjectPublicKeyInfo); -} @@ -505,9 +394,6 @@ dissect_x509af_T_extnId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset return offset; } -static int dissect_extnId(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_T_extnId(FALSE, tvb, offset, actx, tree, hf_x509af_extnId); -} @@ -517,9 +403,6 @@ dissect_x509af_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset return offset; } -static int dissect_critical(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_BOOLEAN(FALSE, tvb, offset, actx, tree, hf_x509af_critical); -} @@ -539,296 +422,239 @@ dissect_x509af_T_extnValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off return offset; } -static int dissect_extnValue(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_T_extnValue(FALSE, tvb, offset, actx, tree, hf_x509af_extnValue); -} -static const ber_old_sequence_t Extension_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_extnId }, - { BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_critical }, - { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_extnValue }, - { 0, 0, 0, NULL } +static const ber_sequence_t Extension_sequence[] = { + { &hf_x509af_extnId , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509af_T_extnId }, + { &hf_x509af_critical , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509af_BOOLEAN }, + { &hf_x509af_extnValue , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x509af_T_extnValue }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509af_Extension(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - Extension_sequence, hf_index, ett_x509af_Extension); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + Extension_sequence, hf_index, ett_x509af_Extension); return offset; } -static int dissect_Extensions_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_Extension(FALSE, tvb, offset, actx, tree, hf_x509af_Extensions_item); -} -static const ber_old_sequence_t Extensions_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Extensions_item }, +static const ber_sequence_t Extensions_sequence_of[1] = { + { &hf_x509af_Extensions_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_Extension }, }; int dissect_x509af_Extensions(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - Extensions_sequence_of, hf_index, ett_x509af_Extensions); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + Extensions_sequence_of, hf_index, ett_x509af_Extensions); return offset; } -static int dissect_extensions(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_Extensions(FALSE, tvb, offset, actx, tree, hf_x509af_extensions); -} -static int dissect_crlEntryExtensions(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_Extensions(FALSE, tvb, offset, actx, tree, hf_x509af_crlEntryExtensions); -} -static int dissect_crlExtensions(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_Extensions(FALSE, tvb, offset, actx, tree, hf_x509af_crlExtensions); -} -static const ber_old_sequence_t T_signedCertificate_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_version }, - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serialNumber }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signature }, - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_issuer }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_validity }, - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_subject }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_subjectPublicKeyInfo }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_issuerUniqueIdentifier_impl }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_subjectUniqueIdentifier_impl }, - { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_extensions }, - { 0, 0, 0, NULL } +static const ber_sequence_t T_signedCertificate_sequence[] = { + { &hf_x509af_version , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509af_Version }, + { &hf_x509af_serialNumber , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509af_CertificateSerialNumber }, + { &hf_x509af_signature , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, + { &hf_x509af_issuer , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x509if_Name }, + { &hf_x509af_validity , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_Validity }, + { &hf_x509af_subject , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509af_SubjectName }, + { &hf_x509af_subjectPublicKeyInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_SubjectPublicKeyInfo }, + { &hf_x509af_issuerUniqueIdentifier, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509sat_UniqueIdentifier }, + { &hf_x509af_subjectUniqueIdentifier, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509sat_UniqueIdentifier }, + { &hf_x509af_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_x509af_Extensions }, + { NULL, 0, 0, 0, NULL } }; static int dissect_x509af_T_signedCertificate(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - T_signedCertificate_sequence, hf_index, ett_x509af_T_signedCertificate); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_signedCertificate_sequence, hf_index, ett_x509af_T_signedCertificate); return offset; } -static int dissect_signedCertificate(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_T_signedCertificate(FALSE, tvb, offset, actx, tree, hf_x509af_signedCertificate); -} -static const ber_old_sequence_t Certificate_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedCertificate }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier }, - { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted }, - { 0, 0, 0, NULL } +static const ber_sequence_t Certificate_sequence[] = { + { &hf_x509af_signedCertificate, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_T_signedCertificate }, + { &hf_x509af_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, + { &hf_x509af_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x509af_BIT_STRING }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509af_Certificate(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - Certificate_sequence, hf_index, ett_x509af_Certificate); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + Certificate_sequence, hf_index, ett_x509af_Certificate); return offset; } -static int dissect_userCertificate(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_Certificate(FALSE, tvb, offset, actx, tree, hf_x509af_userCertificate); -} -static int dissect_CrossCertificates_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_Certificate(FALSE, tvb, offset, actx, tree, hf_x509af_CrossCertificates_item); -} -static int dissect_issuedByThisCA(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_Certificate(FALSE, tvb, offset, actx, tree, hf_x509af_issuedByThisCA); -} -static int dissect_issuedToThisCA(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_Certificate(FALSE, tvb, offset, actx, tree, hf_x509af_issuedToThisCA); -} -static int dissect_certificate(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_Certificate(FALSE, tvb, offset, actx, tree, hf_x509af_certificate); -} -static const ber_old_sequence_t CrossCertificates_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_CrossCertificates_item }, +static const ber_sequence_t CrossCertificates_set_of[1] = { + { &hf_x509af_CrossCertificates_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_Certificate }, }; int dissect_x509af_CrossCertificates(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - CrossCertificates_set_of, hf_index, ett_x509af_CrossCertificates); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + CrossCertificates_set_of, hf_index, ett_x509af_CrossCertificates); return offset; } -static int dissect_ForwardCertificationPath_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_CrossCertificates(FALSE, tvb, offset, actx, tree, hf_x509af_ForwardCertificationPath_item); -} -static const ber_old_sequence_t ForwardCertificationPath_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_ForwardCertificationPath_item }, +static const ber_sequence_t ForwardCertificationPath_sequence_of[1] = { + { &hf_x509af_ForwardCertificationPath_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509af_CrossCertificates }, }; int dissect_x509af_ForwardCertificationPath(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - ForwardCertificationPath_sequence_of, hf_index, ett_x509af_ForwardCertificationPath); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + ForwardCertificationPath_sequence_of, hf_index, ett_x509af_ForwardCertificationPath); return offset; } -static int dissect_certificationPath(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_ForwardCertificationPath(FALSE, tvb, offset, actx, tree, hf_x509af_certificationPath); -} -static const ber_old_sequence_t Certificates_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_userCertificate }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_certificationPath }, - { 0, 0, 0, NULL } +static const ber_sequence_t Certificates_sequence[] = { + { &hf_x509af_userCertificate, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_Certificate }, + { &hf_x509af_certificationPath, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509af_ForwardCertificationPath }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509af_Certificates(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - Certificates_sequence, hf_index, ett_x509af_Certificates); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + Certificates_sequence, hf_index, ett_x509af_Certificates); return offset; } -static const ber_old_sequence_t CertificatePair_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_issuedByThisCA }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_issuedToThisCA }, - { 0, 0, 0, NULL } +static const ber_sequence_t CertificatePair_sequence[] = { + { &hf_x509af_issuedByThisCA, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509af_Certificate }, + { &hf_x509af_issuedToThisCA, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509af_Certificate }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509af_CertificatePair(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - CertificatePair_sequence, hf_index, ett_x509af_CertificatePair); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CertificatePair_sequence, hf_index, ett_x509af_CertificatePair); return offset; } -static int dissect_theCACertificates_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_CertificatePair(FALSE, tvb, offset, actx, tree, hf_x509af_theCACertificates_item); -} -static const ber_old_sequence_t SEQUENCE_OF_CertificatePair_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_theCACertificates_item }, +static const ber_sequence_t SEQUENCE_OF_CertificatePair_sequence_of[1] = { + { &hf_x509af_theCACertificates_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_CertificatePair }, }; static int dissect_x509af_SEQUENCE_OF_CertificatePair(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_OF_CertificatePair_sequence_of, hf_index, ett_x509af_SEQUENCE_OF_CertificatePair); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_CertificatePair_sequence_of, hf_index, ett_x509af_SEQUENCE_OF_CertificatePair); return offset; } -static int dissect_theCACertificates(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_SEQUENCE_OF_CertificatePair(FALSE, tvb, offset, actx, tree, hf_x509af_theCACertificates); -} -static const ber_old_sequence_t CertificationPath_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_userCertificate }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_theCACertificates }, - { 0, 0, 0, NULL } +static const ber_sequence_t CertificationPath_sequence[] = { + { &hf_x509af_userCertificate, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_Certificate }, + { &hf_x509af_theCACertificates, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509af_SEQUENCE_OF_CertificatePair }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509af_CertificationPath(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - CertificationPath_sequence, hf_index, ett_x509af_CertificationPath); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CertificationPath_sequence, hf_index, ett_x509af_CertificationPath); return offset; } -static const ber_old_sequence_t T_revokedCertificates_item_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_revokedUserCertificate }, - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_revocationDate }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_crlEntryExtensions }, - { 0, 0, 0, NULL } +static const ber_sequence_t T_revokedCertificates_item_sequence[] = { + { &hf_x509af_revokedUserCertificate, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509af_CertificateSerialNumber }, + { &hf_x509af_revocationDate, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509af_Time }, + { &hf_x509af_crlEntryExtensions, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509af_Extensions }, + { NULL, 0, 0, 0, NULL } }; static int dissect_x509af_T_revokedCertificates_item(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - T_revokedCertificates_item_sequence, hf_index, ett_x509af_T_revokedCertificates_item); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_revokedCertificates_item_sequence, hf_index, ett_x509af_T_revokedCertificates_item); return offset; } -static int dissect_revokedCertificates_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_T_revokedCertificates_item(FALSE, tvb, offset, actx, tree, hf_x509af_revokedCertificates_item); -} -static const ber_old_sequence_t T_revokedCertificates_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_revokedCertificates_item }, +static const ber_sequence_t T_revokedCertificates_sequence_of[1] = { + { &hf_x509af_revokedCertificates_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_T_revokedCertificates_item }, }; static int dissect_x509af_T_revokedCertificates(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - T_revokedCertificates_sequence_of, hf_index, ett_x509af_T_revokedCertificates); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + T_revokedCertificates_sequence_of, hf_index, ett_x509af_T_revokedCertificates); return offset; } -static int dissect_revokedCertificates(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_T_revokedCertificates(FALSE, tvb, offset, actx, tree, hf_x509af_revokedCertificates); -} -static const ber_old_sequence_t T_signedCertificateList_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_version }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signature }, - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_issuer }, - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_thisUpdate }, - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_nextUpdate }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_revokedCertificates }, - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_crlExtensions }, - { 0, 0, 0, NULL } +static const ber_sequence_t T_signedCertificateList_sequence[] = { + { &hf_x509af_version , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509af_Version }, + { &hf_x509af_signature , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, + { &hf_x509af_issuer , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x509if_Name }, + { &hf_x509af_thisUpdate , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509af_Time }, + { &hf_x509af_nextUpdate , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509af_Time }, + { &hf_x509af_revokedCertificates, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509af_T_revokedCertificates }, + { &hf_x509af_crlExtensions, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509af_Extensions }, + { NULL, 0, 0, 0, NULL } }; static int dissect_x509af_T_signedCertificateList(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - T_signedCertificateList_sequence, hf_index, ett_x509af_T_signedCertificateList); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_signedCertificateList_sequence, hf_index, ett_x509af_T_signedCertificateList); return offset; } -static int dissect_signedCertificateList(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_T_signedCertificateList(FALSE, tvb, offset, actx, tree, hf_x509af_signedCertificateList); -} -static const ber_old_sequence_t CertificateList_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedCertificateList }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier }, - { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted }, - { 0, 0, 0, NULL } +static const ber_sequence_t CertificateList_sequence[] = { + { &hf_x509af_signedCertificateList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_T_signedCertificateList }, + { &hf_x509af_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, + { &hf_x509af_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x509af_BIT_STRING }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509af_CertificateList(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - CertificateList_sequence, hf_index, ett_x509af_CertificateList); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CertificateList_sequence, hf_index, ett_x509af_CertificateList); return offset; } -static const ber_old_sequence_t IssuerSerial_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_issuerName }, - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serial }, - { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_issuerUID }, - { 0, 0, 0, NULL } +static const ber_sequence_t IssuerSerial_sequence[] = { + { &hf_x509af_issuerName , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_GeneralNames }, + { &hf_x509af_serial , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509af_CertificateSerialNumber }, + { &hf_x509af_issuerUID , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509sat_UniqueIdentifier }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509af_IssuerSerial(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - IssuerSerial_sequence, hf_index, ett_x509af_IssuerSerial); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + IssuerSerial_sequence, hf_index, ett_x509af_IssuerSerial); return offset; } -static int dissect_baseCertificateID(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_IssuerSerial(FALSE, tvb, offset, actx, tree, hf_x509af_baseCertificateID); -} static const value_string x509af_InfoSubject_vals[] = { @@ -837,147 +663,126 @@ static const value_string x509af_InfoSubject_vals[] = { { 0, NULL } }; -static const ber_old_choice_t InfoSubject_choice[] = { - { 0, BER_CLASS_CON, 0, 0, dissect_baseCertificateID }, - { 1, BER_CLASS_CON, 1, 0, dissect_infoSubjectName }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t InfoSubject_choice[] = { + { 0, &hf_x509af_baseCertificateID, BER_CLASS_CON, 0, 0, dissect_x509af_IssuerSerial }, + { 1, &hf_x509af_infoSubjectName, BER_CLASS_CON, 1, 0, dissect_x509ce_GeneralNames }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_x509af_InfoSubject(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_old_choice(actx, tree, tvb, offset, - InfoSubject_choice, hf_index, ett_x509af_InfoSubject, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + InfoSubject_choice, hf_index, ett_x509af_InfoSubject, + NULL); return offset; } -static int dissect_info_subject(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_InfoSubject(FALSE, tvb, offset, actx, tree, hf_x509af_info_subject); -} -static const ber_old_sequence_t AttCertValidityPeriod_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_notBeforeTime }, - { BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_notAfterTime }, - { 0, 0, 0, NULL } +static const ber_sequence_t AttCertValidityPeriod_sequence[] = { + { &hf_x509af_notBeforeTime, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_x509af_GeneralizedTime }, + { &hf_x509af_notAfterTime , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_x509af_GeneralizedTime }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509af_AttCertValidityPeriod(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - AttCertValidityPeriod_sequence, hf_index, ett_x509af_AttCertValidityPeriod); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + AttCertValidityPeriod_sequence, hf_index, ett_x509af_AttCertValidityPeriod); return offset; } -static int dissect_attCertValidityPeriod(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_AttCertValidityPeriod(FALSE, tvb, offset, actx, tree, hf_x509af_attCertValidityPeriod); -} -static const ber_old_sequence_t SEQUENCE_OF_Attribute_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_attributes_item }, +static const ber_sequence_t SEQUENCE_OF_Attribute_sequence_of[1] = { + { &hf_x509af_attributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_Attribute }, }; static int dissect_x509af_SEQUENCE_OF_Attribute(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_OF_Attribute_sequence_of, hf_index, ett_x509af_SEQUENCE_OF_Attribute); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_Attribute_sequence_of, hf_index, ett_x509af_SEQUENCE_OF_Attribute); return offset; } -static int dissect_attributes(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_SEQUENCE_OF_Attribute(FALSE, tvb, offset, actx, tree, hf_x509af_attributes); -} -static const ber_old_sequence_t AttributeCertificateInfo_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_version }, - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_info_subject }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_issuerName }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signature }, - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serialNumber }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_attCertValidityPeriod }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_attributes }, - { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_issuerUniqueID }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extensions }, - { 0, 0, 0, NULL } +static const ber_sequence_t AttributeCertificateInfo_sequence[] = { + { &hf_x509af_version , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509af_Version }, + { &hf_x509af_info_subject , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509af_InfoSubject }, + { &hf_x509af_issuerName , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_GeneralNames }, + { &hf_x509af_signature , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, + { &hf_x509af_serialNumber , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509af_CertificateSerialNumber }, + { &hf_x509af_attCertValidityPeriod, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AttCertValidityPeriod }, + { &hf_x509af_attributes , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_SEQUENCE_OF_Attribute }, + { &hf_x509af_issuerUniqueID, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509sat_UniqueIdentifier }, + { &hf_x509af_extensions , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509af_Extensions }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509af_AttributeCertificateInfo(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - AttributeCertificateInfo_sequence, hf_index, ett_x509af_AttributeCertificateInfo); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + AttributeCertificateInfo_sequence, hf_index, ett_x509af_AttributeCertificateInfo); return offset; } -static int dissect_signedAttributeCertificateInfo(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_AttributeCertificateInfo(FALSE, tvb, offset, actx, tree, hf_x509af_signedAttributeCertificateInfo); -} -static const ber_old_sequence_t AttributeCertificate_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedAttributeCertificateInfo }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier }, - { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted }, - { 0, 0, 0, NULL } +static const ber_sequence_t AttributeCertificate_sequence[] = { + { &hf_x509af_signedAttributeCertificateInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AttributeCertificateInfo }, + { &hf_x509af_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, + { &hf_x509af_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x509af_BIT_STRING }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509af_AttributeCertificate(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - AttributeCertificate_sequence, hf_index, ett_x509af_AttributeCertificate); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + AttributeCertificate_sequence, hf_index, ett_x509af_AttributeCertificate); return offset; } -static int dissect_attributeCertificate(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_AttributeCertificate(FALSE, tvb, offset, actx, tree, hf_x509af_attributeCertificate); -} -static const ber_old_sequence_t ACPathData_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_certificate }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_attributeCertificate }, - { 0, 0, 0, NULL } +static const ber_sequence_t ACPathData_sequence[] = { + { &hf_x509af_certificate , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509af_Certificate }, + { &hf_x509af_attributeCertificate, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509af_AttributeCertificate }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509af_ACPathData(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - ACPathData_sequence, hf_index, ett_x509af_ACPathData); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ACPathData_sequence, hf_index, ett_x509af_ACPathData); return offset; } -static int dissect_acPath_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_ACPathData(FALSE, tvb, offset, actx, tree, hf_x509af_acPath_item); -} -static const ber_old_sequence_t SEQUENCE_OF_ACPathData_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_acPath_item }, +static const ber_sequence_t SEQUENCE_OF_ACPathData_sequence_of[1] = { + { &hf_x509af_acPath_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_ACPathData }, }; static int dissect_x509af_SEQUENCE_OF_ACPathData(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_OF_ACPathData_sequence_of, hf_index, ett_x509af_SEQUENCE_OF_ACPathData); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_ACPathData_sequence_of, hf_index, ett_x509af_SEQUENCE_OF_ACPathData); return offset; } -static int dissect_acPath(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_SEQUENCE_OF_ACPathData(FALSE, tvb, offset, actx, tree, hf_x509af_acPath); -} -static const ber_old_sequence_t AttributeCertificationPath_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_attributeCertificate }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_acPath }, - { 0, 0, 0, NULL } +static const ber_sequence_t AttributeCertificationPath_sequence[] = { + { &hf_x509af_attributeCertificate, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AttributeCertificate }, + { &hf_x509af_acPath , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509af_SEQUENCE_OF_ACPathData }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509af_AttributeCertificationPath(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - AttributeCertificationPath_sequence, hf_index, ett_x509af_AttributeCertificationPath); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + AttributeCertificationPath_sequence, hf_index, ett_x509af_AttributeCertificationPath); return offset; } @@ -989,53 +794,47 @@ static const value_string x509af_AssertionSubject_vals[] = { { 0, NULL } }; -static const ber_old_choice_t AssertionSubject_choice[] = { - { 0, BER_CLASS_CON, 0, 0, dissect_baseCertificateID }, - { 1, BER_CLASS_CON, 1, 0, dissect_assertionSubjectName }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t AssertionSubject_choice[] = { + { 0, &hf_x509af_baseCertificateID, BER_CLASS_CON, 0, 0, dissect_x509af_IssuerSerial }, + { 1, &hf_x509af_assertionSubjectName, BER_CLASS_CON, 1, 0, dissect_x509af_SubjectName }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_x509af_AssertionSubject(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_old_choice(actx, tree, tvb, offset, - AssertionSubject_choice, hf_index, ett_x509af_AssertionSubject, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + AssertionSubject_choice, hf_index, ett_x509af_AssertionSubject, + NULL); return offset; } -static int dissect_assertion_subject(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_AssertionSubject(FALSE, tvb, offset, actx, tree, hf_x509af_assertion_subject); -} -static const ber_old_sequence_t SET_OF_AttributeType_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_attType_item }, +static const ber_sequence_t SET_OF_AttributeType_set_of[1] = { + { &hf_x509af_attType_item , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeType }, }; static int dissect_x509af_SET_OF_AttributeType(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - SET_OF_AttributeType_set_of, hf_index, ett_x509af_SET_OF_AttributeType); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + SET_OF_AttributeType_set_of, hf_index, ett_x509af_SET_OF_AttributeType); return offset; } -static int dissect_attType(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_SET_OF_AttributeType(FALSE, tvb, offset, actx, tree, hf_x509af_attType); -} -static const ber_old_sequence_t AttributeCertificateAssertion_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_assertion_subject }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_assertionIssuer }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_attCertValidity }, - { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_attType }, - { 0, 0, 0, NULL } +static const ber_sequence_t AttributeCertificateAssertion_sequence[] = { + { &hf_x509af_assertion_subject, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509af_AssertionSubject }, + { &hf_x509af_assertionIssuer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509if_Name }, + { &hf_x509af_attCertValidity, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509af_GeneralizedTime }, + { &hf_x509af_attType , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_x509af_SET_OF_AttributeType }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509af_AttributeCertificateAssertion(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - AttributeCertificateAssertion_sequence, hf_index, ett_x509af_AttributeCertificateAssertion); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + AttributeCertificateAssertion_sequence, hf_index, ett_x509af_AttributeCertificateAssertion); return offset; } @@ -1049,28 +848,19 @@ dissect_x509af_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset return offset; } -static int dissect_p(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509af_p); -} -static int dissect_q(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509af_q); -} -static int dissect_g(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509af_g); -} -static const ber_old_sequence_t DSS_Params_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p }, - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_q }, - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_g }, - { 0, 0, 0, NULL } +static const ber_sequence_t DSS_Params_sequence[] = { + { &hf_x509af_p , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509af_INTEGER }, + { &hf_x509af_q , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509af_INTEGER }, + { &hf_x509af_g , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509af_INTEGER }, + { NULL, 0, 0, 0, NULL } }; static int dissect_x509af_DSS_Params(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - DSS_Params_sequence, hf_index, ett_x509af_DSS_Params); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + DSS_Params_sequence, hf_index, ett_x509af_DSS_Params); return offset; } diff --git a/epan/dissectors/packet-x509af.h b/epan/dissectors/packet-x509af.h index 5baa6bcfca..b8d4c7d94a 100644 --- a/epan/dissectors/packet-x509af.h +++ b/epan/dissectors/packet-x509af.h @@ -1,7 +1,7 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-x509af.h */ -/* ../../tools/asn2wrs.py -b -e -p x509af -c x509af.cnf -s packet-x509af-template AuthenticationFramework.asn */ +/* ../../tools/asn2wrs.py -b -e -X -T -p x509af -c x509af.cnf -s packet-x509af-template AuthenticationFramework.asn */ /* Input file: packet-x509af-template.h */ diff --git a/epan/dissectors/packet-x509ce.c b/epan/dissectors/packet-x509ce.c index 7e1b7dbb84..a3b2271ca4 100644 --- a/epan/dissectors/packet-x509ce.c +++ b/epan/dissectors/packet-x509ce.c @@ -1,7 +1,7 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Wireshark dissector compiler */ -/* ./packet-x509ce.c */ -/* ../../tools/asn2wrs.py -b -e -p x509ce -c x509ce.cnf -s packet-x509ce-template CertificateExtensions.asn */ +/* packet-x509ce.c */ +/* ../../tools/asn2wrs.py -b -e -X -T -p x509ce -c x509ce.cnf -s packet-x509ce-template CertificateExtensions.asn */ /* Input file: packet-x509ce-template.c */ @@ -278,54 +278,6 @@ static const char *object_identifier_id; /*--- Included file: packet-x509ce-fn.c ---*/ #line 1 "packet-x509ce-fn.c" -/*--- Fields for imported types ---*/ - -static int dissect_authorityCertSerialNumber_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_CertificateSerialNumber(TRUE, tvb, offset, actx, tree, hf_x509ce_authorityCertSerialNumber); -} -static int dissect_x400Address_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x411_ORAddress(TRUE, tvb, offset, actx, tree, hf_x509ce_x400Address); -} -static int dissect_directoryName_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_Name(TRUE, tvb, offset, actx, tree, hf_x509ce_directoryName); -} -static int dissect_nameAssigner_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_DirectoryString(TRUE, tvb, offset, actx, tree, hf_x509ce_nameAssigner); -} -static int dissect_partyName_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_DirectoryString(TRUE, tvb, offset, actx, tree, hf_x509ce_partyName); -} -static int dissect_AttributesSyntax_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_Attribute(FALSE, tvb, offset, actx, tree, hf_x509ce_AttributesSyntax_item); -} -static int dissect_nameRelativeToCRLIssuer_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_RelativeDistinguishedName(TRUE, tvb, offset, actx, tree, hf_x509ce_nameRelativeToCRLIssuer); -} -static int dissect_serialNumber(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_CertificateSerialNumber(FALSE, tvb, offset, actx, tree, hf_x509ce_serialNumber); -} -static int dissect_serialNumber_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509af_CertificateSerialNumber(TRUE, tvb, offset, actx, tree, hf_x509ce_serialNumber); -} -static int dissect_issuer(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_Name(FALSE, tvb, offset, actx, tree, hf_x509ce_issuer); -} -static int dissect_issuer_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_Name(TRUE, tvb, offset, actx, tree, hf_x509ce_issuer); -} -static int dissect_pathToName_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_Name(TRUE, tvb, offset, actx, tree, hf_x509ce_pathToName); -} -static int dissect_subject_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_Name(TRUE, tvb, offset, actx, tree, hf_x509ce_subject); -} -static int dissect_firstIssuer(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_Name(FALSE, tvb, offset, actx, tree, hf_x509ce_firstIssuer); -} -static int dissect_lastSubject(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_Name(FALSE, tvb, offset, actx, tree, hf_x509ce_lastSubject); -} - int @@ -335,9 +287,6 @@ dissect_x509ce_KeyIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o return offset; } -static int dissect_keyIdentifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_KeyIdentifier(TRUE, tvb, offset, actx, tree, hf_x509ce_keyIdentifier); -} @@ -347,9 +296,6 @@ dissect_x509ce_OtherNameType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o return offset; } -static int dissect_type_id(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_OtherNameType(FALSE, tvb, offset, actx, tree, hf_x509ce_type_id); -} @@ -362,27 +308,21 @@ dissect_x509ce_OtherNameValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int return offset; } -static int dissect_value(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_OtherNameValue(FALSE, tvb, offset, actx, tree, hf_x509ce_value); -} -static const ber_old_sequence_t OtherName_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_type_id }, - { BER_CLASS_CON, 0, 0, dissect_value }, - { 0, 0, 0, NULL } +static const ber_sequence_t OtherName_sequence[] = { + { &hf_x509ce_type_id , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509ce_OtherNameType }, + { &hf_x509ce_value , BER_CLASS_CON, 0, 0, dissect_x509ce_OtherNameValue }, + { NULL, 0, 0, 0, NULL } }; static int dissect_x509ce_OtherName(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - OtherName_sequence, hf_index, ett_x509ce_OtherName); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + OtherName_sequence, hf_index, ett_x509ce_OtherName); return offset; } -static int dissect_otherName_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_OtherName(TRUE, tvb, offset, actx, tree, hf_x509ce_otherName); -} @@ -394,30 +334,21 @@ dissect_x509ce_IA5String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse return offset; } -static int dissect_rfc822Name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_IA5String(TRUE, tvb, offset, actx, tree, hf_x509ce_rfc822Name); -} -static int dissect_dNSName_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_IA5String(TRUE, tvb, offset, actx, tree, hf_x509ce_dNSName); -} -static const ber_old_sequence_t EDIPartyName_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nameAssigner_impl }, - { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_partyName_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t EDIPartyName_sequence[] = { + { &hf_x509ce_nameAssigner , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509sat_DirectoryString }, + { &hf_x509ce_partyName , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x509sat_DirectoryString }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_EDIPartyName(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - EDIPartyName_sequence, hf_index, ett_x509ce_EDIPartyName); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + EDIPartyName_sequence, hf_index, ett_x509ce_EDIPartyName); return offset; } -static int dissect_ediPartyName_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_EDIPartyName(TRUE, tvb, offset, actx, tree, hf_x509ce_ediPartyName); -} @@ -434,9 +365,6 @@ dissect_x509ce_T_uniformResourceIdentifier(gboolean implicit_tag _U_, tvbuff_t * return offset; } -static int dissect_uniformResourceIdentifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_T_uniformResourceIdentifier(TRUE, tvb, offset, actx, tree, hf_x509ce_uniformResourceIdentifier); -} @@ -450,9 +378,6 @@ dissect_x509ce_T_iPAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off return offset; } -static int dissect_iPAddress_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_T_iPAddress(TRUE, tvb, offset, actx, tree, hf_x509ce_iPAddress); -} @@ -462,18 +387,6 @@ dissect_x509ce_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i return offset; } -static int dissect_registeredID_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_OBJECT_IDENTIFIER(TRUE, tvb, offset, actx, tree, hf_x509ce_registeredID); -} -static int dissect_subjectPublicKeyAlgID_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_OBJECT_IDENTIFIER(TRUE, tvb, offset, actx, tree, hf_x509ce_subjectPublicKeyAlgID); -} -static int dissect_otherNameForm(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_OBJECT_IDENTIFIER(FALSE, tvb, offset, actx, tree, hf_x509ce_otherNameForm); -} -static int dissect_templateID(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_OBJECT_IDENTIFIER(FALSE, tvb, offset, actx, tree, hf_x509ce_templateID); -} const value_string x509ce_GeneralName_vals[] = { @@ -489,89 +402,56 @@ const value_string x509ce_GeneralName_vals[] = { { 0, NULL } }; -static const ber_old_choice_t GeneralName_choice[] = { - { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_otherName_impl }, - { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_rfc822Name_impl }, - { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_dNSName_impl }, - { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x400Address_impl }, - { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_directoryName_impl }, - { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ediPartyName_impl }, - { 6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_uniformResourceIdentifier_impl }, - { 7, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_iPAddress_impl }, - { 8, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_registeredID_impl }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t GeneralName_choice[] = { + { 0, &hf_x509ce_otherName , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x509ce_OtherName }, + { 1, &hf_x509ce_rfc822Name , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x509ce_IA5String }, + { 2, &hf_x509ce_dNSName , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x509ce_IA5String }, + { 3, &hf_x509ce_x400Address , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x411_ORAddress }, + { 4, &hf_x509ce_directoryName, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_x509if_Name }, + { 5, &hf_x509ce_ediPartyName , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_x509ce_EDIPartyName }, + { 6, &hf_x509ce_uniformResourceIdentifier, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_x509ce_T_uniformResourceIdentifier }, + { 7, &hf_x509ce_iPAddress , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_x509ce_T_iPAddress }, + { 8, &hf_x509ce_registeredID , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_x509ce_OBJECT_IDENTIFIER }, + { 0, NULL, 0, 0, 0, NULL } }; int dissect_x509ce_GeneralName(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_old_choice(actx, tree, tvb, offset, - GeneralName_choice, hf_index, ett_x509ce_GeneralName, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + GeneralName_choice, hf_index, ett_x509ce_GeneralName, + NULL); return offset; } -static int dissect_GeneralNames_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralName(FALSE, tvb, offset, actx, tree, hf_x509ce_GeneralNames_item); -} -static int dissect_base(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralName(FALSE, tvb, offset, actx, tree, hf_x509ce_base); -} -static int dissect_authorityName_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralName(TRUE, tvb, offset, actx, tree, hf_x509ce_authorityName); -} -static int dissect_crlr_issuer_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralName(TRUE, tvb, offset, actx, tree, hf_x509ce_crlr_issuer); -} -static int dissect_location_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralName(TRUE, tvb, offset, actx, tree, hf_x509ce_location); -} -static int dissect_deltaLocation(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralName(FALSE, tvb, offset, actx, tree, hf_x509ce_deltaLocation); -} -static const ber_old_sequence_t GeneralNames_sequence_of[1] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_GeneralNames_item }, +static const ber_sequence_t GeneralNames_sequence_of[1] = { + { &hf_x509ce_GeneralNames_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_GeneralName }, }; int dissect_x509ce_GeneralNames(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - GeneralNames_sequence_of, hf_index, ett_x509ce_GeneralNames); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + GeneralNames_sequence_of, hf_index, ett_x509ce_GeneralNames); return offset; } -static int dissect_authorityCertIssuer_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralNames(TRUE, tvb, offset, actx, tree, hf_x509ce_authorityCertIssuer); -} -static int dissect_nameSubtrees_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralNames(TRUE, tvb, offset, actx, tree, hf_x509ce_nameSubtrees); -} -static int dissect_cRLIssuer_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralNames(TRUE, tvb, offset, actx, tree, hf_x509ce_cRLIssuer); -} -static int dissect_fullName_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralNames(TRUE, tvb, offset, actx, tree, hf_x509ce_fullName); -} -static const ber_old_sequence_t AuthorityKeyIdentifier_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_keyIdentifier_impl }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_authorityCertIssuer_impl }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_authorityCertSerialNumber_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t AuthorityKeyIdentifier_sequence[] = { + { &hf_x509ce_keyIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_KeyIdentifier }, + { &hf_x509ce_authorityCertIssuer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralNames }, + { &hf_x509ce_authorityCertSerialNumber, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_CertificateSerialNumber }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_AuthorityKeyIdentifier(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - AuthorityKeyIdentifier_sequence, hf_index, ett_x509ce_AuthorityKeyIdentifier); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + AuthorityKeyIdentifier_sequence, hf_index, ett_x509ce_AuthorityKeyIdentifier); return offset; } -static int dissect_authorityKeyIdentifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_AuthorityKeyIdentifier(TRUE, tvb, offset, actx, tree, hf_x509ce_authorityKeyIdentifier); -} @@ -581,9 +461,6 @@ dissect_x509ce_SubjectKeyIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_ return offset; } -static int dissect_subjectKeyIdentifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_SubjectKeyIdentifier(TRUE, tvb, offset, actx, tree, hf_x509ce_subjectKeyIdentifier); -} static const asn_namedbit KeyUsage_bits[] = { @@ -607,9 +484,6 @@ dissect_x509ce_KeyUsage(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset return offset; } -static int dissect_keyUsage_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_KeyUsage(TRUE, tvb, offset, actx, tree, hf_x509ce_keyUsage); -} @@ -619,19 +493,16 @@ dissect_x509ce_KeyPurposeId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of return offset; } -static int dissect_KeyPurposeIDs_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_KeyPurposeId(FALSE, tvb, offset, actx, tree, hf_x509ce_KeyPurposeIDs_item); -} -static const ber_old_sequence_t KeyPurposeIDs_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_KeyPurposeIDs_item }, +static const ber_sequence_t KeyPurposeIDs_sequence_of[1] = { + { &hf_x509ce_KeyPurposeIDs_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509ce_KeyPurposeId }, }; int dissect_x509ce_KeyPurposeIDs(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - KeyPurposeIDs_sequence_of, hf_index, ett_x509ce_KeyPurposeIDs); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + KeyPurposeIDs_sequence_of, hf_index, ett_x509ce_KeyPurposeIDs); return offset; } @@ -644,42 +515,18 @@ dissect_x509ce_GeneralizedTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int return offset; } -static int dissect_notBefore_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralizedTime(TRUE, tvb, offset, actx, tree, hf_x509ce_notBefore); -} -static int dissect_notAfter_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralizedTime(TRUE, tvb, offset, actx, tree, hf_x509ce_notAfter); -} -static int dissect_baseThisUpdate_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralizedTime(TRUE, tvb, offset, actx, tree, hf_x509ce_baseThisUpdate); -} -static int dissect_lastUpdate_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralizedTime(TRUE, tvb, offset, actx, tree, hf_x509ce_lastUpdate); -} -static int dissect_lastChangedCRL_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralizedTime(TRUE, tvb, offset, actx, tree, hf_x509ce_lastChangedCRL); -} -static int dissect_lastDelta(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralizedTime(FALSE, tvb, offset, actx, tree, hf_x509ce_lastDelta); -} -static int dissect_nextDelta(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralizedTime(FALSE, tvb, offset, actx, tree, hf_x509ce_nextDelta); -} -static int dissect_privateKeyValid_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralizedTime(TRUE, tvb, offset, actx, tree, hf_x509ce_privateKeyValid); -} -static const ber_old_sequence_t PrivateKeyUsagePeriod_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notBefore_impl }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notAfter_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t PrivateKeyUsagePeriod_sequence[] = { + { &hf_x509ce_notBefore , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralizedTime }, + { &hf_x509ce_notAfter , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralizedTime }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_PrivateKeyUsagePeriod(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - PrivateKeyUsagePeriod_sequence, hf_index, ett_x509ce_PrivateKeyUsagePeriod); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + PrivateKeyUsagePeriod_sequence, hf_index, ett_x509ce_PrivateKeyUsagePeriod); return offset; } @@ -692,18 +539,6 @@ dissect_x509ce_CertPolicyId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of return offset; } -static int dissect_policyIdentifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_CertPolicyId(FALSE, tvb, offset, actx, tree, hf_x509ce_policyIdentifier); -} -static int dissect_issuerDomainPolicy(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_CertPolicyId(FALSE, tvb, offset, actx, tree, hf_x509ce_issuerDomainPolicy); -} -static int dissect_subjectDomainPolicy(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_CertPolicyId(FALSE, tvb, offset, actx, tree, hf_x509ce_subjectDomainPolicy); -} -static int dissect_CertPolicySet_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_CertPolicyId(FALSE, tvb, offset, actx, tree, hf_x509ce_CertPolicySet_item); -} @@ -713,9 +548,6 @@ dissect_x509ce_PolicyQualifierId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i return offset; } -static int dissect_policyQualifierId(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_PolicyQualifierId(FALSE, tvb, offset, actx, tree, hf_x509ce_policyQualifierId); -} @@ -728,115 +560,100 @@ dissect_x509ce_PolicyQualifierValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_ return offset; } -static int dissect_qualifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_PolicyQualifierValue(FALSE, tvb, offset, actx, tree, hf_x509ce_qualifier); -} -static const ber_old_sequence_t PolicyQualifierInfo_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_policyQualifierId }, - { BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_qualifier }, - { 0, 0, 0, NULL } +static const ber_sequence_t PolicyQualifierInfo_sequence[] = { + { &hf_x509ce_policyQualifierId, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509ce_PolicyQualifierId }, + { &hf_x509ce_qualifier , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_PolicyQualifierValue }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_PolicyQualifierInfo(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - PolicyQualifierInfo_sequence, hf_index, ett_x509ce_PolicyQualifierInfo); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + PolicyQualifierInfo_sequence, hf_index, ett_x509ce_PolicyQualifierInfo); return offset; } -static int dissect_policyQualifiers_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_PolicyQualifierInfo(FALSE, tvb, offset, actx, tree, hf_x509ce_policyQualifiers_item); -} -static const ber_old_sequence_t SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_policyQualifiers_item }, +static const ber_sequence_t SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo_sequence_of[1] = { + { &hf_x509ce_policyQualifiers_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_PolicyQualifierInfo }, }; static int dissect_x509ce_SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo_sequence_of, hf_index, ett_x509ce_SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo_sequence_of, hf_index, ett_x509ce_SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo); return offset; } -static int dissect_policyQualifiers(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo(FALSE, tvb, offset, actx, tree, hf_x509ce_policyQualifiers); -} -static const ber_old_sequence_t PolicyInformation_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_policyIdentifier }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_policyQualifiers }, - { 0, 0, 0, NULL } +static const ber_sequence_t PolicyInformation_sequence[] = { + { &hf_x509ce_policyIdentifier, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509ce_CertPolicyId }, + { &hf_x509ce_policyQualifiers, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_PolicyInformation(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - PolicyInformation_sequence, hf_index, ett_x509ce_PolicyInformation); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + PolicyInformation_sequence, hf_index, ett_x509ce_PolicyInformation); return offset; } -static int dissect_CertificatePoliciesSyntax_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_PolicyInformation(FALSE, tvb, offset, actx, tree, hf_x509ce_CertificatePoliciesSyntax_item); -} -static const ber_old_sequence_t CertificatePoliciesSyntax_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_CertificatePoliciesSyntax_item }, +static const ber_sequence_t CertificatePoliciesSyntax_sequence_of[1] = { + { &hf_x509ce_CertificatePoliciesSyntax_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_PolicyInformation }, }; int dissect_x509ce_CertificatePoliciesSyntax(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - CertificatePoliciesSyntax_sequence_of, hf_index, ett_x509ce_CertificatePoliciesSyntax); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + CertificatePoliciesSyntax_sequence_of, hf_index, ett_x509ce_CertificatePoliciesSyntax); return offset; } -static const ber_old_sequence_t PolicyMappingsSyntax_item_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_issuerDomainPolicy }, - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_subjectDomainPolicy }, - { 0, 0, 0, NULL } +static const ber_sequence_t PolicyMappingsSyntax_item_sequence[] = { + { &hf_x509ce_issuerDomainPolicy, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509ce_CertPolicyId }, + { &hf_x509ce_subjectDomainPolicy, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509ce_CertPolicyId }, + { NULL, 0, 0, 0, NULL } }; static int dissect_x509ce_PolicyMappingsSyntax_item(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - PolicyMappingsSyntax_item_sequence, hf_index, ett_x509ce_PolicyMappingsSyntax_item); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + PolicyMappingsSyntax_item_sequence, hf_index, ett_x509ce_PolicyMappingsSyntax_item); return offset; } -static int dissect_PolicyMappingsSyntax_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_PolicyMappingsSyntax_item(FALSE, tvb, offset, actx, tree, hf_x509ce_PolicyMappingsSyntax_item); -} -static const ber_old_sequence_t PolicyMappingsSyntax_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_PolicyMappingsSyntax_item }, +static const ber_sequence_t PolicyMappingsSyntax_sequence_of[1] = { + { &hf_x509ce_PolicyMappingsSyntax_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_PolicyMappingsSyntax_item }, }; int dissect_x509ce_PolicyMappingsSyntax(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - PolicyMappingsSyntax_sequence_of, hf_index, ett_x509ce_PolicyMappingsSyntax); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + PolicyMappingsSyntax_sequence_of, hf_index, ett_x509ce_PolicyMappingsSyntax); return offset; } -static const ber_old_sequence_t AttributesSyntax_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_AttributesSyntax_item }, +static const ber_sequence_t AttributesSyntax_sequence_of[1] = { + { &hf_x509ce_AttributesSyntax_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_Attribute }, }; int dissect_x509ce_AttributesSyntax(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - AttributesSyntax_sequence_of, hf_index, ett_x509ce_AttributesSyntax); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + AttributesSyntax_sequence_of, hf_index, ett_x509ce_AttributesSyntax); return offset; } @@ -849,27 +666,6 @@ dissect_x509ce_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset return offset; } -static int dissect_cA(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_BOOLEAN(FALSE, tvb, offset, actx, tree, hf_x509ce_cA); -} -static int dissect_containsUserPublicKeyCerts_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_BOOLEAN(TRUE, tvb, offset, actx, tree, hf_x509ce_containsUserPublicKeyCerts); -} -static int dissect_containsCACerts_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_BOOLEAN(TRUE, tvb, offset, actx, tree, hf_x509ce_containsCACerts); -} -static int dissect_indirectCRL_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_BOOLEAN(TRUE, tvb, offset, actx, tree, hf_x509ce_indirectCRL); -} -static int dissect_containsUserAttributeCerts_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_BOOLEAN(TRUE, tvb, offset, actx, tree, hf_x509ce_containsUserAttributeCerts); -} -static int dissect_containsAACerts_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_BOOLEAN(TRUE, tvb, offset, actx, tree, hf_x509ce_containsAACerts); -} -static int dissect_containsSOAPublicKeyCerts_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_BOOLEAN(TRUE, tvb, offset, actx, tree, hf_x509ce_containsSOAPublicKeyCerts); -} @@ -880,36 +676,18 @@ dissect_x509ce_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset return offset; } -static int dissect_pathLenConstraint(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509ce_pathLenConstraint); -} -static int dissect_startingNumber_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_INTEGER(TRUE, tvb, offset, actx, tree, hf_x509ce_startingNumber); -} -static int dissect_endingNumber_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_INTEGER(TRUE, tvb, offset, actx, tree, hf_x509ce_endingNumber); -} -static int dissect_modulus(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509ce_modulus); -} -static int dissect_templateMajorVersion(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509ce_templateMajorVersion); -} -static int dissect_templateMinorVersion(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509ce_templateMinorVersion); -} -static const ber_old_sequence_t BasicConstraintsSyntax_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cA }, - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_pathLenConstraint }, - { 0, 0, 0, NULL } +static const ber_sequence_t BasicConstraintsSyntax_sequence[] = { + { &hf_x509ce_cA , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_BOOLEAN }, + { &hf_x509ce_pathLenConstraint, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_INTEGER }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_BasicConstraintsSyntax(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - BasicConstraintsSyntax_sequence, hf_index, ett_x509ce_BasicConstraintsSyntax); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + BasicConstraintsSyntax_sequence, hf_index, ett_x509ce_BasicConstraintsSyntax); return offset; } @@ -923,68 +701,50 @@ dissect_x509ce_BaseDistance(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of return offset; } -static int dissect_minimum_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_BaseDistance(TRUE, tvb, offset, actx, tree, hf_x509ce_minimum); -} -static int dissect_maximum_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_BaseDistance(TRUE, tvb, offset, actx, tree, hf_x509ce_maximum); -} -static const ber_old_sequence_t GeneralSubtree_sequence[] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_base }, - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_minimum_impl }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_maximum_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t GeneralSubtree_sequence[] = { + { &hf_x509ce_base , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_GeneralName }, + { &hf_x509ce_minimum , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_BaseDistance }, + { &hf_x509ce_maximum , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_BaseDistance }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_GeneralSubtree(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - GeneralSubtree_sequence, hf_index, ett_x509ce_GeneralSubtree); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + GeneralSubtree_sequence, hf_index, ett_x509ce_GeneralSubtree); return offset; } -static int dissect_GeneralSubtrees_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralSubtree(FALSE, tvb, offset, actx, tree, hf_x509ce_GeneralSubtrees_item); -} -static const ber_old_sequence_t GeneralSubtrees_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_GeneralSubtrees_item }, +static const ber_sequence_t GeneralSubtrees_sequence_of[1] = { + { &hf_x509ce_GeneralSubtrees_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_GeneralSubtree }, }; int dissect_x509ce_GeneralSubtrees(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - GeneralSubtrees_sequence_of, hf_index, ett_x509ce_GeneralSubtrees); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + GeneralSubtrees_sequence_of, hf_index, ett_x509ce_GeneralSubtrees); return offset; } -static int dissect_permittedSubtrees_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralSubtrees(TRUE, tvb, offset, actx, tree, hf_x509ce_permittedSubtrees); -} -static int dissect_excludedSubtrees_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_GeneralSubtrees(TRUE, tvb, offset, actx, tree, hf_x509ce_excludedSubtrees); -} -static const ber_old_sequence_t NameConstraintsSyntax_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permittedSubtrees_impl }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_excludedSubtrees_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t NameConstraintsSyntax_sequence[] = { + { &hf_x509ce_permittedSubtrees, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralSubtrees }, + { &hf_x509ce_excludedSubtrees, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralSubtrees }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_NameConstraintsSyntax(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - NameConstraintsSyntax_sequence, hf_index, ett_x509ce_NameConstraintsSyntax); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + NameConstraintsSyntax_sequence, hf_index, ett_x509ce_NameConstraintsSyntax); return offset; } -static int dissect_nameConstraints_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_NameConstraintsSyntax(TRUE, tvb, offset, actx, tree, hf_x509ce_nameConstraints); -} @@ -995,24 +755,18 @@ dissect_x509ce_SkipCerts(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse return offset; } -static int dissect_requireExplicitPolicy_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_SkipCerts(TRUE, tvb, offset, actx, tree, hf_x509ce_requireExplicitPolicy); -} -static int dissect_inhibitPolicyMapping_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_SkipCerts(TRUE, tvb, offset, actx, tree, hf_x509ce_inhibitPolicyMapping); -} -static const ber_old_sequence_t PolicyConstraintsSyntax_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requireExplicitPolicy_impl }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inhibitPolicyMapping_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t PolicyConstraintsSyntax_sequence[] = { + { &hf_x509ce_requireExplicitPolicy, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_SkipCerts }, + { &hf_x509ce_inhibitPolicyMapping, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_SkipCerts }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_PolicyConstraintsSyntax(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - PolicyConstraintsSyntax_sequence, hf_index, ett_x509ce_PolicyConstraintsSyntax); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + PolicyConstraintsSyntax_sequence, hf_index, ett_x509ce_PolicyConstraintsSyntax); return offset; } @@ -1026,15 +780,6 @@ dissect_x509ce_CRLNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse return offset; } -static int dissect_cRLNumber_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_CRLNumber(TRUE, tvb, offset, actx, tree, hf_x509ce_cRLNumber); -} -static int dissect_minCRLNumber_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_CRLNumber(TRUE, tvb, offset, actx, tree, hf_x509ce_minCRLNumber); -} -static int dissect_maxCRLNumber_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_CRLNumber(TRUE, tvb, offset, actx, tree, hf_x509ce_maxCRLNumber); -} const value_string x509ce_CRLReason_vals[] = { @@ -1076,26 +821,20 @@ const value_string x509ce_DistributionPointName_vals[] = { { 0, NULL } }; -static const ber_old_choice_t DistributionPointName_choice[] = { - { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_fullName_impl }, - { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_nameRelativeToCRLIssuer_impl }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t DistributionPointName_choice[] = { + { 0, &hf_x509ce_fullName , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralNames }, + { 1, &hf_x509ce_nameRelativeToCRLIssuer, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x509if_RelativeDistinguishedName }, + { 0, NULL, 0, 0, 0, NULL } }; int dissect_x509ce_DistributionPointName(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_old_choice(actx, tree, tvb, offset, - DistributionPointName_choice, hf_index, ett_x509ce_DistributionPointName, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + DistributionPointName_choice, hf_index, ett_x509ce_DistributionPointName, + NULL); return offset; } -static int dissect_distributionPoint(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_DistributionPointName(FALSE, tvb, offset, actx, tree, hf_x509ce_distributionPoint); -} -static int dissect_distributionPoint_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_DistributionPointName(TRUE, tvb, offset, actx, tree, hf_x509ce_distributionPoint); -} static const asn_namedbit OnlyCertificateTypes_bits[] = { @@ -1115,9 +854,6 @@ dissect_x509ce_OnlyCertificateTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_ return offset; } -static int dissect_onlyContains_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_OnlyCertificateTypes(TRUE, tvb, offset, actx, tree, hf_x509ce_onlyContains); -} static const asn_namedbit ReasonFlags_bits[] = { @@ -1141,37 +877,22 @@ dissect_x509ce_ReasonFlags(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off return offset; } -static int dissect_onlySomeReasons_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_ReasonFlags(TRUE, tvb, offset, actx, tree, hf_x509ce_onlySomeReasons); -} -static int dissect_reasons_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_ReasonFlags(TRUE, tvb, offset, actx, tree, hf_x509ce_reasons); -} -static int dissect_reasonFlags(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_ReasonFlags(FALSE, tvb, offset, actx, tree, hf_x509ce_reasonFlags); -} -static const ber_old_sequence_t NumberRange_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_startingNumber_impl }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_endingNumber_impl }, - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_modulus }, - { 0, 0, 0, NULL } +static const ber_sequence_t NumberRange_sequence[] = { + { &hf_x509ce_startingNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_INTEGER }, + { &hf_x509ce_endingNumber , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_INTEGER }, + { &hf_x509ce_modulus , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_INTEGER }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_NumberRange(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - NumberRange_sequence, hf_index, ett_x509ce_NumberRange); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + NumberRange_sequence, hf_index, ett_x509ce_NumberRange); return offset; } -static int dissect_serialNumberRange_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_NumberRange(TRUE, tvb, offset, actx, tree, hf_x509ce_serialNumberRange); -} -static int dissect_subjectKeyIdRange_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_NumberRange(TRUE, tvb, offset, actx, tree, hf_x509ce_subjectKeyIdRange); -} @@ -1182,108 +903,90 @@ dissect_x509ce_CRLStreamIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, return offset; } -static int dissect_cRLStreamIdentifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_CRLStreamIdentifier(TRUE, tvb, offset, actx, tree, hf_x509ce_cRLStreamIdentifier); -} -static const ber_old_sequence_t BaseRevocationInfo_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cRLStreamIdentifier_impl }, - { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cRLNumber_impl }, - { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_baseThisUpdate_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t BaseRevocationInfo_sequence[] = { + { &hf_x509ce_cRLStreamIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CRLStreamIdentifier }, + { &hf_x509ce_cRLNumber , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x509ce_CRLNumber }, + { &hf_x509ce_baseThisUpdate, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralizedTime }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_BaseRevocationInfo(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - BaseRevocationInfo_sequence, hf_index, ett_x509ce_BaseRevocationInfo); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + BaseRevocationInfo_sequence, hf_index, ett_x509ce_BaseRevocationInfo); return offset; } -static int dissect_baseRevocationInfo_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_BaseRevocationInfo(TRUE, tvb, offset, actx, tree, hf_x509ce_baseRevocationInfo); -} -static const ber_old_sequence_t PerAuthorityScope_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_authorityName_impl }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_distributionPoint_impl }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_onlyContains_impl }, - { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_onlySomeReasons_impl }, - { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serialNumberRange_impl }, - { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_subjectKeyIdRange_impl }, - { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nameSubtrees_impl }, - { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_baseRevocationInfo_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t PerAuthorityScope_sequence[] = { + { &hf_x509ce_authorityName, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_GeneralName }, + { &hf_x509ce_distributionPoint, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_DistributionPointName }, + { &hf_x509ce_onlyContains , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_OnlyCertificateTypes }, + { &hf_x509ce_onlySomeReasons, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_ReasonFlags }, + { &hf_x509ce_serialNumberRange, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_NumberRange }, + { &hf_x509ce_subjectKeyIdRange, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_NumberRange }, + { &hf_x509ce_nameSubtrees , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralNames }, + { &hf_x509ce_baseRevocationInfo, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_BaseRevocationInfo }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_PerAuthorityScope(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - PerAuthorityScope_sequence, hf_index, ett_x509ce_PerAuthorityScope); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + PerAuthorityScope_sequence, hf_index, ett_x509ce_PerAuthorityScope); return offset; } -static int dissect_CRLScopeSyntax_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_PerAuthorityScope(FALSE, tvb, offset, actx, tree, hf_x509ce_CRLScopeSyntax_item); -} -static const ber_old_sequence_t CRLScopeSyntax_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_CRLScopeSyntax_item }, +static const ber_sequence_t CRLScopeSyntax_sequence_of[1] = { + { &hf_x509ce_CRLScopeSyntax_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_PerAuthorityScope }, }; int dissect_x509ce_CRLScopeSyntax(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - CRLScopeSyntax_sequence_of, hf_index, ett_x509ce_CRLScopeSyntax); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + CRLScopeSyntax_sequence_of, hf_index, ett_x509ce_CRLScopeSyntax); return offset; } -static int dissect_cRLScope(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_CRLScopeSyntax(FALSE, tvb, offset, actx, tree, hf_x509ce_cRLScope); -} -static const ber_old_sequence_t DeltaRefInfo_sequence[] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_deltaLocation }, - { BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_lastDelta }, - { 0, 0, 0, NULL } +static const ber_sequence_t DeltaRefInfo_sequence[] = { + { &hf_x509ce_deltaLocation, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_GeneralName }, + { &hf_x509ce_lastDelta , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_GeneralizedTime }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_DeltaRefInfo(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - DeltaRefInfo_sequence, hf_index, ett_x509ce_DeltaRefInfo); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + DeltaRefInfo_sequence, hf_index, ett_x509ce_DeltaRefInfo); return offset; } -static int dissect_deltaRefInfo_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_DeltaRefInfo(TRUE, tvb, offset, actx, tree, hf_x509ce_deltaRefInfo); -} -static const ber_old_sequence_t CRLReferral_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_crlr_issuer_impl }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_location_impl }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deltaRefInfo_impl }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cRLScope }, - { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lastUpdate_impl }, - { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lastChangedCRL_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t CRLReferral_sequence[] = { + { &hf_x509ce_crlr_issuer , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_GeneralName }, + { &hf_x509ce_location , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_GeneralName }, + { &hf_x509ce_deltaRefInfo , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_DeltaRefInfo }, + { &hf_x509ce_cRLScope , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_CRLScopeSyntax }, + { &hf_x509ce_lastUpdate , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralizedTime }, + { &hf_x509ce_lastChangedCRL, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralizedTime }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_CRLReferral(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - CRLReferral_sequence, hf_index, ett_x509ce_CRLReferral); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CRLReferral_sequence, hf_index, ett_x509ce_CRLReferral); return offset; } -static int dissect_cRLReferral_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_CRLReferral(TRUE, tvb, offset, actx, tree, hf_x509ce_cRLReferral); -} const value_string x509ce_StatusReferral_vals[] = { @@ -1291,32 +994,29 @@ const value_string x509ce_StatusReferral_vals[] = { { 0, NULL } }; -static const ber_old_choice_t StatusReferral_choice[] = { - { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cRLReferral_impl }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t StatusReferral_choice[] = { + { 0, &hf_x509ce_cRLReferral , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x509ce_CRLReferral }, + { 0, NULL, 0, 0, 0, NULL } }; int dissect_x509ce_StatusReferral(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_old_choice(actx, tree, tvb, offset, - StatusReferral_choice, hf_index, ett_x509ce_StatusReferral, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + StatusReferral_choice, hf_index, ett_x509ce_StatusReferral, + NULL); return offset; } -static int dissect_StatusReferrals_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_StatusReferral(FALSE, tvb, offset, actx, tree, hf_x509ce_StatusReferrals_item); -} -static const ber_old_sequence_t StatusReferrals_sequence_of[1] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_StatusReferrals_item }, +static const ber_sequence_t StatusReferrals_sequence_of[1] = { + { &hf_x509ce_StatusReferrals_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_StatusReferral }, }; int dissect_x509ce_StatusReferrals(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - StatusReferrals_sequence_of, hf_index, ett_x509ce_StatusReferrals); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + StatusReferrals_sequence_of, hf_index, ett_x509ce_StatusReferrals); return offset; } @@ -1338,69 +1038,66 @@ dissect_x509ce_OrderedListSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i } -static const ber_old_sequence_t DeltaInformation_sequence[] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_deltaLocation }, - { BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_nextDelta }, - { 0, 0, 0, NULL } +static const ber_sequence_t DeltaInformation_sequence[] = { + { &hf_x509ce_deltaLocation, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_GeneralName }, + { &hf_x509ce_nextDelta , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_GeneralizedTime }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_DeltaInformation(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - DeltaInformation_sequence, hf_index, ett_x509ce_DeltaInformation); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + DeltaInformation_sequence, hf_index, ett_x509ce_DeltaInformation); return offset; } -static const ber_old_sequence_t DistributionPoint_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_distributionPoint_impl }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_reasons_impl }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cRLIssuer_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t DistributionPoint_sequence[] = { + { &hf_x509ce_distributionPoint, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_DistributionPointName }, + { &hf_x509ce_reasons , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_ReasonFlags }, + { &hf_x509ce_cRLIssuer , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralNames }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_DistributionPoint(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - DistributionPoint_sequence, hf_index, ett_x509ce_DistributionPoint); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + DistributionPoint_sequence, hf_index, ett_x509ce_DistributionPoint); return offset; } -static int dissect_CRLDistPointsSyntax_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_DistributionPoint(FALSE, tvb, offset, actx, tree, hf_x509ce_CRLDistPointsSyntax_item); -} -static const ber_old_sequence_t CRLDistPointsSyntax_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_CRLDistPointsSyntax_item }, +static const ber_sequence_t CRLDistPointsSyntax_sequence_of[1] = { + { &hf_x509ce_CRLDistPointsSyntax_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_DistributionPoint }, }; int dissect_x509ce_CRLDistPointsSyntax(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - CRLDistPointsSyntax_sequence_of, hf_index, ett_x509ce_CRLDistPointsSyntax); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + CRLDistPointsSyntax_sequence_of, hf_index, ett_x509ce_CRLDistPointsSyntax); return offset; } -static const ber_old_sequence_t IssuingDistPointSyntax_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_distributionPoint_impl }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_containsUserPublicKeyCerts_impl }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_containsCACerts_impl }, - { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_onlySomeReasons_impl }, - { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_indirectCRL_impl }, - { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_containsUserAttributeCerts_impl }, - { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_containsAACerts_impl }, - { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_containsSOAPublicKeyCerts_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t IssuingDistPointSyntax_sequence[] = { + { &hf_x509ce_distributionPoint, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_DistributionPointName }, + { &hf_x509ce_containsUserPublicKeyCerts, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_BOOLEAN }, + { &hf_x509ce_containsCACerts, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_BOOLEAN }, + { &hf_x509ce_onlySomeReasons, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_ReasonFlags }, + { &hf_x509ce_indirectCRL , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_BOOLEAN }, + { &hf_x509ce_containsUserAttributeCerts, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_BOOLEAN }, + { &hf_x509ce_containsAACerts, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_BOOLEAN }, + { &hf_x509ce_containsSOAPublicKeyCerts, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_BOOLEAN }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_IssuingDistPointSyntax(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - IssuingDistPointSyntax_sequence, hf_index, ett_x509ce_IssuingDistPointSyntax); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + IssuingDistPointSyntax_sequence, hf_index, ett_x509ce_IssuingDistPointSyntax); return offset; } @@ -1415,25 +1112,19 @@ dissect_x509ce_BaseCRLNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o } -static const ber_old_sequence_t CertificateExactAssertion_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_serialNumber }, - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_issuer }, - { 0, 0, 0, NULL } +static const ber_sequence_t CertificateExactAssertion_sequence[] = { + { &hf_x509ce_serialNumber , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509af_CertificateSerialNumber }, + { &hf_x509ce_issuer , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x509if_Name }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_CertificateExactAssertion(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - CertificateExactAssertion_sequence, hf_index, ett_x509ce_CertificateExactAssertion); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CertificateExactAssertion_sequence, hf_index, ett_x509ce_CertificateExactAssertion); return offset; } -static int dissect_cpea_issuedToThisCAAssertion_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_CertificateExactAssertion(TRUE, tvb, offset, actx, tree, hf_x509ce_cpea_issuedToThisCAAssertion); -} -static int dissect_cpea_issuedByThisCAAssertion_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_CertificateExactAssertion(TRUE, tvb, offset, actx, tree, hf_x509ce_cpea_issuedByThisCAAssertion); -} static const value_string x509ce_T_builtinNameForm_vals[] = { @@ -1456,9 +1147,6 @@ dissect_x509ce_T_builtinNameForm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i return offset; } -static int dissect_builtinNameForm(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_T_builtinNameForm(FALSE, tvb, offset, actx, tree, hf_x509ce_builtinNameForm); -} const value_string x509ce_AltNameType_vals[] = { @@ -1467,162 +1155,150 @@ const value_string x509ce_AltNameType_vals[] = { { 0, NULL } }; -static const ber_old_choice_t AltNameType_choice[] = { - { 0, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_builtinNameForm }, - { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_otherNameForm }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t AltNameType_choice[] = { + { 0, &hf_x509ce_builtinNameForm, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_x509ce_T_builtinNameForm }, + { 1, &hf_x509ce_otherNameForm, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509ce_OBJECT_IDENTIFIER }, + { 0, NULL, 0, 0, 0, NULL } }; int dissect_x509ce_AltNameType(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_old_choice(actx, tree, tvb, offset, - AltNameType_choice, hf_index, ett_x509ce_AltNameType, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + AltNameType_choice, hf_index, ett_x509ce_AltNameType, + NULL); return offset; } -static int dissect_subjectAltName_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_AltNameType(TRUE, tvb, offset, actx, tree, hf_x509ce_subjectAltName); -} -static const ber_old_sequence_t CertPolicySet_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_CertPolicySet_item }, +static const ber_sequence_t CertPolicySet_sequence_of[1] = { + { &hf_x509ce_CertPolicySet_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509ce_CertPolicyId }, }; int dissect_x509ce_CertPolicySet(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - CertPolicySet_sequence_of, hf_index, ett_x509ce_CertPolicySet); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + CertPolicySet_sequence_of, hf_index, ett_x509ce_CertPolicySet); return offset; } -static int dissect_policy_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_CertPolicySet(TRUE, tvb, offset, actx, tree, hf_x509ce_policy); -} -static const ber_old_sequence_t CertificateAssertion_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serialNumber_impl }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_issuer_impl }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_subjectKeyIdentifier_impl }, - { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_authorityKeyIdentifier_impl }, - { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_privateKeyValid_impl }, - { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_subjectPublicKeyAlgID_impl }, - { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_keyUsage_impl }, - { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_subjectAltName_impl }, - { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_policy_impl }, - { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pathToName_impl }, - { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_subject_impl }, - { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nameConstraints_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t CertificateAssertion_sequence[] = { + { &hf_x509ce_serialNumber , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_CertificateSerialNumber }, + { &hf_x509ce_issuer , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509if_Name }, + { &hf_x509ce_subjectKeyIdentifier, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_SubjectKeyIdentifier }, + { &hf_x509ce_authorityKeyIdentifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_AuthorityKeyIdentifier }, + { &hf_x509ce_privateKeyValid, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralizedTime }, + { &hf_x509ce_subjectPublicKeyAlgID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_OBJECT_IDENTIFIER }, + { &hf_x509ce_keyUsage , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_KeyUsage }, + { &hf_x509ce_subjectAltName, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_AltNameType }, + { &hf_x509ce_policy , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertPolicySet }, + { &hf_x509ce_pathToName , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509if_Name }, + { &hf_x509ce_subject , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509if_Name }, + { &hf_x509ce_nameConstraints, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_NameConstraintsSyntax }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_CertificateAssertion(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - CertificateAssertion_sequence, hf_index, ett_x509ce_CertificateAssertion); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CertificateAssertion_sequence, hf_index, ett_x509ce_CertificateAssertion); return offset; } -static int dissect_issuedToThisCAAssertion_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, actx, tree, hf_x509ce_issuedToThisCAAssertion); -} -static int dissect_issuedByThisCAAssertion_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, actx, tree, hf_x509ce_issuedByThisCAAssertion); -} -static const ber_old_sequence_t CertificatePairExactAssertion_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cpea_issuedToThisCAAssertion_impl }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cpea_issuedByThisCAAssertion_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t CertificatePairExactAssertion_sequence[] = { + { &hf_x509ce_cpea_issuedToThisCAAssertion, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateExactAssertion }, + { &hf_x509ce_cpea_issuedByThisCAAssertion, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateExactAssertion }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_CertificatePairExactAssertion(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - CertificatePairExactAssertion_sequence, hf_index, ett_x509ce_CertificatePairExactAssertion); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CertificatePairExactAssertion_sequence, hf_index, ett_x509ce_CertificatePairExactAssertion); return offset; } -static const ber_old_sequence_t CertificatePairAssertion_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_issuedToThisCAAssertion_impl }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_issuedByThisCAAssertion_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t CertificatePairAssertion_sequence[] = { + { &hf_x509ce_issuedToThisCAAssertion, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, + { &hf_x509ce_issuedByThisCAAssertion, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_CertificatePairAssertion(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - CertificatePairAssertion_sequence, hf_index, ett_x509ce_CertificatePairAssertion); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CertificatePairAssertion_sequence, hf_index, ett_x509ce_CertificatePairAssertion); return offset; } -static const ber_old_sequence_t CertificateListExactAssertion_sequence[] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_issuer }, - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_distributionPoint }, - { 0, 0, 0, NULL } +static const ber_sequence_t CertificateListExactAssertion_sequence[] = { + { &hf_x509ce_issuer , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x509if_Name }, + { &hf_x509ce_distributionPoint, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_DistributionPointName }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_CertificateListExactAssertion(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - CertificateListExactAssertion_sequence, hf_index, ett_x509ce_CertificateListExactAssertion); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CertificateListExactAssertion_sequence, hf_index, ett_x509ce_CertificateListExactAssertion); return offset; } -static const ber_old_sequence_t CertificateListAssertion_sequence[] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_issuer }, - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_minCRLNumber_impl }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_maxCRLNumber_impl }, - { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_reasonFlags }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_distributionPoint_impl }, - { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_authorityKeyIdentifier_impl }, - { 0, 0, 0, NULL } +static const ber_sequence_t CertificateListAssertion_sequence[] = { + { &hf_x509ce_issuer , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509if_Name }, + { &hf_x509ce_minCRLNumber , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CRLNumber }, + { &hf_x509ce_maxCRLNumber , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CRLNumber }, + { &hf_x509ce_reasonFlags , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_ReasonFlags }, + { &hf_x509ce_distributionPoint, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_DistributionPointName }, + { &hf_x509ce_authorityKeyIdentifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_AuthorityKeyIdentifier }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_CertificateListAssertion(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - CertificateListAssertion_sequence, hf_index, ett_x509ce_CertificateListAssertion); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CertificateListAssertion_sequence, hf_index, ett_x509ce_CertificateListAssertion); return offset; } -static const ber_old_sequence_t PkiPathMatchSyntax_sequence[] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_firstIssuer }, - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_lastSubject }, - { 0, 0, 0, NULL } +static const ber_sequence_t PkiPathMatchSyntax_sequence[] = { + { &hf_x509ce_firstIssuer , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x509if_Name }, + { &hf_x509ce_lastSubject , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x509if_Name }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509ce_PkiPathMatchSyntax(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - PkiPathMatchSyntax_sequence, hf_index, ett_x509ce_PkiPathMatchSyntax); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + PkiPathMatchSyntax_sequence, hf_index, ett_x509ce_PkiPathMatchSyntax); return offset; } -static const ber_old_sequence_t CertificateTemplate_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_templateID }, - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_templateMajorVersion }, - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_templateMinorVersion }, - { 0, 0, 0, NULL } +static const ber_sequence_t CertificateTemplate_sequence[] = { + { &hf_x509ce_templateID , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509ce_OBJECT_IDENTIFIER }, + { &hf_x509ce_templateMajorVersion, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509ce_INTEGER }, + { &hf_x509ce_templateMinorVersion, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_INTEGER }, + { NULL, 0, 0, 0, NULL } }; static int dissect_x509ce_CertificateTemplate(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - CertificateTemplate_sequence, hf_index, ett_x509ce_CertificateTemplate); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CertificateTemplate_sequence, hf_index, ett_x509ce_CertificateTemplate); return offset; } diff --git a/epan/dissectors/packet-x509ce.h b/epan/dissectors/packet-x509ce.h index 5dab481806..0a956d7484 100644 --- a/epan/dissectors/packet-x509ce.h +++ b/epan/dissectors/packet-x509ce.h @@ -1,7 +1,7 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Wireshark dissector compiler */ -/* ./packet-x509ce.h */ -/* ../../tools/asn2wrs.py -b -e -p x509ce -c x509ce.cnf -s packet-x509ce-template CertificateExtensions.asn */ +/* packet-x509ce.h */ +/* ../../tools/asn2wrs.py -b -e -X -T -p x509ce -c x509ce.cnf -s packet-x509ce-template CertificateExtensions.asn */ /* Input file: packet-x509ce-template.h */ diff --git a/epan/dissectors/packet-x509if.c b/epan/dissectors/packet-x509if.c index 183c21f274..8fe81dba81 100644 --- a/epan/dissectors/packet-x509if.c +++ b/epan/dissectors/packet-x509if.c @@ -1,7 +1,7 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-x509if.c */ -/* ../../tools/asn2wrs.py -b -e -p x509if -c x509if.cnf -s packet-x509if-template InformationFramework.asn */ +/* ../../tools/asn2wrs.py -b -e -X -T -p x509if -c x509if.cnf -s packet-x509if-template InformationFramework.asn */ /* Input file: packet-x509if-template.c */ @@ -313,62 +313,14 @@ static char *last_ava = NULL; /* Refinement -> Refinement */ int dissect_x509if_Refinement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -static int dissect_specificationFilter(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_Refinement(FALSE, tvb, offset, actx, tree, hf_x509if_specificationFilter); -} -static int dissect_refinement_and_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_Refinement(FALSE, tvb, offset, actx, tree, hf_x509if_refinement_and_item); -} -static int dissect_refinement_or_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_Refinement(FALSE, tvb, offset, actx, tree, hf_x509if_refinement_or_item); -} -static int dissect_refinement_not(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_Refinement(FALSE, tvb, offset, actx, tree, hf_x509if_refinement_not); -} - /* ContextCombination -> ContextCombination/and -> ContextCombination */ /* ContextCombination -> ContextCombination */ int dissect_x509if_ContextCombination(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -static int dissect_contextCombination(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_ContextCombination(FALSE, tvb, offset, actx, tree, hf_x509if_contextCombination); -} -static int dissect_contextcombination_and_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_ContextCombination(FALSE, tvb, offset, actx, tree, hf_x509if_contextcombination_and_item); -} -static int dissect_contextcombination_or_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_ContextCombination(FALSE, tvb, offset, actx, tree, hf_x509if_contextcombination_or_item); -} -static int dissect_contextcombination_not(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_ContextCombination(FALSE, tvb, offset, actx, tree, hf_x509if_contextcombination_not); -} - /* AttributeCombination -> AttributeCombination/and -> AttributeCombination */ /* AttributeCombination -> AttributeCombination */ int dissect_x509if_AttributeCombination(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -static int dissect_attributeCombination(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeCombination(FALSE, tvb, offset, actx, tree, hf_x509if_attributeCombination); -} -static int dissect_and_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeCombination(FALSE, tvb, offset, actx, tree, hf_x509if_and_item); -} -static int dissect_or_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeCombination(FALSE, tvb, offset, actx, tree, hf_x509if_or_item); -} -static int dissect_not(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeCombination(FALSE, tvb, offset, actx, tree, hf_x509if_not); -} - - -/*--- Fields for imported types ---*/ - -static int dissect_name_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_DirectoryString(FALSE, tvb, offset, actx, tree, hf_x509if_name_item); -} -static int dissect_description(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_DirectoryString(FALSE, tvb, offset, actx, tree, hf_x509if_description); -} @@ -409,27 +361,6 @@ dissect_x509if_AttributeId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off return offset; } -static int dissect_type(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeId(FALSE, tvb, offset, actx, tree, hf_x509if_type); -} -static int dissect_contextType(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeId(FALSE, tvb, offset, actx, tree, hf_x509if_contextType); -} -static int dissect_mandatory_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeId(FALSE, tvb, offset, actx, tree, hf_x509if_mandatory_item); -} -static int dissect_optional_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeId(FALSE, tvb, offset, actx, tree, hf_x509if_optional_item); -} -static int dissect_precluded_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeId(FALSE, tvb, offset, actx, tree, hf_x509if_precluded_item); -} -static int dissect_attributeType(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeId(FALSE, tvb, offset, actx, tree, hf_x509if_attributeType); -} -static int dissect_restrictionType(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeId(FALSE, tvb, offset, actx, tree, hf_x509if_restrictionType); -} @@ -482,27 +413,6 @@ dissect_x509if_AttributeValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int return offset; } -static int dissect_values_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeValue(FALSE, tvb, offset, actx, tree, hf_x509if_values_item); -} -static int dissect_contextValues_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeValue(FALSE, tvb, offset, actx, tree, hf_x509if_contextValues_item); -} -static int dissect_assertion(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeValue(FALSE, tvb, offset, actx, tree, hf_x509if_assertion); -} -static int dissect_atadv_value(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeValue(FALSE, tvb, offset, actx, tree, hf_x509if_atadv_value); -} -static int dissect_contextValue_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeValue(FALSE, tvb, offset, actx, tree, hf_x509if_contextValue_item); -} -static int dissect_restrictionValue(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeValue(FALSE, tvb, offset, actx, tree, hf_x509if_restrictionValue); -} -static int dissect_selectedValues_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeValue(FALSE, tvb, offset, actx, tree, hf_x509if_selectedValues_item); -} @@ -515,31 +425,19 @@ dissect_x509if_ValuesWithContextValue(gboolean implicit_tag _U_, tvbuff_t *tvb _ return offset; } -static int dissect_value(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_ValuesWithContextValue(FALSE, tvb, offset, actx, tree, hf_x509if_value); -} -static int dissect_distingAttrValue(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_ValuesWithContextValue(FALSE, tvb, offset, actx, tree, hf_x509if_distingAttrValue); -} -static const ber_old_sequence_t SET_OF_AttributeValue_set_of[1] = { - { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_values_item }, +static const ber_sequence_t SET_OF_AttributeValue_set_of[1] = { + { &hf_x509if_values_item , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeValue }, }; static int dissect_x509if_SET_OF_AttributeValue(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - SET_OF_AttributeValue_set_of, hf_index, ett_x509if_SET_OF_AttributeValue); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + SET_OF_AttributeValue_set_of, hf_index, ett_x509if_SET_OF_AttributeValue); return offset; } -static int dissect_values(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SET_OF_AttributeValue(FALSE, tvb, offset, actx, tree, hf_x509if_values); -} -static int dissect_contextValues(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SET_OF_AttributeValue(FALSE, tvb, offset, actx, tree, hf_x509if_contextValues); -} @@ -549,100 +447,76 @@ dissect_x509if_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset return offset; } -static int dissect_fallback(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_BOOLEAN(FALSE, tvb, offset, actx, tree, hf_x509if_fallback); -} -static int dissect_primaryDistinguished(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_BOOLEAN(FALSE, tvb, offset, actx, tree, hf_x509if_primaryDistinguished); -} -static int dissect_obsolete(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_BOOLEAN(FALSE, tvb, offset, actx, tree, hf_x509if_obsolete); -} -static int dissect_includeSubtypes(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_BOOLEAN(FALSE, tvb, offset, actx, tree, hf_x509if_includeSubtypes); -} -static const ber_old_sequence_t Context_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_contextType }, - { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_contextValues }, - { BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_fallback }, - { 0, 0, 0, NULL } +static const ber_sequence_t Context_sequence[] = { + { &hf_x509if_contextType , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeId }, + { &hf_x509if_contextValues, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509if_SET_OF_AttributeValue }, + { &hf_x509if_fallback , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509if_BOOLEAN }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_Context(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - Context_sequence, hf_index, ett_x509if_Context); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + Context_sequence, hf_index, ett_x509if_Context); return offset; } -static int dissect_contextList_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_Context(FALSE, tvb, offset, actx, tree, hf_x509if_contextList_item); -} -static const ber_old_sequence_t SET_OF_Context_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_contextList_item }, +static const ber_sequence_t SET_OF_Context_set_of[1] = { + { &hf_x509if_contextList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_Context }, }; static int dissect_x509if_SET_OF_Context(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - SET_OF_Context_set_of, hf_index, ett_x509if_SET_OF_Context); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + SET_OF_Context_set_of, hf_index, ett_x509if_SET_OF_Context); return offset; } -static int dissect_contextList(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SET_OF_Context(FALSE, tvb, offset, actx, tree, hf_x509if_contextList); -} -static const ber_old_sequence_t T_valuesWithContext_item_sequence[] = { - { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_value }, - { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_contextList }, - { 0, 0, 0, NULL } +static const ber_sequence_t T_valuesWithContext_item_sequence[] = { + { &hf_x509if_value , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x509if_ValuesWithContextValue }, + { &hf_x509if_contextList , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509if_SET_OF_Context }, + { NULL, 0, 0, 0, NULL } }; static int dissect_x509if_T_valuesWithContext_item(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - T_valuesWithContext_item_sequence, hf_index, ett_x509if_T_valuesWithContext_item); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_valuesWithContext_item_sequence, hf_index, ett_x509if_T_valuesWithContext_item); return offset; } -static int dissect_valuesWithContext_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_T_valuesWithContext_item(FALSE, tvb, offset, actx, tree, hf_x509if_valuesWithContext_item); -} -static const ber_old_sequence_t T_valuesWithContext_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_valuesWithContext_item }, +static const ber_sequence_t T_valuesWithContext_set_of[1] = { + { &hf_x509if_valuesWithContext_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_T_valuesWithContext_item }, }; static int dissect_x509if_T_valuesWithContext(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - T_valuesWithContext_set_of, hf_index, ett_x509if_T_valuesWithContext); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + T_valuesWithContext_set_of, hf_index, ett_x509if_T_valuesWithContext); return offset; } -static int dissect_valuesWithContext(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_T_valuesWithContext(FALSE, tvb, offset, actx, tree, hf_x509if_valuesWithContext); -} -static const ber_old_sequence_t Attribute_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_type }, - { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_values }, - { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_valuesWithContext }, - { 0, 0, 0, NULL } +static const ber_sequence_t Attribute_sequence[] = { + { &hf_x509if_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeId }, + { &hf_x509if_values , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509if_SET_OF_AttributeValue }, + { &hf_x509if_valuesWithContext, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509if_T_valuesWithContext }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_Attribute(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - Attribute_sequence, hf_index, ett_x509if_Attribute); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + Attribute_sequence, hf_index, ett_x509if_Attribute); return offset; } @@ -655,12 +529,6 @@ dissect_x509if_AttributeType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o return offset; } -static int dissect_additionalControl_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeType(FALSE, tvb, offset, actx, tree, hf_x509if_additionalControl_item); -} -static int dissect_attribute(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeType(FALSE, tvb, offset, actx, tree, hf_x509if_attribute); -} @@ -670,12 +538,6 @@ dissect_x509if_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_ return offset; } -static int dissect_allContexts(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_NULL(FALSE, tvb, offset, actx, tree, hf_x509if_allContexts); -} -static int dissect_matchedValuesOnly(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_NULL(FALSE, tvb, offset, actx, tree, hf_x509if_matchedValuesOnly); -} @@ -685,9 +547,6 @@ dissect_x509if_ContextId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse return offset; } -static int dissect_ca_contextType(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_ContextId(FALSE, tvb, offset, actx, tree, hf_x509if_ca_contextType); -} @@ -700,62 +559,47 @@ dissect_x509if_ContextValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of return offset; } -static int dissect_ca_contextValues_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_ContextValue(FALSE, tvb, offset, actx, tree, hf_x509if_ca_contextValues_item); -} -static const ber_old_sequence_t SET_OF_ContextValue_set_of[1] = { - { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_ca_contextValues_item }, +static const ber_sequence_t SET_OF_ContextValue_set_of[1] = { + { &hf_x509if_ca_contextValues_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x509if_ContextValue }, }; static int dissect_x509if_SET_OF_ContextValue(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - SET_OF_ContextValue_set_of, hf_index, ett_x509if_SET_OF_ContextValue); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + SET_OF_ContextValue_set_of, hf_index, ett_x509if_SET_OF_ContextValue); return offset; } -static int dissect_ca_contextValues(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SET_OF_ContextValue(FALSE, tvb, offset, actx, tree, hf_x509if_ca_contextValues); -} -static const ber_old_sequence_t ContextAssertion_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ca_contextType }, - { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_ca_contextValues }, - { 0, 0, 0, NULL } +static const ber_sequence_t ContextAssertion_sequence[] = { + { &hf_x509if_ca_contextType, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_ContextId }, + { &hf_x509if_ca_contextValues, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509if_SET_OF_ContextValue }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_ContextAssertion(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - ContextAssertion_sequence, hf_index, ett_x509if_ContextAssertion); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ContextAssertion_sequence, hf_index, ett_x509if_ContextAssertion); return offset; } -static int dissect_selectedContexts_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_ContextAssertion(FALSE, tvb, offset, actx, tree, hf_x509if_selectedContexts_item); -} -static int dissect_ata_assertedContexts_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_ContextAssertion(FALSE, tvb, offset, actx, tree, hf_x509if_ata_assertedContexts_item); -} -static const ber_old_sequence_t SET_OF_ContextAssertion_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_selectedContexts_item }, +static const ber_sequence_t SET_OF_ContextAssertion_set_of[1] = { + { &hf_x509if_selectedContexts_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_ContextAssertion }, }; static int dissect_x509if_SET_OF_ContextAssertion(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - SET_OF_ContextAssertion_set_of, hf_index, ett_x509if_SET_OF_ContextAssertion); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + SET_OF_ContextAssertion_set_of, hf_index, ett_x509if_SET_OF_ContextAssertion); return offset; } -static int dissect_selectedContexts(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SET_OF_ContextAssertion(FALSE, tvb, offset, actx, tree, hf_x509if_selectedContexts); -} static const value_string x509if_T_assertedContexts_vals[] = { @@ -764,30 +608,27 @@ static const value_string x509if_T_assertedContexts_vals[] = { { 0, NULL } }; -static const ber_old_choice_t T_assertedContexts_choice[] = { - { 0, BER_CLASS_CON, 0, 0, dissect_allContexts }, - { 1, BER_CLASS_CON, 1, 0, dissect_selectedContexts }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t T_assertedContexts_choice[] = { + { 0, &hf_x509if_allContexts , BER_CLASS_CON, 0, 0, dissect_x509if_NULL }, + { 1, &hf_x509if_selectedContexts, BER_CLASS_CON, 1, 0, dissect_x509if_SET_OF_ContextAssertion }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_x509if_T_assertedContexts(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_old_choice(actx, tree, tvb, offset, - T_assertedContexts_choice, hf_index, ett_x509if_T_assertedContexts, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + T_assertedContexts_choice, hf_index, ett_x509if_T_assertedContexts, + NULL); return offset; } -static int dissect_assertedContexts(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_T_assertedContexts(FALSE, tvb, offset, actx, tree, hf_x509if_assertedContexts); -} -static const ber_old_sequence_t AttributeValueAssertion_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_type }, - { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_assertion }, - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_assertedContexts }, - { 0, 0, 0, NULL } +static const ber_sequence_t AttributeValueAssertion_sequence[] = { + { &hf_x509if_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeId }, + { &hf_x509if_assertion , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeValue }, + { &hf_x509if_assertedContexts, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509if_T_assertedContexts }, + { NULL, 0, 0, 0, NULL } }; int @@ -797,8 +638,8 @@ dissect_x509if_AttributeValueAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb ava_hf_index = hf_index; last_ava = ep_alloc(MAX_AVA_STR_LEN); *last_ava = '\0'; - offset = dissect_ber_old_sequence(implicit_tag, actx, tree, tvb, offset, - AttributeValueAssertion_sequence, hf_index, ett_x509if_AttributeValueAssertion); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + AttributeValueAssertion_sequence, hf_index, ett_x509if_AttributeValueAssertion); ava_hf_index=-1; @@ -809,83 +650,74 @@ dissect_x509if_AttributeValueAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb } -static const ber_old_sequence_t SEQUENCE_OF_ContextAssertion_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ata_assertedContexts_item }, +static const ber_sequence_t SEQUENCE_OF_ContextAssertion_sequence_of[1] = { + { &hf_x509if_ata_assertedContexts_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_ContextAssertion }, }; static int dissect_x509if_SEQUENCE_OF_ContextAssertion(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_OF_ContextAssertion_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_ContextAssertion); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_ContextAssertion_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_ContextAssertion); return offset; } -static int dissect_ata_assertedContexts(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SEQUENCE_OF_ContextAssertion(FALSE, tvb, offset, actx, tree, hf_x509if_ata_assertedContexts); -} -static const ber_old_sequence_t AttributeTypeAssertion_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_type }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ata_assertedContexts }, - { 0, 0, 0, NULL } +static const ber_sequence_t AttributeTypeAssertion_sequence[] = { + { &hf_x509if_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeId }, + { &hf_x509if_ata_assertedContexts, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509if_SEQUENCE_OF_ContextAssertion }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_AttributeTypeAssertion(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - AttributeTypeAssertion_sequence, hf_index, ett_x509if_AttributeTypeAssertion); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + AttributeTypeAssertion_sequence, hf_index, ett_x509if_AttributeTypeAssertion); return offset; } -static const ber_old_sequence_t T_valWithContext_item_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_distingAttrValue }, - { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_contextList }, - { 0, 0, 0, NULL } +static const ber_sequence_t T_valWithContext_item_sequence[] = { + { &hf_x509if_distingAttrValue, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509if_ValuesWithContextValue }, + { &hf_x509if_contextList , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509if_SET_OF_Context }, + { NULL, 0, 0, 0, NULL } }; static int dissect_x509if_T_valWithContext_item(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - T_valWithContext_item_sequence, hf_index, ett_x509if_T_valWithContext_item); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_valWithContext_item_sequence, hf_index, ett_x509if_T_valWithContext_item); return offset; } -static int dissect_valueswithContext_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_T_valWithContext_item(FALSE, tvb, offset, actx, tree, hf_x509if_valueswithContext_item); -} -static const ber_old_sequence_t T_valWithContext_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_valueswithContext_item }, +static const ber_sequence_t T_valWithContext_set_of[1] = { + { &hf_x509if_valueswithContext_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_T_valWithContext_item }, }; static int dissect_x509if_T_valWithContext(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - T_valWithContext_set_of, hf_index, ett_x509if_T_valWithContext); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + T_valWithContext_set_of, hf_index, ett_x509if_T_valWithContext); return offset; } -static int dissect_valueswithContext(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_T_valWithContext(FALSE, tvb, offset, actx, tree, hf_x509if_valueswithContext); -} -static const ber_old_sequence_t AttributeTypeAndDistinguishedValue_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_type }, - { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_atadv_value }, - { BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_primaryDistinguished }, - { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_valueswithContext }, - { 0, 0, 0, NULL } +static const ber_sequence_t AttributeTypeAndDistinguishedValue_sequence[] = { + { &hf_x509if_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeId }, + { &hf_x509if_atadv_value , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeValue }, + { &hf_x509if_primaryDistinguished, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509if_BOOLEAN }, + { &hf_x509if_valueswithContext, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509if_T_valWithContext }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_AttributeTypeAndDistinguishedValue(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - AttributeTypeAndDistinguishedValue_sequence, hf_index, ett_x509if_AttributeTypeAndDistinguishedValue); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + AttributeTypeAndDistinguishedValue_sequence, hf_index, ett_x509if_AttributeTypeAndDistinguishedValue); return offset; } @@ -914,13 +746,10 @@ dissect_x509if_RelativeDistinguishedName_item(gboolean implicit_tag _U_, tvbuff_ return offset; } -static int dissect_RelativeDistinguishedName_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_RelativeDistinguishedName_item(FALSE, tvb, offset, actx, tree, hf_x509if_RelativeDistinguishedName_item); -} -static const ber_old_sequence_t RelativeDistinguishedName_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_RelativeDistinguishedName_item }, +static const ber_sequence_t RelativeDistinguishedName_set_of[1] = { + { &hf_x509if_RelativeDistinguishedName_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_RelativeDistinguishedName_item }, }; int @@ -933,8 +762,8 @@ dissect_x509if_RelativeDistinguishedName(gboolean implicit_tag _U_, tvbuff_t *tv last_rdn = ep_alloc(MAX_DN_STR_LEN); *last_rdn = '\0'; doing_dn = TRUE; - offset = dissect_ber_old_set_of(implicit_tag, actx, tree, tvb, offset, - RelativeDistinguishedName_set_of, hf_index, ett_x509if_RelativeDistinguishedName); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + RelativeDistinguishedName_set_of, hf_index, ett_x509if_RelativeDistinguishedName); /* we've finished - close the bracket */ @@ -980,13 +809,10 @@ dissect_x509if_RDNSequence_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in return offset; } -static int dissect_RDNSequence_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_RDNSequence_item(FALSE, tvb, offset, actx, tree, hf_x509if_RDNSequence_item); -} -static const ber_old_sequence_t RDNSequence_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_RDNSequence_item }, +static const ber_sequence_t RDNSequence_sequence_of[1] = { + { &hf_x509if_RDNSequence_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509if_RDNSequence_item }, }; int @@ -998,8 +824,8 @@ dissect_x509if_RDNSequence(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off last_dn = ep_alloc(MAX_DN_STR_LEN); *last_dn = '\0'; top_of_dn = NULL; - offset = dissect_ber_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - RDNSequence_sequence_of, hf_index, ett_x509if_RDNSequence); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + RDNSequence_sequence_of, hf_index, ett_x509if_RDNSequence); /* we've finished - append the dn */ @@ -1017,9 +843,6 @@ dissect_x509if_RDNSequence(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off return offset; } -static int dissect_rdnSequence(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_RDNSequence(FALSE, tvb, offset, actx, tree, hf_x509if_rdnSequence); -} const value_string x509if_Name_vals[] = { @@ -1027,16 +850,16 @@ const value_string x509if_Name_vals[] = { { 0, NULL } }; -static const ber_old_choice_t Name_choice[] = { - { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_rdnSequence }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t Name_choice[] = { + { 0, &hf_x509if_rdnSequence , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_RDNSequence }, + { 0, NULL, 0, 0, 0, NULL } }; int dissect_x509if_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_) { - offset = dissect_ber_old_choice(actx, tree, tvb, offset, - Name_choice, hf_index, ett_x509if_Name, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + Name_choice, hf_index, ett_x509if_Name, + NULL); return offset; } @@ -1058,15 +881,6 @@ dissect_x509if_LocalName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse return offset; } -static int dissect_base(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_LocalName(FALSE, tvb, offset, actx, tree, hf_x509if_base); -} -static int dissect_chopBefore(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_LocalName(FALSE, tvb, offset, actx, tree, hf_x509if_chopBefore); -} -static int dissect_chopAfter(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_LocalName(FALSE, tvb, offset, actx, tree, hf_x509if_chopAfter); -} static const value_string x509if_T_specificExclusions_item_vals[] = { @@ -1075,39 +889,33 @@ static const value_string x509if_T_specificExclusions_item_vals[] = { { 0, NULL } }; -static const ber_old_choice_t T_specificExclusions_item_choice[] = { - { 0, BER_CLASS_CON, 0, 0, dissect_chopBefore }, - { 1, BER_CLASS_CON, 1, 0, dissect_chopAfter }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t T_specificExclusions_item_choice[] = { + { 0, &hf_x509if_chopBefore , BER_CLASS_CON, 0, 0, dissect_x509if_LocalName }, + { 1, &hf_x509if_chopAfter , BER_CLASS_CON, 1, 0, dissect_x509if_LocalName }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_x509if_T_specificExclusions_item(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_old_choice(actx, tree, tvb, offset, - T_specificExclusions_item_choice, hf_index, ett_x509if_T_specificExclusions_item, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + T_specificExclusions_item_choice, hf_index, ett_x509if_T_specificExclusions_item, + NULL); return offset; } -static int dissect_specificExclusions_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_T_specificExclusions_item(FALSE, tvb, offset, actx, tree, hf_x509if_specificExclusions_item); -} -static const ber_old_sequence_t T_specificExclusions_set_of[1] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_specificExclusions_item }, +static const ber_sequence_t T_specificExclusions_set_of[1] = { + { &hf_x509if_specificExclusions_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509if_T_specificExclusions_item }, }; static int dissect_x509if_T_specificExclusions(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - T_specificExclusions_set_of, hf_index, ett_x509if_T_specificExclusions); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + T_specificExclusions_set_of, hf_index, ett_x509if_T_specificExclusions); return offset; } -static int dissect_specificExclusions(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_T_specificExclusions(FALSE, tvb, offset, actx, tree, hf_x509if_specificExclusions); -} @@ -1118,12 +926,6 @@ dissect_x509if_BaseDistance(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of return offset; } -static int dissect_minimum(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_BaseDistance(FALSE, tvb, offset, actx, tree, hf_x509if_minimum); -} -static int dissect_maximum(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_BaseDistance(FALSE, tvb, offset, actx, tree, hf_x509if_maximum); -} @@ -1133,61 +935,19 @@ dissect_x509if_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i return offset; } -static int dissect_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, actx, tree, hf_x509if_item); -} -static int dissect_nameForm(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, actx, tree, hf_x509if_nameForm); -} -static int dissect_structuralObjectClass(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, actx, tree, hf_x509if_structuralObjectClass); -} -static int dissect_auxiliaries_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, actx, tree, hf_x509if_auxiliaries_item); -} -static int dissect_mandatoryContexts_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, actx, tree, hf_x509if_mandatoryContexts_item); -} -static int dissect_optionalContexts_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, actx, tree, hf_x509if_optionalContexts_item); -} -static int dissect_dmdId(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, actx, tree, hf_x509if_dmdId); -} -static int dissect_serviceType(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, actx, tree, hf_x509if_serviceType); -} -static int dissect_context(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, actx, tree, hf_x509if_context); -} -static int dissect_mappingFunction(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, actx, tree, hf_x509if_mappingFunction); -} -static int dissect_oldMatchingRule(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, actx, tree, hf_x509if_oldMatchingRule); -} -static int dissect_newMatchingRule(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_OBJECT_IDENTIFIER(FALSE, tvb, offset, actx, tree, hf_x509if_newMatchingRule); -} -static const ber_old_sequence_t SET_OF_Refinement_set_of[1] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_refinement_and_item }, +static const ber_sequence_t SET_OF_Refinement_set_of[1] = { + { &hf_x509if_refinement_and_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509if_Refinement }, }; static int dissect_x509if_SET_OF_Refinement(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - SET_OF_Refinement_set_of, hf_index, ett_x509if_SET_OF_Refinement); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + SET_OF_Refinement_set_of, hf_index, ett_x509if_SET_OF_Refinement); return offset; } -static int dissect_refinement_and(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SET_OF_Refinement(FALSE, tvb, offset, actx, tree, hf_x509if_refinement_and); -} -static int dissect_refinement_or(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SET_OF_Refinement(FALSE, tvb, offset, actx, tree, hf_x509if_refinement_or); -} const value_string x509if_Refinement_vals[] = { @@ -1198,37 +958,37 @@ const value_string x509if_Refinement_vals[] = { { 0, NULL } }; -static const ber_old_choice_t Refinement_choice[] = { - { 0, BER_CLASS_CON, 0, 0, dissect_item }, - { 1, BER_CLASS_CON, 1, 0, dissect_refinement_and }, - { 2, BER_CLASS_CON, 2, 0, dissect_refinement_or }, - { 3, BER_CLASS_CON, 3, 0, dissect_refinement_not }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t Refinement_choice[] = { + { 0, &hf_x509if_item , BER_CLASS_CON, 0, 0, dissect_x509if_OBJECT_IDENTIFIER }, + { 1, &hf_x509if_refinement_and, BER_CLASS_CON, 1, 0, dissect_x509if_SET_OF_Refinement }, + { 2, &hf_x509if_refinement_or, BER_CLASS_CON, 2, 0, dissect_x509if_SET_OF_Refinement }, + { 3, &hf_x509if_refinement_not, BER_CLASS_CON, 3, 0, dissect_x509if_Refinement }, + { 0, NULL, 0, 0, 0, NULL } }; int dissect_x509if_Refinement(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_old_choice(actx, tree, tvb, offset, - Refinement_choice, hf_index, ett_x509if_Refinement, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + Refinement_choice, hf_index, ett_x509if_Refinement, + NULL); return offset; } -static const ber_old_sequence_t SubtreeSpecification_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_base }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_specificExclusions }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_minimum }, - { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_maximum }, - { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_specificationFilter }, - { 0, 0, 0, NULL } +static const ber_sequence_t SubtreeSpecification_sequence[] = { + { &hf_x509if_base , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509if_LocalName }, + { &hf_x509if_specificExclusions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509if_T_specificExclusions }, + { &hf_x509if_minimum , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509if_BaseDistance }, + { &hf_x509if_maximum , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_x509if_BaseDistance }, + { &hf_x509if_specificationFilter, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_x509if_Refinement }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_SubtreeSpecification(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - SubtreeSpecification_sequence, hf_index, ett_x509if_SubtreeSpecification); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + SubtreeSpecification_sequence, hf_index, ett_x509if_SubtreeSpecification); return offset; } @@ -1240,52 +1000,46 @@ static const value_string x509if_T_chopSpecificExclusions_item_vals[] = { { 0, NULL } }; -static const ber_old_choice_t T_chopSpecificExclusions_item_choice[] = { - { 0, BER_CLASS_CON, 0, 0, dissect_chopBefore }, - { 1, BER_CLASS_CON, 1, 0, dissect_chopAfter }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t T_chopSpecificExclusions_item_choice[] = { + { 0, &hf_x509if_chopBefore , BER_CLASS_CON, 0, 0, dissect_x509if_LocalName }, + { 1, &hf_x509if_chopAfter , BER_CLASS_CON, 1, 0, dissect_x509if_LocalName }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_x509if_T_chopSpecificExclusions_item(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_old_choice(actx, tree, tvb, offset, - T_chopSpecificExclusions_item_choice, hf_index, ett_x509if_T_chopSpecificExclusions_item, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + T_chopSpecificExclusions_item_choice, hf_index, ett_x509if_T_chopSpecificExclusions_item, + NULL); return offset; } -static int dissect_chopSpecificExclusions_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_T_chopSpecificExclusions_item(FALSE, tvb, offset, actx, tree, hf_x509if_chopSpecificExclusions_item); -} -static const ber_old_sequence_t T_chopSpecificExclusions_set_of[1] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_chopSpecificExclusions_item }, +static const ber_sequence_t T_chopSpecificExclusions_set_of[1] = { + { &hf_x509if_chopSpecificExclusions_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509if_T_chopSpecificExclusions_item }, }; static int dissect_x509if_T_chopSpecificExclusions(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - T_chopSpecificExclusions_set_of, hf_index, ett_x509if_T_chopSpecificExclusions); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + T_chopSpecificExclusions_set_of, hf_index, ett_x509if_T_chopSpecificExclusions); return offset; } -static int dissect_chopSpecificExclusions(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_T_chopSpecificExclusions(FALSE, tvb, offset, actx, tree, hf_x509if_chopSpecificExclusions); -} -static const ber_old_sequence_t ChopSpecification_sequence[] = { - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_chopSpecificExclusions }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_minimum }, - { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_maximum }, - { 0, 0, 0, NULL } +static const ber_sequence_t ChopSpecification_sequence[] = { + { &hf_x509if_chopSpecificExclusions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509if_T_chopSpecificExclusions }, + { &hf_x509if_minimum , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509if_BaseDistance }, + { &hf_x509if_maximum , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_x509if_BaseDistance }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_ChopSpecification(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - ChopSpecification_sequence, hf_index, ett_x509if_ChopSpecification); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ChopSpecification_sequence, hf_index, ett_x509if_ChopSpecification); return offset; } @@ -1334,145 +1088,118 @@ dissect_x509if_RuleIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int return offset; } -static int dissect_ruleIdentifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_RuleIdentifier(FALSE, tvb, offset, actx, tree, hf_x509if_ruleIdentifier); -} -static int dissect_superiorStructureRules_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_RuleIdentifier(FALSE, tvb, offset, actx, tree, hf_x509if_superiorStructureRules_item); -} -static const ber_old_sequence_t SET_OF_RuleIdentifier_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_superiorStructureRules_item }, +static const ber_sequence_t SET_OF_RuleIdentifier_set_of[1] = { + { &hf_x509if_superiorStructureRules_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509if_RuleIdentifier }, }; static int dissect_x509if_SET_OF_RuleIdentifier(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - SET_OF_RuleIdentifier_set_of, hf_index, ett_x509if_SET_OF_RuleIdentifier); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + SET_OF_RuleIdentifier_set_of, hf_index, ett_x509if_SET_OF_RuleIdentifier); return offset; } -static int dissect_superiorStructureRules(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SET_OF_RuleIdentifier(FALSE, tvb, offset, actx, tree, hf_x509if_superiorStructureRules); -} -static const ber_old_sequence_t DITStructureRule_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_ruleIdentifier }, - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_nameForm }, - { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_superiorStructureRules }, - { 0, 0, 0, NULL } +static const ber_sequence_t DITStructureRule_sequence[] = { + { &hf_x509if_ruleIdentifier, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509if_RuleIdentifier }, + { &hf_x509if_nameForm , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_OBJECT_IDENTIFIER }, + { &hf_x509if_superiorStructureRules, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509if_SET_OF_RuleIdentifier }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_DITStructureRule(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - DITStructureRule_sequence, hf_index, ett_x509if_DITStructureRule); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + DITStructureRule_sequence, hf_index, ett_x509if_DITStructureRule); return offset; } -static const ber_old_sequence_t T_auxiliaries_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_auxiliaries_item }, +static const ber_sequence_t T_auxiliaries_set_of[1] = { + { &hf_x509if_auxiliaries_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_OBJECT_IDENTIFIER }, }; static int dissect_x509if_T_auxiliaries(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - T_auxiliaries_set_of, hf_index, ett_x509if_T_auxiliaries); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + T_auxiliaries_set_of, hf_index, ett_x509if_T_auxiliaries); return offset; } -static int dissect_auxiliaries(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_T_auxiliaries(FALSE, tvb, offset, actx, tree, hf_x509if_auxiliaries); -} -static const ber_old_sequence_t SET_SIZE_1_MAX_OF_AttributeId_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_mandatory_item }, +static const ber_sequence_t SET_SIZE_1_MAX_OF_AttributeId_set_of[1] = { + { &hf_x509if_mandatory_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeId }, }; static int dissect_x509if_SET_SIZE_1_MAX_OF_AttributeId(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - SET_SIZE_1_MAX_OF_AttributeId_set_of, hf_index, ett_x509if_SET_SIZE_1_MAX_OF_AttributeId); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + SET_SIZE_1_MAX_OF_AttributeId_set_of, hf_index, ett_x509if_SET_SIZE_1_MAX_OF_AttributeId); return offset; } -static int dissect_mandatory(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SET_SIZE_1_MAX_OF_AttributeId(FALSE, tvb, offset, actx, tree, hf_x509if_mandatory); -} -static int dissect_optional(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SET_SIZE_1_MAX_OF_AttributeId(FALSE, tvb, offset, actx, tree, hf_x509if_optional); -} -static int dissect_precluded(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SET_SIZE_1_MAX_OF_AttributeId(FALSE, tvb, offset, actx, tree, hf_x509if_precluded); -} -static const ber_old_sequence_t DITContentRule_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_structuralObjectClass }, - { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_auxiliaries }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_mandatory }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_optional }, - { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_precluded }, - { 0, 0, 0, NULL } +static const ber_sequence_t DITContentRule_sequence[] = { + { &hf_x509if_structuralObjectClass, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_OBJECT_IDENTIFIER }, + { &hf_x509if_auxiliaries , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509if_T_auxiliaries }, + { &hf_x509if_mandatory , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509if_SET_SIZE_1_MAX_OF_AttributeId }, + { &hf_x509if_optional , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509if_SET_SIZE_1_MAX_OF_AttributeId }, + { &hf_x509if_precluded , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_x509if_SET_SIZE_1_MAX_OF_AttributeId }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_DITContentRule(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - DITContentRule_sequence, hf_index, ett_x509if_DITContentRule); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + DITContentRule_sequence, hf_index, ett_x509if_DITContentRule); return offset; } -static const ber_old_sequence_t T_mandatoryContexts_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_mandatoryContexts_item }, +static const ber_sequence_t T_mandatoryContexts_set_of[1] = { + { &hf_x509if_mandatoryContexts_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_OBJECT_IDENTIFIER }, }; static int dissect_x509if_T_mandatoryContexts(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - T_mandatoryContexts_set_of, hf_index, ett_x509if_T_mandatoryContexts); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + T_mandatoryContexts_set_of, hf_index, ett_x509if_T_mandatoryContexts); return offset; } -static int dissect_mandatoryContexts(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_T_mandatoryContexts(FALSE, tvb, offset, actx, tree, hf_x509if_mandatoryContexts); -} -static const ber_old_sequence_t T_optionalContexts_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_optionalContexts_item }, +static const ber_sequence_t T_optionalContexts_set_of[1] = { + { &hf_x509if_optionalContexts_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_OBJECT_IDENTIFIER }, }; static int dissect_x509if_T_optionalContexts(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - T_optionalContexts_set_of, hf_index, ett_x509if_T_optionalContexts); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + T_optionalContexts_set_of, hf_index, ett_x509if_T_optionalContexts); return offset; } -static int dissect_optionalContexts(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_T_optionalContexts(FALSE, tvb, offset, actx, tree, hf_x509if_optionalContexts); -} -static const ber_old_sequence_t DITContextUse_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_attributeType }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_mandatoryContexts }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_optionalContexts }, - { 0, 0, 0, NULL } +static const ber_sequence_t DITContextUse_sequence[] = { + { &hf_x509if_attributeType, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeId }, + { &hf_x509if_mandatoryContexts, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509if_T_mandatoryContexts }, + { &hf_x509if_optionalContexts, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509if_T_optionalContexts }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_DITContextUse(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - DITContextUse_sequence, hf_index, ett_x509if_DITContextUse); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + DITContextUse_sequence, hf_index, ett_x509if_DITContextUse); return offset; } @@ -1486,27 +1213,6 @@ dissect_x509if_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset return offset; } -static int dissect_id(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509if_id); -} -static int dissect_userClass(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509if_userClass); -} -static int dissect_default(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509if_default); -} -static int dissect_max(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509if_max); -} -static int dissect_maximum_relaxation(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509if_maximum_relaxation); -} -static int dissect_minimum_relaxation(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509if_minimum_relaxation); -} -static int dissect_level(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509if_level); -} @@ -1519,25 +1225,19 @@ dissect_x509if_SelectedValues(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int return offset; } -static int dissect_ra_selectedValues_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SelectedValues(FALSE, tvb, offset, actx, tree, hf_x509if_ra_selectedValues_item); -} -static const ber_old_sequence_t SEQUENCE_OF_SelectedValues_sequence_of[1] = { - { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_ra_selectedValues_item }, +static const ber_sequence_t SEQUENCE_OF_SelectedValues_sequence_of[1] = { + { &hf_x509if_ra_selectedValues_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x509if_SelectedValues }, }; static int dissect_x509if_SEQUENCE_OF_SelectedValues(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_OF_SelectedValues_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_SelectedValues); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_SelectedValues_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_SelectedValues); return offset; } -static int dissect_ra_selectedValues(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SEQUENCE_OF_SelectedValues(FALSE, tvb, offset, actx, tree, hf_x509if_ra_selectedValues); -} @@ -1547,9 +1247,6 @@ dissect_x509if_DefaultValueType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in return offset; } -static int dissect_entryType(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_DefaultValueType(FALSE, tvb, offset, actx, tree, hf_x509if_entryType); -} @@ -1562,131 +1259,101 @@ dissect_x509if_DefaultValueValues(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, return offset; } -static int dissect_ra_values_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_DefaultValueValues(FALSE, tvb, offset, actx, tree, hf_x509if_ra_values_item); -} -static const ber_old_sequence_t SEQUENCE_OF_DefaultValueValues_sequence_of[1] = { - { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_ra_values_item }, +static const ber_sequence_t SEQUENCE_OF_DefaultValueValues_sequence_of[1] = { + { &hf_x509if_ra_values_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x509if_DefaultValueValues }, }; static int dissect_x509if_SEQUENCE_OF_DefaultValueValues(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_OF_DefaultValueValues_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_DefaultValueValues); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_DefaultValueValues_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_DefaultValueValues); return offset; } -static int dissect_ra_values(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SEQUENCE_OF_DefaultValueValues(FALSE, tvb, offset, actx, tree, hf_x509if_ra_values); -} -static const ber_old_sequence_t T_defaultValues_item_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_entryType }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ra_values }, - { 0, 0, 0, NULL } +static const ber_sequence_t T_defaultValues_item_sequence[] = { + { &hf_x509if_entryType , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509if_DefaultValueType }, + { &hf_x509if_ra_values , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_SEQUENCE_OF_DefaultValueValues }, + { NULL, 0, 0, 0, NULL } }; static int dissect_x509if_T_defaultValues_item(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - T_defaultValues_item_sequence, hf_index, ett_x509if_T_defaultValues_item); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_defaultValues_item_sequence, hf_index, ett_x509if_T_defaultValues_item); return offset; } -static int dissect_defaultValues_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_T_defaultValues_item(FALSE, tvb, offset, actx, tree, hf_x509if_defaultValues_item); -} -static const ber_old_sequence_t T_defaultValues_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_defaultValues_item }, +static const ber_sequence_t T_defaultValues_sequence_of[1] = { + { &hf_x509if_defaultValues_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_T_defaultValues_item }, }; static int dissect_x509if_T_defaultValues(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - T_defaultValues_sequence_of, hf_index, ett_x509if_T_defaultValues); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + T_defaultValues_sequence_of, hf_index, ett_x509if_T_defaultValues); return offset; } -static int dissect_defaultValues(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_T_defaultValues(FALSE, tvb, offset, actx, tree, hf_x509if_defaultValues); -} -static const ber_old_sequence_t SEQUENCE_OF_AttributeValue_sequence_of[1] = { - { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_contextValue_item }, +static const ber_sequence_t SEQUENCE_OF_AttributeValue_sequence_of[1] = { + { &hf_x509if_contextValue_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeValue }, }; static int dissect_x509if_SEQUENCE_OF_AttributeValue(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_OF_AttributeValue_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_AttributeValue); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_AttributeValue_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_AttributeValue); return offset; } -static int dissect_contextValue(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SEQUENCE_OF_AttributeValue(FALSE, tvb, offset, actx, tree, hf_x509if_contextValue); -} -static int dissect_selectedValues(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SEQUENCE_OF_AttributeValue(FALSE, tvb, offset, actx, tree, hf_x509if_selectedValues); -} -static const ber_old_sequence_t ContextProfile_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_contextType }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_contextValue }, - { 0, 0, 0, NULL } +static const ber_sequence_t ContextProfile_sequence[] = { + { &hf_x509if_contextType , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeId }, + { &hf_x509if_contextValue , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509if_SEQUENCE_OF_AttributeValue }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_ContextProfile(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - ContextProfile_sequence, hf_index, ett_x509if_ContextProfile); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ContextProfile_sequence, hf_index, ett_x509if_ContextProfile); return offset; } -static int dissect_contexts_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_ContextProfile(FALSE, tvb, offset, actx, tree, hf_x509if_contexts_item); -} -static const ber_old_sequence_t SEQUENCE_OF_ContextProfile_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_contexts_item }, +static const ber_sequence_t SEQUENCE_OF_ContextProfile_sequence_of[1] = { + { &hf_x509if_contexts_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_ContextProfile }, }; static int dissect_x509if_SEQUENCE_OF_ContextProfile(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_OF_ContextProfile_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_ContextProfile); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_ContextProfile_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_ContextProfile); return offset; } -static int dissect_contexts(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SEQUENCE_OF_ContextProfile(FALSE, tvb, offset, actx, tree, hf_x509if_contexts); -} -static const ber_old_sequence_t SEQUENCE_OF_ContextCombination_sequence_of[1] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_contextcombination_and_item }, +static const ber_sequence_t SEQUENCE_OF_ContextCombination_sequence_of[1] = { + { &hf_x509if_contextcombination_and_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509if_ContextCombination }, }; static int dissect_x509if_SEQUENCE_OF_ContextCombination(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_OF_ContextCombination_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_ContextCombination); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_ContextCombination_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_ContextCombination); return offset; } -static int dissect_contextcombination_and(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SEQUENCE_OF_ContextCombination(FALSE, tvb, offset, actx, tree, hf_x509if_contextcombination_and); -} -static int dissect_contextcombination_or(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SEQUENCE_OF_ContextCombination(FALSE, tvb, offset, actx, tree, hf_x509if_contextcombination_or); -} const value_string x509if_ContextCombination_vals[] = { @@ -1697,114 +1364,96 @@ const value_string x509if_ContextCombination_vals[] = { { 0, NULL } }; -static const ber_old_choice_t ContextCombination_choice[] = { - { 0, BER_CLASS_CON, 0, 0, dissect_context }, - { 1, BER_CLASS_CON, 1, 0, dissect_contextcombination_and }, - { 2, BER_CLASS_CON, 2, 0, dissect_contextcombination_or }, - { 3, BER_CLASS_CON, 3, 0, dissect_contextcombination_not }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t ContextCombination_choice[] = { + { 0, &hf_x509if_context , BER_CLASS_CON, 0, 0, dissect_x509if_OBJECT_IDENTIFIER }, + { 1, &hf_x509if_contextcombination_and, BER_CLASS_CON, 1, 0, dissect_x509if_SEQUENCE_OF_ContextCombination }, + { 2, &hf_x509if_contextcombination_or, BER_CLASS_CON, 2, 0, dissect_x509if_SEQUENCE_OF_ContextCombination }, + { 3, &hf_x509if_contextcombination_not, BER_CLASS_CON, 3, 0, dissect_x509if_ContextCombination }, + { 0, NULL, 0, 0, 0, NULL } }; int dissect_x509if_ContextCombination(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_old_choice(actx, tree, tvb, offset, - ContextCombination_choice, hf_index, ett_x509if_ContextCombination, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + ContextCombination_choice, hf_index, ett_x509if_ContextCombination, + NULL); return offset; } -static const ber_old_sequence_t MatchingUse_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_restrictionType }, - { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_restrictionValue }, - { 0, 0, 0, NULL } +static const ber_sequence_t MatchingUse_sequence[] = { + { &hf_x509if_restrictionType, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeId }, + { &hf_x509if_restrictionValue, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeValue }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_MatchingUse(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - MatchingUse_sequence, hf_index, ett_x509if_MatchingUse); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + MatchingUse_sequence, hf_index, ett_x509if_MatchingUse); return offset; } -static int dissect_matchingUse_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_MatchingUse(FALSE, tvb, offset, actx, tree, hf_x509if_matchingUse_item); -} -static const ber_old_sequence_t SEQUENCE_OF_MatchingUse_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_matchingUse_item }, +static const ber_sequence_t SEQUENCE_OF_MatchingUse_sequence_of[1] = { + { &hf_x509if_matchingUse_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_MatchingUse }, }; static int dissect_x509if_SEQUENCE_OF_MatchingUse(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_OF_MatchingUse_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_MatchingUse); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_MatchingUse_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_MatchingUse); return offset; } -static int dissect_matchingUse(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SEQUENCE_OF_MatchingUse(FALSE, tvb, offset, actx, tree, hf_x509if_matchingUse); -} -static const ber_old_sequence_t RequestAttribute_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_attributeType }, - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_includeSubtypes }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_ra_selectedValues }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_defaultValues }, - { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_contexts }, - { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_contextCombination }, - { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_matchingUse }, - { 0, 0, 0, NULL } +static const ber_sequence_t RequestAttribute_sequence[] = { + { &hf_x509if_attributeType, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeId }, + { &hf_x509if_includeSubtypes, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509if_BOOLEAN }, + { &hf_x509if_ra_selectedValues, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509if_SEQUENCE_OF_SelectedValues }, + { &hf_x509if_defaultValues, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509if_T_defaultValues }, + { &hf_x509if_contexts , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_x509if_SEQUENCE_OF_ContextProfile }, + { &hf_x509if_contextCombination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_x509if_ContextCombination }, + { &hf_x509if_matchingUse , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_x509if_SEQUENCE_OF_MatchingUse }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_RequestAttribute(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - RequestAttribute_sequence, hf_index, ett_x509if_RequestAttribute); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + RequestAttribute_sequence, hf_index, ett_x509if_RequestAttribute); return offset; } -static int dissect_inputAttributeTypes_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_RequestAttribute(FALSE, tvb, offset, actx, tree, hf_x509if_inputAttributeTypes_item); -} -static const ber_old_sequence_t SEQUENCE_OF_RequestAttribute_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_inputAttributeTypes_item }, +static const ber_sequence_t SEQUENCE_OF_RequestAttribute_sequence_of[1] = { + { &hf_x509if_inputAttributeTypes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_RequestAttribute }, }; static int dissect_x509if_SEQUENCE_OF_RequestAttribute(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_OF_RequestAttribute_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_RequestAttribute); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_RequestAttribute_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_RequestAttribute); return offset; } -static int dissect_inputAttributeTypes(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SEQUENCE_OF_RequestAttribute(FALSE, tvb, offset, actx, tree, hf_x509if_inputAttributeTypes); -} -static const ber_old_sequence_t SEQUENCE_OF_AttributeCombination_sequence_of[1] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_and_item }, +static const ber_sequence_t SEQUENCE_OF_AttributeCombination_sequence_of[1] = { + { &hf_x509if_and_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509if_AttributeCombination }, }; static int dissect_x509if_SEQUENCE_OF_AttributeCombination(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_OF_AttributeCombination_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_AttributeCombination); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_AttributeCombination_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_AttributeCombination); return offset; } -static int dissect_and(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SEQUENCE_OF_AttributeCombination(FALSE, tvb, offset, actx, tree, hf_x509if_and); -} -static int dissect_or(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SEQUENCE_OF_AttributeCombination(FALSE, tvb, offset, actx, tree, hf_x509if_or); -} const value_string x509if_AttributeCombination_vals[] = { @@ -1815,19 +1464,19 @@ const value_string x509if_AttributeCombination_vals[] = { { 0, NULL } }; -static const ber_old_choice_t AttributeCombination_choice[] = { - { 0, BER_CLASS_CON, 0, 0, dissect_attribute }, - { 1, BER_CLASS_CON, 1, 0, dissect_and }, - { 2, BER_CLASS_CON, 2, 0, dissect_or }, - { 3, BER_CLASS_CON, 3, 0, dissect_not }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t AttributeCombination_choice[] = { + { 0, &hf_x509if_attribute , BER_CLASS_CON, 0, 0, dissect_x509if_AttributeType }, + { 1, &hf_x509if_and , BER_CLASS_CON, 1, 0, dissect_x509if_SEQUENCE_OF_AttributeCombination }, + { 2, &hf_x509if_or , BER_CLASS_CON, 2, 0, dissect_x509if_SEQUENCE_OF_AttributeCombination }, + { 3, &hf_x509if_not , BER_CLASS_CON, 3, 0, dissect_x509if_AttributeCombination }, + { 0, NULL, 0, 0, 0, NULL } }; int dissect_x509if_AttributeCombination(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_old_choice(actx, tree, tvb, offset, - AttributeCombination_choice, hf_index, ett_x509if_AttributeCombination, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + AttributeCombination_choice, hf_index, ett_x509if_AttributeCombination, + NULL); return offset; } @@ -1839,229 +1488,178 @@ static const value_string x509if_T_outputValues_vals[] = { { 0, NULL } }; -static const ber_old_choice_t T_outputValues_choice[] = { - { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_selectedValues }, - { 1, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_matchedValuesOnly }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t T_outputValues_choice[] = { + { 0, &hf_x509if_selectedValues, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_SEQUENCE_OF_AttributeValue }, + { 1, &hf_x509if_matchedValuesOnly, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x509if_NULL }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_x509if_T_outputValues(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_old_choice(actx, tree, tvb, offset, - T_outputValues_choice, hf_index, ett_x509if_T_outputValues, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + T_outputValues_choice, hf_index, ett_x509if_T_outputValues, + NULL); return offset; } -static int dissect_outputValues(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_T_outputValues(FALSE, tvb, offset, actx, tree, hf_x509if_outputValues); -} -static const ber_old_sequence_t ResultAttribute_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_attributeType }, - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_outputValues }, - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_contexts }, - { 0, 0, 0, NULL } +static const ber_sequence_t ResultAttribute_sequence[] = { + { &hf_x509if_attributeType, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeId }, + { &hf_x509if_outputValues , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509if_T_outputValues }, + { &hf_x509if_contexts , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509if_SEQUENCE_OF_ContextProfile }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_ResultAttribute(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - ResultAttribute_sequence, hf_index, ett_x509if_ResultAttribute); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ResultAttribute_sequence, hf_index, ett_x509if_ResultAttribute); return offset; } -static int dissect_outputAttributeTypes_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_ResultAttribute(FALSE, tvb, offset, actx, tree, hf_x509if_outputAttributeTypes_item); -} -static const ber_old_sequence_t SEQUENCE_OF_ResultAttribute_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_outputAttributeTypes_item }, +static const ber_sequence_t SEQUENCE_OF_ResultAttribute_sequence_of[1] = { + { &hf_x509if_outputAttributeTypes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_ResultAttribute }, }; static int dissect_x509if_SEQUENCE_OF_ResultAttribute(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_OF_ResultAttribute_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_ResultAttribute); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_ResultAttribute_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_ResultAttribute); return offset; } -static int dissect_outputAttributeTypes(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SEQUENCE_OF_ResultAttribute(FALSE, tvb, offset, actx, tree, hf_x509if_outputAttributeTypes); -} -static const ber_old_sequence_t ControlOptions_sequence[] = { - { 0, 0, 0, NULL } +static const ber_sequence_t ControlOptions_sequence[] = { + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_ControlOptions(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - ControlOptions_sequence, hf_index, ett_x509if_ControlOptions); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ControlOptions_sequence, hf_index, ett_x509if_ControlOptions); return offset; } -static int dissect_defaultControls(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_ControlOptions(FALSE, tvb, offset, actx, tree, hf_x509if_defaultControls); -} -static int dissect_mandatoryControls(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_ControlOptions(FALSE, tvb, offset, actx, tree, hf_x509if_mandatoryControls); -} -static int dissect_searchRuleControls(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_ControlOptions(FALSE, tvb, offset, actx, tree, hf_x509if_searchRuleControls); -} -static const ber_old_sequence_t Mapping_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_mappingFunction }, - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_level }, - { 0, 0, 0, NULL } +static const ber_sequence_t Mapping_sequence[] = { + { &hf_x509if_mappingFunction, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_OBJECT_IDENTIFIER }, + { &hf_x509if_level , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509if_INTEGER }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_Mapping(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - Mapping_sequence, hf_index, ett_x509if_Mapping); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + Mapping_sequence, hf_index, ett_x509if_Mapping); return offset; } -static int dissect_mapping_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_Mapping(FALSE, tvb, offset, actx, tree, hf_x509if_mapping_item); -} -static const ber_old_sequence_t SEQUENCE_OF_Mapping_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mapping_item }, +static const ber_sequence_t SEQUENCE_OF_Mapping_sequence_of[1] = { + { &hf_x509if_mapping_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_Mapping }, }; static int dissect_x509if_SEQUENCE_OF_Mapping(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_OF_Mapping_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_Mapping); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_Mapping_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_Mapping); return offset; } -static int dissect_mapping(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SEQUENCE_OF_Mapping(FALSE, tvb, offset, actx, tree, hf_x509if_mapping); -} -static const ber_old_sequence_t MRSubstitution_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_attribute }, - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_oldMatchingRule }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_newMatchingRule }, - { 0, 0, 0, NULL } +static const ber_sequence_t MRSubstitution_sequence[] = { + { &hf_x509if_attribute , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeType }, + { &hf_x509if_oldMatchingRule, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509if_OBJECT_IDENTIFIER }, + { &hf_x509if_newMatchingRule, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509if_OBJECT_IDENTIFIER }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_MRSubstitution(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - MRSubstitution_sequence, hf_index, ett_x509if_MRSubstitution); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + MRSubstitution_sequence, hf_index, ett_x509if_MRSubstitution); return offset; } -static int dissect_substitution_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_MRSubstitution(FALSE, tvb, offset, actx, tree, hf_x509if_substitution_item); -} -static const ber_old_sequence_t SEQUENCE_OF_MRSubstitution_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_substitution_item }, +static const ber_sequence_t SEQUENCE_OF_MRSubstitution_sequence_of[1] = { + { &hf_x509if_substitution_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_MRSubstitution }, }; static int dissect_x509if_SEQUENCE_OF_MRSubstitution(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_OF_MRSubstitution_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_MRSubstitution); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_MRSubstitution_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_MRSubstitution); return offset; } -static int dissect_substitution(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SEQUENCE_OF_MRSubstitution(FALSE, tvb, offset, actx, tree, hf_x509if_substitution); -} -static const ber_old_sequence_t MRMapping_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_mapping }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_substitution }, - { 0, 0, 0, NULL } +static const ber_sequence_t MRMapping_sequence[] = { + { &hf_x509if_mapping , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509if_SEQUENCE_OF_Mapping }, + { &hf_x509if_substitution , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509if_SEQUENCE_OF_MRSubstitution }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_MRMapping(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - MRMapping_sequence, hf_index, ett_x509if_MRMapping); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + MRMapping_sequence, hf_index, ett_x509if_MRMapping); return offset; } -static int dissect_basic(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_MRMapping(FALSE, tvb, offset, actx, tree, hf_x509if_basic); -} -static int dissect_tightenings_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_MRMapping(FALSE, tvb, offset, actx, tree, hf_x509if_tightenings_item); -} -static int dissect_relaxations_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_MRMapping(FALSE, tvb, offset, actx, tree, hf_x509if_relaxations_item); -} -static const ber_old_sequence_t SEQUENCE_OF_MRMapping_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_tightenings_item }, +static const ber_sequence_t SEQUENCE_OF_MRMapping_sequence_of[1] = { + { &hf_x509if_tightenings_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_MRMapping }, }; static int dissect_x509if_SEQUENCE_OF_MRMapping(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_OF_MRMapping_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_MRMapping); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_MRMapping_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_MRMapping); return offset; } -static int dissect_tightenings(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SEQUENCE_OF_MRMapping(FALSE, tvb, offset, actx, tree, hf_x509if_tightenings); -} -static int dissect_relaxations(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SEQUENCE_OF_MRMapping(FALSE, tvb, offset, actx, tree, hf_x509if_relaxations); -} -static const ber_old_sequence_t RelaxationPolicy_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_basic }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_tightenings }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_relaxations }, - { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_maximum_relaxation }, - { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_minimum_relaxation }, - { 0, 0, 0, NULL } +static const ber_sequence_t RelaxationPolicy_sequence[] = { + { &hf_x509if_basic , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509if_MRMapping }, + { &hf_x509if_tightenings , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509if_SEQUENCE_OF_MRMapping }, + { &hf_x509if_relaxations , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509if_SEQUENCE_OF_MRMapping }, + { &hf_x509if_maximum_relaxation, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_x509if_INTEGER }, + { &hf_x509if_minimum_relaxation, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_x509if_INTEGER }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_RelaxationPolicy(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - RelaxationPolicy_sequence, hf_index, ett_x509if_RelaxationPolicy); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + RelaxationPolicy_sequence, hf_index, ett_x509if_RelaxationPolicy); return offset; } -static int dissect_relaxation(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_RelaxationPolicy(FALSE, tvb, offset, actx, tree, hf_x509if_relaxation); -} -static const ber_old_sequence_t SEQUENCE_OF_AttributeType_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_additionalControl_item }, +static const ber_sequence_t SEQUENCE_OF_AttributeType_sequence_of[1] = { + { &hf_x509if_additionalControl_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeType }, }; static int dissect_x509if_SEQUENCE_OF_AttributeType(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_OF_AttributeType_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_AttributeType); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_AttributeType_sequence_of, hf_index, ett_x509if_SEQUENCE_OF_AttributeType); return offset; } -static int dissect_additionalControl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SEQUENCE_OF_AttributeType(FALSE, tvb, offset, actx, tree, hf_x509if_additionalControl); -} static const asn_namedbit AllowedSubset_bits[] = { @@ -2079,9 +1677,6 @@ dissect_x509if_AllowedSubset(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o return offset; } -static int dissect_allowedSubset(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AllowedSubset(FALSE, tvb, offset, actx, tree, hf_x509if_allowedSubset); -} const value_string x509if_ImposedSubset_vals[] = { @@ -2099,114 +1694,105 @@ dissect_x509if_ImposedSubset(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o return offset; } -static int dissect_imposedSubset(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_ImposedSubset(FALSE, tvb, offset, actx, tree, hf_x509if_imposedSubset); -} -static const ber_old_sequence_t EntryLimit_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_default }, - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_max }, - { 0, 0, 0, NULL } +static const ber_sequence_t EntryLimit_sequence[] = { + { &hf_x509if_default , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509if_INTEGER }, + { &hf_x509if_max , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509if_INTEGER }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_EntryLimit(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - EntryLimit_sequence, hf_index, ett_x509if_EntryLimit); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + EntryLimit_sequence, hf_index, ett_x509if_EntryLimit); return offset; } -static int dissect_entryLimit(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_EntryLimit(FALSE, tvb, offset, actx, tree, hf_x509if_entryLimit); -} -static const ber_old_sequence_t SET_OF_DirectoryString_set_of[1] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_name_item }, +static const ber_sequence_t SET_OF_DirectoryString_set_of[1] = { + { &hf_x509if_name_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x509sat_DirectoryString }, }; static int dissect_x509if_SET_OF_DirectoryString(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - SET_OF_DirectoryString_set_of, hf_index, ett_x509if_SET_OF_DirectoryString); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + SET_OF_DirectoryString_set_of, hf_index, ett_x509if_SET_OF_DirectoryString); return offset; } -static int dissect_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_SET_OF_DirectoryString(FALSE, tvb, offset, actx, tree, hf_x509if_name); -} -static const ber_old_sequence_t SearchRuleDescription_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_id }, - { BER_CLASS_CON, 0, 0, dissect_dmdId }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_serviceType }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_userClass }, - { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_inputAttributeTypes }, - { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_attributeCombination }, - { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_outputAttributeTypes }, - { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_defaultControls }, - { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_mandatoryControls }, - { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_searchRuleControls }, - { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_relaxation }, - { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL, dissect_additionalControl }, - { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL, dissect_allowedSubset }, - { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL, dissect_imposedSubset }, - { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL, dissect_entryLimit }, - { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_name }, - { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_description }, - { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_obsolete }, - { 0, 0, 0, NULL } +static const ber_sequence_t SearchRuleDescription_sequence[] = { + { &hf_x509if_id , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509if_INTEGER }, + { &hf_x509if_dmdId , BER_CLASS_CON, 0, 0, dissect_x509if_OBJECT_IDENTIFIER }, + { &hf_x509if_serviceType , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509if_OBJECT_IDENTIFIER }, + { &hf_x509if_userClass , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509if_INTEGER }, + { &hf_x509if_inputAttributeTypes, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_x509if_SEQUENCE_OF_RequestAttribute }, + { &hf_x509if_attributeCombination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_x509if_AttributeCombination }, + { &hf_x509if_outputAttributeTypes, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_x509if_SEQUENCE_OF_ResultAttribute }, + { &hf_x509if_defaultControls, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_x509if_ControlOptions }, + { &hf_x509if_mandatoryControls, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_x509if_ControlOptions }, + { &hf_x509if_searchRuleControls, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_x509if_ControlOptions }, + { &hf_x509if_relaxation , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_x509if_RelaxationPolicy }, + { &hf_x509if_additionalControl, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL, dissect_x509if_SEQUENCE_OF_AttributeType }, + { &hf_x509if_allowedSubset, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL, dissect_x509if_AllowedSubset }, + { &hf_x509if_imposedSubset, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL, dissect_x509if_ImposedSubset }, + { &hf_x509if_entryLimit , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL, dissect_x509if_EntryLimit }, + { &hf_x509if_name , BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_x509if_SET_OF_DirectoryString }, + { &hf_x509if_description , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509sat_DirectoryString }, + { &hf_x509if_obsolete , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_x509if_BOOLEAN }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_SearchRuleDescription(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - SearchRuleDescription_sequence, hf_index, ett_x509if_SearchRuleDescription); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + SearchRuleDescription_sequence, hf_index, ett_x509if_SearchRuleDescription); return offset; } -static const ber_old_sequence_t SearchRule_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_id }, - { BER_CLASS_CON, 0, 0, dissect_dmdId }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_serviceType }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_userClass }, - { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_inputAttributeTypes }, - { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_attributeCombination }, - { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_outputAttributeTypes }, - { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_defaultControls }, - { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_mandatoryControls }, - { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_searchRuleControls }, - { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_relaxation }, - { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL, dissect_additionalControl }, - { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL, dissect_allowedSubset }, - { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL, dissect_imposedSubset }, - { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL, dissect_entryLimit }, - { 0, 0, 0, NULL } +static const ber_sequence_t SearchRule_sequence[] = { + { &hf_x509if_id , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509if_INTEGER }, + { &hf_x509if_dmdId , BER_CLASS_CON, 0, 0, dissect_x509if_OBJECT_IDENTIFIER }, + { &hf_x509if_serviceType , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509if_OBJECT_IDENTIFIER }, + { &hf_x509if_userClass , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509if_INTEGER }, + { &hf_x509if_inputAttributeTypes, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_x509if_SEQUENCE_OF_RequestAttribute }, + { &hf_x509if_attributeCombination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_x509if_AttributeCombination }, + { &hf_x509if_outputAttributeTypes, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_x509if_SEQUENCE_OF_ResultAttribute }, + { &hf_x509if_defaultControls, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_x509if_ControlOptions }, + { &hf_x509if_mandatoryControls, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_x509if_ControlOptions }, + { &hf_x509if_searchRuleControls, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_x509if_ControlOptions }, + { &hf_x509if_relaxation , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_x509if_RelaxationPolicy }, + { &hf_x509if_additionalControl, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL, dissect_x509if_SEQUENCE_OF_AttributeType }, + { &hf_x509if_allowedSubset, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL, dissect_x509if_AllowedSubset }, + { &hf_x509if_imposedSubset, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL, dissect_x509if_ImposedSubset }, + { &hf_x509if_entryLimit , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL, dissect_x509if_EntryLimit }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_SearchRule(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - SearchRule_sequence, hf_index, ett_x509if_SearchRule); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + SearchRule_sequence, hf_index, ett_x509if_SearchRule); return offset; } -static const ber_old_sequence_t SearchRuleId_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_id }, - { BER_CLASS_CON, 0, 0, dissect_dmdId }, - { 0, 0, 0, NULL } +static const ber_sequence_t SearchRuleId_sequence[] = { + { &hf_x509if_id , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509if_INTEGER }, + { &hf_x509if_dmdId , BER_CLASS_CON, 0, 0, dissect_x509if_OBJECT_IDENTIFIER }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509if_SearchRuleId(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - SearchRuleId_sequence, hf_index, ett_x509if_SearchRuleId); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + SearchRuleId_sequence, hf_index, ett_x509if_SearchRuleId); return offset; } @@ -2218,17 +1804,17 @@ const value_string x509if_OutputValues_vals[] = { { 0, NULL } }; -static const ber_old_choice_t OutputValues_choice[] = { - { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_selectedValues }, - { 1, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_matchedValuesOnly }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t OutputValues_choice[] = { + { 0, &hf_x509if_selectedValues, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_SEQUENCE_OF_AttributeValue }, + { 1, &hf_x509if_matchedValuesOnly, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x509if_NULL }, + { 0, NULL, 0, 0, 0, NULL } }; int dissect_x509if_OutputValues(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_old_choice(actx, tree, tvb, offset, - OutputValues_choice, hf_index, ett_x509if_OutputValues, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + OutputValues_choice, hf_index, ett_x509if_OutputValues, + NULL); return offset; } diff --git a/epan/dissectors/packet-x509if.h b/epan/dissectors/packet-x509if.h index 2b4e3a92f2..1c2970b382 100644 --- a/epan/dissectors/packet-x509if.h +++ b/epan/dissectors/packet-x509if.h @@ -1,7 +1,7 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-x509if.h */ -/* ../../tools/asn2wrs.py -b -e -p x509if -c x509if.cnf -s packet-x509if-template InformationFramework.asn */ +/* ../../tools/asn2wrs.py -b -e -X -T -p x509if -c x509if.cnf -s packet-x509if-template InformationFramework.asn */ /* Input file: packet-x509if-template.h */ diff --git a/epan/dissectors/packet-x509sat.c b/epan/dissectors/packet-x509sat.c index 1d8d4c64c5..8de9b7e2a2 100644 --- a/epan/dissectors/packet-x509sat.c +++ b/epan/dissectors/packet-x509sat.c @@ -1,7 +1,7 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-x509sat.c */ -/* ../../tools/asn2wrs.py -b -e -p x509sat -c x509sat.cnf -s packet-x509sat-template SelectedAttributeTypes.asn */ +/* ../../tools/asn2wrs.py -b -e -X -T -p x509sat -c x509sat.cnf -s packet-x509sat-template SelectedAttributeTypes.asn */ /* Input file: packet-x509sat-template.c */ @@ -291,49 +291,6 @@ static gint ett_x509sat_LocaleContextSyntax = -1; /* Criteria -> Criteria */ int dissect_x509sat_Criteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -static int dissect_criteria(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_Criteria(FALSE, tvb, offset, actx, tree, hf_x509sat_criteria); -} -static int dissect_and_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_Criteria(FALSE, tvb, offset, actx, tree, hf_x509sat_and_item); -} -static int dissect_or_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_Criteria(FALSE, tvb, offset, actx, tree, hf_x509sat_or_item); -} -static int dissect_not(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_Criteria(FALSE, tvb, offset, actx, tree, hf_x509sat_not); -} - - -/*--- Fields for imported types ---*/ - -static int dissect_equality(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeType(FALSE, tvb, offset, actx, tree, hf_x509sat_equality); -} -static int dissect_substrings(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeType(FALSE, tvb, offset, actx, tree, hf_x509sat_substrings); -} -static int dissect_greaterOrEqual(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeType(FALSE, tvb, offset, actx, tree, hf_x509sat_greaterOrEqual); -} -static int dissect_lessOrEqual(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeType(FALSE, tvb, offset, actx, tree, hf_x509sat_lessOrEqual); -} -static int dissect_approximateMatch(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeType(FALSE, tvb, offset, actx, tree, hf_x509sat_approximateMatch); -} -static int dissect_dn(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_DistinguishedName(FALSE, tvb, offset, actx, tree, hf_x509sat_dn); -} -static int dissect_attributeList_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeValueAssertion(FALSE, tvb, offset, actx, tree, hf_x509sat_attributeList_item); -} -static int dissect_control(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_Attribute(FALSE, tvb, offset, actx, tree, hf_x509sat_control); -} -static int dissect_ZonalSelect_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509if_AttributeType(FALSE, tvb, offset, actx, tree, hf_x509sat_ZonalSelect_item); -} @@ -345,9 +302,6 @@ dissect_x509sat_TeletexString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int return offset; } -static int dissect_teletexString(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_TeletexString(FALSE, tvb, offset, actx, tree, hf_x509sat_teletexString); -} @@ -359,18 +313,6 @@ dissect_x509sat_PrintableString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in return offset; } -static int dissect_printableString(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_PrintableString(FALSE, tvb, offset, actx, tree, hf_x509sat_printableString); -} -static int dissect_telexNumber(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_PrintableString(FALSE, tvb, offset, actx, tree, hf_x509sat_telexNumber); -} -static int dissect_countryCode(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_PrintableString(FALSE, tvb, offset, actx, tree, hf_x509sat_countryCode); -} -static int dissect_answerback(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_PrintableString(FALSE, tvb, offset, actx, tree, hf_x509sat_answerback); -} @@ -382,9 +324,6 @@ dissect_x509sat_UniversalString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in return offset; } -static int dissect_universalString(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_UniversalString(FALSE, tvb, offset, actx, tree, hf_x509sat_universalString); -} @@ -396,9 +335,6 @@ dissect_x509sat_BMPString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs return offset; } -static int dissect_bmpString(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_BMPString(FALSE, tvb, offset, actx, tree, hf_x509sat_bmpString); -} @@ -410,9 +346,6 @@ dissect_x509sat_UTF8String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off return offset; } -static int dissect_uTF8String(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_UTF8String(FALSE, tvb, offset, actx, tree, hf_x509sat_uTF8String); -} const value_string x509sat_DirectoryString_vals[] = { @@ -424,41 +357,23 @@ const value_string x509sat_DirectoryString_vals[] = { { 0, NULL } }; -static const ber_old_choice_t DirectoryString_choice[] = { - { 0, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_teletexString }, - { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printableString }, - { 2, BER_CLASS_UNI, BER_UNI_TAG_UniversalString, BER_FLAGS_NOOWNTAG, dissect_universalString }, - { 3, BER_CLASS_UNI, BER_UNI_TAG_BMPString, BER_FLAGS_NOOWNTAG, dissect_bmpString }, - { 4, BER_CLASS_UNI, BER_UNI_TAG_UTF8String, BER_FLAGS_NOOWNTAG, dissect_uTF8String }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t DirectoryString_choice[] = { + { 0, &hf_x509sat_teletexString, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_x509sat_TeletexString }, + { 1, &hf_x509sat_printableString, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x509sat_PrintableString }, + { 2, &hf_x509sat_universalString, BER_CLASS_UNI, BER_UNI_TAG_UniversalString, BER_FLAGS_NOOWNTAG, dissect_x509sat_UniversalString }, + { 3, &hf_x509sat_bmpString , BER_CLASS_UNI, BER_UNI_TAG_BMPString, BER_FLAGS_NOOWNTAG, dissect_x509sat_BMPString }, + { 4, &hf_x509sat_uTF8String , BER_CLASS_UNI, BER_UNI_TAG_UTF8String, BER_FLAGS_NOOWNTAG, dissect_x509sat_UTF8String }, + { 0, NULL, 0, 0, 0, NULL } }; int dissect_x509sat_DirectoryString(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_old_choice(actx, tree, tvb, offset, - DirectoryString_choice, hf_index, ett_x509sat_DirectoryString, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + DirectoryString_choice, hf_index, ett_x509sat_DirectoryString, + NULL); return offset; } -static int dissect_PostalAddress_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_DirectoryString(FALSE, tvb, offset, actx, tree, hf_x509sat_PostalAddress_item); -} -static int dissect_initial(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_DirectoryString(FALSE, tvb, offset, actx, tree, hf_x509sat_initial); -} -static int dissect_any(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_DirectoryString(FALSE, tvb, offset, actx, tree, hf_x509sat_any); -} -static int dissect_final(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_DirectoryString(FALSE, tvb, offset, actx, tree, hf_x509sat_final); -} -static int dissect_CaseIgnoreListMatch_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_DirectoryString(FALSE, tvb, offset, actx, tree, hf_x509sat_CaseIgnoreListMatch_item); -} -static int dissect_localeID2(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_DirectoryString(FALSE, tvb, offset, actx, tree, hf_x509sat_localeID2); -} @@ -470,9 +385,6 @@ dissect_x509sat_UniqueIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i return offset; } -static int dissect_uid(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_UniqueIdentifier(FALSE, tvb, offset, actx, tree, hf_x509sat_uid); -} @@ -493,18 +405,6 @@ dissect_x509sat_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, return offset; } -static int dissect_objectClass(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_OBJECT_IDENTIFIER(FALSE, tvb, offset, actx, tree, hf_x509sat_objectClass); -} -static int dissect_profiles_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_OBJECT_IDENTIFIER(FALSE, tvb, offset, actx, tree, hf_x509sat_profiles_item); -} -static int dissect_matchingRuleUsed(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_OBJECT_IDENTIFIER(FALSE, tvb, offset, actx, tree, hf_x509sat_matchingRuleUsed); -} -static int dissect_localeID1(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_OBJECT_IDENTIFIER(FALSE, tvb, offset, actx, tree, hf_x509sat_localeID1); -} static const value_string x509sat_CriteriaItem_vals[] = { @@ -516,45 +416,36 @@ static const value_string x509sat_CriteriaItem_vals[] = { { 0, NULL } }; -static const ber_old_choice_t CriteriaItem_choice[] = { - { 0, BER_CLASS_CON, 0, 0, dissect_equality }, - { 1, BER_CLASS_CON, 1, 0, dissect_substrings }, - { 2, BER_CLASS_CON, 2, 0, dissect_greaterOrEqual }, - { 3, BER_CLASS_CON, 3, 0, dissect_lessOrEqual }, - { 4, BER_CLASS_CON, 4, 0, dissect_approximateMatch }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t CriteriaItem_choice[] = { + { 0, &hf_x509sat_equality , BER_CLASS_CON, 0, 0, dissect_x509if_AttributeType }, + { 1, &hf_x509sat_substrings , BER_CLASS_CON, 1, 0, dissect_x509if_AttributeType }, + { 2, &hf_x509sat_greaterOrEqual, BER_CLASS_CON, 2, 0, dissect_x509if_AttributeType }, + { 3, &hf_x509sat_lessOrEqual , BER_CLASS_CON, 3, 0, dissect_x509if_AttributeType }, + { 4, &hf_x509sat_approximateMatch, BER_CLASS_CON, 4, 0, dissect_x509if_AttributeType }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_x509sat_CriteriaItem(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_old_choice(actx, tree, tvb, offset, - CriteriaItem_choice, hf_index, ett_x509sat_CriteriaItem, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + CriteriaItem_choice, hf_index, ett_x509sat_CriteriaItem, + NULL); return offset; } -static int dissect_type(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_CriteriaItem(FALSE, tvb, offset, actx, tree, hf_x509sat_type); -} -static const ber_old_sequence_t SET_OF_Criteria_set_of[1] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_and_item }, +static const ber_sequence_t SET_OF_Criteria_set_of[1] = { + { &hf_x509sat_and_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509sat_Criteria }, }; static int dissect_x509sat_SET_OF_Criteria(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - SET_OF_Criteria_set_of, hf_index, ett_x509sat_SET_OF_Criteria); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + SET_OF_Criteria_set_of, hf_index, ett_x509sat_SET_OF_Criteria); return offset; } -static int dissect_and(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_SET_OF_Criteria(FALSE, tvb, offset, actx, tree, hf_x509sat_and); -} -static int dissect_or(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_SET_OF_Criteria(FALSE, tvb, offset, actx, tree, hf_x509sat_or); -} const value_string x509sat_Criteria_vals[] = { @@ -565,34 +456,34 @@ const value_string x509sat_Criteria_vals[] = { { 0, NULL } }; -static const ber_old_choice_t Criteria_choice[] = { - { 0, BER_CLASS_CON, 0, 0, dissect_type }, - { 1, BER_CLASS_CON, 1, 0, dissect_and }, - { 2, BER_CLASS_CON, 2, 0, dissect_or }, - { 3, BER_CLASS_CON, 3, 0, dissect_not }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t Criteria_choice[] = { + { 0, &hf_x509sat_type , BER_CLASS_CON, 0, 0, dissect_x509sat_CriteriaItem }, + { 1, &hf_x509sat_and , BER_CLASS_CON, 1, 0, dissect_x509sat_SET_OF_Criteria }, + { 2, &hf_x509sat_or , BER_CLASS_CON, 2, 0, dissect_x509sat_SET_OF_Criteria }, + { 3, &hf_x509sat_not , BER_CLASS_CON, 3, 0, dissect_x509sat_Criteria }, + { 0, NULL, 0, 0, 0, NULL } }; int dissect_x509sat_Criteria(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_old_choice(actx, tree, tvb, offset, - Criteria_choice, hf_index, ett_x509sat_Criteria, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + Criteria_choice, hf_index, ett_x509sat_Criteria, + NULL); return offset; } -static const ber_old_sequence_t Guide_set[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_objectClass }, - { BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_criteria }, - { 0, 0, 0, NULL } +static const ber_sequence_t Guide_set[] = { + { &hf_x509sat_objectClass , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509sat_OBJECT_IDENTIFIER }, + { &hf_x509sat_criteria , BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_x509sat_Criteria }, + { NULL, 0, 0, 0, NULL } }; static int dissect_x509sat_Guide(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_old_set(implicit_tag, actx, tree, tvb, offset, - Guide_set, hf_index, ett_x509sat_Guide); + offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset, + Guide_set, hf_index, ett_x509sat_Guide); return offset; } @@ -613,35 +504,32 @@ dissect_x509sat_T_subset(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse return offset; } -static int dissect_subset(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_T_subset(FALSE, tvb, offset, actx, tree, hf_x509sat_subset); -} -static const ber_old_sequence_t EnhancedGuide_sequence[] = { - { BER_CLASS_CON, 0, 0, dissect_objectClass }, - { BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_criteria }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_subset }, - { 0, 0, 0, NULL } +static const ber_sequence_t EnhancedGuide_sequence[] = { + { &hf_x509sat_objectClass , BER_CLASS_CON, 0, 0, dissect_x509sat_OBJECT_IDENTIFIER }, + { &hf_x509sat_criteria , BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_x509sat_Criteria }, + { &hf_x509sat_subset , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509sat_T_subset }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509sat_EnhancedGuide(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - EnhancedGuide_sequence, hf_index, ett_x509sat_EnhancedGuide); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + EnhancedGuide_sequence, hf_index, ett_x509sat_EnhancedGuide); return offset; } -static const ber_old_sequence_t PostalAddress_sequence_of[1] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_PostalAddress_item }, +static const ber_sequence_t PostalAddress_sequence_of[1] = { + { &hf_x509sat_PostalAddress_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509sat_DirectoryString }, }; int dissect_x509sat_PostalAddress(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - PostalAddress_sequence_of, hf_index, ett_x509sat_PostalAddress); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + PostalAddress_sequence_of, hf_index, ett_x509sat_PostalAddress); return offset; } @@ -656,36 +544,33 @@ dissect_x509sat_TelephoneNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in return offset; } -static int dissect_telephoneNumber(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_TelephoneNumber(FALSE, tvb, offset, actx, tree, hf_x509sat_telephoneNumber); -} -static const ber_old_sequence_t TelexNumber_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_telexNumber }, - { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_countryCode }, - { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_answerback }, - { 0, 0, 0, NULL } +static const ber_sequence_t TelexNumber_sequence[] = { + { &hf_x509sat_telexNumber , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x509sat_PrintableString }, + { &hf_x509sat_countryCode , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x509sat_PrintableString }, + { &hf_x509sat_answerback , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x509sat_PrintableString }, + { NULL, 0, 0, 0, NULL } }; static int dissect_x509sat_TelexNumber(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - TelexNumber_sequence, hf_index, ett_x509sat_TelexNumber); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + TelexNumber_sequence, hf_index, ett_x509sat_TelexNumber); return offset; } -static const ber_old_sequence_t FacsimileTelephoneNumber_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_telephoneNumber }, - { 0, 0, 0, NULL } +static const ber_sequence_t FacsimileTelephoneNumber_sequence[] = { + { &hf_x509sat_telephoneNumber, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x509sat_TelephoneNumber }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509sat_FacsimileTelephoneNumber(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - FacsimileTelephoneNumber_sequence, hf_index, ett_x509sat_FacsimileTelephoneNumber); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + FacsimileTelephoneNumber_sequence, hf_index, ett_x509sat_FacsimileTelephoneNumber); return offset; } @@ -746,19 +631,16 @@ dissect_x509sat_PreferredDeliveryMethod_item(gboolean implicit_tag _U_, tvbuff_t return offset; } -static int dissect_PreferredDeliveryMethod_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_PreferredDeliveryMethod_item(FALSE, tvb, offset, actx, tree, hf_x509sat_PreferredDeliveryMethod_item); -} -static const ber_old_sequence_t PreferredDeliveryMethod_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_PreferredDeliveryMethod_item }, +static const ber_sequence_t PreferredDeliveryMethod_sequence_of[1] = { + { &hf_x509sat_PreferredDeliveryMethod_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509sat_PreferredDeliveryMethod_item }, }; int dissect_x509sat_PreferredDeliveryMethod(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - PreferredDeliveryMethod_sequence_of, hf_index, ett_x509sat_PreferredDeliveryMethod); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + PreferredDeliveryMethod_sequence_of, hf_index, ett_x509sat_PreferredDeliveryMethod); return offset; } @@ -772,137 +654,104 @@ dissect_x509sat_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o return offset; } -static int dissect_pSelector(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_OCTET_STRING(FALSE, tvb, offset, actx, tree, hf_x509sat_pSelector); -} -static int dissect_sSelector(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_OCTET_STRING(FALSE, tvb, offset, actx, tree, hf_x509sat_sSelector); -} -static int dissect_tSelector(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_OCTET_STRING(FALSE, tvb, offset, actx, tree, hf_x509sat_tSelector); -} -static int dissect_nAddresses_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_OCTET_STRING(FALSE, tvb, offset, actx, tree, hf_x509sat_nAddresses_item); -} -static int dissect_nAddress(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_OCTET_STRING(FALSE, tvb, offset, actx, tree, hf_x509sat_nAddress); -} -static int dissect_initial_substring(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_OCTET_STRING(FALSE, tvb, offset, actx, tree, hf_x509sat_initial_substring); -} -static int dissect_any_substring(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_OCTET_STRING(FALSE, tvb, offset, actx, tree, hf_x509sat_any_substring); -} -static int dissect_finall_substring(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_OCTET_STRING(FALSE, tvb, offset, actx, tree, hf_x509sat_finall_substring); -} -static const ber_old_sequence_t T_nAddresses_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_nAddresses_item }, +static const ber_sequence_t T_nAddresses_set_of[1] = { + { &hf_x509sat_nAddresses_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x509sat_OCTET_STRING }, }; static int dissect_x509sat_T_nAddresses(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - T_nAddresses_set_of, hf_index, ett_x509sat_T_nAddresses); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + T_nAddresses_set_of, hf_index, ett_x509sat_T_nAddresses); return offset; } -static int dissect_nAddresses(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_T_nAddresses(FALSE, tvb, offset, actx, tree, hf_x509sat_nAddresses); -} -static const ber_old_sequence_t PresentationAddress_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_pSelector }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_sSelector }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_tSelector }, - { BER_CLASS_CON, 3, 0, dissect_nAddresses }, - { 0, 0, 0, NULL } +static const ber_sequence_t PresentationAddress_sequence[] = { + { &hf_x509sat_pSelector , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509sat_OCTET_STRING }, + { &hf_x509sat_sSelector , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509sat_OCTET_STRING }, + { &hf_x509sat_tSelector , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509sat_OCTET_STRING }, + { &hf_x509sat_nAddresses , BER_CLASS_CON, 3, 0, dissect_x509sat_T_nAddresses }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509sat_PresentationAddress(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - PresentationAddress_sequence, hf_index, ett_x509sat_PresentationAddress); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + PresentationAddress_sequence, hf_index, ett_x509sat_PresentationAddress); return offset; } -static const ber_old_sequence_t T_profiles_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_profiles_item }, +static const ber_sequence_t T_profiles_set_of[1] = { + { &hf_x509sat_profiles_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509sat_OBJECT_IDENTIFIER }, }; static int dissect_x509sat_T_profiles(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - T_profiles_set_of, hf_index, ett_x509sat_T_profiles); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + T_profiles_set_of, hf_index, ett_x509sat_T_profiles); return offset; } -static int dissect_profiles(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_T_profiles(FALSE, tvb, offset, actx, tree, hf_x509sat_profiles); -} -static const ber_old_sequence_t ProtocolInformation_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_nAddress }, - { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_profiles }, - { 0, 0, 0, NULL } +static const ber_sequence_t ProtocolInformation_sequence[] = { + { &hf_x509sat_nAddress , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x509sat_OCTET_STRING }, + { &hf_x509sat_profiles , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_profiles }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509sat_ProtocolInformation(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - ProtocolInformation_sequence, hf_index, ett_x509sat_ProtocolInformation); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ProtocolInformation_sequence, hf_index, ett_x509sat_ProtocolInformation); return offset; } -static const ber_old_sequence_t NameAndOptionalUID_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dn }, - { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_uid }, - { 0, 0, 0, NULL } +static const ber_sequence_t NameAndOptionalUID_sequence[] = { + { &hf_x509sat_dn , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_DistinguishedName }, + { &hf_x509sat_uid , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509sat_UniqueIdentifier }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509sat_NameAndOptionalUID(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - NameAndOptionalUID_sequence, hf_index, ett_x509sat_NameAndOptionalUID); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + NameAndOptionalUID_sequence, hf_index, ett_x509sat_NameAndOptionalUID); return offset; } -static const ber_old_sequence_t SEQUENCE_OF_AttributeValueAssertion_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_attributeList_item }, +static const ber_sequence_t SEQUENCE_OF_AttributeValueAssertion_sequence_of[1] = { + { &hf_x509sat_attributeList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeValueAssertion }, }; static int dissect_x509sat_SEQUENCE_OF_AttributeValueAssertion(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SEQUENCE_OF_AttributeValueAssertion_sequence_of, hf_index, ett_x509sat_SEQUENCE_OF_AttributeValueAssertion); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_AttributeValueAssertion_sequence_of, hf_index, ett_x509sat_SEQUENCE_OF_AttributeValueAssertion); return offset; } -static int dissect_attributeList(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_SEQUENCE_OF_AttributeValueAssertion(FALSE, tvb, offset, actx, tree, hf_x509sat_attributeList); -} -static const ber_old_sequence_t MultipleMatchingLocalities_sequence[] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_matchingRuleUsed }, - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_attributeList }, - { 0, 0, 0, NULL } +static const ber_sequence_t MultipleMatchingLocalities_sequence[] = { + { &hf_x509sat_matchingRuleUsed, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509sat_OBJECT_IDENTIFIER }, + { &hf_x509sat_attributeList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509sat_SEQUENCE_OF_AttributeValueAssertion }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509sat_MultipleMatchingLocalities(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - MultipleMatchingLocalities_sequence, hf_index, ett_x509sat_MultipleMatchingLocalities); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + MultipleMatchingLocalities_sequence, hf_index, ett_x509sat_MultipleMatchingLocalities); return offset; } @@ -916,48 +765,45 @@ static const value_string x509sat_SubstringAssertion_item_vals[] = { { 0, NULL } }; -static const ber_old_choice_t SubstringAssertion_item_choice[] = { - { 0, BER_CLASS_CON, 0, 0, dissect_initial }, - { 1, BER_CLASS_CON, 1, 0, dissect_any }, - { 2, BER_CLASS_CON, 2, 0, dissect_final }, - { 3, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_control }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t SubstringAssertion_item_choice[] = { + { 0, &hf_x509sat_initial , BER_CLASS_CON, 0, 0, dissect_x509sat_DirectoryString }, + { 1, &hf_x509sat_any , BER_CLASS_CON, 1, 0, dissect_x509sat_DirectoryString }, + { 2, &hf_x509sat_final , BER_CLASS_CON, 2, 0, dissect_x509sat_DirectoryString }, + { 3, &hf_x509sat_control , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_Attribute }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_x509sat_SubstringAssertion_item(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_old_choice(actx, tree, tvb, offset, - SubstringAssertion_item_choice, hf_index, ett_x509sat_SubstringAssertion_item, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + SubstringAssertion_item_choice, hf_index, ett_x509sat_SubstringAssertion_item, + NULL); return offset; } -static int dissect_SubstringAssertion_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_SubstringAssertion_item(FALSE, tvb, offset, actx, tree, hf_x509sat_SubstringAssertion_item); -} -static const ber_old_sequence_t SubstringAssertion_sequence_of[1] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_SubstringAssertion_item }, +static const ber_sequence_t SubstringAssertion_sequence_of[1] = { + { &hf_x509sat_SubstringAssertion_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509sat_SubstringAssertion_item }, }; int dissect_x509sat_SubstringAssertion(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - SubstringAssertion_sequence_of, hf_index, ett_x509sat_SubstringAssertion); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SubstringAssertion_sequence_of, hf_index, ett_x509sat_SubstringAssertion); return offset; } -static const ber_old_sequence_t CaseIgnoreListMatch_sequence_of[1] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_CaseIgnoreListMatch_item }, +static const ber_sequence_t CaseIgnoreListMatch_sequence_of[1] = { + { &hf_x509sat_CaseIgnoreListMatch_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509sat_DirectoryString }, }; int dissect_x509sat_CaseIgnoreListMatch(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - CaseIgnoreListMatch_sequence_of, hf_index, ett_x509sat_CaseIgnoreListMatch); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + CaseIgnoreListMatch_sequence_of, hf_index, ett_x509sat_CaseIgnoreListMatch); return offset; } @@ -970,47 +816,44 @@ static const value_string x509sat_OctetSubstringAssertion_item_vals[] = { { 0, NULL } }; -static const ber_old_choice_t OctetSubstringAssertion_item_choice[] = { - { 0, BER_CLASS_CON, 0, 0, dissect_initial_substring }, - { 1, BER_CLASS_CON, 1, 0, dissect_any_substring }, - { 2, BER_CLASS_CON, 2, 0, dissect_finall_substring }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t OctetSubstringAssertion_item_choice[] = { + { 0, &hf_x509sat_initial_substring, BER_CLASS_CON, 0, 0, dissect_x509sat_OCTET_STRING }, + { 1, &hf_x509sat_any_substring, BER_CLASS_CON, 1, 0, dissect_x509sat_OCTET_STRING }, + { 2, &hf_x509sat_finall_substring, BER_CLASS_CON, 2, 0, dissect_x509sat_OCTET_STRING }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_x509sat_OctetSubstringAssertion_item(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_old_choice(actx, tree, tvb, offset, - OctetSubstringAssertion_item_choice, hf_index, ett_x509sat_OctetSubstringAssertion_item, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + OctetSubstringAssertion_item_choice, hf_index, ett_x509sat_OctetSubstringAssertion_item, + NULL); return offset; } -static int dissect_OctetSubstringAssertion_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_OctetSubstringAssertion_item(FALSE, tvb, offset, actx, tree, hf_x509sat_OctetSubstringAssertion_item); -} -static const ber_old_sequence_t OctetSubstringAssertion_sequence_of[1] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_OctetSubstringAssertion_item }, +static const ber_sequence_t OctetSubstringAssertion_sequence_of[1] = { + { &hf_x509sat_OctetSubstringAssertion_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509sat_OctetSubstringAssertion_item }, }; int dissect_x509sat_OctetSubstringAssertion(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - OctetSubstringAssertion_sequence_of, hf_index, ett_x509sat_OctetSubstringAssertion); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + OctetSubstringAssertion_sequence_of, hf_index, ett_x509sat_OctetSubstringAssertion); return offset; } -static const ber_old_sequence_t ZonalSelect_sequence_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ZonalSelect_item }, +static const ber_sequence_t ZonalSelect_sequence_of[1] = { + { &hf_x509sat_ZonalSelect_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeType }, }; int dissect_x509sat_ZonalSelect(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_old_sequence_of(implicit_tag, actx, tree, tvb, offset, - ZonalSelect_sequence_of, hf_index, ett_x509sat_ZonalSelect); + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + ZonalSelect_sequence_of, hf_index, ett_x509sat_ZonalSelect); return offset; } @@ -1051,33 +894,21 @@ dissect_x509sat_GeneralizedTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in return offset; } -static int dissect_startTime(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_GeneralizedTime(FALSE, tvb, offset, actx, tree, hf_x509sat_startTime); -} -static int dissect_endTime(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_GeneralizedTime(FALSE, tvb, offset, actx, tree, hf_x509sat_endTime); -} -static int dissect_at(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_GeneralizedTime(FALSE, tvb, offset, actx, tree, hf_x509sat_at); -} -static const ber_old_sequence_t T_absolute_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_startTime }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_endTime }, - { 0, 0, 0, NULL } +static const ber_sequence_t T_absolute_sequence[] = { + { &hf_x509sat_startTime , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509sat_GeneralizedTime }, + { &hf_x509sat_endTime , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509sat_GeneralizedTime }, + { NULL, 0, 0, 0, NULL } }; static int dissect_x509sat_T_absolute(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - T_absolute_sequence, hf_index, ett_x509sat_T_absolute); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_absolute_sequence, hf_index, ett_x509sat_T_absolute); return offset; } -static int dissect_absolute(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_T_absolute(FALSE, tvb, offset, actx, tree, hf_x509sat_absolute); -} @@ -1088,99 +919,63 @@ dissect_x509sat_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset return offset; } -static int dissect_intDay_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509sat_intDay_item); -} -static int dissect_intWeek_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509sat_intWeek_item); -} -static int dissect_intMonth_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509sat_intMonth_item); -} -static int dissect_years_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509sat_years_item); -} -static int dissect_hour(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509sat_hour); -} -static int dissect_minute(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509sat_minute); -} -static int dissect_second(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_INTEGER(FALSE, tvb, offset, actx, tree, hf_x509sat_second); -} -static const ber_old_sequence_t DayTime_sequence[] = { - { BER_CLASS_CON, 0, 0, dissect_hour }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_minute }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_second }, - { 0, 0, 0, NULL } +static const ber_sequence_t DayTime_sequence[] = { + { &hf_x509sat_hour , BER_CLASS_CON, 0, 0, dissect_x509sat_INTEGER }, + { &hf_x509sat_minute , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509sat_INTEGER }, + { &hf_x509sat_second , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509sat_INTEGER }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509sat_DayTime(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - DayTime_sequence, hf_index, ett_x509sat_DayTime); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + DayTime_sequence, hf_index, ett_x509sat_DayTime); return offset; } -static int dissect_startDayTime(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_DayTime(FALSE, tvb, offset, actx, tree, hf_x509sat_startDayTime); -} -static int dissect_endDayTime(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_DayTime(FALSE, tvb, offset, actx, tree, hf_x509sat_endDayTime); -} -static const ber_old_sequence_t DayTimeBand_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_startDayTime }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_endDayTime }, - { 0, 0, 0, NULL } +static const ber_sequence_t DayTimeBand_sequence[] = { + { &hf_x509sat_startDayTime, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509sat_DayTime }, + { &hf_x509sat_endDayTime , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509sat_DayTime }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509sat_DayTimeBand(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - DayTimeBand_sequence, hf_index, ett_x509sat_DayTimeBand); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + DayTimeBand_sequence, hf_index, ett_x509sat_DayTimeBand); return offset; } -static int dissect_timesOfDay_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_DayTimeBand(FALSE, tvb, offset, actx, tree, hf_x509sat_timesOfDay_item); -} -static const ber_old_sequence_t SET_OF_DayTimeBand_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_timesOfDay_item }, +static const ber_sequence_t SET_OF_DayTimeBand_set_of[1] = { + { &hf_x509sat_timesOfDay_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509sat_DayTimeBand }, }; static int dissect_x509sat_SET_OF_DayTimeBand(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - SET_OF_DayTimeBand_set_of, hf_index, ett_x509sat_SET_OF_DayTimeBand); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + SET_OF_DayTimeBand_set_of, hf_index, ett_x509sat_SET_OF_DayTimeBand); return offset; } -static int dissect_timesOfDay(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_SET_OF_DayTimeBand(FALSE, tvb, offset, actx, tree, hf_x509sat_timesOfDay); -} -static const ber_old_sequence_t T_intDay_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_intDay_item }, +static const ber_sequence_t T_intDay_set_of[1] = { + { &hf_x509sat_intDay_item , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509sat_INTEGER }, }; static int dissect_x509sat_T_intDay(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - T_intDay_set_of, hf_index, ett_x509sat_T_intDay); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + T_intDay_set_of, hf_index, ett_x509sat_T_intDay); return offset; } -static int dissect_intDay(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_T_intDay(FALSE, tvb, offset, actx, tree, hf_x509sat_intDay); -} static const asn_namedbit T_bitDay_bits[] = { @@ -1202,9 +997,6 @@ dissect_x509sat_T_bitDay(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse return offset; } -static int dissect_bitDay(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_T_bitDay(FALSE, tvb, offset, actx, tree, hf_x509sat_bitDay); -} static const value_string x509sat_T_intNamedDays_vals[] = { @@ -1226,9 +1018,6 @@ dissect_x509sat_T_intNamedDays(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int return offset; } -static int dissect_intNamedDays(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_T_intNamedDays(FALSE, tvb, offset, actx, tree, hf_x509sat_intNamedDays); -} static const asn_namedbit T_bitNamedDays_bits[] = { @@ -1250,9 +1039,6 @@ dissect_x509sat_T_bitNamedDays(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int return offset; } -static int dissect_bitNamedDays(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_T_bitNamedDays(FALSE, tvb, offset, actx, tree, hf_x509sat_bitNamedDays); -} const value_string x509sat_NamedDay_vals[] = { @@ -1261,35 +1047,20 @@ const value_string x509sat_NamedDay_vals[] = { { 0, NULL } }; -static const ber_old_choice_t NamedDay_choice[] = { - { 0, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_intNamedDays }, - { 1, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_bitNamedDays }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t NamedDay_choice[] = { + { 0, &hf_x509sat_intNamedDays, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_intNamedDays }, + { 1, &hf_x509sat_bitNamedDays, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_bitNamedDays }, + { 0, NULL, 0, 0, 0, NULL } }; int dissect_x509sat_NamedDay(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_old_choice(actx, tree, tvb, offset, - NamedDay_choice, hf_index, ett_x509sat_NamedDay, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + NamedDay_choice, hf_index, ett_x509sat_NamedDay, + NULL); return offset; } -static int dissect_first_dayof(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_NamedDay(FALSE, tvb, offset, actx, tree, hf_x509sat_first_dayof); -} -static int dissect_second_dayof(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_NamedDay(FALSE, tvb, offset, actx, tree, hf_x509sat_second_dayof); -} -static int dissect_third_dayof(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_NamedDay(FALSE, tvb, offset, actx, tree, hf_x509sat_third_dayof); -} -static int dissect_fourth_dayof(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_NamedDay(FALSE, tvb, offset, actx, tree, hf_x509sat_fourth_dayof); -} -static int dissect_fifth_dayof(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_NamedDay(FALSE, tvb, offset, actx, tree, hf_x509sat_fifth_dayof); -} const value_string x509sat_XDayOf_vals[] = { @@ -1301,26 +1072,23 @@ const value_string x509sat_XDayOf_vals[] = { { 0, NULL } }; -static const ber_old_choice_t XDayOf_choice[] = { - { 1, BER_CLASS_CON, 1, 0, dissect_first_dayof }, - { 2, BER_CLASS_CON, 2, 0, dissect_second_dayof }, - { 3, BER_CLASS_CON, 3, 0, dissect_third_dayof }, - { 4, BER_CLASS_CON, 4, 0, dissect_fourth_dayof }, - { 5, BER_CLASS_CON, 5, 0, dissect_fifth_dayof }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t XDayOf_choice[] = { + { 1, &hf_x509sat_first_dayof , BER_CLASS_CON, 1, 0, dissect_x509sat_NamedDay }, + { 2, &hf_x509sat_second_dayof, BER_CLASS_CON, 2, 0, dissect_x509sat_NamedDay }, + { 3, &hf_x509sat_third_dayof , BER_CLASS_CON, 3, 0, dissect_x509sat_NamedDay }, + { 4, &hf_x509sat_fourth_dayof, BER_CLASS_CON, 4, 0, dissect_x509sat_NamedDay }, + { 5, &hf_x509sat_fifth_dayof , BER_CLASS_CON, 5, 0, dissect_x509sat_NamedDay }, + { 0, NULL, 0, 0, 0, NULL } }; int dissect_x509sat_XDayOf(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_old_choice(actx, tree, tvb, offset, - XDayOf_choice, hf_index, ett_x509sat_XDayOf, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + XDayOf_choice, hf_index, ett_x509sat_XDayOf, + NULL); return offset; } -static int dissect_dayOf(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_XDayOf(FALSE, tvb, offset, actx, tree, hf_x509sat_dayOf); -} static const value_string x509sat_T_days_vals[] = { @@ -1330,24 +1098,21 @@ static const value_string x509sat_T_days_vals[] = { { 0, NULL } }; -static const ber_old_choice_t T_days_choice[] = { - { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_intDay }, - { 1, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_bitDay }, - { 2, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_dayOf }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t T_days_choice[] = { + { 0, &hf_x509sat_intDay , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_intDay }, + { 1, &hf_x509sat_bitDay , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_bitDay }, + { 2, &hf_x509sat_dayOf , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x509sat_XDayOf }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_x509sat_T_days(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_old_choice(actx, tree, tvb, offset, - T_days_choice, hf_index, ett_x509sat_T_days, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + T_days_choice, hf_index, ett_x509sat_T_days, + NULL); return offset; } -static int dissect_days(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_T_days(FALSE, tvb, offset, actx, tree, hf_x509sat_days); -} @@ -1357,31 +1122,19 @@ dissect_x509sat_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U return offset; } -static int dissect_allWeeks(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_NULL(FALSE, tvb, offset, actx, tree, hf_x509sat_allWeeks); -} -static int dissect_allMonths(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_NULL(FALSE, tvb, offset, actx, tree, hf_x509sat_allMonths); -} -static int dissect_now(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_NULL(FALSE, tvb, offset, actx, tree, hf_x509sat_now); -} -static const ber_old_sequence_t T_intWeek_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_intWeek_item }, +static const ber_sequence_t T_intWeek_set_of[1] = { + { &hf_x509sat_intWeek_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509sat_INTEGER }, }; static int dissect_x509sat_T_intWeek(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - T_intWeek_set_of, hf_index, ett_x509sat_T_intWeek); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + T_intWeek_set_of, hf_index, ett_x509sat_T_intWeek); return offset; } -static int dissect_intWeek(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_T_intWeek(FALSE, tvb, offset, actx, tree, hf_x509sat_intWeek); -} static const asn_namedbit T_bitWeek_bits[] = { @@ -1401,9 +1154,6 @@ dissect_x509sat_T_bitWeek(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs return offset; } -static int dissect_bitWeek(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_T_bitWeek(FALSE, tvb, offset, actx, tree, hf_x509sat_bitWeek); -} static const value_string x509sat_T_weeks_vals[] = { @@ -1413,40 +1163,34 @@ static const value_string x509sat_T_weeks_vals[] = { { 0, NULL } }; -static const ber_old_choice_t T_weeks_choice[] = { - { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_allWeeks }, - { 1, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_intWeek }, - { 2, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_bitWeek }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t T_weeks_choice[] = { + { 0, &hf_x509sat_allWeeks , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x509sat_NULL }, + { 1, &hf_x509sat_intWeek , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_intWeek }, + { 2, &hf_x509sat_bitWeek , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_bitWeek }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_x509sat_T_weeks(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_old_choice(actx, tree, tvb, offset, - T_weeks_choice, hf_index, ett_x509sat_T_weeks, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + T_weeks_choice, hf_index, ett_x509sat_T_weeks, + NULL); return offset; } -static int dissect_weeks(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_T_weeks(FALSE, tvb, offset, actx, tree, hf_x509sat_weeks); -} -static const ber_old_sequence_t T_intMonth_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_intMonth_item }, +static const ber_sequence_t T_intMonth_set_of[1] = { + { &hf_x509sat_intMonth_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509sat_INTEGER }, }; static int dissect_x509sat_T_intMonth(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - T_intMonth_set_of, hf_index, ett_x509sat_T_intMonth); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + T_intMonth_set_of, hf_index, ett_x509sat_T_intMonth); return offset; } -static int dissect_intMonth(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_T_intMonth(FALSE, tvb, offset, actx, tree, hf_x509sat_intMonth); -} static const asn_namedbit T_bitMonth_bits[] = { @@ -1473,9 +1217,6 @@ dissect_x509sat_T_bitMonth(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off return offset; } -static int dissect_bitMonth(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_T_bitMonth(FALSE, tvb, offset, actx, tree, hf_x509sat_bitMonth); -} static const value_string x509sat_T_months_vals[] = { @@ -1485,77 +1226,65 @@ static const value_string x509sat_T_months_vals[] = { { 0, NULL } }; -static const ber_old_choice_t T_months_choice[] = { - { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_allMonths }, - { 1, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_intMonth }, - { 2, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_bitMonth }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t T_months_choice[] = { + { 0, &hf_x509sat_allMonths , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x509sat_NULL }, + { 1, &hf_x509sat_intMonth , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_intMonth }, + { 2, &hf_x509sat_bitMonth , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_bitMonth }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_x509sat_T_months(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_old_choice(actx, tree, tvb, offset, - T_months_choice, hf_index, ett_x509sat_T_months, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + T_months_choice, hf_index, ett_x509sat_T_months, + NULL); return offset; } -static int dissect_months(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_T_months(FALSE, tvb, offset, actx, tree, hf_x509sat_months); -} -static const ber_old_sequence_t T_years_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_years_item }, +static const ber_sequence_t T_years_set_of[1] = { + { &hf_x509sat_years_item , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509sat_INTEGER }, }; static int dissect_x509sat_T_years(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - T_years_set_of, hf_index, ett_x509sat_T_years); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + T_years_set_of, hf_index, ett_x509sat_T_years); return offset; } -static int dissect_years(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_T_years(FALSE, tvb, offset, actx, tree, hf_x509sat_years); -} -static const ber_old_sequence_t Period_sequence[] = { - { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_timesOfDay }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_days }, - { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_weeks }, - { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_months }, - { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_years }, - { 0, 0, 0, NULL } +static const ber_sequence_t Period_sequence[] = { + { &hf_x509sat_timesOfDay , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509sat_SET_OF_DayTimeBand }, + { &hf_x509sat_days , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509sat_T_days }, + { &hf_x509sat_weeks , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509sat_T_weeks }, + { &hf_x509sat_months , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_x509sat_T_months }, + { &hf_x509sat_years , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_x509sat_T_years }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509sat_Period(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - Period_sequence, hf_index, ett_x509sat_Period); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + Period_sequence, hf_index, ett_x509sat_Period); return offset; } -static int dissect_periodic_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_Period(FALSE, tvb, offset, actx, tree, hf_x509sat_periodic_item); -} -static const ber_old_sequence_t SET_OF_Period_set_of[1] = { - { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_periodic_item }, +static const ber_sequence_t SET_OF_Period_set_of[1] = { + { &hf_x509sat_periodic_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509sat_Period }, }; static int dissect_x509sat_SET_OF_Period(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_old_set_of(implicit_tag, actx, tree, tvb, offset, - SET_OF_Period_set_of, hf_index, ett_x509sat_SET_OF_Period); + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + SET_OF_Period_set_of, hf_index, ett_x509sat_SET_OF_Period); return offset; } -static int dissect_periodic(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_SET_OF_Period(FALSE, tvb, offset, actx, tree, hf_x509sat_periodic); -} static const value_string x509sat_T_time_vals[] = { @@ -1564,23 +1293,20 @@ static const value_string x509sat_T_time_vals[] = { { 0, NULL } }; -static const ber_old_choice_t T_time_choice[] = { - { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_absolute }, - { 1, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_periodic }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t T_time_choice[] = { + { 0, &hf_x509sat_absolute , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_absolute }, + { 1, &hf_x509sat_periodic , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509sat_SET_OF_Period }, + { 0, NULL, 0, 0, 0, NULL } }; static int dissect_x509sat_T_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_) { - offset = dissect_ber_old_choice(actx, tree, tvb, offset, - T_time_choice, hf_index, ett_x509sat_T_time, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + T_time_choice, hf_index, ett_x509sat_T_time, + NULL); return offset; } -static int dissect_time(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_T_time(FALSE, tvb, offset, actx, tree, hf_x509sat_time); -} @@ -1590,12 +1316,6 @@ dissect_x509sat_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset return offset; } -static int dissect_notThisTime(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_BOOLEAN(FALSE, tvb, offset, actx, tree, hf_x509sat_notThisTime); -} -static int dissect_entirely(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_BOOLEAN(FALSE, tvb, offset, actx, tree, hf_x509sat_entirely); -} @@ -1606,44 +1326,38 @@ dissect_x509sat_TimeZone(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse return offset; } -static int dissect_timeZone(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_TimeZone(FALSE, tvb, offset, actx, tree, hf_x509sat_timeZone); -} -static const ber_old_sequence_t TimeSpecification_sequence[] = { - { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_time }, - { BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_notThisTime }, - { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_timeZone }, - { 0, 0, 0, NULL } +static const ber_sequence_t TimeSpecification_sequence[] = { + { &hf_x509sat_time , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509sat_T_time }, + { &hf_x509sat_notThisTime , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509sat_BOOLEAN }, + { &hf_x509sat_timeZone , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509sat_TimeZone }, + { NULL, 0, 0, 0, NULL } }; int dissect_x509sat_TimeSpecification(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - TimeSpecification_sequence, hf_index, ett_x509sat_TimeSpecification); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + TimeSpecification_sequence, hf_index, ett_x509sat_TimeSpecification); return offset; } -static const ber_old_sequence_t T_between_sequence[] = { - { BER_CLASS_CON, 0, 0, dissect_startTime }, - { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_endTime }, - { BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_entirely }, - { 0, 0, 0, NULL } +static const ber_sequence_t T_between_sequence[] = { + { &hf_x509sat_startTime , BER_CLASS_CON, 0, 0, dissect_x509sat_GeneralizedTime }, + { &hf_x509sat_endTime , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509sat_GeneralizedTime }, + { &hf_x509sat_entirely , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509sat_BOOLEAN }, + { NULL, 0, 0, 0, NULL } }; static int dissect_x509sat_T_between(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_old_sequence(implicit_tag, actx, tree, tvb, offset, - T_between_sequence, hf_index, ett_x509sat_T_between); + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_between_sequence, hf_index, ett_x509sat_T_between); return offset; } -static int dissect_between(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x509sat_T_between(FALSE, tvb, offset, actx, tree, hf_x509sat_between); -} const value_string x509sat_TimeAssertion_vals[] = { @@ -1653,18 +1367,18 @@ const value_string x509sat_TimeAssertion_vals[] = { { 0, NULL } }; -static const ber_old_choice_t TimeAssertion_choice[] = { - { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_now }, - { 1, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_at }, - { 2, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_between }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t TimeAssertion_choice[] = { + { 0, &hf_x509sat_now , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x509sat_NULL }, + { 1, &hf_x509sat_at , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_x509sat_GeneralizedTime }, + { 2, &hf_x509sat_between , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_between }, + { 0, NULL, 0, 0, 0, NULL } }; int dissect_x509sat_TimeAssertion(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_old_choice(actx, tree, tvb, offset, - TimeAssertion_choice, hf_index, ett_x509sat_TimeAssertion, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + TimeAssertion_choice, hf_index, ett_x509sat_TimeAssertion, + NULL); return offset; } @@ -1676,17 +1390,17 @@ const value_string x509sat_LocaleContextSyntax_vals[] = { { 0, NULL } }; -static const ber_old_choice_t LocaleContextSyntax_choice[] = { - { 0, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_localeID1 }, - { 1, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_localeID2 }, - { 0, 0, 0, 0, NULL } +static const ber_choice_t LocaleContextSyntax_choice[] = { + { 0, &hf_x509sat_localeID1 , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509sat_OBJECT_IDENTIFIER }, + { 1, &hf_x509sat_localeID2 , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x509sat_DirectoryString }, + { 0, NULL, 0, 0, 0, NULL } }; int dissect_x509sat_LocaleContextSyntax(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_old_choice(actx, tree, tvb, offset, - LocaleContextSyntax_choice, hf_index, ett_x509sat_LocaleContextSyntax, - NULL); + offset = dissect_ber_choice(actx, tree, tvb, offset, + LocaleContextSyntax_choice, hf_index, ett_x509sat_LocaleContextSyntax, + NULL); return offset; } diff --git a/epan/dissectors/packet-x509sat.h b/epan/dissectors/packet-x509sat.h index be9b6ab5ad..925e6c1019 100644 --- a/epan/dissectors/packet-x509sat.h +++ b/epan/dissectors/packet-x509sat.h @@ -1,7 +1,7 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-x509sat.h */ -/* ../../tools/asn2wrs.py -b -e -p x509sat -c x509sat.cnf -s packet-x509sat-template SelectedAttributeTypes.asn */ +/* ../../tools/asn2wrs.py -b -e -X -T -p x509sat -c x509sat.cnf -s packet-x509sat-template SelectedAttributeTypes.asn */ /* Input file: packet-x509sat-template.h */