2004-10-05 09:18:55 +00:00
|
|
|
# x509if.cnf
|
|
|
|
# X509IF conformation file
|
|
|
|
|
|
|
|
# $Id$
|
|
|
|
|
2007-10-16 13:59:40 +00:00
|
|
|
#.IMPORT ../x509sat/x509sat-exp.cnf
|
2004-10-05 09:18:55 +00:00
|
|
|
|
2008-09-01 20:29:01 +00:00
|
|
|
#.MODULE_IMPORT
|
|
|
|
DirectoryAbstractService dap
|
|
|
|
|
2008-09-01 21:10:28 +00:00
|
|
|
#.OMIT_ASSIGNMENT
|
|
|
|
ObjectClassKind
|
|
|
|
#.END
|
2008-09-01 20:29:01 +00:00
|
|
|
#.CLASS ATTRIBUTE
|
|
|
|
&derivation ClassReference ATTRIBUTE
|
|
|
|
&Type
|
|
|
|
&equality-match ClassReference MATCHING-RULE
|
|
|
|
&ordering-match ClassReference MATCHING-RULE
|
|
|
|
&substrings-match ClassReference MATCHING-RULE
|
|
|
|
&single-valued BooleanType
|
|
|
|
&collective BooleanType
|
|
|
|
&no-user-modification BooleanType
|
|
|
|
&usage TypeReference AttributeUsage
|
|
|
|
&id ObjectIdentifierType
|
|
|
|
#.END
|
|
|
|
#.CLASS CONTEXT
|
|
|
|
&Type
|
|
|
|
&Assertion
|
|
|
|
&id ObjectIdentifierType
|
|
|
|
#.END
|
|
|
|
#.CLASS OBJECT-CLASS
|
|
|
|
&Superclasses ClassReference OBJECT-CLASS
|
|
|
|
&kind TypeReference ObjectClassKind
|
|
|
|
&MandatoryAttributes ClassReference ATTRIBUTE
|
|
|
|
&OptionalAttributes ClassReference ATTRIBUTE
|
|
|
|
&id ObjectIdentifierType
|
|
|
|
#.END
|
|
|
|
|
|
|
|
#.CLASS MATCHING-RESTRICTION
|
|
|
|
&Restriction
|
|
|
|
&Rules _FixedTypeValueSetFieldSpec
|
|
|
|
&id ObjectIdentifierType
|
|
|
|
#.END
|
|
|
|
|
|
|
|
#.CLASS MATCHING-RULE
|
|
|
|
&ParentMatchingRules ClassReference MATCHING-RULE
|
|
|
|
&AssertionType
|
|
|
|
&uniqueMatchIndicator ClassReference ATTRIBUTE
|
|
|
|
&id ObjectIdentifierType
|
|
|
|
#.END
|
|
|
|
|
2004-10-05 09:18:55 +00:00
|
|
|
#.EXPORTS
|
2008-09-01 20:29:01 +00:00
|
|
|
OBJECT-CLASS
|
|
|
|
ATTRIBUTE
|
|
|
|
MATCHING-RULE
|
|
|
|
MAPPING-BASED-MATCHING
|
|
|
|
NAME-FORM
|
|
|
|
STRUCTURE-RULE
|
|
|
|
CONTENT-RULE
|
|
|
|
CONTEXT
|
|
|
|
SEARCH-RULE
|
|
|
|
MATCHING-RESTRICTION
|
2004-11-21 06:40:02 +00:00
|
|
|
AllowedSubset
|
2004-10-29 11:39:58 +00:00
|
|
|
Attribute
|
2004-11-21 06:40:02 +00:00
|
|
|
AttributeCombination
|
2004-10-05 09:18:55 +00:00
|
|
|
AttributeType
|
2004-11-21 06:40:02 +00:00
|
|
|
AttributeTypeAndDistinguishedValue
|
|
|
|
AttributeTypeAssertion
|
|
|
|
AttributeUsage
|
2005-11-16 07:13:12 +00:00
|
|
|
AttributeValue
|
2004-11-21 06:40:02 +00:00
|
|
|
AttributeValueAssertion
|
2006-03-05 11:28:13 +00:00
|
|
|
#BaseDistance
|
2004-11-21 06:40:02 +00:00
|
|
|
ChopSpecification
|
|
|
|
Context
|
|
|
|
ContextAssertion
|
|
|
|
ContextCombination
|
|
|
|
ContextProfile
|
|
|
|
ControlOptions
|
|
|
|
DistinguishedName
|
|
|
|
DITContentRule
|
|
|
|
DITContextUse
|
|
|
|
DITStructureRule
|
|
|
|
EntryLimit
|
|
|
|
ImposedSubset
|
|
|
|
LocalName
|
|
|
|
Mapping
|
|
|
|
MatchingUse
|
|
|
|
MRMapping
|
|
|
|
MRSubstitution
|
2004-10-05 09:18:55 +00:00
|
|
|
Name
|
2004-11-21 06:40:02 +00:00
|
|
|
Refinement
|
2004-10-05 09:18:55 +00:00
|
|
|
RelativeDistinguishedName
|
2004-11-21 06:40:02 +00:00
|
|
|
RelaxationPolicy
|
2004-11-06 05:31:03 +00:00
|
|
|
RDNSequence
|
2004-11-21 06:40:02 +00:00
|
|
|
RequestAttribute
|
|
|
|
ResultAttribute
|
|
|
|
RuleIdentifier
|
|
|
|
SearchRule
|
|
|
|
SearchRuleDescription
|
|
|
|
SearchRuleId
|
|
|
|
SubtreeSpecification
|
2004-10-05 09:18:55 +00:00
|
|
|
|
2005-11-16 07:13:12 +00:00
|
|
|
#.PDU
|
|
|
|
DistinguishedName
|
|
|
|
|
2004-10-05 09:18:55 +00:00
|
|
|
#.NO_EMIT
|
|
|
|
|
|
|
|
#.TYPE_RENAME
|
2004-12-13 12:43:48 +00:00
|
|
|
AttributeTypeAndDistinguishedValue/valuesWithContext T_valWithContext
|
|
|
|
AttributeTypeAndDistinguishedValue/valuesWithContext/_item T_valWithContext_item
|
|
|
|
ChopSpecification/specificExclusions T_chopSpecificExclusions
|
|
|
|
ChopSpecification/specificExclusions/_item T_chopSpecificExclusions_item
|
2004-10-05 09:18:55 +00:00
|
|
|
|
|
|
|
#.FIELD_RENAME
|
2004-12-13 12:43:48 +00:00
|
|
|
AttributeTypeAssertion/assertedContexts ata_assertedContexts
|
|
|
|
AttributeTypeAndDistinguishedValue/value atadv_value
|
|
|
|
AttributeTypeAndDistinguishedValue/valuesWithContext valueswithContext
|
|
|
|
AttributeTypeAndDistinguishedValue/valuesWithContext/_item valueswithContext_item
|
|
|
|
ChopSpecification/specificExclusions chopSpecificExclusions
|
|
|
|
ChopSpecification/specificExclusions/_item chopSpecificExclusions_item
|
|
|
|
Refinement/and refinement_and
|
|
|
|
Refinement/and/_item refinement_and_item
|
|
|
|
Refinement/not refinement_not
|
|
|
|
Refinement/or refinement_or
|
|
|
|
Refinement/or/_item refinement_or_item
|
|
|
|
ContextAssertion/contextType ca_contextType
|
|
|
|
ContextAssertion/contextValues ca_contextValues
|
|
|
|
ContextAssertion/contextValues/_item ca_contextValues_item
|
|
|
|
ContextCombination/not contextcombination_not
|
|
|
|
ContextCombination/and contextcombination_and
|
|
|
|
ContextCombination/and/_item contextcombination_and_item
|
|
|
|
ContextCombination/or contextcombination_or
|
|
|
|
ContextCombination/or/_item contextcombination_or_item
|
|
|
|
RelaxationPolicy/maximum maximum_relaxation
|
|
|
|
RelaxationPolicy/minimum minimum_relaxation
|
|
|
|
RequestAttribute/defaultValues/_item/values ra_values
|
|
|
|
RequestAttribute/defaultValues/_item/values/_item ra_values_item
|
|
|
|
RequestAttribute/selectedValues ra_selectedValues
|
|
|
|
RequestAttribute/selectedValues/_item ra_selectedValues_item
|
2004-10-05 09:18:55 +00:00
|
|
|
|
2005-12-14 21:02:56 +00:00
|
|
|
#.REGISTER
|
|
|
|
DistinguishedName B "2.5.4.1" "id-at-aliasedEntryName"
|
|
|
|
DistinguishedName B "2.5.4.31" "id-at-member"
|
|
|
|
DistinguishedName B "2.5.4.32" "id-at-owner"
|
|
|
|
DistinguishedName B "2.5.4.33" "id-at-roleOccupant"
|
|
|
|
DistinguishedName B "2.5.4.34" "id-at-seeAlso"
|
|
|
|
DistinguishedName B "2.5.4.49" "id-at-distinguishedName"
|
|
|
|
|
2006-04-30 12:53:26 +00:00
|
|
|
DistinguishedName B "2.5.18.3" "id-oa-creatorsName"
|
|
|
|
DistinguishedName B "2.5.18.4" "id-oa-modifiersName"
|
2008-01-26 10:05:13 +00:00
|
|
|
SubtreeSpecification B "2.5.18.6" "id-oa-subtreeSpecification"
|
2006-04-30 12:53:26 +00:00
|
|
|
DistinguishedName B "2.5.18.10" "id-oa-subschemaSubentry"
|
2008-01-26 10:05:13 +00:00
|
|
|
DistinguishedName B "2.5.18.11" "id-oa-accessControlSubentry"
|
2006-04-30 12:53:26 +00:00
|
|
|
DistinguishedName B "2.5.18.12" "id-oa-collectiveAttributeSubentry"
|
|
|
|
DistinguishedName B "2.5.18.13" "id-oa-contextDefaultSubentry"
|
2008-09-01 21:10:28 +00:00
|
|
|
HierarchyLevel B "2.5.18.17" "id-oa-hierarchyLevel"
|
|
|
|
HierarchyBelow B "2.5.18.18" "iid-oa-hierarchyBelow"
|
2006-03-05 11:28:13 +00:00
|
|
|
# X402 - see master list in acp133.cnf
|
|
|
|
DistinguishedName B "2.6.5.2.5" "id-at-mhs-message-store-dn"
|
|
|
|
DistinguishedName B "2.6.5.2.14" "id-at-mhs-dl-related-lists"
|
|
|
|
|
|
|
|
# ACP133 - see master list in acp133.cnf
|
|
|
|
DistinguishedName B "2.16.840.1.101.2.2.1.3" "id-at-alternateRecipient"
|
|
|
|
DistinguishedName B "2.16.840.1.101.2.2.1.4" "id-at-associatedOrganization"
|
|
|
|
DistinguishedName B "2.16.840.1.101.2.2.1.6" "id-at-associatedPLA"
|
|
|
|
DistinguishedName B "2.16.840.1.101.2.2.1.49" "id-at-aliasPointer"
|
|
|
|
DistinguishedName B "2.16.840.1.101.2.2.1.61" "id-at-listPointer"
|
|
|
|
DistinguishedName B "2.16.840.1.101.2.2.1.110" "id-at-administrator"
|
|
|
|
DistinguishedName B "2.16.840.1.101.2.2.1.111" "id-at-aigsExpanded"
|
|
|
|
DistinguishedName B "2.16.840.1.101.2.2.1.113" "id-at-associatedAL"
|
|
|
|
DistinguishedName B "2.16.840.1.101.2.2.1.114" "id-at-copyMember"
|
|
|
|
DistinguishedName B "2.16.840.1.101.2.2.1.117" "id-at-guard"
|
|
|
|
DistinguishedName B "2.16.840.1.101.2.2.1.121" "id-at-networkDN"
|
|
|
|
DistinguishedName B "2.16.840.1.101.2.2.1.138" "id-at-plasServed"
|
|
|
|
DistinguishedName B "2.16.840.1.101.2.2.1.139" "id-at-deployed"
|
|
|
|
DistinguishedName B "2.16.840.1.101.2.2.1.140" "id-at-garrison"
|
2005-12-14 21:02:56 +00:00
|
|
|
|
2006-04-30 12:53:26 +00:00
|
|
|
|
|
|
|
|
2008-09-01 20:29:01 +00:00
|
|
|
#.FN_PARS ContextAssertion/contextType
|
2005-11-14 10:02:31 +00:00
|
|
|
FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &object_identifier_id
|
2004-11-21 06:40:02 +00:00
|
|
|
|
2008-09-01 20:29:01 +00:00
|
|
|
#.FN_BODY ContextAssertion/contextValues/_item
|
2007-05-13 20:58:29 +00:00
|
|
|
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
2009-06-02 09:44:52 +00:00
|
|
|
#.FN_PARS AttributeTypeAndDistinguishedValue/type
|
2005-11-14 10:02:31 +00:00
|
|
|
FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &object_identifier_id
|
2004-10-29 11:10:31 +00:00
|
|
|
|
2009-06-02 09:44:52 +00:00
|
|
|
#.FN_BODY AttributeTypeAndDistinguishedValue/type
|
2005-12-14 21:02:56 +00:00
|
|
|
const char *fmt;
|
2005-11-17 05:02:30 +00:00
|
|
|
const char *name;
|
2005-11-16 07:13:12 +00:00
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if(object_identifier_id) {
|
|
|
|
/* see if we can find a nice name */
|
2007-11-01 19:36:39 +00:00
|
|
|
name = oid_resolved_from_string(object_identifier_id);
|
2005-11-16 07:13:12 +00:00
|
|
|
if(!name) name = object_identifier_id;
|
|
|
|
|
2011-04-12 20:39:48 +00:00
|
|
|
if(last_rdn) { /* append it to the RDN */
|
2005-11-16 07:13:12 +00:00
|
|
|
g_strlcat(last_rdn, name, MAX_RDN_STR_LEN);
|
|
|
|
g_strlcat(last_rdn, "=", MAX_RDN_STR_LEN);
|
|
|
|
|
|
|
|
/* append it to the tree */
|
|
|
|
proto_item_append_text(tree, " (%%s=", name);
|
|
|
|
}
|
2005-12-14 21:02:56 +00:00
|
|
|
|
2008-01-26 10:05:13 +00:00
|
|
|
if(doing_attr) {
|
|
|
|
/* append it to the parent item */
|
|
|
|
proto_item_append_text(tree, " (%%s)", name);
|
|
|
|
}
|
|
|
|
|
2005-12-14 21:02:56 +00:00
|
|
|
if((fmt = val_to_str(hf_index, fmt_vals, "")) && *fmt) {
|
|
|
|
/* we have a format */
|
|
|
|
last_ava = ep_alloc(MAX_AVA_STR_LEN); *last_ava = '\0';
|
2011-04-12 20:39:48 +00:00
|
|
|
register_frame_end_routine (x509if_frame_end);
|
2005-12-14 21:02:56 +00:00
|
|
|
|
|
|
|
g_snprintf(last_ava, MAX_AVA_STR_LEN, "%%s %%s", name, fmt);
|
|
|
|
|
|
|
|
proto_item_append_text(tree, " %%s", last_ava);
|
|
|
|
|
|
|
|
}
|
2005-11-16 07:13:12 +00:00
|
|
|
}
|
|
|
|
|
2009-06-02 09:44:52 +00:00
|
|
|
#.FN_BODY AttributeTypeAndDistinguishedValue/value
|
2005-11-16 07:13:12 +00:00
|
|
|
int old_offset = offset;
|
|
|
|
tvbuff_t *out_tvb;
|
2005-12-14 21:02:56 +00:00
|
|
|
char *value = NULL;
|
|
|
|
const char *fmt;
|
|
|
|
const char *name = NULL;
|
2006-04-30 12:53:26 +00:00
|
|
|
const char *orig_oid = object_identifier_id;
|
2005-12-14 21:02:56 +00:00
|
|
|
|
2007-05-13 20:58:29 +00:00
|
|
|
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
|
2004-10-29 11:39:58 +00:00
|
|
|
|
2006-04-30 12:53:26 +00:00
|
|
|
/* in dissecting the value we may have overridden the OID of the value - which is
|
|
|
|
a problem if there are multiple values */
|
|
|
|
object_identifier_id = orig_oid;
|
|
|
|
|
2005-11-16 07:13:12 +00:00
|
|
|
/* try and dissect as a string */
|
2007-05-15 05:49:43 +00:00
|
|
|
dissect_ber_octet_string(FALSE, actx, NULL, tvb, old_offset, hf_x509if_any_string, &out_tvb);
|
2005-11-16 07:13:12 +00:00
|
|
|
|
2005-12-14 21:02:56 +00:00
|
|
|
/* should also try and dissect as an OID and integer */
|
|
|
|
/* of course, if I can look up the syntax .... */
|
|
|
|
|
2005-11-16 07:13:12 +00:00
|
|
|
if(out_tvb) {
|
|
|
|
/* it was a string - format it */
|
|
|
|
value = tvb_format_text(out_tvb, 0, tvb_length(out_tvb));
|
|
|
|
|
2011-04-12 20:39:48 +00:00
|
|
|
if(last_rdn) {
|
2005-11-16 07:13:12 +00:00
|
|
|
g_strlcat(last_rdn, value, MAX_RDN_STR_LEN);
|
|
|
|
|
|
|
|
/* append it to the tree*/
|
|
|
|
proto_item_append_text(tree, "%%s)", value);
|
|
|
|
}
|
|
|
|
|
2005-12-14 21:02:56 +00:00
|
|
|
if((fmt = val_to_str(ava_hf_index, fmt_vals, "")) && *fmt) {
|
|
|
|
/* we have a format */
|
|
|
|
|
2011-04-12 20:39:48 +00:00
|
|
|
if (!last_ava) {
|
|
|
|
last_ava = ep_alloc(MAX_AVA_STR_LEN);
|
|
|
|
}
|
2005-12-14 21:02:56 +00:00
|
|
|
|
2011-04-12 20:39:48 +00:00
|
|
|
if(!(name = oid_resolved_from_string(object_identifier_id)))
|
|
|
|
name = object_identifier_id;
|
|
|
|
g_snprintf(last_ava, MAX_AVA_STR_LEN, "%%s %%s %%s", name, fmt, value);
|
|
|
|
|
|
|
|
proto_item_append_text(tree, " %%s", last_ava);
|
2005-12-14 21:02:56 +00:00
|
|
|
|
|
|
|
}
|
2005-11-16 07:13:12 +00:00
|
|
|
}
|
|
|
|
|
2008-09-01 20:29:01 +00:00
|
|
|
#.FN_PARS RequestAttribute/attributeType
|
|
|
|
FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &object_identifier_id
|
|
|
|
|
|
|
|
#.FN_BODY RequestAttribute/selectedValues/_item
|
2007-05-13 20:58:29 +00:00
|
|
|
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
2008-09-01 20:29:01 +00:00
|
|
|
#.FN_PARS RequestAttribute/defaultValues/_item/entryType
|
2005-11-14 10:02:31 +00:00
|
|
|
FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &object_identifier_id
|
2004-11-21 06:40:02 +00:00
|
|
|
|
2008-09-01 20:29:01 +00:00
|
|
|
#.FN_BODY RequestAttribute/defaultValues/_item/values/_item
|
2007-05-13 20:58:29 +00:00
|
|
|
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
|
2004-11-21 06:40:02 +00:00
|
|
|
|
2008-09-01 20:29:01 +00:00
|
|
|
#.FN_BODY Attribute/valuesWithContext/_item/value
|
2007-05-13 20:58:29 +00:00
|
|
|
offset=call_ber_oid_callback("unknown", tvb, offset, actx->pinfo, tree);
|
2004-10-29 11:10:31 +00:00
|
|
|
|
2008-09-01 20:29:01 +00:00
|
|
|
#.FN_PARS ResultAttribute/attributeType
|
|
|
|
FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &object_identifier_id
|
|
|
|
|
|
|
|
#.FN_BODY ResultAttribute/outputValues/selectedValues/_item
|
|
|
|
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
|
|
|
|
|
|
|
|
#.FN_PARS Context/contextType
|
|
|
|
FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &object_identifier_id
|
|
|
|
|
|
|
|
#.FN_BODY Context/contextValues/_item
|
|
|
|
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
|
|
|
|
|
|
|
|
#.FN_PARS AttributeType
|
|
|
|
FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &object_identifier_id
|
|
|
|
|
|
|
|
#.FN_BODY AttributeValue
|
|
|
|
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
|
|
|
|
|
|
|
|
#.FN_PARS AttributeValueAssertion/type
|
|
|
|
FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &object_identifier_id
|
|
|
|
|
|
|
|
#.FN_BODY AttributeValueAssertion/assertion
|
|
|
|
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
|
|
|
|
|
2009-06-02 09:44:52 +00:00
|
|
|
#.FN_PARS Attribute/type
|
2008-09-01 20:29:01 +00:00
|
|
|
FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &object_identifier_id
|
|
|
|
|
2009-06-02 09:44:52 +00:00
|
|
|
#.FN_BODY Attribute/values/_item
|
2008-09-01 20:29:01 +00:00
|
|
|
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
|
|
|
|
|
|
|
|
#.FN_PARS ContextProfile/contextType
|
|
|
|
FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &object_identifier_id
|
|
|
|
|
|
|
|
#.FN_BODY ContextProfile/contextValue/_item
|
|
|
|
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
|
|
|
|
|
|
|
|
#.FN_PARS MatchingUse/restrictionType
|
|
|
|
FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &object_identifier_id
|
|
|
|
|
|
|
|
#.FN_BODY MatchingUse/restrictionValue
|
|
|
|
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
|
|
|
|
|
|
|
|
#.FN_BODY AttributeTypeAndDistinguishedValue/valuesWithContext/_item/distingAttrValue
|
|
|
|
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
|
|
|
|
|
2005-11-16 07:13:12 +00:00
|
|
|
#.FN_BODY RelativeDistinguishedName
|
|
|
|
char *temp_dn;
|
|
|
|
|
|
|
|
rdn_one_value = FALSE;
|
|
|
|
top_of_rdn = tree;
|
|
|
|
last_rdn = ep_alloc(MAX_DN_STR_LEN); *last_rdn = '\0';
|
2011-04-12 20:39:48 +00:00
|
|
|
register_frame_end_routine (x509if_frame_end);
|
2005-11-16 07:13:12 +00:00
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
/* we've finished - close the bracket */
|
|
|
|
proto_item_append_text(top_of_rdn, " (%%s)", last_rdn);
|
|
|
|
|
|
|
|
/* now append this to the DN */
|
2006-02-17 16:35:45 +00:00
|
|
|
if (last_dn) {
|
|
|
|
if(*last_dn) {
|
|
|
|
temp_dn = ep_alloc(MAX_DN_STR_LEN); /* is there a better way to use ep_alloc here ? */
|
|
|
|
g_snprintf(temp_dn, MAX_DN_STR_LEN, "%%s,%%s", last_rdn, last_dn);
|
|
|
|
last_dn[0] = '\0';
|
|
|
|
g_strlcat(last_dn, temp_dn, MAX_DN_STR_LEN);
|
|
|
|
} else {
|
|
|
|
g_strlcat(last_dn, last_rdn, MAX_DN_STR_LEN);
|
|
|
|
}
|
|
|
|
}
|
2005-11-16 07:13:12 +00:00
|
|
|
|
|
|
|
last_rdn = NULL; /* it will get freed when the next packet is dissected */
|
|
|
|
|
|
|
|
#.FN_BODY RelativeDistinguishedName/_item
|
|
|
|
|
|
|
|
if(!rdn_one_value) {
|
|
|
|
top_of_rdn = tree;
|
|
|
|
} else {
|
|
|
|
|
2011-04-12 20:39:48 +00:00
|
|
|
if(last_rdn)
|
2005-11-16 07:13:12 +00:00
|
|
|
/* this is an additional value - delimit */
|
|
|
|
g_strlcat(last_rdn, "+", MAX_RDN_STR_LEN);
|
|
|
|
}
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
rdn_one_value = TRUE;
|
|
|
|
|
|
|
|
#.FN_BODY RDNSequence
|
2005-12-14 21:02:56 +00:00
|
|
|
const char *fmt;
|
2005-11-16 07:13:12 +00:00
|
|
|
|
|
|
|
dn_one_rdn = FALSE; /* reset */
|
2006-01-10 23:28:16 +00:00
|
|
|
last_dn = ep_alloc(MAX_DN_STR_LEN); *last_dn = '\0';
|
2005-11-16 07:13:12 +00:00
|
|
|
top_of_dn = NULL;
|
2011-04-12 20:39:48 +00:00
|
|
|
register_frame_end_routine (x509if_frame_end);
|
|
|
|
|
2005-11-16 07:13:12 +00:00
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
/* we've finished - append the dn */
|
|
|
|
proto_item_append_text(top_of_dn, " (%%s)", last_dn);
|
|
|
|
|
2005-12-14 21:02:56 +00:00
|
|
|
/* see if we should append this to the col info */
|
2007-05-13 20:58:29 +00:00
|
|
|
if(check_col(actx->pinfo->cinfo, COL_INFO) &&
|
2005-12-14 21:02:56 +00:00
|
|
|
(fmt = val_to_str(hf_index, fmt_vals, "")) && *fmt) {
|
|
|
|
/* we have a format */
|
2007-05-13 20:58:29 +00:00
|
|
|
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s%%s", fmt, last_dn);
|
2006-01-10 23:28:16 +00:00
|
|
|
}
|
|
|
|
|
2005-11-16 07:13:12 +00:00
|
|
|
|
|
|
|
#.FN_BODY RDNSequence/_item
|
|
|
|
|
|
|
|
if(!dn_one_rdn) {
|
|
|
|
/* this is the first element - record the top */
|
|
|
|
top_of_dn = tree;
|
|
|
|
}
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
dn_one_rdn = TRUE;
|
|
|
|
|
2005-12-14 21:02:56 +00:00
|
|
|
#.FN_BODY AttributeValueAssertion
|
|
|
|
|
|
|
|
ava_hf_index = hf_index;
|
|
|
|
last_ava = ep_alloc(MAX_AVA_STR_LEN); *last_ava = '\0';
|
2011-04-12 20:39:48 +00:00
|
|
|
register_frame_end_routine (x509if_frame_end);
|
2005-12-14 21:02:56 +00:00
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
ava_hf_index=-1;
|
|
|
|
|
2008-01-26 10:05:13 +00:00
|
|
|
#.FN_BODY Attribute
|
|
|
|
doing_attr = TRUE;
|
2011-04-12 20:39:48 +00:00
|
|
|
register_frame_end_routine (x509if_frame_end);
|
2008-01-26 10:05:13 +00:00
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
2004-10-05 09:18:55 +00:00
|
|
|
#.END
|
|
|
|
|
|
|
|
|