PKIX1EXPLICIT: Fixing Attribute and AttributeTypeAndValue ASN.1 cnf
EXPERIMENTAL, this has not been widely validated yet. It is not clear whether there is any deeper sense in how the prior ASN.1 cnf was done. If this is used, it might also be beneficial to rename the double-overloaded "type". Removing pre-existing empty line at the end of packet-pkix1explicit-template.c to comply with coding style requirements. Change-Id: Iaddeb62f8abb8605b182091ea9c64b8f2172a884 Reviewed-on: https://code.wireshark.org/review/30599 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
parent
0142ca4539
commit
5d7199d8ce
|
@ -129,4 +129,3 @@ void proto_reg_handoff_pkix1explicit(void) {
|
|||
oid_add_from_string("id-dsa-with-sha1","1.2.840.10040.4.3");
|
||||
#include "packet-pkix1explicit-dis-tab.c"
|
||||
}
|
||||
|
||||
|
|
|
@ -40,21 +40,17 @@ Extensions B "1.2.840.113549.1.9.14" "pkcs-9-at-extensionRequest"
|
|||
#.FN_BODY DirectoryString
|
||||
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
|
||||
|
||||
#.FN_PARS Attribute/values
|
||||
FN_VARIANT = _str HF_INDEX = hf_pkix1explicit_object_identifier_id
|
||||
#.FN_PARS Attribute/type
|
||||
FN_VARIANT = _str HF_INDEX = hf_pkix1explicit_type VAL_PTR = &actx->external.direct_reference
|
||||
|
||||
#.FN_BODY Attribute/values/_item
|
||||
if (actx->external.direct_ref_present) {
|
||||
offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
|
||||
}
|
||||
|
||||
#.FN_PARS AttributeTypeAndValue/value
|
||||
FN_VARIANT = _str HF_INDEX = hf_pkix1explicit_object_identifier_id
|
||||
#.FN_PARS AttributeTypeAndValue/type
|
||||
FN_VARIANT = _str HF_INDEX = hf_pkix1explicit_type_01 VAL_PTR = &actx->external.direct_reference
|
||||
|
||||
#.FN_BODY AttributeTypeAndValue/value
|
||||
if (actx->external.direct_ref_present) {
|
||||
offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
|
||||
}
|
||||
|
||||
#.FN_PARS Extension/extnId
|
||||
FN_VARIANT = _str HF_INDEX = hf_pkix1explicit_object_identifier_id VAL_PTR = &actx->external.direct_reference
|
||||
|
|
|
@ -71,13 +71,14 @@ static int hf_pkix1explicit_j = -1; /* INTEGER */
|
|||
static int hf_pkix1explicit_validationParms = -1; /* ValidationParms */
|
||||
static int hf_pkix1explicit_seed = -1; /* BIT_STRING */
|
||||
static int hf_pkix1explicit_pgenCounter = -1; /* INTEGER */
|
||||
static int hf_pkix1explicit_type = -1; /* OBJECT_IDENTIFIER */
|
||||
static int hf_pkix1explicit_type = -1; /* T_type */
|
||||
static int hf_pkix1explicit_values = -1; /* T_values */
|
||||
static int hf_pkix1explicit_values_item = -1; /* T_values_item */
|
||||
static int hf_pkix1explicit_type_01 = -1; /* T_type_01 */
|
||||
static int hf_pkix1explicit_value = -1; /* T_value */
|
||||
static int hf_pkix1explicit_RDNSequence_item = -1; /* RelativeDistinguishedName */
|
||||
static int hf_pkix1explicit_RelativeDistinguishedName_item = -1; /* AttributeTypeAndValue */
|
||||
static int hf_pkix1explicit_type_01 = -1; /* TeletexString */
|
||||
static int hf_pkix1explicit_type_02 = -1; /* TeletexString */
|
||||
static int hf_pkix1explicit_value_01 = -1; /* TeletexString */
|
||||
static int hf_pkix1explicit_Features_item = -1; /* INTEGER */
|
||||
static int hf_pkix1explicit_IPAddrBlocks_item = -1; /* IPAddressFamily */
|
||||
|
@ -257,7 +258,7 @@ dissect_pkix1explicit_Time(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
|
|||
|
||||
static int
|
||||
dissect_pkix1explicit_T_extnId(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 63 "./asn1/pkix1explicit/pkix1explicit.cnf"
|
||||
#line 59 "./asn1/pkix1explicit/pkix1explicit.cnf"
|
||||
offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_pkix1explicit_object_identifier_id, &actx->external.direct_reference);
|
||||
|
||||
actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE;
|
||||
|
@ -280,7 +281,7 @@ dissect_pkix1explicit_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
|
|||
|
||||
static int
|
||||
dissect_pkix1explicit_T_extnValue(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 67 "./asn1/pkix1explicit/pkix1explicit.cnf"
|
||||
#line 63 "./asn1/pkix1explicit/pkix1explicit.cnf"
|
||||
gint8 appclass;
|
||||
gboolean pc, ind;
|
||||
gint32 tag;
|
||||
|
@ -384,8 +385,8 @@ dissect_pkix1explicit_DomainParameters(gboolean implicit_tag _U_, tvbuff_t *tvb
|
|||
|
||||
|
||||
static int
|
||||
dissect_pkix1explicit_OBJECT_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_) {
|
||||
offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
|
||||
dissect_pkix1explicit_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_) {
|
||||
offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_pkix1explicit_type, &actx->external.direct_reference);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -395,9 +396,7 @@ dissect_pkix1explicit_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb
|
|||
static int
|
||||
dissect_pkix1explicit_T_values_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 47 "./asn1/pkix1explicit/pkix1explicit.cnf"
|
||||
if (actx->external.direct_ref_present) {
|
||||
offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -412,14 +411,14 @@ static const ber_sequence_t T_values_set_of[1] = {
|
|||
static int
|
||||
dissect_pkix1explicit_T_values(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
|
||||
T_values_set_of, hf_pkix1explicit_object_identifier_id, ett_pkix1explicit_T_values);
|
||||
T_values_set_of, hf_index, ett_pkix1explicit_T_values);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
static const ber_sequence_t Attribute_sequence[] = {
|
||||
{ &hf_pkix1explicit_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_pkix1explicit_OBJECT_IDENTIFIER },
|
||||
{ &hf_pkix1explicit_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_pkix1explicit_T_type },
|
||||
{ &hf_pkix1explicit_values, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_pkix1explicit_T_values },
|
||||
{ NULL, 0, 0, 0, NULL }
|
||||
};
|
||||
|
@ -434,12 +433,19 @@ dissect_pkix1explicit_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
|
|||
|
||||
|
||||
|
||||
static int
|
||||
dissect_pkix1explicit_T_type_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_) {
|
||||
offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_pkix1explicit_type_01, &actx->external.direct_reference);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
dissect_pkix1explicit_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 55 "./asn1/pkix1explicit/pkix1explicit.cnf"
|
||||
if (actx->external.direct_ref_present) {
|
||||
#line 53 "./asn1/pkix1explicit/pkix1explicit.cnf"
|
||||
offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -448,7 +454,7 @@ dissect_pkix1explicit_T_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
|
|||
|
||||
|
||||
static const ber_sequence_t AttributeTypeAndValue_sequence[] = {
|
||||
{ &hf_pkix1explicit_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_pkix1explicit_OBJECT_IDENTIFIER },
|
||||
{ &hf_pkix1explicit_type_01, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_pkix1explicit_T_type_01 },
|
||||
{ &hf_pkix1explicit_value , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_pkix1explicit_T_value },
|
||||
{ NULL, 0, 0, 0, NULL }
|
||||
};
|
||||
|
@ -532,7 +538,7 @@ dissect_pkix1explicit_TeletexString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
|
|||
|
||||
|
||||
static const ber_sequence_t TeletexDomainDefinedAttribute_sequence[] = {
|
||||
{ &hf_pkix1explicit_type_01, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_pkix1explicit_TeletexString },
|
||||
{ &hf_pkix1explicit_type_02, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_pkix1explicit_TeletexString },
|
||||
{ &hf_pkix1explicit_value_01, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_pkix1explicit_TeletexString },
|
||||
{ NULL, 0, 0, 0, NULL }
|
||||
};
|
||||
|
@ -562,7 +568,7 @@ dissect_pkix1explicit_Features(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
|
|||
|
||||
static int
|
||||
dissect_pkix1explicit_T_addressFamily(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 81 "./asn1/pkix1explicit/pkix1explicit.cnf"
|
||||
#line 77 "./asn1/pkix1explicit/pkix1explicit.cnf"
|
||||
tvbuff_t *parameter_tvb;
|
||||
proto_tree *subtree;
|
||||
|
||||
|
@ -947,7 +953,7 @@ void proto_register_pkix1explicit(void) {
|
|||
{ &hf_pkix1explicit_type,
|
||||
{ "type", "pkix1explicit.type",
|
||||
FT_OID, BASE_NONE, NULL, 0,
|
||||
"OBJECT_IDENTIFIER", HFILL }},
|
||||
NULL, HFILL }},
|
||||
{ &hf_pkix1explicit_values,
|
||||
{ "values", "pkix1explicit.values",
|
||||
FT_UINT32, BASE_DEC, NULL, 0,
|
||||
|
@ -956,6 +962,10 @@ void proto_register_pkix1explicit(void) {
|
|||
{ "values item", "pkix1explicit.values_item_element",
|
||||
FT_NONE, BASE_NONE, NULL, 0,
|
||||
NULL, HFILL }},
|
||||
{ &hf_pkix1explicit_type_01,
|
||||
{ "type", "pkix1explicit.type",
|
||||
FT_OID, BASE_NONE, NULL, 0,
|
||||
"T_type_01", HFILL }},
|
||||
{ &hf_pkix1explicit_value,
|
||||
{ "value", "pkix1explicit.value_element",
|
||||
FT_NONE, BASE_NONE, NULL, 0,
|
||||
|
@ -968,7 +978,7 @@ void proto_register_pkix1explicit(void) {
|
|||
{ "AttributeTypeAndValue", "pkix1explicit.AttributeTypeAndValue_element",
|
||||
FT_NONE, BASE_NONE, NULL, 0,
|
||||
NULL, HFILL }},
|
||||
{ &hf_pkix1explicit_type_01,
|
||||
{ &hf_pkix1explicit_type_02,
|
||||
{ "type", "pkix1explicit.type",
|
||||
FT_STRING, STR_UNICODE, NULL, 0,
|
||||
"TeletexString", HFILL }},
|
||||
|
@ -1120,4 +1130,3 @@ void proto_reg_handoff_pkix1explicit(void) {
|
|||
/*--- End of included file: packet-pkix1explicit-dis-tab.c ---*/
|
||||
#line 131 "./asn1/pkix1explicit/packet-pkix1explicit-template.c"
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue