Since we can now handle SEQUENCE OF ANY uncomment this "difficult" field from
the Attribute SEQUENCE to make it more complete. svn path=/trunk/; revision=12527
This commit is contained in:
parent
27df480915
commit
e7082f5194
|
@ -25,13 +25,13 @@ IMPORTS
|
||||||
|
|
||||||
AttributeId ::= OBJECT IDENTIFIER
|
AttributeId ::= OBJECT IDENTIFIER
|
||||||
|
|
||||||
--AttributeValue ::= ANY
|
AttributeValue ::= ANY
|
||||||
--
|
|
||||||
-- attribute data types
|
-- attribute data types
|
||||||
Attribute ::= SEQUENCE {
|
Attribute ::= SEQUENCE {
|
||||||
type AttributeId
|
type AttributeId,
|
||||||
-- value
|
values
|
||||||
-- SET SIZE (0..MAX) OF AttributeValue
|
SET SIZE (0..MAX) OF AttributeValue
|
||||||
-- valuesWithContext
|
-- valuesWithContext
|
||||||
-- SET SIZE (1..MAX) OF
|
-- SET SIZE (1..MAX) OF
|
||||||
-- SEQUENCE {value ANY,
|
-- SEQUENCE {value ANY,
|
||||||
|
@ -96,7 +96,7 @@ RelativeDistinguishedName ::=
|
||||||
|
|
||||||
AttributeTypeAndDistinguishedValue ::= SEQUENCE {
|
AttributeTypeAndDistinguishedValue ::= SEQUENCE {
|
||||||
type AttributeId,
|
type AttributeId,
|
||||||
value ANY,
|
value AttributeValue,
|
||||||
primaryDistinguished BOOLEAN OPTIONAL
|
primaryDistinguished BOOLEAN OPTIONAL
|
||||||
-- valuesWithContext
|
-- valuesWithContext
|
||||||
-- SET SIZE (1..MAX) OF
|
-- SET SIZE (1..MAX) OF
|
||||||
|
|
|
@ -26,9 +26,6 @@ RDNSequence
|
||||||
#.FN_BODY AttributeValue
|
#.FN_BODY AttributeValue
|
||||||
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
|
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
|
||||||
|
|
||||||
#.FN_BODY AttributeTypeAndDistinguishedValue/value
|
|
||||||
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
|
|
||||||
|
|
||||||
|
|
||||||
#.END
|
#.END
|
||||||
|
|
||||||
|
|
|
@ -54,10 +54,12 @@ int hf_x509if_object_identifier_id = -1;
|
||||||
/*--- Included file: packet-x509if-hf.c ---*/
|
/*--- Included file: packet-x509if-hf.c ---*/
|
||||||
|
|
||||||
static int hf_x509if_type = -1; /* AttributeId */
|
static int hf_x509if_type = -1; /* AttributeId */
|
||||||
|
static int hf_x509if_values = -1; /* SET_OF_AttributeValue */
|
||||||
|
static int hf_x509if_values_item = -1; /* AttributeValue */
|
||||||
static int hf_x509if_rdnSequence = -1; /* RDNSequence */
|
static int hf_x509if_rdnSequence = -1; /* RDNSequence */
|
||||||
static int hf_x509if_RDNSequence_item = -1; /* RelativeDistinguishedName */
|
static int hf_x509if_RDNSequence_item = -1; /* RelativeDistinguishedName */
|
||||||
static int hf_x509if_RelativeDistinguishedName_item = -1; /* AttributeTypeAndDistinguishedValue */
|
static int hf_x509if_RelativeDistinguishedName_item = -1; /* AttributeTypeAndDistinguishedValue */
|
||||||
static int hf_x509if_value = -1; /* T_value */
|
static int hf_x509if_value = -1; /* AttributeValue */
|
||||||
static int hf_x509if_primaryDistinguished = -1; /* BOOLEAN */
|
static int hf_x509if_primaryDistinguished = -1; /* BOOLEAN */
|
||||||
/* named bits */
|
/* named bits */
|
||||||
static int hf_x509if_AllowedSubset_baseObject = -1;
|
static int hf_x509if_AllowedSubset_baseObject = -1;
|
||||||
|
@ -72,6 +74,7 @@ static int hf_x509if_AllowedSubset_wholeSubtree = -1;
|
||||||
/*--- Included file: packet-x509if-ett.c ---*/
|
/*--- Included file: packet-x509if-ett.c ---*/
|
||||||
|
|
||||||
static gint ett_x509if_Attribute = -1;
|
static gint ett_x509if_Attribute = -1;
|
||||||
|
static gint ett_x509if_SET_OF_AttributeValue = -1;
|
||||||
static gint ett_x509if_Name = -1;
|
static gint ett_x509if_Name = -1;
|
||||||
static gint ett_x509if_RDNSequence = -1;
|
static gint ett_x509if_RDNSequence = -1;
|
||||||
static gint ett_x509if_RelativeDistinguishedName = -1;
|
static gint ett_x509if_RelativeDistinguishedName = -1;
|
||||||
|
@ -102,8 +105,41 @@ static int dissect_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int
|
||||||
return dissect_x509if_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_x509if_type);
|
return dissect_x509if_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_x509if_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static int
|
||||||
|
dissect_x509if_AttributeValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
|
||||||
|
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return offset;
|
||||||
|
}
|
||||||
|
static int dissect_values_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
||||||
|
return dissect_x509if_AttributeValue(FALSE, tvb, offset, pinfo, tree, hf_x509if_values_item);
|
||||||
|
}
|
||||||
|
static int dissect_value(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
||||||
|
return dissect_x509if_AttributeValue(FALSE, tvb, offset, pinfo, tree, hf_x509if_value);
|
||||||
|
}
|
||||||
|
|
||||||
|
static const ber_sequence SET_OF_AttributeValue_set_of[1] = {
|
||||||
|
{ BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_values_item },
|
||||||
|
};
|
||||||
|
|
||||||
|
static int
|
||||||
|
dissect_x509if_SET_OF_AttributeValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
|
||||||
|
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
|
||||||
|
SET_OF_AttributeValue_set_of, hf_index, ett_x509if_SET_OF_AttributeValue);
|
||||||
|
|
||||||
|
return offset;
|
||||||
|
}
|
||||||
|
static int dissect_values(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
||||||
|
return dissect_x509if_SET_OF_AttributeValue(FALSE, tvb, offset, pinfo, tree, hf_x509if_values);
|
||||||
|
}
|
||||||
|
|
||||||
static const ber_sequence Attribute_sequence[] = {
|
static const ber_sequence Attribute_sequence[] = {
|
||||||
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_type },
|
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_type },
|
||||||
|
{ BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_values },
|
||||||
{ 0, 0, 0, NULL }
|
{ 0, 0, 0, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -124,20 +160,6 @@ dissect_x509if_AttributeType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offse
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int
|
|
||||||
dissect_x509if_T_value(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
|
|
||||||
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return offset;
|
|
||||||
}
|
|
||||||
static int dissect_value(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
|
||||||
return dissect_x509if_T_value(FALSE, tvb, offset, pinfo, tree, hf_x509if_value);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
dissect_x509if_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
|
dissect_x509if_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
|
||||||
offset = dissect_ber_boolean(pinfo, tree, tvb, offset, hf_index);
|
offset = dissect_ber_boolean(pinfo, tree, tvb, offset, hf_index);
|
||||||
|
@ -292,6 +314,14 @@ void proto_register_x509if(void) {
|
||||||
{ "type", "x509if.type",
|
{ "type", "x509if.type",
|
||||||
FT_STRING, BASE_NONE, NULL, 0,
|
FT_STRING, BASE_NONE, NULL, 0,
|
||||||
"", HFILL }},
|
"", HFILL }},
|
||||||
|
{ &hf_x509if_values,
|
||||||
|
{ "values", "x509if.values",
|
||||||
|
FT_UINT32, BASE_DEC, NULL, 0,
|
||||||
|
"Attribute/values", HFILL }},
|
||||||
|
{ &hf_x509if_values_item,
|
||||||
|
{ "Item", "x509if.values_item",
|
||||||
|
FT_NONE, BASE_NONE, NULL, 0,
|
||||||
|
"Attribute/values/_item", HFILL }},
|
||||||
{ &hf_x509if_rdnSequence,
|
{ &hf_x509if_rdnSequence,
|
||||||
{ "rdnSequence", "x509if.rdnSequence",
|
{ "rdnSequence", "x509if.rdnSequence",
|
||||||
FT_UINT32, BASE_DEC, NULL, 0,
|
FT_UINT32, BASE_DEC, NULL, 0,
|
||||||
|
@ -335,6 +365,7 @@ void proto_register_x509if(void) {
|
||||||
/*--- Included file: packet-x509if-ettarr.c ---*/
|
/*--- Included file: packet-x509if-ettarr.c ---*/
|
||||||
|
|
||||||
&ett_x509if_Attribute,
|
&ett_x509if_Attribute,
|
||||||
|
&ett_x509if_SET_OF_AttributeValue,
|
||||||
&ett_x509if_Name,
|
&ett_x509if_Name,
|
||||||
&ett_x509if_RDNSequence,
|
&ett_x509if_RDNSequence,
|
||||||
&ett_x509if_RelativeDistinguishedName,
|
&ett_x509if_RelativeDistinguishedName,
|
||||||
|
|
Loading…
Reference in New Issue