p1: Rewrite do_address for extension attributes

Rewrite do_address handling to use proto_data instead of
pinfo->private_table.

Related to #17156
This commit is contained in:
Stig Bjørlykke 2021-02-10 09:01:02 +01:00 committed by Wireshark GitLab Utility
parent 52163d05ba
commit 9dd74b2788
3 changed files with 90 additions and 100 deletions

View File

@ -599,10 +599,7 @@ MessageToken B "2.6.1.7.36" "id-hat-forwarded-token"
#.FN_BODY ExtensionAttribute/extension-attribute-value
proto_item_append_text(tree, " (%%s)", val_to_str(actx->external.indirect_reference, p1_ExtensionAttributeType_vals, "extension-attribute-type %%d"));
if (!actx->pinfo->private_table) {
actx->pinfo->private_table = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
}
g_hash_table_insert(actx->pinfo->private_table, (gpointer)P1_ADDRESS_CTX, actx->subtree.tree_ctx);
p_add_proto_data(actx->pinfo->pool, actx->pinfo, proto_p1, 0, actx->subtree.tree_ctx);
if (dissector_try_uint(p1_extension_attribute_dissector_table, actx->external.indirect_reference, tvb, actx->pinfo, tree)) {
offset =tvb_reported_length(tvb);
} else {
@ -614,7 +611,7 @@ MessageToken B "2.6.1.7.36" "id-hat-forwarded-token"
offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree);
expert_add_info(actx->pinfo, item, &ei_p1_unknown_extension_attribute_type);
}
g_hash_table_steal(actx->pinfo->private_table, (gpointer)P1_ADDRESS_CTX);
p_remove_proto_data(actx->pinfo->pool, actx->pinfo, proto_p1, 0);
#.FN_BODY RefusedOperation/refused-argument/refused-extension

View File

@ -17,6 +17,7 @@
#include <epan/asn1.h>
#include <epan/expert.h>
#include <epan/strutil.h>
#include <epan/proto_data.h>
#include "packet-ber.h"
#include "packet-acse.h"
@ -72,7 +73,6 @@ static dissector_handle_t p1_handle;
#include "packet-p1-table.c" /* operation and error codes */
#define P1_ADDRESS_CTX "p1-address-ctx"
typedef struct p1_address_ctx {
gboolean do_address;
const char *content_type_id;
@ -96,10 +96,8 @@ static p1_address_ctx_t *get_do_address_ctx(asn1_ctx_t* actx)
{
p1_address_ctx_t* ctx = NULL;
if (actx->pinfo->private_table) {
/* First check if called from an extension attribute */
ctx = (p1_address_ctx_t *)g_hash_table_lookup(actx->pinfo->private_table, P1_ADDRESS_CTX);
}
/* First check if called from an extension attribute */
ctx = (p1_address_ctx_t *)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_p1, 0);
if (!ctx) {
ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;

View File

@ -25,6 +25,7 @@
#include <epan/asn1.h>
#include <epan/expert.h>
#include <epan/strutil.h>
#include <epan/proto_data.h>
#include "packet-ber.h"
#include "packet-acse.h"
@ -673,7 +674,7 @@ static int hf_p1_G3FacsimileNonBasicParameters_spare_bit70 = -1;
static int hf_p1_G3FacsimileNonBasicParameters_processable_mode_26 = -1;
/*--- End of included file: packet-p1-hf.c ---*/
#line 47 "./asn1/p1/packet-p1-template.c"
#line 48 "./asn1/p1/packet-p1-template.c"
/* Initialize the subtree pointers */
static gint ett_p1 = -1;
@ -868,7 +869,7 @@ static gint ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissio
static gint ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields = -1;
/*--- End of included file: packet-p1-ett.c ---*/
#line 58 "./asn1/p1/packet-p1-template.c"
#line 59 "./asn1/p1/packet-p1-template.c"
static expert_field ei_p1_unknown_extension_attribute_type = EI_INIT;
static expert_field ei_p1_unknown_standard_extension = EI_INIT;
@ -928,9 +929,8 @@ static const value_string p3_err_code_string_vals[] = {
/*--- End of included file: packet-p1-table.c ---*/
#line 74 "./asn1/p1/packet-p1-template.c"
#line 75 "./asn1/p1/packet-p1-template.c"
#define P1_ADDRESS_CTX "p1-address-ctx"
typedef struct p1_address_ctx {
gboolean do_address;
const char *content_type_id;
@ -954,10 +954,8 @@ static p1_address_ctx_t *get_do_address_ctx(asn1_ctx_t* actx)
{
p1_address_ctx_t* ctx = NULL;
if (actx->pinfo->private_table) {
/* First check if called from an extension attribute */
ctx = (p1_address_ctx_t *)g_hash_table_lookup(actx->pinfo->private_table, P1_ADDRESS_CTX);
}
/* First check if called from an extension attribute */
ctx = (p1_address_ctx_t *)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_p1, 0);
if (!ctx) {
ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
@ -1021,7 +1019,7 @@ dissect_p1_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, as
static int
dissect_p1_MTAName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 722 "./asn1/p1/p1.cnf"
#line 719 "./asn1/p1/p1.cnf"
tvbuff_t *mtaname = NULL;
p1_address_ctx_t* ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
@ -1099,7 +1097,7 @@ dissect_p1_TokenTypeIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_p1_TokenTypeData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1182 "./asn1/p1/p1.cnf"
#line 1179 "./asn1/p1/p1.cnf"
if(actx->external.direct_reference)
call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, actx->private_data);
@ -1210,7 +1208,7 @@ static const ber_choice_t Credentials_choice[] = {
int
dissect_p1_Credentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1190 "./asn1/p1/p1.cnf"
#line 1187 "./asn1/p1/p1.cnf"
gint credentials = -1;
offset = dissect_ber_choice(actx, tree, tvb, offset,
@ -1469,7 +1467,7 @@ static const value_string p1_MTABindError_vals[] = {
static int
dissect_p1_MTABindError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1173 "./asn1/p1/p1.cnf"
#line 1170 "./asn1/p1/p1.cnf"
int error = -1;
offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
0U, ub_integer_options, hf_index, &error);
@ -1486,7 +1484,7 @@ dissect_p1_MTABindError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
static int
dissect_p1_T_x121_dcc_code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 870 "./asn1/p1/p1.cnf"
#line 867 "./asn1/p1/p1.cnf"
tvbuff_t *nstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
@ -1505,7 +1503,7 @@ dissect_p1_T_x121_dcc_code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
static int
dissect_p1_T_iso_3166_alpha2_code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 828 "./asn1/p1/p1.cnf"
#line 825 "./asn1/p1/p1.cnf"
tvbuff_t *nstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@ -1546,7 +1544,7 @@ dissect_p1_CountryName_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse
static int
dissect_p1_CountryName(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 624 "./asn1/p1/p1.cnf"
#line 621 "./asn1/p1/p1.cnf"
do_address("/C=", NULL, actx);
offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
@ -1562,7 +1560,7 @@ dissect_p1_CountryName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
static int
dissect_p1_T_numeric(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 877 "./asn1/p1/p1.cnf"
#line 874 "./asn1/p1/p1.cnf"
tvbuff_t *nstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
@ -1581,7 +1579,7 @@ dissect_p1_T_numeric(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U
static int
dissect_p1_T_printable(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 835 "./asn1/p1/p1.cnf"
#line 832 "./asn1/p1/p1.cnf"
tvbuff_t *nstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@ -1622,7 +1620,7 @@ dissect_p1_AdministrationDomainName_U(gboolean implicit_tag _U_, tvbuff_t *tvb _
static int
dissect_p1_AdministrationDomainName(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 629 "./asn1/p1/p1.cnf"
#line 626 "./asn1/p1/p1.cnf"
do_address("/A=", NULL, actx);
offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
@ -1638,7 +1636,7 @@ dissect_p1_AdministrationDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
static int
dissect_p1_T_numeric_private_domain_identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 891 "./asn1/p1/p1.cnf"
#line 888 "./asn1/p1/p1.cnf"
tvbuff_t *nstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
@ -1657,7 +1655,7 @@ dissect_p1_T_numeric_private_domain_identifier(gboolean implicit_tag _U_, tvbuff
static int
dissect_p1_T_printable_private_domain_identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 849 "./asn1/p1/p1.cnf"
#line 846 "./asn1/p1/p1.cnf"
tvbuff_t *nstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@ -1687,7 +1685,7 @@ static const ber_choice_t PrivateDomainIdentifier_choice[] = {
static int
dissect_p1_PrivateDomainIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 762 "./asn1/p1/p1.cnf"
#line 759 "./asn1/p1/p1.cnf"
do_address("/P=", NULL, actx);
@ -1721,7 +1719,7 @@ dissect_p1_GlobalDomainIdentifier_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
static int
dissect_p1_GlobalDomainIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1052 "./asn1/p1/p1.cnf"
#line 1049 "./asn1/p1/p1.cnf"
p1_address_ctx_t* ctx;
if (actx->subtree.tree_ctx == NULL) {
@ -1755,7 +1753,7 @@ dissect_p1_GlobalDomainIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
static int
dissect_p1_LocalIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1078 "./asn1/p1/p1.cnf"
#line 1075 "./asn1/p1/p1.cnf"
tvbuff_t *id = NULL;
p1_address_ctx_t* ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
@ -1796,7 +1794,7 @@ dissect_p1_MTSIdentifier_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
static int
dissect_p1_MTSIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1092 "./asn1/p1/p1.cnf"
#line 1089 "./asn1/p1/p1.cnf"
set_do_address(actx, TRUE);
@ -1815,7 +1813,7 @@ dissect_p1_MTSIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse
static int
dissect_p1_MessageIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1047 "./asn1/p1/p1.cnf"
#line 1044 "./asn1/p1/p1.cnf"
actx->subtree.tree = NULL;
offset = dissect_p1_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
@ -1830,7 +1828,7 @@ dissect_p1_MessageIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
static int
dissect_p1_X121Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 739 "./asn1/p1/p1.cnf"
#line 736 "./asn1/p1/p1.cnf"
tvbuff_t *string = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
@ -1858,7 +1856,7 @@ dissect_p1_NetworkAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
static int
dissect_p1_TerminalIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 749 "./asn1/p1/p1.cnf"
#line 746 "./asn1/p1/p1.cnf"
tvbuff_t *string = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@ -1877,7 +1875,7 @@ dissect_p1_TerminalIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_p1_T_numeric_private_domain_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 884 "./asn1/p1/p1.cnf"
#line 881 "./asn1/p1/p1.cnf"
tvbuff_t *nstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
@ -1896,7 +1894,7 @@ dissect_p1_T_numeric_private_domain_name(gboolean implicit_tag _U_, tvbuff_t *tv
static int
dissect_p1_T_printable_private_domain_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 842 "./asn1/p1/p1.cnf"
#line 839 "./asn1/p1/p1.cnf"
tvbuff_t *nstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@ -1926,7 +1924,7 @@ static const ber_choice_t PrivateDomainName_choice[] = {
static int
dissect_p1_PrivateDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 756 "./asn1/p1/p1.cnf"
#line 753 "./asn1/p1/p1.cnf"
do_address("/P=", NULL, actx);
@ -1944,7 +1942,7 @@ dissect_p1_PrivateDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
static int
dissect_p1_OrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 771 "./asn1/p1/p1.cnf"
#line 768 "./asn1/p1/p1.cnf"
tvbuff_t *string = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@ -1974,7 +1972,7 @@ dissect_p1_NumericUserIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
static int
dissect_p1_T_printable_surname(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 932 "./asn1/p1/p1.cnf"
#line 929 "./asn1/p1/p1.cnf"
tvbuff_t *pstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@ -1993,7 +1991,7 @@ dissect_p1_T_printable_surname(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_p1_T_printable_given_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 939 "./asn1/p1/p1.cnf"
#line 936 "./asn1/p1/p1.cnf"
tvbuff_t *pstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@ -2012,7 +2010,7 @@ dissect_p1_T_printable_given_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
static int
dissect_p1_T_printable_initials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 946 "./asn1/p1/p1.cnf"
#line 943 "./asn1/p1/p1.cnf"
tvbuff_t *pstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@ -2031,7 +2029,7 @@ dissect_p1_T_printable_initials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
static int
dissect_p1_T_printable_generation_qualifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 953 "./asn1/p1/p1.cnf"
#line 950 "./asn1/p1/p1.cnf"
tvbuff_t *pstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@ -2067,7 +2065,7 @@ dissect_p1_PersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
static int
dissect_p1_OrganizationalUnitName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 791 "./asn1/p1/p1.cnf"
#line 788 "./asn1/p1/p1.cnf"
tvbuff_t *string = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@ -2111,7 +2109,7 @@ static const ber_sequence_t BuiltInStandardAttributes_sequence[] = {
static int
dissect_p1_BuiltInStandardAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1109 "./asn1/p1/p1.cnf"
#line 1106 "./asn1/p1/p1.cnf"
actx->subtree.tree = tree;
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
@ -2127,7 +2125,7 @@ dissect_p1_BuiltInStandardAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U
static int
dissect_p1_T_printable_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 988 "./asn1/p1/p1.cnf"
#line 985 "./asn1/p1/p1.cnf"
tvbuff_t *pstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@ -2146,7 +2144,7 @@ dissect_p1_T_printable_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
static int
dissect_p1_T_printable_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 995 "./asn1/p1/p1.cnf"
#line 992 "./asn1/p1/p1.cnf"
tvbuff_t *pstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@ -2170,7 +2168,7 @@ static const ber_sequence_t BuiltInDomainDefinedAttribute_sequence[] = {
static int
dissect_p1_BuiltInDomainDefinedAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1002 "./asn1/p1/p1.cnf"
#line 999 "./asn1/p1/p1.cnf"
actx->value_ptr = wmem_strbuf_new(wmem_packet_scope(), "");
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
@ -2256,10 +2254,7 @@ dissect_p1_T_extension_attribute_value(gboolean implicit_tag _U_, tvbuff_t *tvb
#line 600 "./asn1/p1/p1.cnf"
proto_item_append_text(tree, " (%s)", val_to_str(actx->external.indirect_reference, p1_ExtensionAttributeType_vals, "extension-attribute-type %d"));
if (!actx->pinfo->private_table) {
actx->pinfo->private_table = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
}
g_hash_table_insert(actx->pinfo->private_table, (gpointer)P1_ADDRESS_CTX, actx->subtree.tree_ctx);
p_add_proto_data(actx->pinfo->pool, actx->pinfo, proto_p1, 0, actx->subtree.tree_ctx);
if (dissector_try_uint(p1_extension_attribute_dissector_table, actx->external.indirect_reference, tvb, actx->pinfo, tree)) {
offset =tvb_reported_length(tvb);
} else {
@ -2271,7 +2266,7 @@ dissect_p1_T_extension_attribute_value(gboolean implicit_tag _U_, tvbuff_t *tvb
offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree);
expert_add_info(actx->pinfo, item, &ei_p1_unknown_extension_attribute_type);
}
g_hash_table_steal(actx->pinfo->private_table, (gpointer)P1_ADDRESS_CTX);
p_remove_proto_data(actx->pinfo->pool, actx->pinfo, proto_p1, 0);
@ -2328,7 +2323,7 @@ dissect_p1_ORName_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_
int
dissect_p1_ORName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1028 "./asn1/p1/p1.cnf"
#line 1025 "./asn1/p1/p1.cnf"
p1_address_ctx_t* ctx;
if (actx->subtree.tree_ctx == NULL) {
@ -2593,7 +2588,7 @@ static const value_string p1_BuiltInContentType_U_vals[] = {
static int
dissect_p1_BuiltInContentType_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_) {
#line 671 "./asn1/p1/p1.cnf"
#line 668 "./asn1/p1/p1.cnf"
static guint32 ict = -1;
p1_address_ctx_t* ctx;
@ -2638,7 +2633,7 @@ dissect_p1_BuiltInContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
int
dissect_p1_ExtendedContentType(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 "./asn1/p1/p1.cnf"
#line 647 "./asn1/p1/p1.cnf"
const char *name = NULL;
p1_address_ctx_t* ctx;
@ -2769,7 +2764,7 @@ dissect_p1_PerMessageIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
static int
dissect_p1_Time(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1151 "./asn1/p1/p1.cnf"
#line 1148 "./asn1/p1/p1.cnf"
tvbuff_t *arrival = NULL;
p1_address_ctx_t* ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
@ -2834,7 +2829,7 @@ dissect_p1_T_bilateral_domain(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_p1_T_bilateral_information(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1217 "./asn1/p1/p1.cnf"
#line 1214 "./asn1/p1/p1.cnf"
proto_item *item = NULL;
int loffset = 0;
guint32 len = 0;
@ -2902,7 +2897,7 @@ static const value_string p1_RoutingAction_vals[] = {
static int
dissect_p1_RoutingAction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1163 "./asn1/p1/p1.cnf"
#line 1160 "./asn1/p1/p1.cnf"
int action = 0;
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
@ -2963,7 +2958,7 @@ static const ber_sequence_t DomainSuppliedInformation_set[] = {
static int
dissect_p1_DomainSuppliedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1130 "./asn1/p1/p1.cnf"
#line 1127 "./asn1/p1/p1.cnf"
set_do_address(actx, FALSE);
@ -2988,7 +2983,7 @@ static const ber_sequence_t TraceInformationElement_sequence[] = {
static int
dissect_p1_TraceInformationElement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1114 "./asn1/p1/p1.cnf"
#line 1111 "./asn1/p1/p1.cnf"
set_do_address(actx, TRUE);
@ -3079,7 +3074,7 @@ static const value_string p1_StandardExtension_vals[] = {
static int
dissect_p1_StandardExtension(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 636 "./asn1/p1/p1.cnf"
#line 633 "./asn1/p1/p1.cnf"
actx->external.indirect_ref_present = TRUE;
actx->external.direct_ref_present = FALSE;
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
@ -3095,7 +3090,7 @@ dissect_p1_StandardExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
static int
dissect_p1_T_private_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_) {
#line 641 "./asn1/p1/p1.cnf"
#line 638 "./asn1/p1/p1.cnf"
actx->external.indirect_ref_present = FALSE;
actx->external.direct_reference = NULL;
offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference);
@ -3332,7 +3327,7 @@ dissect_p1_MessageTransferEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
int
dissect_p1_Content(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 695 "./asn1/p1/p1.cnf"
#line 692 "./asn1/p1/p1.cnf"
tvbuff_t *next_tvb;
p1_address_ctx_t* ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
@ -3747,7 +3742,7 @@ static const ber_choice_t ReportType_choice[] = {
static int
dissect_p1_ReportType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1249 "./asn1/p1/p1.cnf"
#line 1246 "./asn1/p1/p1.cnf"
gint report = -1;
offset = dissect_ber_choice(actx, tree, tvb, offset,
@ -3887,7 +3882,7 @@ static const ber_choice_t MTS_APDU_choice[] = {
static int
dissect_p1_MTS_APDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1235 "./asn1/p1/p1.cnf"
#line 1232 "./asn1/p1/p1.cnf"
gint apdu = -1;
offset = dissect_ber_choice(actx, tree, tvb, offset,
@ -3944,7 +3939,7 @@ static const ber_sequence_t MTASuppliedInformation_set[] = {
static int
dissect_p1_MTASuppliedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1139 "./asn1/p1/p1.cnf"
#line 1136 "./asn1/p1/p1.cnf"
set_do_address(actx, FALSE);
@ -3970,7 +3965,7 @@ static const ber_sequence_t InternalTraceInformationElement_sequence[] = {
static int
dissect_p1_InternalTraceInformationElement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1122 "./asn1/p1/p1.cnf"
#line 1119 "./asn1/p1/p1.cnf"
set_do_address(actx, TRUE);
@ -4104,7 +4099,7 @@ static const ber_sequence_t MTSBindResult_set[] = {
static int
dissect_p1_MTSBindResult(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 1273 "./asn1/p1/p1.cnf"
#line 1270 "./asn1/p1/p1.cnf"
/* TODO: there may be other entry points where this global should be initialized... */
actx->subtree.tree = NULL;
@ -4241,7 +4236,7 @@ static const ber_sequence_t MessageSubmissionArgument_sequence[] = {
static int
dissect_p1_MessageSubmissionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1258 "./asn1/p1/p1.cnf"
#line 1255 "./asn1/p1/p1.cnf"
p1_initialize_content_globals(actx, tree, TRUE);
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
MessageSubmissionArgument_sequence, hf_index, ett_p1_MessageSubmissionArgument);
@ -4816,7 +4811,7 @@ static const ber_sequence_t MessageDeliveryArgument_sequence[] = {
static int
dissect_p1_MessageDeliveryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1263 "./asn1/p1/p1.cnf"
#line 1260 "./asn1/p1/p1.cnf"
p1_initialize_content_globals(actx, tree, TRUE);
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
MessageDeliveryArgument_sequence, hf_index, ett_p1_MessageDeliveryArgument);
@ -4926,7 +4921,7 @@ static const ber_sequence_t ReportDeliveryArgument_set[] = {
static int
dissect_p1_ReportDeliveryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1268 "./asn1/p1/p1.cnf"
#line 1265 "./asn1/p1/p1.cnf"
p1_initialize_content_globals(actx, tree, TRUE);
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
ReportDeliveryArgument_set, hf_index, ett_p1_ReportDeliveryArgument);
@ -5064,7 +5059,7 @@ dissect_p1_RefusedArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
static int
dissect_p1_T_refused_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_) {
#line 621 "./asn1/p1/p1.cnf"
#line 618 "./asn1/p1/p1.cnf"
/*XXX not implemented yet */
@ -5139,7 +5134,7 @@ dissect_p1_UserName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_
static int
dissect_p1_T_x121_address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 863 "./asn1/p1/p1.cnf"
#line 860 "./asn1/p1/p1.cnf"
tvbuff_t *nstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
@ -5844,7 +5839,7 @@ static const ber_sequence_t ORAddress_sequence[] = {
int
dissect_p1_ORAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1007 "./asn1/p1/p1.cnf"
#line 1004 "./asn1/p1/p1.cnf"
p1_address_ctx_t* ctx;
if (actx->subtree.tree_ctx == NULL) {
@ -6287,7 +6282,7 @@ dissect_p1_CertificateSelectors(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
static int
dissect_p1_CommonName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 811 "./asn1/p1/p1.cnf"
#line 808 "./asn1/p1/p1.cnf"
tvbuff_t *string = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@ -6306,7 +6301,7 @@ dissect_p1_CommonName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _
static int
dissect_p1_TeletexCommonName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 821 "./asn1/p1/p1.cnf"
#line 818 "./asn1/p1/p1.cnf"
tvbuff_t *string = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
@ -6404,7 +6399,7 @@ dissect_p1_UniversalCommonName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_p1_TeletexOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 781 "./asn1/p1/p1.cnf"
#line 778 "./asn1/p1/p1.cnf"
tvbuff_t *string = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
@ -6432,7 +6427,7 @@ dissect_p1_UniversalOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb _U
static int
dissect_p1_T_teletex_surname(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 960 "./asn1/p1/p1.cnf"
#line 957 "./asn1/p1/p1.cnf"
tvbuff_t *tstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
@ -6451,7 +6446,7 @@ dissect_p1_T_teletex_surname(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
static int
dissect_p1_T_teletex_given_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 967 "./asn1/p1/p1.cnf"
#line 964 "./asn1/p1/p1.cnf"
tvbuff_t *tstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
@ -6470,7 +6465,7 @@ dissect_p1_T_teletex_given_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
static int
dissect_p1_T_teletex_initials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 974 "./asn1/p1/p1.cnf"
#line 971 "./asn1/p1/p1.cnf"
tvbuff_t *tstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
@ -6489,7 +6484,7 @@ dissect_p1_T_teletex_initials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_p1_T_teletex_generation_qualifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 981 "./asn1/p1/p1.cnf"
#line 978 "./asn1/p1/p1.cnf"
tvbuff_t *tstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
@ -6542,7 +6537,7 @@ dissect_p1_UniversalPersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
static int
dissect_p1_TeletexOrganizationalUnitName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 801 "./asn1/p1/p1.cnf"
#line 798 "./asn1/p1/p1.cnf"
tvbuff_t *string = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
@ -6607,7 +6602,7 @@ dissect_p1_PDSName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_,
static int
dissect_p1_T_x121_dcc_code_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 898 "./asn1/p1/p1.cnf"
#line 895 "./asn1/p1/p1.cnf"
tvbuff_t *nstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
@ -6626,7 +6621,7 @@ dissect_p1_T_x121_dcc_code_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_p1_T_iso_3166_alpha2_code_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 856 "./asn1/p1/p1.cnf"
#line 853 "./asn1/p1/p1.cnf"
tvbuff_t *nstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@ -6667,7 +6662,7 @@ dissect_p1_PhysicalDeliveryCountryName(gboolean implicit_tag _U_, tvbuff_t *tvb
static int
dissect_p1_T_numeric_code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 905 "./asn1/p1/p1.cnf"
#line 902 "./asn1/p1/p1.cnf"
tvbuff_t *nstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
@ -7091,7 +7086,7 @@ dissect_p1_TerminalType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
static int
dissect_p1_T_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 913 "./asn1/p1/p1.cnf"
#line 910 "./asn1/p1/p1.cnf"
tvbuff_t *tstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
@ -7110,7 +7105,7 @@ dissect_p1_T_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_,
static int
dissect_p1_T_teletex_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 920 "./asn1/p1/p1.cnf"
#line 917 "./asn1/p1/p1.cnf"
tvbuff_t *tstring = NULL;
offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
@ -7134,7 +7129,7 @@ static const ber_sequence_t TeletexDomainDefinedAttribute_sequence[] = {
static int
dissect_p1_TeletexDomainDefinedAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 927 "./asn1/p1/p1.cnf"
#line 924 "./asn1/p1/p1.cnf"
actx->value_ptr = wmem_strbuf_new(wmem_packet_scope(), "");
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
@ -7197,7 +7192,7 @@ static const ber_sequence_t MTANameAndOptionalGDI_sequence[] = {
static int
dissect_p1_MTANameAndOptionalGDI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1100 "./asn1/p1/p1.cnf"
#line 1097 "./asn1/p1/p1.cnf"
set_do_address(actx, TRUE);
@ -7257,7 +7252,7 @@ dissect_p1_TokenDataType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse
static int
dissect_p1_T_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1202 "./asn1/p1/p1.cnf"
#line 1199 "./asn1/p1/p1.cnf"
proto_item_append_text(tree, " (%s)", val_to_str(actx->external.indirect_reference, p1_TokenDataType_vals, "tokendata-type %d"));
if (dissector_try_uint(p1_tokendata_dissector_table, actx->external.indirect_reference, tvb, actx->pinfo, tree)) {
@ -8482,7 +8477,7 @@ static int dissect_SecurityClassification_PDU(tvbuff_t *tvb _U_, packet_info *pi
/*--- End of included file: packet-p1-fn.c ---*/
#line 151 "./asn1/p1/packet-p1-template.c"
#line 149 "./asn1/p1/packet-p1-template.c"
/*--- Included file: packet-p1-table11.c ---*/
@ -8514,7 +8509,7 @@ static const ros_opr_t p3_opr_tab[] = {
/*--- End of included file: packet-p1-table11.c ---*/
#line 153 "./asn1/p1/packet-p1-template.c"
#line 151 "./asn1/p1/packet-p1-template.c"
/*--- Included file: packet-p1-table21.c ---*/
#line 1 "./asn1/p1/packet-p1-table21.c"
@ -8559,7 +8554,7 @@ static const ros_err_t p3_err_tab[] = {
/*--- End of included file: packet-p1-table21.c ---*/
#line 154 "./asn1/p1/packet-p1-template.c"
#line 152 "./asn1/p1/packet-p1-template.c"
static const ros_info_t p3_ros_info = {
"P3",
@ -11197,7 +11192,7 @@ void proto_register_p1(void) {
NULL, HFILL }},
/*--- End of included file: packet-p1-hfarr.c ---*/
#line 323 "./asn1/p1/packet-p1-template.c"
#line 321 "./asn1/p1/packet-p1-template.c"
};
/* List of subtrees */
@ -11394,7 +11389,7 @@ void proto_register_p1(void) {
&ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields,
/*--- End of included file: packet-p1-ettarr.c ---*/
#line 336 "./asn1/p1/packet-p1-template.c"
#line 334 "./asn1/p1/packet-p1-template.c"
};
static ei_register_info ei[] = {
@ -11446,7 +11441,7 @@ void proto_register_p1(void) {
register_ber_syntax_dissector("ORName", proto_p1, dissect_ORName_PDU);
/*--- End of included file: packet-p1-syn-reg.c ---*/
#line 380 "./asn1/p1/packet-p1-template.c"
#line 378 "./asn1/p1/packet-p1-template.c"
}
@ -11610,7 +11605,7 @@ void proto_reg_handoff_p1(void) {
/*--- End of included file: packet-p1-dis-tab.c ---*/
#line 386 "./asn1/p1/packet-p1-template.c"
#line 384 "./asn1/p1/packet-p1-template.c"
/* APPLICATION CONTEXT */