diff options
Diffstat (limited to 'epan/dissectors/asn1/pkix1explicit/pkix1explicit.cnf')
-rw-r--r-- | epan/dissectors/asn1/pkix1explicit/pkix1explicit.cnf | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/pkix1explicit/pkix1explicit.cnf b/epan/dissectors/asn1/pkix1explicit/pkix1explicit.cnf new file mode 100644 index 0000000000..25c6957b7f --- /dev/null +++ b/epan/dissectors/asn1/pkix1explicit/pkix1explicit.cnf @@ -0,0 +1,90 @@ +# pkix1explicit.cnf +# pkix1explicit conformation file + +#.MODULE_IMPORT + +#.EXPORTS +Attribute +AttributeTypeAndValue +CertificateSerialNumber +DirectoryString +Extension +Extensions +RelativeDistinguishedName +RDNSequence +TeletexDomainDefinedAttribute +TerminalType +Version +Time +UniqueIdentifier + +#.REGISTER +DirectoryString B "1.3.6.1.5.5.7.2.1" "id-qt-cps" +DomainParameters B "1.2.840.10046.2.1" "dhpublicnumber" +IPAddrBlocks B "1.3.6.1.5.5.7.1.7" "id-pe-ipAddrBlocks" +ASIdentifiers B "1.3.6.1.5.5.7.1.8" "id-pe-autonomousSysIds" + +#.PDU + +#.NO_EMIT + +#.TYPE_RENAME + +#.FIELD_RENAME + +#.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_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_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 + +#.FN_BODY Extension/extnId +%(DEFAULT_BODY)s + actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE; + +#.FN_BODY Extension/extnValue + gint8 appclass; + gboolean pc, ind; + gint32 tag; + guint32 len; + /* skip past the T and L */ + offset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &appclass, &pc, &tag); + offset = dissect_ber_length(actx->pinfo, tree, tvb, offset, &len, &ind); + if (actx->external.direct_ref_present) { + offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL); + } + +# IPAddrAndASCertExtn + +#.FN_BODY IPAddressFamily/addressFamily VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb; + proto_tree *subtree; + +%(DEFAULT_BODY)s + + if (!parameter_tvb) + return offset; + subtree = proto_item_add_subtree(actx->created_item, ett_pkix1explicit_addressFamily); + proto_tree_add_item(subtree, hf_pkix1explicit_addressFamily_afn, parameter_tvb, 0, 2, ENC_BIG_ENDIAN); + if(tvb_reported_length(parameter_tvb)>2) + proto_tree_add_item(subtree, hf_pkix1explicit_addressFamily_safi, parameter_tvb, 0, 2, ENC_BIG_ENDIAN); + + +#.END + |