wireshark/epan/dissectors/asn1/ieee1609dot2/ieee1609dot2.cnf

180 lines
7.4 KiB
INI

# IEEE1609dot2.cnf
# IEEE1609dot2 conformation file
#.OPT
OER
#.END
#.MODULE
#.MODULE_IMPORT
#.EXPORTS ONLY_VALS WS_DLL
Psid
#.MAKE_ENUM
Psid
#.REGISTER
#.PDU
Ieee1609Dot2Data
#.NO_EMIT
#.OMIT_ASSIGNMENT
# Get rid of unused code warnings
TestCertificate
Countersignature
ExplicitCertificate
HashedId10
ImplicitCertificate
KnownLatitude
KnownLongitude
LaId
LinkageSeed
SequenceOfPsid
Uint3
UnknownLatitude
UnknownLongitude
#.TYPE_RENAME
#.FIELD_RENAME
EccP384CurvePoint/uncompressedP384/x eccp384cpX
EccP384CurvePoint/uncompressedP384/y eccp384cpY
EccP384CurvePoint/x-only eccp384cpXOnly
EccP384CurvePoint/compressed-y-0 eccp384cpCompressed-y-0
EccP384CurvePoint/compressed-y-1 eccp384cpCompressed-y-1
EcdsaP384Signature/rSig ecdsap384RSig
EcdsaP384Signature/sSig ecdsap384SSig
PsidSsp/psid psPsid
HeaderInfo/psid hiPsid
IssuerIdentifier/self iiSelf
SignerIdentifier/self siSelf
SspRange/opaque srRange
RegionAndSubregions/region rasRegion
ToBeSignedCertificate/encryptionKey tbscEncryptionKey
SymmRecipientInfo/encKey sriEncKey
EncryptedDataEncryptionKey/eciesNistP256 edeEciesNistP256
EncryptedDataEncryptionKey/eciesBrainpoolP256r1 edekEciesBrainpoolP256r1
#.FN_HDR Ieee1609Dot2Data
actx->private_data = (void*)wmem_new0(wmem_packet_scope(), ieee1609_private_data_t);
#.END
#.FN_BODY Ieee1609Dot2Content/unsecuredData
ieee1609_private_data_t *my_private_data = (ieee1609_private_data_t*)actx->private_data;
offset = dissect_oer_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &my_private_data->unsecured_data);
if (my_private_data->unsecured_data) {
// psid may also be provided in HeaderInfo
guint32 psid = GPOINTER_TO_UINT(p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_ieee1609dot2, 0));
if (psid) {
/* Call next dissector here */
dissector_try_uint(unsecured_data_subdissector_table, psid, my_private_data->unsecured_data, actx->pinfo, tree);
my_private_data->unsecured_data = NULL;
}
// else: wait for the HeaderInfo for a second chance to dissect the content
}
#.END
#.FN_BODY HeaderInfo/psid
guint64 psid;
ieee1609_private_data_t *my_private_data = (ieee1609_private_data_t*)actx->private_data;
offset = dissect_oer_constrained_integer_64b_no_ub(tvb, offset, actx, tree, hf_index,
0U, NO_BOUND, &psid, FALSE);
if ((my_private_data != NULL) && (my_private_data->unsecured_data != NULL)) {
/* Call next dissector here */
ieee1609dot2_set_next_default_psid(actx->pinfo, (guint32)psid);
dissector_try_uint(unsecured_data_subdissector_table, (guint32) psid, my_private_data->unsecured_data, actx->pinfo, tree);
my_private_data->unsecured_data = NULL;
}
#.END
#.FN_BODY PsidSsp/psid
offset = dissect_oer_constrained_integer_64b_no_ub(tvb, offset, actx, tree, hf_index,
0U, NO_BOUND, &((ieee1609_private_data_t*)actx->private_data)->psidssp, FALSE);
#.FN_BODY ServiceSpecificPermissions/opaque
tvbuff_t *ssp;
ieee1609_private_data_t *my_private_data = (ieee1609_private_data_t*)actx->private_data;
offset = dissect_oer_octet_string(tvb, offset, actx, tree, hf_index,
0, NO_BOUND, FALSE, &ssp);
if (ssp) {
// Create subtree
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ieee1609dot2_ssp);
/* Call next dissector here */
dissector_try_uint(ssp_subdissector_table, (guint32) my_private_data->psidssp, ssp, actx->pinfo, subtree);
}
#.END
#.ASSIGN_VALUE_TO_TYPE
psid-system Psid
psid-electronic-fee-collection Psid
psid-freight-fleet-management Psid
psid-public-transport Psid
psid-traffic-traveller-information Psid
psid-traffic-control Psid
psid-parking-management Psid
psid-geographic-road-database Psid
psid-medium-range-preinformation Psid
psid-man-machine-interface Psid
psid-intersystem-interface Psid
psid-automatic-vehicle-identification Psid
psid-emergency-warning Psid
psid-private Psid
psid-multi-purpose-payment Psid
psid-dsrc-resource-manager Psid
psid-after-theft-systems Psid
psid-cruise-assist-highway-system Psid
psid-multi-purpose-information-system Psid
psid-multi-mobile-information-system Psid
psid-efc-compliance-check-communication-applications Psid
psid-efc-localisation-augmentation-communication-applications Psid
psid-vehicle-to-vehicle-safety-and-awarenesss Psid
psid-limited-sensor-vehicle-to-vehicle-safety-and-awarenesss Psid
psid-tracked-vehicle-safety-and-awarenesss Psid
psid-wave-security-managements Psid
psid-ca-basic-services Psid
psid-den-basic-services Psid
psid-misbehavior-reporting-for-common-applications Psid
psid-vulnerable-road-users-safety-applications Psid
psid-testings Psid
psid-differential-gps-corrections-uncompressed Psid
psid-differential-gps-corrections-compressed Psid
psid-intersection-safety-and-awareness Psid
psid-traveller-information-and-roadside-signage Psid
psid-mobile-probe-exchanges Psid
psid-emergency-and-erratic-vehicles-present-in-roadway Psid
psid-remote-management-protocol-execution Psid
psid-wave-service-advertisement Psid
psid-peer-to-peer-distribution-of-security-management-information Psid
psid-traffic-light-manoeuver-service Psid
psid-road-and-lane-topology-service Psid
psid-infrastructure-to-vehicle-information-service Psid
psid-traffic-light-control-service Psid
psid-geonetworking-management-communications Psid
psid-certificate-revocation-list-application Psid
psid-vehicle-initiated-distress-notivication Psid
psid-fast-service-advertisement-protocol Psid
psid-its-station-internal-management-communications-protocol Psid
psid-veniam-delay-tolerant-networking Psid
psid-transcore-software-update Psid
psid-ipv6-routing Psid
#.END