From 1dcf2aaef02f98c5fd6190a91e6940300c416fe6 Mon Sep 17 00:00:00 2001 From: Tomas Kukosa Date: Wed, 6 Jun 2007 08:12:27 +0000 Subject: [PATCH] use ASN.1 type names in #.FN_BODY (instead of Wireshark type names) svn path=/trunk/; revision=22054 --- asn1/dap/dap.cnf | 20 +- asn1/disp/disp.cnf | 6 +- asn1/dop/dop.cnf | 22 +- asn1/h245/h245.cnf | 2 +- asn1/ldap/ldap.cnf | 10 +- asn1/pres/pres.cnf | 10 +- asn1/ranap/ranap.cnf | 4 +- asn1/ros/ros.cnf | 20 +- asn1/rtse/rtse.cnf | 12 +- asn1/tcap/tcap.cnf | 2 +- asn1/x411/x411.cnf | 75 +++++-- asn1/x420/x420.cnf | 2 +- epan/dissectors/packet-dap.c | 43 +++- epan/dissectors/packet-ldap.c | 35 +-- epan/dissectors/packet-ros.c | 30 ++- epan/dissectors/packet-rtse.c | 32 ++- epan/dissectors/packet-x411.c | 400 ++++++++++++++++++++++------------ tools/asn2wrs.py | 7 +- 18 files changed, 470 insertions(+), 262 deletions(-) diff --git a/asn1/dap/dap.cnf b/asn1/dap/dap.cnf index 0fdc31663b..f0280d3679 100644 --- a/asn1/dap/dap.cnf +++ b/asn1/dap/dap.cnf @@ -110,27 +110,27 @@ TokenData/name distinguished-name TokenData/time utctime -#.FN_BODY T_initial +#.FN_BODY FilterItem/substrings/strings/_item/initial proto_item *it; it = proto_tree_add_item(tree, hf_index, tvb, offset, -1, FALSE); proto_item_append_text(it," XXX: Not yet implemented!"); -#.FN_BODY T_any +#.FN_BODY FilterItem/substrings/strings/_item/any /* XXX: not yet implemented */ -#.FN_BODY T_final +#.FN_BODY FilterItem/substrings/strings/_item/final /* XXX: not yet implemented */ -#.FN_BODY T_matchValue +#.FN_BODY MatchingRuleAssertion/matchValue /* XXX: not yet implemented */ -#.FN_BODY T_req +#.FN_BODY SpkmCredentials/req /* XXX: not yet implemented */ -#.FN_BODY T_rep +#.FN_BODY SpkmCredentials/rep /* XXX: not yet implemented */ -#.FN_BODY T_spkmInfo +#.FN_BODY SecurityErrorData/spkmInfo /* XXX: not yet implemented */ #.FN_BODY DirectoryBindArgument @@ -159,10 +159,10 @@ TokenData/time utctime if(check_col(actx->pinfo->cinfo, COL_INFO)) col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", x509if_get_last_dn()); -#.FN_PARS OCTET_STRING - VAL_PTR=&out_tvb + -#.FN_BODY OCTET_STRING + +#.FN_BODY PagedResultsRequest/queryReference VAL_PTR=&out_tvb tvbuff_t *out_tvb; int i; int len; diff --git a/asn1/disp/disp.cnf b/asn1/disp/disp.cnf index 8d2ce538ea..60f1839262 100644 --- a/asn1/disp/disp.cnf +++ b/asn1/disp/disp.cnf @@ -56,10 +56,10 @@ ModificationParameter B "dop.modify.roleb.2.5.19.1" "shadow-modify-roleb" col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(update, disp_RefreshInformation_vals, "unknown(%%d)")); } -#.FN_PARS StandardUpdate - VAL_PTR = &update +#.END -#.FN_BODY StandardUpdate + +#.FN_BODY CoordinateShadowUpdateArgumentData/updateStrategy/standard VAL_PTR = &update guint32 update; %(DEFAULT_BODY)s diff --git a/asn1/dop/dop.cnf b/asn1/dop/dop.cnf index f80260d218..77a84c3474 100644 --- a/asn1/dop/dop.cnf +++ b/asn1/dop/dop.cnf @@ -104,39 +104,39 @@ OpBindingErrorParam/bindingType BindingType append_oid(actx->pinfo, binding_type); #.END -#.FN_BODY EstablishSymmetric +#.FN_BODY EstablishOperationalBindingArgumentData/initiator/symmetric offset = call_dop_oid_callback("dop.establish.symmetric", tvb, offset, actx->pinfo, tree, "symmetric"); -#.FN_BODY EstablishRoleAInitiates +#.FN_BODY EstablishOperationalBindingArgumentData/initiator/roleA-initiates offset = call_dop_oid_callback("dop.establish.rolea", tvb, offset, actx->pinfo, tree, "roleA"); -#.FN_BODY EstablishRoleBInitiates +#.FN_BODY EstablishOperationalBindingArgumentData/initiator/roleB-initiates offset = call_dop_oid_callback("dop.establish.roleb", tvb, offset, actx->pinfo, tree, "roleB"); -#.FN_BODY ModifySymmetric +#.FN_BODY ModifyOperationalBindingArgumentData/initiator/symmetric offset = call_dop_oid_callback("dop.modify.symmetric", tvb, offset, actx->pinfo, tree, "symmetric"); -#.FN_BODY ModifyRoleAInitiates +#.FN_BODY ModifyOperationalBindingArgumentData/initiator/roleA-initiates offset = call_dop_oid_callback("dop.modify.rolea", tvb, offset, actx->pinfo, tree, "roleA"); -#.FN_BODY ModifyRoleBInitiates +#.FN_BODY ModifyOperationalBindingArgumentData/initiator/roleB-initiates offset = call_dop_oid_callback("dop.modify.roleb", tvb, offset, actx->pinfo, tree, "roleB"); -#.FN_BODY TerminateSymmetric +#.FN_BODY TerminateOperationalBindingArgumentData/initiator/symmetric offset = call_dop_oid_callback("dop.terminate.symmetric", tvb, offset, actx->pinfo, tree, "symmetric"); -#.FN_BODY TerminateRoleAInitiates +#.FN_BODY TerminateOperationalBindingArgumentData/initiator/roleA-initiates offset = call_dop_oid_callback("dop.terminate.rolea", tvb, offset, actx->pinfo, tree, "roleA"); -#.FN_BODY TerminateRoleBInitiates +#.FN_BODY TerminateOperationalBindingArgumentData/initiator/roleB-initiates offset = call_dop_oid_callback("dop.terminate.roleb", tvb, offset, actx->pinfo, tree, "roleB"); @@ -160,11 +160,11 @@ OpBindingErrorParam/bindingType BindingType offset = call_dop_oid_callback("dop.agreement", tvb, offset, actx->pinfo, tree, NULL); -#.FN_BODY ResultNewAgreement +#.FN_BODY ModifyOperationalBindingResultData/newAgreement offset = call_dop_oid_callback("dop.agreement", tvb, offset, actx->pinfo, tree, NULL); -#.FN_BODY ArgumentNewAgreement +#.FN_BODY ModifyOperationalBindingArgumentData/newAgreement offset = call_dop_oid_callback("dop.agreement", tvb, offset, actx->pinfo, tree, NULL); diff --git a/asn1/h245/h245.cnf b/asn1/h245/h245.cnf index 64b30e4af1..7b0c01db79 100644 --- a/asn1/h245/h245.cnf +++ b/asn1/h245/h245.cnf @@ -433,7 +433,7 @@ Rfc2733Format FECCapability/rfc2733Format FECMode/rfc2733Format g_snprintf(h245_pi->frame_label, 50, "%%s %%s", h245_pi->frame_label, val_to_str(value, h245_VideoMode_vals, "ukn")); #.END #---------------------------------------------------------------------------------------- -#.FN_BODY DataModeApplication VAL_PTR = &value +#.FN_BODY DataMode/application VAL_PTR = &value guint32 value; %(DEFAULT_BODY)s diff --git a/asn1/ldap/ldap.cnf b/asn1/ldap/ldap.cnf index af625f61b7..7888895d68 100644 --- a/asn1/ldap/ldap.cnf +++ b/asn1/ldap/ldap.cnf @@ -365,7 +365,7 @@ ldap_conv_info_t *ldap_info; } -#.FN_BODY BindResponse_resultCode VAL_PTR = &result +#.FN_BODY BindResponse/resultCode VAL_PTR = &result const gchar *valstr; @@ -532,14 +532,14 @@ ldap_conv_info_t *ldap_info; #.FN_FTR Filter/not Filter_string=ep_strdup_printf("(!%s)",Filter_string); -#.FN_BODY BOOLEAN +#.FN_BODY MatchingRuleAssertion/dnAttributes gboolean val; - offset = dissect_ber_boolean_value(implicit_tag, actx, tree, tvb, offset, hf_index, &val); +offset = dissect_ber_boolean_value(implicit_tag, actx, tree, tvb, offset, hf_index, &val); + - if (hf_index == hf_ldap_dnAttributes) { matching_rule_dnattr = val; - } + #.FN_HDR Filter/extensibleMatch attr_type=NULL; diff --git a/asn1/pres/pres.cnf b/asn1/pres/pres.cnf index 96180d59ce..2ad84caaeb 100644 --- a/asn1/pres/pres.cnf +++ b/asn1/pres/pres.cnf @@ -28,8 +28,8 @@ CPA-PPDU/x410-mode-parameters cPR_PPDU_x400_mode_parameters ARP-PPDU/provider-reason aRU_PPDU_provider-reason CPR-PPDU/normal-mode-parameters/provider-reason cPR_PPDU__provider-reason -#.FN_BODY OPEN -/* FIX ME*/ + + #.FN_BODY PDV-list/presentation-data-values/single-ASN1-type @@ -59,13 +59,13 @@ CPR-PPDU/normal-mode-parameters/provider-reason cPR_PPDU__provider-reason } -#.FN_PARS Abstract_syntax_name +#.FN_PARS Abstract-syntax-name FN_VARIANT = _str VAL_PTR = &abstract_syntax_name_oid -#.FN_PARS Presentation_context_identifier +#.FN_PARS Presentation-context-identifier VAL_PTR = &presentation_context_identifier -#.FN_BODY Presentation_context_identifier +#.FN_BODY Presentation-context-identifier %(DEFAULT_BODY)s diff --git a/asn1/ranap/ranap.cnf b/asn1/ranap/ranap.cnf index ee72587f1a..e110082e98 100644 --- a/asn1/ranap/ranap.cnf +++ b/asn1/ranap/ranap.cnf @@ -67,7 +67,7 @@ VAL_PTR = &ProtocolIE_ID offset = dissect_ranap_messages(tvb, offset, %(ACTX)s, tree); -#.FN_BODY RANAP_PROTOCOL_IES_Value +#.FN_BODY RANAP-PROTOCOL-IES-Value offset = dissect_ranap_ies(tvb, offset, %(ACTX)s, tree); @@ -90,7 +90,7 @@ tvbuff_t *nas_pdu_tvb=NULL; offset = dissect_ranap_ies(tvb, offset, %(ACTX)s, tree); -#.FN_BODY RANAP_PRIVATE_IES_Value +#.FN_BODY RANAP-PRIVATE-IES-Value /* FIX ME */ #.FN_BODY PLMNidentity VAL_PTR = ¶meter_tvb diff --git a/asn1/ros/ros.cnf b/asn1/ros/ros.cnf index 462a7c9c3d..5623c55cf1 100644 --- a/asn1/ros/ros.cnf +++ b/asn1/ros/ros.cnf @@ -15,9 +15,9 @@ Reject/problem/returnResult rejectResult #.FN_PARS ErrorCode VAL_PTR = &opcode -#.FN_PARS INTEGER VAL_PTR = &invokeid +#.FN_PARS InvokeId/present VAL_PTR = &invokeid -#.FN_BODY T_argument +#.FN_BODY Invoke/argument char *oid; /* not sure what the length should be - -1 for now */ proto_tree_add_text(tree, tvb, offset,-1, "invoke argument"); @@ -32,7 +32,7 @@ Reject/problem/returnResult rejectResult offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree); } -#.FN_BODY OperationResult +#.FN_BODY ReturnResult/result/result char *oid; /* not sure what the length should be - -1 for now */ proto_tree_add_text(tree, tvb, offset,-1, "return result"); @@ -47,7 +47,7 @@ Reject/problem/returnResult rejectResult offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree); } -#.FN_BODY T_parameter +#.FN_BODY ReturnError/parameter char *oid; /* not sure what the length should be - -1 for now */ proto_tree_add_text(tree, tvb, offset,-1, "return result"); @@ -63,7 +63,7 @@ Reject/problem/returnResult rejectResult } -#.FN_BODY T_bind_invoke +#.FN_BODY ROS/bind-invoke char *oid; /* not sure what the length should be - -1 for now */ proto_tree_add_text(tree, tvb, offset,-1, "bind-invoke"); @@ -74,7 +74,7 @@ Reject/problem/returnResult rejectResult offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree); } -#.FN_BODY T_bind_result +#.FN_BODY ROS/bind-result char *oid; /* not sure what the length should be - -1 for now */ proto_tree_add_text(tree, tvb, offset,-1, "bind-result"); @@ -85,7 +85,7 @@ Reject/problem/returnResult rejectResult offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree); } -#.FN_BODY T_bind_error +#.FN_BODY ROS/bind-error char *oid; /* not sure what the length should be - -1 for now */ proto_tree_add_text(tree, tvb, offset,-1, "bind-error"); @@ -97,7 +97,7 @@ Reject/problem/returnResult rejectResult } -#.FN_BODY T_unbind_invoke +#.FN_BODY ROS/unbind-invoke char *oid; /* not sure what the length should be - -1 for now */ proto_tree_add_text(tree, tvb, offset,-1, "unbind-invoke"); @@ -109,7 +109,7 @@ Reject/problem/returnResult rejectResult } -#.FN_BODY T_unbind_result +#.FN_BODY ROS/unbind-result char *oid; /* not sure what the length should be - -1 for now */ proto_tree_add_text(tree, tvb, offset,-1, "unbind-result"); @@ -120,7 +120,7 @@ Reject/problem/returnResult rejectResult offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree); } -#.FN_BODY T_unbind_error +#.FN_BODY ROS/unbind-error char *oid; /* not sure what the length should be - -1 for now */ proto_tree_add_text(tree, tvb, offset,-1, "unbind-error"); diff --git a/asn1/rtse/rtse.cnf b/asn1/rtse/rtse.cnf index 929adb1e67..6a8543ee37 100644 --- a/asn1/rtse/rtse.cnf +++ b/asn1/rtse/rtse.cnf @@ -137,9 +137,9 @@ EXTERNALt col_append_fstr(actx->pinfo->cinfo, COL_INFO, "Recover"); %(DEFAULT_BODY)s -#.FN_PARS T61String - VAL_PTR=&string -#.FN_BODY T61String +#.END + +#.FN_BODY CallingSSuserReference/t61String VAL_PTR=&string tvbuff_t *string = NULL; %(DEFAULT_BODY)s if(open_request && string && check_col(actx->pinfo->cinfo, COL_INFO)) @@ -153,9 +153,9 @@ EXTERNALt if(open_request && string && check_col(actx->pinfo->cinfo, COL_INFO)) col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", tvb_format_text(string, 0, tvb_length(string))); -#.FN_PARS OCTET_STRING - VAL_PTR=&string -#.FN_BODY OCTET_STRING +#.END + +#.FN_BODY CallingSSuserReference/octetString VAL_PTR=&string tvbuff_t *string = NULL; %(DEFAULT_BODY)s if(open_request && string && check_col(actx->pinfo->cinfo, COL_INFO)) diff --git a/asn1/tcap/tcap.cnf b/asn1/tcap/tcap.cnf index 90cbe7ab05..1ba3fff0ee 100644 --- a/asn1/tcap/tcap.cnf +++ b/asn1/tcap/tcap.cnf @@ -91,7 +91,7 @@ if (!next_tvb) offset += len; return offset; -#.FN_BODY User_information +#.FN_BODY User-information tvbuff_t *next_tvb; gint8 class; gboolean pc; diff --git a/asn1/x411/x411.cnf b/asn1/x411/x411.cnf index d232d40612..11d2ac36d5 100644 --- a/asn1/x411/x411.cnf +++ b/asn1/x411/x411.cnf @@ -485,12 +485,10 @@ ORAddress B "2.16.840.1.101.2.2.1.134.1" "id-at-collective-mhs-or-addresses" g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN); } +#.VIRTUAL_ASSGN +AddrNumericString UserAddress/x121/x121-address CountryName/x121-dcc-code PhysicalDeliveryCountryName/x121-dcc-code PostalCode/numeric-code - -#.FN_PARS NumericString - VAL_PTR=&nstring - -#.FN_BODY NumericString +#.FN_BODY AddrNumericString VAL_PTR=&nstring tvbuff_t *nstring = NULL; %(DEFAULT_BODY)s @@ -498,9 +496,10 @@ ORAddress B "2.16.840.1.101.2.2.1.134.1" "id-at-collective-mhs-or-addresses" if(doing_address && nstring) g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); -#.FN_PARS TeletexString +#.VIRTUAL_ASSGN +AddrTeletexString TeletexPersonalName/surname TeletexPersonalName/given-name TeletexPersonalName/initials TeletexPersonalName/generation-qualifier TeletexDomainDefinedAttribute/type TeletexDomainDefinedAttribute/value -#.FN_BODY TeletexString +#.FN_BODY AddrTeletexString VAL_PTR=&tstring tvbuff_t *tstring = NULL; %(DEFAULT_BODY)s @@ -509,28 +508,60 @@ ORAddress B "2.16.840.1.101.2.2.1.134.1" "id-at-collective-mhs-or-addresses" g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN); -#.FN_PARS PrintableString - VAL_PTR=&pstring - -#.FN_BODY PrintableString +#.FN_BODY PersonalName/surname VAL_PTR=&pstring tvbuff_t *pstring = NULL; - char *fmt = NULL; %(DEFAULT_BODY)s if(doing_address && pstring) { - if(hf_index == hf_x411_printable_surname) fmt = "/S="; - else if(hf_index == hf_x411_printable_given_name) fmt = "/G="; - else if(hf_index == hf_x411_printable_initials) fmt = "/I="; - else if(hf_index == hf_x411_printable_generation_qualifier) fmt = "/GQ="; - else if(hf_index == hf_x411_printable_type) fmt = "/DD."; - else if(hf_index == hf_x411_printable_value) fmt = "="; - - if(fmt) - g_strlcat(oraddress, fmt, MAX_ORA_STR_LEN); - + g_strlcat(oraddress, "/S=", MAX_ORA_STR_LEN); g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); + } +#.FN_BODY PersonalName/given-name VAL_PTR=&pstring + tvbuff_t *pstring = NULL; + %(DEFAULT_BODY)s + + if(doing_address && pstring) { + g_strlcat(oraddress, "/G=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); + } +#.FN_BODY PersonalName/initials VAL_PTR=&pstring + tvbuff_t *pstring = NULL; + + %(DEFAULT_BODY)s + + if(doing_address && pstring) { + g_strlcat(oraddress, "/I=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); + } +#.FN_BODY PersonalName/generation-qualifier VAL_PTR=&pstring + tvbuff_t *pstring = NULL; + + %(DEFAULT_BODY)s + + if(doing_address && pstring) { + g_strlcat(oraddress, "/GQ=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); + } + +#.FN_BODY BuiltInDomainDefinedAttribute/type VAL_PTR=&pstring + tvbuff_t *pstring = NULL; + + %(DEFAULT_BODY)s + + if(doing_address && pstring) { + g_strlcat(oraddress, "/DD.", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); + } +#.FN_BODY BuiltInDomainDefinedAttribute/value VAL_PTR=&pstring + tvbuff_t *pstring = NULL; + + %(DEFAULT_BODY)s + + if(doing_address && pstring) { + g_strlcat(oraddress, "=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); } #.FN_BODY ORAddress diff --git a/asn1/x420/x420.cnf b/asn1/x420/x420.cnf index 913a8460c5..71a1962708 100644 --- a/asn1/x420/x420.cnf +++ b/asn1/x420/x420.cnf @@ -160,7 +160,7 @@ ForwardedContentParameters B "2.6.1.11.17.1.3.26.0.4406.0.4.1" "id-ep-content- if((pi = get_ber_last_created_item())) proto_item_append_text(pi, " (%%s)", val_to_str(crs, charsetreg_vals, "unknown")); -#.FN_BODY Interchange_Data_Element +#.FN_BODY Interchange-Data-Element /* XXX Not implemented yet */ #.FN_BODY NationallyDefinedBodyPart diff --git a/epan/dissectors/packet-dap.c b/epan/dissectors/packet-dap.c index 8a6b18f960..95983416d0 100644 --- a/epan/dissectors/packet-dap.c +++ b/epan/dissectors/packet-dap.c @@ -164,7 +164,7 @@ static int hf_dap_sortKeys = -1; /* SEQUENCE_OF_SortKey */ static int hf_dap_sortKeys_item = -1; /* SortKey */ static int hf_dap_reverse = -1; /* BOOLEAN */ static int hf_dap_unmerged = -1; /* BOOLEAN */ -static int hf_dap_queryReference = -1; /* OCTET_STRING */ +static int hf_dap_queryReference = -1; /* T_queryReference */ static int hf_dap_orderingRule = -1; /* OBJECT_IDENTIFIER */ static int hf_dap_certification_path = -1; /* CertificationPath */ static int hf_dap_distinguished_name = -1; /* DistinguishedName */ @@ -283,6 +283,7 @@ static int hf_dap_unexplored_item = -1; /* ContinuationReference */ static int hf_dap_unavailableCriticalExtensions = -1; /* BOOLEAN */ static int hf_dap_unknownErrors = -1; /* T_unknownErrors */ static int hf_dap_unknownErrors_item = -1; /* OBJECT_IDENTIFIER */ +static int hf_dap_queryReference_01 = -1; /* OCTET_STRING */ static int hf_dap_overspecFilter = -1; /* Filter */ static int hf_dap_entryCount = -1; /* T_entryCount */ static int hf_dap_bestEstimate = -1; /* INTEGER */ @@ -2138,7 +2139,7 @@ static int dissect_newRequest(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offse static int -dissect_dap_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_dap_T_queryReference(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 166 "dap.cnf" tvbuff_t *out_tvb; int i; @@ -2172,13 +2173,7 @@ dissect_dap_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse return offset; } static int dissect_queryReference(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_dap_OCTET_STRING(FALSE, tvb, offset, actx, tree, hf_dap_queryReference); -} -static int dissect_unprotected(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_dap_OCTET_STRING(FALSE, tvb, offset, actx, tree, hf_dap_unprotected); -} -static int dissect_protectedPassword(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_dap_OCTET_STRING(FALSE, tvb, offset, actx, tree, hf_dap_protectedPassword); + return dissect_dap_T_queryReference(FALSE, tvb, offset, actx, tree, hf_dap_queryReference); } @@ -2277,6 +2272,25 @@ static int dissect_validity(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset } + +static int +dissect_dap_OCTET_STRING(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_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} +static int dissect_unprotected(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_dap_OCTET_STRING(FALSE, tvb, offset, actx, tree, hf_dap_unprotected); +} +static int dissect_protectedPassword(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_dap_OCTET_STRING(FALSE, tvb, offset, actx, tree, hf_dap_protectedPassword); +} +static int dissect_queryReference_01(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_dap_OCTET_STRING(FALSE, tvb, offset, actx, tree, hf_dap_queryReference_01); +} + + static const ber_old_sequence_t T_protected_sequence[] = { { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_protectedPassword }, { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier }, @@ -2340,6 +2354,9 @@ dissect_dap_SimpleCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", x509if_get_last_dn()); + + + return offset; } @@ -3493,7 +3510,7 @@ static const ber_old_sequence_t PartialOutcomeQualifier_set[] = { { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_unexplored }, { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_unavailableCriticalExtensions }, { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_unknownErrors }, - { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_queryReference }, + { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_queryReference_01 }, { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_overspecFilter }, { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_notification }, { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_entryCount }, @@ -6008,7 +6025,7 @@ void proto_register_dap(void) { { &hf_dap_queryReference, { "queryReference", "dap.queryReference", FT_BYTES, BASE_HEX, NULL, 0, - "dap.OCTET_STRING", HFILL }}, + "dap.T_queryReference", HFILL }}, { &hf_dap_orderingRule, { "orderingRule", "dap.orderingRule", FT_OID, BASE_NONE, NULL, 0, @@ -6481,6 +6498,10 @@ void proto_register_dap(void) { { "Item", "dap.unknownErrors_item", FT_OID, BASE_NONE, NULL, 0, "dap.OBJECT_IDENTIFIER", HFILL }}, + { &hf_dap_queryReference_01, + { "queryReference", "dap.queryReference", + FT_BYTES, BASE_HEX, NULL, 0, + "dap.OCTET_STRING", HFILL }}, { &hf_dap_overspecFilter, { "overspecFilter", "dap.overspecFilter", FT_UINT32, BASE_DEC, VALS(dap_Filter_vals), 0, diff --git a/epan/dissectors/packet-ldap.c b/epan/dissectors/packet-ldap.c index 06ed3d8da2..8eef19840f 100644 --- a/epan/dissectors/packet-ldap.c +++ b/epan/dissectors/packet-ldap.c @@ -239,7 +239,7 @@ static int hf_ldap_any = -1; /* LDAPString */ static int hf_ldap_final = -1; /* LDAPString */ static int hf_ldap_matchingRule = -1; /* MatchingRuleId */ static int hf_ldap_matchValue = -1; /* AssertionValue */ -static int hf_ldap_dnAttributes = -1; /* BOOLEAN */ +static int hf_ldap_dnAttributes = -1; /* T_dnAttributes */ static int hf_ldap_objectName = -1; /* LDAPDN */ static int hf_ldap_searchResultEntry_attributes = -1; /* PartialAttributeList */ static int hf_ldap_PartialAttributeList_item = -1; /* PartialAttributeList_item */ @@ -1384,16 +1384,7 @@ dissect_ldap_INTEGER_0_maxInt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int dissect_ldap_BOOLEAN(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 536 "ldap.cnf" - gboolean val; - - offset = dissect_ber_boolean_value(implicit_tag, actx, tree, tvb, offset, hf_index, &val); - - if (hf_index == hf_ldap_dnAttributes) { - matching_rule_dnattr = val; - } - - + offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index); return offset; } @@ -1698,11 +1689,29 @@ dissect_ldap_MatchingRuleId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of } + +static int +dissect_ldap_T_dnAttributes(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 536 "ldap.cnf" + gboolean val; + +offset = dissect_ber_boolean_value(implicit_tag, actx, tree, tvb, offset, hf_index, &val); + + + matching_rule_dnattr = val; + + + + + return offset; +} + + static const ber_sequence_t MatchingRuleAssertion_sequence[] = { { &hf_ldap_matchingRule , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ldap_MatchingRuleId }, { &hf_ldap_type , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ldap_AttributeDescription }, { &hf_ldap_matchValue , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ldap_AssertionValue }, - { &hf_ldap_dnAttributes , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ldap_BOOLEAN }, + { &hf_ldap_dnAttributes , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ldap_T_dnAttributes }, { NULL, 0, 0, 0, NULL } }; @@ -4148,7 +4157,7 @@ void proto_register_ldap(void) { { &hf_ldap_dnAttributes, { "dnAttributes", "ldap.dnAttributes", FT_BOOLEAN, 8, NULL, 0, - "ldap.BOOLEAN", HFILL }}, + "ldap.T_dnAttributes", HFILL }}, { &hf_ldap_objectName, { "objectName", "ldap.objectName", FT_STRING, BASE_NONE, NULL, 0, diff --git a/epan/dissectors/packet-ros.c b/epan/dissectors/packet-ros.c index 147b01ef85..86d6632bc3 100644 --- a/epan/dissectors/packet-ros.c +++ b/epan/dissectors/packet-ros.c @@ -110,7 +110,7 @@ static int hf_ros_general = -1; /* GeneralProblem */ static int hf_ros_invokeProblem = -1; /* InvokeProblem */ static int hf_ros_rejectResult = -1; /* ReturnResultProblem */ static int hf_ros_rejectError = -1; /* ReturnErrorProblem */ -static int hf_ros_present = -1; /* INTEGER */ +static int hf_ros_present = -1; /* T_present */ static int hf_ros_absent = -1; /* NULL */ static int hf_ros_local = -1; /* INTEGER */ static int hf_ros_global = -1; /* OBJECT_IDENTIFIER */ @@ -319,20 +319,14 @@ ros_match_call_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gui static int -dissect_ros_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_ros_T_present(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_integer(implicit_tag, actx, tree, tvb, offset, hf_index, &invokeid); return offset; } -static int dissect_linkedId_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_ros_INTEGER(TRUE, tvb, offset, actx, tree, hf_ros_linkedId); -} static int dissect_present(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_ros_INTEGER(FALSE, tvb, offset, actx, tree, hf_ros_present); -} -static int dissect_local(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_ros_INTEGER(FALSE, tvb, offset, actx, tree, hf_ros_local); + return dissect_ros_T_present(FALSE, tvb, offset, actx, tree, hf_ros_present); } @@ -374,6 +368,22 @@ static int dissect_invokeId(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset +static int +dissect_ros_INTEGER(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_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} +static int dissect_linkedId_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_ros_INTEGER(TRUE, tvb, offset, actx, tree, hf_ros_linkedId); +} +static int dissect_local(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_ros_INTEGER(FALSE, tvb, offset, actx, tree, hf_ros_local); +} + + + static int dissect_ros_OperationCode(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_integer(implicit_tag, actx, tree, tvb, offset, hf_index, @@ -1122,7 +1132,7 @@ void proto_register_ros(void) { { &hf_ros_present, { "present", "ros.present", FT_INT32, BASE_DEC, NULL, 0, - "ros.INTEGER", HFILL }}, + "ros.T_present", HFILL }}, { &hf_ros_absent, { "absent", "ros.absent", FT_NONE, BASE_NONE, NULL, 0, diff --git a/epan/dissectors/packet-rtse.c b/epan/dissectors/packet-rtse.c index 066a4f7f95..e25fd9435a 100644 --- a/epan/dissectors/packet-rtse.c +++ b/epan/dissectors/packet-rtse.c @@ -95,8 +95,8 @@ static int hf_rtse_recover = -1; /* SessionConnectionIdentifier static int hf_rtse_callingSSuserReference = -1; /* CallingSSuserReference */ static int hf_rtse_commonReference = -1; /* CommonReference */ static int hf_rtse_additionalReferenceInformation = -1; /* AdditionalReferenceInformation */ -static int hf_rtse_t61String = -1; /* T61String */ -static int hf_rtse_octetString = -1; /* OCTET_STRING */ +static int hf_rtse_t61String = -1; /* T_t61String */ +static int hf_rtse_octetString = -1; /* T_octetString */ static int hf_rtse_direct_reference = -1; /* OBJECT_IDENTIFIER */ static int hf_rtse_indirect_reference = -1; /* T_indirect_reference */ static int hf_rtse_data_value_descriptor = -1; /* ObjectDescriptor */ @@ -264,7 +264,7 @@ static int dissect_open(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, static int -dissect_rtse_T61String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_rtse_T_t61String(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 143 "rtse.cnf" tvbuff_t *string = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, @@ -279,13 +279,13 @@ dissect_rtse_T61String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset return offset; } static int dissect_t61String(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_rtse_T61String(FALSE, tvb, offset, actx, tree, hf_rtse_t61String); + return dissect_rtse_T_t61String(FALSE, tvb, offset, actx, tree, hf_rtse_t61String); } static int -dissect_rtse_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_rtse_T_octetString(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 159 "rtse.cnf" tvbuff_t *string = NULL; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, @@ -299,10 +299,7 @@ dissect_rtse_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs return offset; } static int dissect_octetString(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_rtse_OCTET_STRING(FALSE, tvb, offset, actx, tree, hf_rtse_octetString); -} -static int dissect_octet_aligned_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_rtse_OCTET_STRING(TRUE, tvb, offset, actx, tree, hf_rtse_octet_aligned); + return dissect_rtse_T_octetString(FALSE, tvb, offset, actx, tree, hf_rtse_octetString); } @@ -790,6 +787,19 @@ static int dissect_single_ASN1_type(proto_tree *tree _U_, tvbuff_t *tvb _U_, int } + +static int +dissect_rtse_OCTET_STRING(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_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + 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_rtse_OCTET_STRING(TRUE, tvb, offset, actx, tree, hf_rtse_octet_aligned); +} + + static const value_string rtse_T_encoding_vals[] = { { 0, "single-ASN1-type" }, { 1, "octet-aligned" }, @@ -1005,11 +1015,11 @@ void proto_register_rtse(void) { { &hf_rtse_t61String, { "t61String", "rtse.t61String", FT_STRING, BASE_NONE, NULL, 0, - "rtse.T61String", HFILL }}, + "rtse.T_t61String", HFILL }}, { &hf_rtse_octetString, { "octetString", "rtse.octetString", FT_BYTES, BASE_HEX, NULL, 0, - "rtse.OCTET_STRING", HFILL }}, + "rtse.T_octetString", HFILL }}, { &hf_rtse_direct_reference, { "direct-reference", "rtse.direct_reference", FT_OID, BASE_NONE, NULL, 0, diff --git a/epan/dissectors/packet-x411.c b/epan/dissectors/packet-x411.c index 7f4803990a..81cee60c41 100644 --- a/epan/dissectors/packet-x411.c +++ b/epan/dissectors/packet-x411.c @@ -296,7 +296,7 @@ static int hf_x411_registered_information = -1; /* RegisterArgument */ static int hf_x411_old_credentials = -1; /* Credentials */ static int hf_x411_new_credentials = -1; /* Credentials */ static int hf_x411_x121 = -1; /* T_x121 */ -static int hf_x411_x121_address = -1; /* NumericString */ +static int hf_x411_x121_address = -1; /* AddrNumericString */ static int hf_x411_tsap_id = -1; /* PrintableString */ static int hf_x411_presentation = -1; /* PSAPAddress */ static int hf_x411_Redirections_item = -1; /* RecipientRedirection */ @@ -394,23 +394,23 @@ static int hf_x411_organization_name = -1; /* OrganizationName */ static int hf_x411_numeric_user_identifier = -1; /* NumericUserIdentifier */ static int hf_x411_personal_name = -1; /* PersonalName */ static int hf_x411_organizational_unit_names = -1; /* OrganizationalUnitNames */ -static int hf_x411_x121_dcc_code = -1; /* NumericString */ +static int hf_x411_x121_dcc_code = -1; /* AddrNumericString */ static int hf_x411_iso_3166_alpha2_code = -1; /* PrintableString */ -static int hf_x411_printable_surname = -1; /* PrintableString */ -static int hf_x411_printable_given_name = -1; /* PrintableString */ -static int hf_x411_printable_initials = -1; /* PrintableString */ -static int hf_x411_printable_generation_qualifier = -1; /* PrintableString */ +static int hf_x411_printable_surname = -1; /* T_printable_surname */ +static int hf_x411_printable_given_name = -1; /* T_printable_given_name */ +static int hf_x411_printable_initials = -1; /* T_printable_initials */ +static int hf_x411_printable_generation_qualifier = -1; /* T_printable_generation_qualifier */ static int hf_x411_OrganizationalUnitNames_item = -1; /* OrganizationalUnitName */ static int hf_x411_BuiltInDomainDefinedAttributes_item = -1; /* BuiltInDomainDefinedAttribute */ -static int hf_x411_printable_type = -1; /* PrintableString */ -static int hf_x411_printable_value = -1; /* PrintableString */ +static int hf_x411_printable_type = -1; /* T_printable_type */ +static int hf_x411_printable_value = -1; /* T_printable_value */ static int hf_x411_ExtensionAttributes_item = -1; /* ExtensionAttribute */ static int hf_x411_extension_attribute_type = -1; /* INTEGER */ static int hf_x411_extension_attribute_value = -1; /* T_extension_attribute_value */ -static int hf_x411_teletex_surname = -1; /* TeletexString */ -static int hf_x411_teletex_given_name = -1; /* TeletexString */ -static int hf_x411_teletex_initials = -1; /* TeletexString */ -static int hf_x411_teletex_generation_qualifier = -1; /* TeletexString */ +static int hf_x411_teletex_surname = -1; /* AddrTeletexString */ +static int hf_x411_teletex_given_name = -1; /* AddrTeletexString */ +static int hf_x411_teletex_initials = -1; /* AddrTeletexString */ +static int hf_x411_teletex_generation_qualifier = -1; /* AddrTeletexString */ static int hf_x411_universal_surname = -1; /* UniversalOrBMPString */ static int hf_x411_universal_given_name = -1; /* UniversalOrBMPString */ static int hf_x411_universal_initials = -1; /* UniversalOrBMPString */ @@ -421,7 +421,7 @@ static int hf_x411_character_encoding = -1; /* T_character_encoding */ static int hf_x411_two_octets = -1; /* BMPString */ static int hf_x411_four_octets = -1; /* UniversalString */ static int hf_x411_iso_639_language_code = -1; /* PrintableString */ -static int hf_x411_numeric_code = -1; /* NumericString */ +static int hf_x411_numeric_code = -1; /* AddrNumericString */ static int hf_x411_printable_code = -1; /* PrintableString */ static int hf_x411_printable_address = -1; /* T_printable_address */ static int hf_x411_printable_address_item = -1; /* PrintableString */ @@ -432,8 +432,8 @@ static int hf_x411_number = -1; /* NumericString */ static int hf_x411_sub_address = -1; /* NumericString */ static int hf_x411_psap_address = -1; /* PresentationAddress */ static int hf_x411_TeletexDomainDefinedAttributes_item = -1; /* TeletexDomainDefinedAttribute */ -static int hf_x411_type = -1; /* TeletexString */ -static int hf_x411_teletex_value = -1; /* TeletexString */ +static int hf_x411_type = -1; /* AddrTeletexString */ +static int hf_x411_teletex_value = -1; /* AddrTeletexString */ static int hf_x411_UniversalDomainDefinedAttributes_item = -1; /* UniversalDomainDefinedAttribute */ static int hf_x411_universal_type = -1; /* UniversalOrBMPString */ static int hf_x411_universal_value = -1; /* UniversalOrBMPString */ @@ -934,7 +934,7 @@ static int dissect_token_type_identifier_impl(proto_tree *tree _U_, tvbuff_t *tv static int dissect_x411_TokenTypeData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 692 "x411.cnf" +#line 723 "x411.cnf" if(object_identifier_id) call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); @@ -1080,7 +1080,7 @@ static const ber_old_choice_t Credentials_choice[] = { static int dissect_x411_Credentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 700 "x411.cnf" +#line 731 "x411.cnf" guint32 credentials; offset = dissect_ber_old_choice(actx, tree, tvb, offset, @@ -1375,7 +1375,7 @@ static const value_string x411_MTABindError_vals[] = { static int dissect_x411_MTABindError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 683 "x411.cnf" +#line 714 "x411.cnf" int error = -1; offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, &error); @@ -1391,8 +1391,8 @@ dissect_x411_MTABindError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs static int -dissect_x411_NumericString(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 494 "x411.cnf" +dissect_x411_AddrNumericString(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 492 "x411.cnf" tvbuff_t *nstring = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, @@ -1408,53 +1408,22 @@ dissect_x411_NumericString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off return offset; } static int dissect_x121_address(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x411_NumericString(FALSE, tvb, offset, actx, tree, hf_x411_x121_address); -} -static int dissect_numeric(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x411_NumericString(FALSE, tvb, offset, actx, tree, hf_x411_numeric); + return dissect_x411_AddrNumericString(FALSE, tvb, offset, actx, tree, hf_x411_x121_address); } static int dissect_x121_dcc_code(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x411_NumericString(FALSE, tvb, offset, actx, tree, hf_x411_x121_dcc_code); + return dissect_x411_AddrNumericString(FALSE, tvb, offset, actx, tree, hf_x411_x121_dcc_code); } static int dissect_numeric_code(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x411_NumericString(FALSE, tvb, offset, actx, tree, hf_x411_numeric_code); -} -static int dissect_number_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x411_NumericString(TRUE, tvb, offset, actx, tree, hf_x411_number); -} -static int dissect_sub_address_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x411_NumericString(TRUE, tvb, offset, actx, tree, hf_x411_sub_address); + return dissect_x411_AddrNumericString(FALSE, tvb, offset, actx, tree, hf_x411_numeric_code); } static int dissect_x411_PrintableString(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 516 "x411.cnf" - tvbuff_t *pstring = NULL; - char *fmt = NULL; - - offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, actx, tree, tvb, offset, hf_index, - &pstring); - - - if(doing_address && pstring) { - if(hf_index == hf_x411_printable_surname) fmt = "/S="; - else if(hf_index == hf_x411_printable_given_name) fmt = "/G="; - else if(hf_index == hf_x411_printable_initials) fmt = "/I="; - else if(hf_index == hf_x411_printable_generation_qualifier) fmt = "/GQ="; - else if(hf_index == hf_x411_printable_type) fmt = "/DD."; - else if(hf_index == hf_x411_printable_value) fmt = "="; - - if(fmt) - g_strlcat(oraddress, fmt, MAX_ORA_STR_LEN); - - g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); - - } - - + NULL); return offset; } @@ -1467,24 +1436,6 @@ static int dissect_printable(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset static int dissect_iso_3166_alpha2_code(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { return dissect_x411_PrintableString(FALSE, tvb, offset, actx, tree, hf_x411_iso_3166_alpha2_code); } -static int dissect_printable_surname_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x411_PrintableString(TRUE, tvb, offset, actx, tree, hf_x411_printable_surname); -} -static int dissect_printable_given_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x411_PrintableString(TRUE, tvb, offset, actx, tree, hf_x411_printable_given_name); -} -static int dissect_printable_initials_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x411_PrintableString(TRUE, tvb, offset, actx, tree, hf_x411_printable_initials); -} -static int dissect_printable_generation_qualifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x411_PrintableString(TRUE, tvb, offset, actx, tree, hf_x411_printable_generation_qualifier); -} -static int dissect_printable_type(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x411_PrintableString(FALSE, tvb, offset, actx, tree, hf_x411_printable_type); -} -static int dissect_printable_value(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x411_PrintableString(FALSE, tvb, offset, actx, tree, hf_x411_printable_value); -} static int dissect_iso_639_language_code(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { return dissect_x411_PrintableString(FALSE, tvb, offset, actx, tree, hf_x411_iso_639_language_code); } @@ -1544,6 +1495,26 @@ static int dissect_country_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int off } + +static int +dissect_x411_NumericString(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_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, + actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} +static int dissect_numeric(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_x411_NumericString(FALSE, tvb, offset, actx, tree, hf_x411_numeric); +} +static int dissect_number_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_x411_NumericString(TRUE, tvb, offset, actx, tree, hf_x411_number); +} +static int dissect_sub_address_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_x411_NumericString(TRUE, tvb, offset, actx, tree, hf_x411_sub_address); +} + + static const value_string x411_AdministrationDomainName_vals[] = { { 0, "numeric" }, { 1, "printable" }, @@ -1635,7 +1606,7 @@ static const ber_old_sequence_t GlobalDomainIdentifier_sequence[] = { static int dissect_x411_GlobalDomainIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 563 "x411.cnf" +#line 594 "x411.cnf" oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0'; address_item = tree; @@ -1671,7 +1642,7 @@ static int dissect_attempted_domain(proto_tree *tree _U_, tvbuff_t *tvb _U_, int static int dissect_x411_LocalIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 582 "x411.cnf" +#line 613 "x411.cnf" tvbuff_t *id = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, @@ -1704,7 +1675,7 @@ static const ber_old_sequence_t MTSIdentifier_sequence[] = { static int dissect_x411_MTSIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 595 "x411.cnf" +#line 626 "x411.cnf" doing_address = TRUE; @@ -1871,6 +1842,103 @@ static int dissect_numeric_user_identifier_impl(proto_tree *tree _U_, tvbuff_t * } + +static int +dissect_x411_T_printable_surname(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 512 "x411.cnf" + tvbuff_t *pstring = NULL; + + offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, hf_index, + &pstring); + + + if(doing_address && pstring) { + g_strlcat(oraddress, "/S=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); + } + + + return offset; +} +static int dissect_printable_surname_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_x411_T_printable_surname(TRUE, tvb, offset, actx, tree, hf_x411_printable_surname); +} + + + +static int +dissect_x411_T_printable_given_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 521 "x411.cnf" + tvbuff_t *pstring = NULL; + + offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, hf_index, + &pstring); + + + if(doing_address && pstring) { + g_strlcat(oraddress, "/G=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); + } + + + return offset; +} +static int dissect_printable_given_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_x411_T_printable_given_name(TRUE, tvb, offset, actx, tree, hf_x411_printable_given_name); +} + + + +static int +dissect_x411_T_printable_initials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 530 "x411.cnf" + tvbuff_t *pstring = NULL; + + offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, hf_index, + &pstring); + + + if(doing_address && pstring) { + g_strlcat(oraddress, "/I=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); + } + + + return offset; +} +static int dissect_printable_initials_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_x411_T_printable_initials(TRUE, tvb, offset, actx, tree, hf_x411_printable_initials); +} + + + +static int +dissect_x411_T_printable_generation_qualifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 539 "x411.cnf" + tvbuff_t *pstring = NULL; + + offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, hf_index, + &pstring); + + + if(doing_address && pstring) { + g_strlcat(oraddress, "/GQ=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); + } + + + + return offset; +} +static int dissect_printable_generation_qualifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_x411_T_printable_generation_qualifier(TRUE, tvb, offset, actx, tree, hf_x411_printable_generation_qualifier); +} + + static const ber_old_sequence_t PersonalName_set[] = { { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_printable_surname_impl }, { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_printable_given_name_impl }, @@ -1936,7 +2004,7 @@ static const ber_old_sequence_t BuiltInStandardAttributes_sequence[] = { static int dissect_x411_BuiltInStandardAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 619 "x411.cnf" +#line 650 "x411.cnf" address_item = tree; @@ -1953,6 +2021,55 @@ static int dissect_built_in_standard_attributes(proto_tree *tree _U_, tvbuff_t * } + +static int +dissect_x411_T_printable_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 549 "x411.cnf" + tvbuff_t *pstring = NULL; + + offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, hf_index, + &pstring); + + + if(doing_address && pstring) { + g_strlcat(oraddress, "/DD.", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); + } + + + return offset; +} +static int dissect_printable_type(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_x411_T_printable_type(FALSE, tvb, offset, actx, tree, hf_x411_printable_type); +} + + + +static int +dissect_x411_T_printable_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 558 "x411.cnf" + tvbuff_t *pstring = NULL; + + offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, hf_index, + &pstring); + + + if(doing_address && pstring) { + g_strlcat(oraddress, "=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); + } + + + + return offset; +} +static int dissect_printable_value(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_x411_T_printable_value(FALSE, tvb, offset, actx, tree, hf_x411_printable_value); +} + + static const ber_old_sequence_t BuiltInDomainDefinedAttribute_sequence[] = { { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable_type }, { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable_value }, @@ -2072,7 +2189,7 @@ static const ber_old_sequence_t ORName_sequence[] = { int dissect_x411_ORName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 550 "x411.cnf" +#line 581 "x411.cnf" oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0'; address_item = NULL; @@ -2205,43 +2322,15 @@ static int dissect_g3_facsimile_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, in static int dissect_x411_TeletexString(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 504 "x411.cnf" - tvbuff_t *tstring = NULL; - - offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, + offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, actx, tree, tvb, offset, hf_index, NULL); - - if(doing_address && tstring) - g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN); - - - - return offset; } -static int dissect_teletex_surname_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x411_TeletexString(TRUE, tvb, offset, actx, tree, hf_x411_teletex_surname); -} -static int dissect_teletex_given_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x411_TeletexString(TRUE, tvb, offset, actx, tree, hf_x411_teletex_given_name); -} -static int dissect_teletex_initials_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x411_TeletexString(TRUE, tvb, offset, actx, tree, hf_x411_teletex_initials); -} -static int dissect_teletex_generation_qualifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x411_TeletexString(TRUE, tvb, offset, actx, tree, hf_x411_teletex_generation_qualifier); -} static int dissect_teletex_string(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { return dissect_x411_TeletexString(FALSE, tvb, offset, actx, tree, hf_x411_teletex_string); } -static int dissect_type(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x411_TeletexString(FALSE, tvb, offset, actx, tree, hf_x411_type); -} -static int dissect_teletex_value(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { - return dissect_x411_TeletexString(FALSE, tvb, offset, actx, tree, hf_x411_teletex_value); -} static int dissect_graphic_character_sets_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { return dissect_x411_TeletexString(TRUE, tvb, offset, actx, tree, hf_x411_graphic_character_sets); } @@ -2537,7 +2626,7 @@ static int dissect_per_message_indicators(proto_tree *tree _U_, tvbuff_t *tvb _U static int dissect_x411_Time(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 662 "x411.cnf" +#line 693 "x411.cnf" tvbuff_t *arrival = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTCTime, @@ -2624,7 +2713,7 @@ static int dissect_bilateral_domain(proto_tree *tree _U_, tvbuff_t *tvb _U_, int static int dissect_x411_T_bilateral_information(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 714 "x411.cnf" +#line 745 "x411.cnf" proto_item *item = NULL; int loffset = 0; guint32 len = 0; @@ -2704,7 +2793,7 @@ static const value_string x411_RoutingAction_vals[] = { static int dissect_x411_RoutingAction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 673 "x411.cnf" +#line 704 "x411.cnf" int action = 0; offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, @@ -2780,7 +2869,7 @@ static const ber_old_sequence_t DomainSuppliedInformation_set[] = { static int dissect_x411_DomainSuppliedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 641 "x411.cnf" +#line 672 "x411.cnf" doing_address = FALSE; @@ -2808,7 +2897,7 @@ static const ber_old_sequence_t TraceInformationElement_sequence[] = { static int dissect_x411_TraceInformationElement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 625 "x411.cnf" +#line 656 "x411.cnf" doing_address = TRUE; @@ -3513,7 +3602,7 @@ static const ber_old_choice_t ReportType_choice[] = { static int dissect_x411_ReportType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 744 "x411.cnf" +#line 775 "x411.cnf" int report = -1; offset = dissect_ber_old_choice(actx, tree, tvb, offset, @@ -3784,7 +3873,7 @@ static const ber_old_choice_t MTS_APDU_choice[] = { static int dissect_x411_MTS_APDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 732 "x411.cnf" +#line 763 "x411.cnf" int apdu = -1; offset = dissect_ber_old_choice(actx, tree, tvb, offset, @@ -3848,7 +3937,7 @@ static const ber_old_sequence_t MTASuppliedInformation_set[] = { static int dissect_x411_MTASuppliedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 650 "x411.cnf" +#line 681 "x411.cnf" doing_address = FALSE; @@ -3877,7 +3966,7 @@ static const ber_old_sequence_t InternalTraceInformationElement_sequence[] = { static int dissect_x411_InternalTraceInformationElement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 633 "x411.cnf" +#line 664 "x411.cnf" doing_address = TRUE; @@ -5800,7 +5889,7 @@ static const ber_old_sequence_t ORAddress_sequence[] = { int dissect_x411_ORAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 537 "x411.cnf" +#line 568 "x411.cnf" oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0'; doing_address = TRUE; @@ -6381,8 +6470,6 @@ dissect_x411_CommonName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset - - return offset; } @@ -6513,6 +6600,45 @@ dissect_x411_UniversalOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb } + +static int +dissect_x411_AddrTeletexString(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 503 "x411.cnf" + tvbuff_t *tstring = NULL; + + offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, + actx, tree, tvb, offset, hf_index, + &tstring); + + + if(doing_address && tstring) + g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN); + + + + + return offset; +} +static int dissect_teletex_surname_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_x411_AddrTeletexString(TRUE, tvb, offset, actx, tree, hf_x411_teletex_surname); +} +static int dissect_teletex_given_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_x411_AddrTeletexString(TRUE, tvb, offset, actx, tree, hf_x411_teletex_given_name); +} +static int dissect_teletex_initials_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_x411_AddrTeletexString(TRUE, tvb, offset, actx, tree, hf_x411_teletex_initials); +} +static int dissect_teletex_generation_qualifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_x411_AddrTeletexString(TRUE, tvb, offset, actx, tree, hf_x411_teletex_generation_qualifier); +} +static int dissect_type(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_x411_AddrTeletexString(FALSE, tvb, offset, actx, tree, hf_x411_type); +} +static int dissect_teletex_value(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) { + return dissect_x411_AddrTeletexString(FALSE, tvb, offset, actx, tree, hf_x411_teletex_value); +} + + static const ber_old_sequence_t TeletexPersonalName_set[] = { { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_teletex_surname_impl }, { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_given_name_impl }, @@ -7052,7 +7178,7 @@ static const ber_old_sequence_t MTANameAndOptionalGDI_sequence[] = { static int dissect_x411_MTANameAndOptionalGDI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 610 "x411.cnf" +#line 641 "x411.cnf" doing_address = TRUE; @@ -7100,7 +7226,7 @@ static int dissect_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, static int dissect_x411_T_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 710 "x411.cnf" +#line 741 "x411.cnf" offset=call_x411_oid_callback("x411.tokendata", tvb, offset, actx->pinfo, tree); @@ -8585,7 +8711,7 @@ void proto_register_x411(void) { { &hf_x411_x121_address, { "x121-address", "x411.x121_address", FT_STRING, BASE_NONE, NULL, 0, - "x411.NumericString", HFILL }}, + "x411.AddrNumericString", HFILL }}, { &hf_x411_tsap_id, { "tsap-id", "x411.tsap_id", FT_STRING, BASE_NONE, NULL, 0, @@ -8977,7 +9103,7 @@ void proto_register_x411(void) { { &hf_x411_x121_dcc_code, { "x121-dcc-code", "x411.x121_dcc_code", FT_STRING, BASE_NONE, NULL, 0, - "x411.NumericString", HFILL }}, + "x411.AddrNumericString", HFILL }}, { &hf_x411_iso_3166_alpha2_code, { "iso-3166-alpha2-code", "x411.iso_3166_alpha2_code", FT_STRING, BASE_NONE, NULL, 0, @@ -8985,19 +9111,19 @@ void proto_register_x411(void) { { &hf_x411_printable_surname, { "surname", "x411.surname", FT_STRING, BASE_NONE, NULL, 0, - "x411.PrintableString", HFILL }}, + "x411.T_printable_surname", HFILL }}, { &hf_x411_printable_given_name, { "given-name", "x411.given_name", FT_STRING, BASE_NONE, NULL, 0, - "x411.PrintableString", HFILL }}, + "x411.T_printable_given_name", HFILL }}, { &hf_x411_printable_initials, { "initials", "x411.initials", FT_STRING, BASE_NONE, NULL, 0, - "x411.PrintableString", HFILL }}, + "x411.T_printable_initials", HFILL }}, { &hf_x411_printable_generation_qualifier, { "generation-qualifier", "x411.generation_qualifier", FT_STRING, BASE_NONE, NULL, 0, - "x411.PrintableString", HFILL }}, + "x411.T_printable_generation_qualifier", HFILL }}, { &hf_x411_OrganizationalUnitNames_item, { "Item", "x411.OrganizationalUnitNames_item", FT_STRING, BASE_NONE, NULL, 0, @@ -9009,11 +9135,11 @@ void proto_register_x411(void) { { &hf_x411_printable_type, { "type", "x411.type", FT_STRING, BASE_NONE, NULL, 0, - "x411.PrintableString", HFILL }}, + "x411.T_printable_type", HFILL }}, { &hf_x411_printable_value, { "value", "x411.value", FT_STRING, BASE_NONE, NULL, 0, - "x411.PrintableString", HFILL }}, + "x411.T_printable_value", HFILL }}, { &hf_x411_ExtensionAttributes_item, { "Item", "x411.ExtensionAttributes_item", FT_NONE, BASE_NONE, NULL, 0, @@ -9029,19 +9155,19 @@ void proto_register_x411(void) { { &hf_x411_teletex_surname, { "surname", "x411.surname", FT_STRING, BASE_NONE, NULL, 0, - "x411.TeletexString", HFILL }}, + "x411.AddrTeletexString", HFILL }}, { &hf_x411_teletex_given_name, { "given-name", "x411.given_name", FT_STRING, BASE_NONE, NULL, 0, - "x411.TeletexString", HFILL }}, + "x411.AddrTeletexString", HFILL }}, { &hf_x411_teletex_initials, { "initials", "x411.initials", FT_STRING, BASE_NONE, NULL, 0, - "x411.TeletexString", HFILL }}, + "x411.AddrTeletexString", HFILL }}, { &hf_x411_teletex_generation_qualifier, { "generation-qualifier", "x411.generation_qualifier", FT_STRING, BASE_NONE, NULL, 0, - "x411.TeletexString", HFILL }}, + "x411.AddrTeletexString", HFILL }}, { &hf_x411_universal_surname, { "surname", "x411.surname", FT_NONE, BASE_NONE, NULL, 0, @@ -9085,7 +9211,7 @@ void proto_register_x411(void) { { &hf_x411_numeric_code, { "numeric-code", "x411.numeric_code", FT_STRING, BASE_NONE, NULL, 0, - "x411.NumericString", HFILL }}, + "x411.AddrNumericString", HFILL }}, { &hf_x411_printable_code, { "printable-code", "x411.printable_code", FT_STRING, BASE_NONE, NULL, 0, @@ -9129,11 +9255,11 @@ void proto_register_x411(void) { { &hf_x411_type, { "type", "x411.type", FT_STRING, BASE_NONE, NULL, 0, - "x411.TeletexString", HFILL }}, + "x411.AddrTeletexString", HFILL }}, { &hf_x411_teletex_value, { "value", "x411.value", FT_STRING, BASE_NONE, NULL, 0, - "x411.TeletexString", HFILL }}, + "x411.AddrTeletexString", HFILL }}, { &hf_x411_UniversalDomainDefinedAttributes_item, { "Item", "x411.UniversalDomainDefinedAttributes_item", FT_NONE, BASE_NONE, NULL, 0, diff --git a/tools/asn2wrs.py b/tools/asn2wrs.py index d67d6744a9..1f6b5f7496 100755 --- a/tools/asn2wrs.py +++ b/tools/asn2wrs.py @@ -1336,9 +1336,10 @@ class EthCtx: #--- eth_type_fn_body ------------------------------------------------------- def eth_type_fn_body(self, tname, body, pars=None): out = body - if self.conform.get_fn_body_presence(tname): - out = self.conform.get_fn_text(tname, 'FN_BODY') - elif self.conform.get_fn_body_presence(self.eth_type[tname]['ref'][0]): + #if self.conform.get_fn_body_presence(tname): + # out = self.conform.get_fn_text(tname, 'FN_BODY') + #el + if self.conform.get_fn_body_presence(self.eth_type[tname]['ref'][0]): out = self.conform.get_fn_text(self.eth_type[tname]['ref'][0], 'FN_BODY') if pars: try: