Keep vanetza-idf in obu-firmware, so a plain clone builds the firmware
obu-firmware builds against the vanetza-idf C-ITS library, which until now came from the colleague's microbu-esp32c5 tree beside the repository and was not tracked here, so a clone of this repository could not build the firmware it ships. The library alone is now part of obu-firmware, as obu-firmware/external/vanetza-idf: their external/vanetza-idf at commit cf4b99f, unchanged (9775 files; see its PROVENANCE.md). CMake takes it from there by default; -DVANETZA_IDF_DIR still points the build elsewhere. The rest of the colleague's tree (their own VAM firmware, PKI tooling, station-link Python tools, the V2X2MAP bridge) stays out of this repository and gitignored; nothing is pushed to their repository. NOTES.md, docs/06, TODO.md and the pcap verifier's usage line point at the new location.
This commit is contained in:
Vendored
+60
@@ -0,0 +1,60 @@
|
||||
diff --git a/Ieee1609Dot2Dot1Protocol.asn b/Ieee1609Dot2Dot1Protocol.asn
|
||||
index 78c0489..1bfb644 100644
|
||||
--- a/Ieee1609Dot2Dot1Protocol.asn
|
||||
+++ b/Ieee1609Dot2Dot1Protocol.asn
|
||||
@@ -440,31 +440,35 @@ SignerSelf ::= SignerIdentifier (WITH COMPONENTS {
|
||||
-- Certificate Requests --
|
||||
--***************************************************************************--
|
||||
|
||||
+ScmsPdu-RaAcaCertRequest ::= ScmsPdu-Scoped {
|
||||
+ AcaRaInterfacePdu (WITH COMPONENTS {
|
||||
+ raAcaCertRequest
|
||||
+ })
|
||||
+}
|
||||
+ScmsPdu-EeEcaCertRequest ::= ScmsPdu-Scoped {
|
||||
+ EcaEeInterfacePdu (WITH COMPONENTS {
|
||||
+ eeEcaCertRequest
|
||||
+ })
|
||||
+}
|
||||
+ScmsPdu-EeRaCertRequest ::= ScmsPdu-Scoped {
|
||||
+ EeRaInterfacePdu (WITH COMPONENTS {
|
||||
+ eeRaCertRequest
|
||||
+ })
|
||||
+}
|
||||
+ScmsPdu-EeRaSuccessorEnrollmentCertRequest ::= ScmsPdu-Scoped {
|
||||
+ EeRaInterfacePdu (WITH COMPONENTS {
|
||||
+ eeRaSuccessorEnrollmentCertRequest
|
||||
+ })
|
||||
+}
|
||||
+
|
||||
+
|
||||
/**
|
||||
* @brief This structure defines the all certificate request structures as a
|
||||
* scoped version of the ScmsPdu.
|
||||
*/
|
||||
ScopedCertificateRequest ::= ScmsPdu (
|
||||
- ScmsPdu-Scoped {
|
||||
- AcaRaInterfacePdu (WITH COMPONENTS {
|
||||
- raAcaCertRequest
|
||||
- })
|
||||
- } |
|
||||
- ScmsPdu-Scoped {
|
||||
- EcaEeInterfacePdu (WITH COMPONENTS {
|
||||
- eeEcaCertRequest
|
||||
- })
|
||||
- } |
|
||||
- ScmsPdu-Scoped {
|
||||
- EeRaInterfacePdu (WITH COMPONENTS {
|
||||
- eeRaCertRequest
|
||||
- })
|
||||
- } |
|
||||
- ScmsPdu-Scoped {
|
||||
- EeRaInterfacePdu (WITH COMPONENTS {
|
||||
- eeRaSuccessorEnrollmentCertRequest
|
||||
- })
|
||||
- }
|
||||
+ ScmsPdu-RaAcaCertRequest | ScmsPdu-EeEcaCertRequest |
|
||||
+ ScmsPdu-EeRaCertRequest | ScmsPdu-EeRaSuccessorEnrollmentCertRequest
|
||||
)
|
||||
|
||||
/**
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
diff --git a/vanetza/asn1/support/INTEGER_oer.c b/vanetza/asn1/support/INTEGER_oer.c
|
||||
index 8e0db3244..40dd53f4c 100644
|
||||
--- a/vanetza/asn1/support/INTEGER_oer.c
|
||||
+++ b/vanetza/asn1/support/INTEGER_oer.c
|
||||
@@ -49,7 +49,7 @@ INTEGER_decode_oer(const asn_codec_ctx_t *opt_codec_ctx,
|
||||
size -= consumed;
|
||||
}
|
||||
|
||||
- if(req_bytes > size) {
|
||||
+ if(req_bytes == 0 || req_bytes > size) {
|
||||
ASN__DECODE_STARVED;
|
||||
}
|
||||
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
diff --git a/vanetza/asn1/its/ConnectionManeuverAssist-addGrpC.c b/vanetza/asn1/its/ConnectionManeuverAssist-addGrpC.c
|
||||
index 479097e44..4067a8953 100644
|
||||
--- a/vanetza/asn1/its/ConnectionManeuverAssist-addGrpC.c
|
||||
+++ b/vanetza/asn1/its/ConnectionManeuverAssist-addGrpC.c
|
||||
@@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
#include "ConnectionManeuverAssist-addGrpC.h"
|
||||
+#include "ItsStationPositionList.h"
|
||||
|
||||
asn_TYPE_member_t asn_MBR_ConnectionManeuverAssist_addGrpC_1[] = {
|
||||
{ ATF_POINTER, 1, offsetof(struct ConnectionManeuverAssist_addGrpC, itsStationPosition),
|
||||
diff --git a/vanetza/asn1/its/ConnectionManeuverAssist-addGrpC.h b/vanetza/asn1/its/ConnectionManeuverAssist-addGrpC.h
|
||||
index 5fab8e140..705cbd324 100644
|
||||
--- a/vanetza/asn1/its/ConnectionManeuverAssist-addGrpC.h
|
||||
+++ b/vanetza/asn1/its/ConnectionManeuverAssist-addGrpC.h
|
||||
@@ -43,7 +43,7 @@ extern asn_TYPE_member_t asn_MBR_ConnectionManeuverAssist_addGrpC_1[1];
|
||||
#endif
|
||||
|
||||
/* Referred external types */
|
||||
-#include "ItsStationPositionList.h"
|
||||
+/* #include "ItsStationPositionList.h" */
|
||||
|
||||
#endif /* _ConnectionManeuverAssist_addGrpC_H_ */
|
||||
#include "asn_internal.h"
|
||||
diff --git a/vanetza/asn1/its/MapData-addGrpC.c b/vanetza/asn1/its/MapData-addGrpC.c
|
||||
index 771d73165..b5481881f 100644
|
||||
--- a/vanetza/asn1/its/MapData-addGrpC.c
|
||||
+++ b/vanetza/asn1/its/MapData-addGrpC.c
|
||||
@@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
#include "MapData-addGrpC.h"
|
||||
+#include "SignalHeadLocationList.h"
|
||||
|
||||
asn_TYPE_member_t asn_MBR_MapData_addGrpC_1[] = {
|
||||
{ ATF_POINTER, 1, offsetof(struct MapData_addGrpC, signalHeadLocations),
|
||||
diff --git a/vanetza/asn1/its/MapData-addGrpC.h b/vanetza/asn1/its/MapData-addGrpC.h
|
||||
index 57a319245..6eeed4138 100644
|
||||
--- a/vanetza/asn1/its/MapData-addGrpC.h
|
||||
+++ b/vanetza/asn1/its/MapData-addGrpC.h
|
||||
@@ -43,7 +43,7 @@ extern asn_TYPE_member_t asn_MBR_MapData_addGrpC_1[1];
|
||||
#endif
|
||||
|
||||
/* Referred external types */
|
||||
-#include "SignalHeadLocationList.h"
|
||||
+/* #include "SignalHeadLocationList.h" */
|
||||
|
||||
#endif /* _MapData_addGrpC_H_ */
|
||||
#include "asn_internal.h"
|
||||
diff --git a/vanetza/asn1/its/NodeSetXY.c b/vanetza/asn1/its/NodeSetXY.c
|
||||
index b07348a5b..0cdd012c0 100644
|
||||
--- a/vanetza/asn1/its/NodeSetXY.c
|
||||
+++ b/vanetza/asn1/its/NodeSetXY.c
|
||||
@@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
#include "NodeSetXY.h"
|
||||
+#include "NodeXY.h"
|
||||
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
asn_oer_constraints_t asn_OER_type_NodeSetXY_constr_1 CC_NOTUSED = {
|
||||
diff --git a/vanetza/asn1/its/NodeSetXY.h b/vanetza/asn1/its/NodeSetXY.h
|
||||
index c7bde7e41..1018d28a2 100644
|
||||
--- a/vanetza/asn1/its/NodeSetXY.h
|
||||
+++ b/vanetza/asn1/its/NodeSetXY.h
|
||||
@@ -42,7 +42,7 @@ extern asn_per_constraints_t asn_PER_type_NodeSetXY_constr_1;
|
||||
#endif
|
||||
|
||||
/* Referred external types */
|
||||
-#include "NodeXY.h"
|
||||
+/* #include "NodeXY.h" */
|
||||
|
||||
#endif /* _NodeSetXY_H_ */
|
||||
#include "asn_internal.h"
|
||||
+132
@@ -0,0 +1,132 @@
|
||||
diff --git a/vanetza/asn1/its/RegionalExtension.h b/vanetza/asn1/its/RegionalExtension.h
|
||||
index 3ad7797f..3118dd43 100644
|
||||
--- a/vanetza/asn1/its/RegionalExtension.h
|
||||
+++ b/vanetza/asn1/its/RegionalExtension.h
|
||||
@@ -165,6 +165,7 @@ typedef struct Reg_RTCMcorrections {
|
||||
struct Reg_RTCMcorrections__regExtValue {
|
||||
Reg_RTCMcorrections__regExtValue_PR present;
|
||||
union Reg_RTCMcorrections__regExtValue_u {
|
||||
+ char _placeholder; /* avoid empty union */
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
@@ -179,6 +180,7 @@ typedef struct Reg_SPAT {
|
||||
struct Reg_SPAT__regExtValue {
|
||||
Reg_SPAT__regExtValue_PR present;
|
||||
union Reg_SPAT__regExtValue_u {
|
||||
+ char _placeholder; /* avoid empty union */
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
@@ -193,6 +195,7 @@ typedef struct Reg_SignalRequestMessage {
|
||||
struct Reg_SignalRequestMessage__regExtValue {
|
||||
Reg_SignalRequestMessage__regExtValue_PR present;
|
||||
union Reg_SignalRequestMessage__regExtValue_u {
|
||||
+ char _placeholder; /* avoid empty union */
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
@@ -207,6 +210,7 @@ typedef struct Reg_SignalStatusMessage {
|
||||
struct Reg_SignalStatusMessage__regExtValue {
|
||||
Reg_SignalStatusMessage__regExtValue_PR present;
|
||||
union Reg_SignalStatusMessage__regExtValue_u {
|
||||
+ char _placeholder; /* avoid empty union */
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
@@ -221,6 +225,7 @@ typedef struct Reg_AdvisorySpeed {
|
||||
struct Reg_AdvisorySpeed__regExtValue {
|
||||
Reg_AdvisorySpeed__regExtValue_PR present;
|
||||
union Reg_AdvisorySpeed__regExtValue_u {
|
||||
+ char _placeholder; /* avoid empty union */
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
@@ -235,6 +240,7 @@ typedef struct Reg_ComputedLane {
|
||||
struct Reg_ComputedLane__regExtValue {
|
||||
Reg_ComputedLane__regExtValue_PR present;
|
||||
union Reg_ComputedLane__regExtValue_u {
|
||||
+ char _placeholder; /* avoid empty union */
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
@@ -279,6 +285,7 @@ typedef struct Reg_IntersectionGeometry {
|
||||
struct Reg_IntersectionGeometry__regExtValue {
|
||||
Reg_IntersectionGeometry__regExtValue_PR present;
|
||||
union Reg_IntersectionGeometry__regExtValue_u {
|
||||
+ char _placeholder; /* avoid empty union */
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
@@ -323,6 +330,7 @@ typedef struct Reg_LaneDataAttribute {
|
||||
struct Reg_LaneDataAttribute__regExtValue {
|
||||
Reg_LaneDataAttribute__regExtValue_PR present;
|
||||
union Reg_LaneDataAttribute__regExtValue_u {
|
||||
+ char _placeholder; /* avoid empty union */
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
@@ -352,6 +360,7 @@ typedef struct Reg_MovementState {
|
||||
struct Reg_MovementState__regExtValue {
|
||||
Reg_MovementState__regExtValue_PR present;
|
||||
union Reg_MovementState__regExtValue_u {
|
||||
+ char _placeholder; /* avoid empty union */
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
@@ -381,6 +390,7 @@ typedef struct Reg_NodeOffsetPointXY {
|
||||
struct Reg_NodeOffsetPointXY__regExtValue {
|
||||
Reg_NodeOffsetPointXY__regExtValue_PR present;
|
||||
union Reg_NodeOffsetPointXY__regExtValue_u {
|
||||
+ char _placeholder; /* avoid empty union */
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
@@ -425,6 +435,7 @@ typedef struct Reg_RequestorType {
|
||||
struct Reg_RequestorType__regExtValue {
|
||||
Reg_RequestorType__regExtValue_PR present;
|
||||
union Reg_RequestorType__regExtValue_u {
|
||||
+ char _placeholder; /* avoid empty union */
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
@@ -454,6 +465,7 @@ typedef struct Reg_RoadSegment {
|
||||
struct Reg_RoadSegment__regExtValue {
|
||||
Reg_RoadSegment__regExtValue_PR present;
|
||||
union Reg_RoadSegment__regExtValue_u {
|
||||
+ char _placeholder; /* avoid empty union */
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
@@ -468,6 +480,7 @@ typedef struct Reg_SignalControlZone {
|
||||
struct Reg_SignalControlZone__regExtValue {
|
||||
Reg_SignalControlZone__regExtValue_PR present;
|
||||
union Reg_SignalControlZone__regExtValue_u {
|
||||
+ char _placeholder; /* avoid empty union */
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
@@ -482,6 +495,7 @@ typedef struct Reg_SignalRequest {
|
||||
struct Reg_SignalRequest__regExtValue {
|
||||
Reg_SignalRequest__regExtValue_PR present;
|
||||
union Reg_SignalRequest__regExtValue_u {
|
||||
+ char _placeholder; /* avoid empty union */
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
@@ -496,6 +510,7 @@ typedef struct Reg_SignalRequestPackage {
|
||||
struct Reg_SignalRequestPackage__regExtValue {
|
||||
Reg_SignalRequestPackage__regExtValue_PR present;
|
||||
union Reg_SignalRequestPackage__regExtValue_u {
|
||||
+ char _placeholder; /* avoid empty union */
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
@@ -510,6 +525,7 @@ typedef struct Reg_SignalStatus {
|
||||
struct Reg_SignalStatus__regExtValue {
|
||||
Reg_SignalStatus__regExtValue_PR present;
|
||||
union Reg_SignalStatus__regExtValue_u {
|
||||
+ char _placeholder; /* avoid empty union */
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
@@ -0,0 +1,94 @@
|
||||
diff --git a/vanetza/asn1/its/TimestampIts.c b/vanetza/asn1/its/TimestampIts.c
|
||||
index d377fc9db..b03f21b69 100644
|
||||
--- a/vanetza/asn1/its/TimestampIts.c
|
||||
+++ b/vanetza/asn1/its/TimestampIts.c
|
||||
@@ -11,7 +11,7 @@ int
|
||||
TimestampIts_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const INTEGER_t *st = (const INTEGER_t *)sptr;
|
||||
- unsigned long value;
|
||||
+ uintmax_t value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
@@ -20,7 +20,7 @@ TimestampIts_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
return -1;
|
||||
}
|
||||
|
||||
- if(asn_INTEGER2ulong(st, &value)) {
|
||||
+ if(asn_INTEGER2umax(st, &value)) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value too large (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
@@ -49,10 +49,15 @@ asn_oer_constraints_t asn_OER_type_TimestampIts_constr_1 CC_NOTUSED = {
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_TimestampIts_constr_1 CC_NOTUSED = {
|
||||
- { APC_CONSTRAINED, 42, -1, 0, 4398046511103 } /* (0..4398046511103) */,
|
||||
+ { APC_CONSTRAINED, 42, -1, 0, 4398046511103UL } /* (0..4398046511103) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
+const asn_INTEGER_specifics_t asn_SPC_TimestampIts_specs_1 = {
|
||||
+ 0, 0, 0, 0, 0,
|
||||
+ 0, /* Native long size */
|
||||
+ 1 /* Unsigned representation */
|
||||
+};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_TimestampIts_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
@@ -80,6 +85,6 @@ asn_TYPE_descriptor_t asn_DEF_TimestampIts = {
|
||||
TimestampIts_constraint
|
||||
},
|
||||
0, 0, /* Defined elsewhere */
|
||||
- 0 /* No specifics */
|
||||
+ &asn_SPC_TimestampIts_specs_1 /* Manually added specifics */
|
||||
};
|
||||
|
||||
diff --git a/vanetza/asn1/its/r2/TimestampIts.c b/vanetza/asn1/its/r2/TimestampIts.c
|
||||
index 07bb4bf21..8169b5cce 100644
|
||||
--- a/vanetza/asn1/its/r2/TimestampIts.c
|
||||
+++ b/vanetza/asn1/its/r2/TimestampIts.c
|
||||
@@ -11,7 +11,7 @@ int
|
||||
Vanetza_ITS2_TimestampIts_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const INTEGER_t *st = (const INTEGER_t *)sptr;
|
||||
- unsigned long value;
|
||||
+ uintmax_t value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
@@ -20,7 +20,7 @@ Vanetza_ITS2_TimestampIts_constraint(const asn_TYPE_descriptor_t *td, const void
|
||||
return -1;
|
||||
}
|
||||
|
||||
- if(asn_INTEGER2ulong(st, &value)) {
|
||||
+ if(asn_INTEGER2umax(st, &value)) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value too large (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
@@ -49,10 +49,15 @@ asn_oer_constraints_t asn_OER_type_Vanetza_ITS2_TimestampIts_constr_1 CC_NOTUSED
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_Vanetza_ITS2_TimestampIts_constr_1 CC_NOTUSED = {
|
||||
- { APC_CONSTRAINED, 42, -1, 0, 4398046511103 } /* (0..4398046511103) */,
|
||||
+ { APC_CONSTRAINED, 42, -1, 0, 4398046511103UL } /* (0..4398046511103) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
+const asn_INTEGER_specifics_t asn_SPC_Vanetza_ITS2_TimestampIts_specs_1 = {
|
||||
+ 0, 0, 0, 0, 0,
|
||||
+ 0, /* Native long size */
|
||||
+ 1 /* Unsigned representation */
|
||||
+};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_Vanetza_ITS2_TimestampIts_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
@@ -80,6 +85,6 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_ITS2_TimestampIts = {
|
||||
Vanetza_ITS2_TimestampIts_constraint
|
||||
},
|
||||
0, 0, /* No members */
|
||||
- 0 /* No specifics */
|
||||
+ &asn_SPC_Vanetza_ITS2_TimestampIts_specs_1 /* Manually added specifics */
|
||||
};
|
||||
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
From 14774309f6b18136037adb5c0d15fa73aac657a7 Mon Sep 17 00:00:00 2001
|
||||
From: Raphael Riebl <raphael@riebl.net>
|
||||
Date: Mon, 26 Jan 2026 09:50:36 +0100
|
||||
Subject: [PATCH] asn1: patch ITS2 SituationContainer #277
|
||||
|
||||
---
|
||||
vanetza/asn1/its/r2/SituationContainer.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/vanetza/asn1/its/r2/SituationContainer.h b/vanetza/asn1/its/r2/SituationContainer.h
|
||||
index 441b6df81..9a5b0235e 100644
|
||||
--- a/vanetza/asn1/its/r2/SituationContainer.h
|
||||
+++ b/vanetza/asn1/its/r2/SituationContainer.h
|
||||
@@ -25,7 +25,7 @@ extern "C" {
|
||||
|
||||
/* Forward declarations */
|
||||
struct Vanetza_ITS2_CauseCodeV2;
|
||||
-struct Vanetza_ITS2_EventZone;
|
||||
+struct Vanetza_ITS2_EventHistory;
|
||||
struct Vanetza_ITS2_ActionIdList;
|
||||
|
||||
/* Vanetza_ITS2_SituationContainer */
|
||||
@@ -33,7 +33,7 @@ typedef struct Vanetza_ITS2_SituationContainer {
|
||||
Vanetza_ITS2_InformationQuality_t informationQuality;
|
||||
Vanetza_ITS2_CauseCodeV2_t eventType;
|
||||
struct Vanetza_ITS2_CauseCodeV2 *linkedCause; /* OPTIONAL */
|
||||
- struct Vanetza_ITS2_EventZone *eventZone; /* OPTIONAL */
|
||||
+ struct Vanetza_ITS2_EventHistory *eventZone; /* OPTIONAL */
|
||||
/*
|
||||
* This type is extensible,
|
||||
* possible extensions are below.
|
||||
--
|
||||
2.52.0
|
||||
|
||||
+188
@@ -0,0 +1,188 @@
|
||||
diff --git a/vanetza/asn1/security/Time64.c b/vanetza/asn1/security/Time64.c
|
||||
index bdbe30d7d..3bd3abb53 100644
|
||||
--- a/vanetza/asn1/security/Time64.c
|
||||
+++ b/vanetza/asn1/security/Time64.c
|
||||
@@ -11,7 +11,7 @@ int
|
||||
Vanetza_Security_Time64_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const Vanetza_Security_Uint64_t *st = (const Vanetza_Security_Uint64_t *)sptr;
|
||||
- unsigned long value;
|
||||
+ uintmax_t value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
@@ -20,7 +20,7 @@ Vanetza_Security_Time64_constraint(const asn_TYPE_descriptor_t *td, const void *
|
||||
return -1;
|
||||
}
|
||||
|
||||
- if(asn_INTEGER2ulong(st, &value)) {
|
||||
+ if(asn_INTEGER2umax(st, &value)) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value too large (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
@@ -49,10 +49,15 @@ asn_oer_constraints_t asn_OER_type_Vanetza_Security_Time64_constr_1 CC_NOTUSED =
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_Vanetza_Security_Time64_constr_1 CC_NOTUSED = {
|
||||
- { APC_CONSTRAINED, 64, -1, 0, 18446744073709551615 } /* (0..18446744073709551615) */,
|
||||
+ { APC_CONSTRAINED, 64, -1, 0, 18446744073709551615UL } /* (0..18446744073709551615) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
+const asn_INTEGER_specifics_t asn_SPC_Vanetza_Security_Time64_specs_1 = {
|
||||
+ 0, 0, 0, 0, 0,
|
||||
+ 0, /* Native long size */
|
||||
+ 1 /* Unsigned representation */
|
||||
+};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_Time64_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
@@ -80,6 +85,6 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Time64 = {
|
||||
Vanetza_Security_Time64_constraint
|
||||
},
|
||||
0, 0, /* No members */
|
||||
- 0 /* No specifics */
|
||||
+ &asn_SPC_Vanetza_Security_Time64_specs_1 /* Manually added specifics */
|
||||
};
|
||||
|
||||
diff --git a/vanetza/asn1/security/Uint64.c b/vanetza/asn1/security/Uint64.c
|
||||
index a54a77f80..8ba62797a 100644
|
||||
--- a/vanetza/asn1/security/Uint64.c
|
||||
+++ b/vanetza/asn1/security/Uint64.c
|
||||
@@ -11,7 +11,7 @@ int
|
||||
Vanetza_Security_Uint64_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const INTEGER_t *st = (const INTEGER_t *)sptr;
|
||||
- unsigned long value;
|
||||
+ uintmax_t value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
@@ -20,7 +20,7 @@ Vanetza_Security_Uint64_constraint(const asn_TYPE_descriptor_t *td, const void *
|
||||
return -1;
|
||||
}
|
||||
|
||||
- if(asn_INTEGER2ulong(st, &value)) {
|
||||
+ if(asn_INTEGER2umax(st, &value)) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value too large (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
@@ -49,10 +49,15 @@ asn_oer_constraints_t asn_OER_type_Vanetza_Security_Uint64_constr_1 CC_NOTUSED =
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_Vanetza_Security_Uint64_constr_1 CC_NOTUSED = {
|
||||
- { APC_CONSTRAINED, 64, -1, 0, 18446744073709551615 } /* (0..18446744073709551615) */,
|
||||
+ { APC_CONSTRAINED, 64, -1, 0, 18446744073709551615UL } /* (0..18446744073709551615) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
+const asn_INTEGER_specifics_t asn_SPC_Vanetza_Security_Uint64_specs_1 = {
|
||||
+ 0, 0, 0, 0, 0,
|
||||
+ 0, /* Native long size */
|
||||
+ 1 /* Unsigned representation */
|
||||
+};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_Vanetza_Security_Uint64_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
@@ -80,6 +85,6 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security_Uint64 = {
|
||||
Vanetza_Security_Uint64_constraint
|
||||
},
|
||||
0, 0, /* No members */
|
||||
- 0 /* No specifics */
|
||||
+ &asn_SPC_Vanetza_Security_Uint64_specs_1 /* Manually added specifics */
|
||||
};
|
||||
|
||||
diff --git a/vanetza/asn1/security/r2/Time64.c b/vanetza/asn1/security/r2/Time64.c
|
||||
index 231e36513..0e77ec0f6 100644
|
||||
--- a/vanetza/asn1/security/r2/Time64.c
|
||||
+++ b/vanetza/asn1/security/r2/Time64.c
|
||||
@@ -11,7 +11,7 @@ int
|
||||
Vanetza_Security2_Time64_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const Vanetza_Security2_Uint64_t *st = (const Vanetza_Security2_Uint64_t *)sptr;
|
||||
- unsigned long value;
|
||||
+ uintmax_t value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
@@ -20,7 +20,7 @@ Vanetza_Security2_Time64_constraint(const asn_TYPE_descriptor_t *td, const void
|
||||
return -1;
|
||||
}
|
||||
|
||||
- if(asn_INTEGER2ulong(st, &value)) {
|
||||
+ if(asn_INTEGER2umax(st, &value)) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value too large (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
@@ -49,10 +49,15 @@ asn_oer_constraints_t asn_OER_type_Vanetza_Security2_Time64_constr_1 CC_NOTUSED
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_Vanetza_Security2_Time64_constr_1 CC_NOTUSED = {
|
||||
- { APC_CONSTRAINED, 64, -1, 0, 18446744073709551615 } /* (0..18446744073709551615) */,
|
||||
+ { APC_CONSTRAINED, 64, -1, 0, 18446744073709551615UL } /* (0..18446744073709551615) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
+const asn_INTEGER_specifics_t asn_SPC_Vanetza_Security2_Time64_specs_1 = {
|
||||
+ 0, 0, 0, 0, 0,
|
||||
+ 0, /* Native long size */
|
||||
+ 1 /* Unsigned representation */
|
||||
+};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_Time64_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
@@ -80,6 +85,6 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_Time64 = {
|
||||
Vanetza_Security2_Time64_constraint
|
||||
},
|
||||
0, 0, /* No members */
|
||||
- 0 /* No specifics */
|
||||
+ &asn_SPC_Vanetza_Security2_Time64_specs_1 /* Manually added specifics */
|
||||
};
|
||||
|
||||
diff --git a/vanetza/asn1/security/r2/Uint64.c b/vanetza/asn1/security/r2/Uint64.c
|
||||
index 812c6c56b..09139ab77 100644
|
||||
--- a/vanetza/asn1/security/r2/Uint64.c
|
||||
+++ b/vanetza/asn1/security/r2/Uint64.c
|
||||
@@ -11,7 +11,7 @@ int
|
||||
Vanetza_Security2_Uint64_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const INTEGER_t *st = (const INTEGER_t *)sptr;
|
||||
- unsigned long value;
|
||||
+ uintmax_t value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
@@ -20,7 +20,7 @@ Vanetza_Security2_Uint64_constraint(const asn_TYPE_descriptor_t *td, const void
|
||||
return -1;
|
||||
}
|
||||
|
||||
- if(asn_INTEGER2ulong(st, &value)) {
|
||||
+ if(asn_INTEGER2umax(st, &value)) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value too large (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
@@ -49,10 +49,15 @@ asn_oer_constraints_t asn_OER_type_Vanetza_Security2_Uint64_constr_1 CC_NOTUSED
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_Vanetza_Security2_Uint64_constr_1 CC_NOTUSED = {
|
||||
- { APC_CONSTRAINED, 64, -1, 0, 18446744073709551615 } /* (0..18446744073709551615) */,
|
||||
+ { APC_CONSTRAINED, 64, -1, 0, 18446744073709551615UL } /* (0..18446744073709551615) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
+const asn_INTEGER_specifics_t asn_SPC_Vanetza_Security2_Uint64_specs_1 = {
|
||||
+ 0, 0, 0, 0, 0,
|
||||
+ 0, /* Native long size */
|
||||
+ 1 /* Unsigned representation */
|
||||
+};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_Vanetza_Security2_Uint64_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
@@ -80,6 +85,6 @@ asn_TYPE_descriptor_t asn_DEF_Vanetza_Security2_Uint64 = {
|
||||
Vanetza_Security2_Uint64_constraint
|
||||
},
|
||||
0, 0, /* No members */
|
||||
- 0 /* No specifics */
|
||||
+ &asn_SPC_Vanetza_Security2_Uint64_specs_1 /* Manually added specifics */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
diff --git a/vanetza/asn1/support/asn_system.h b/vanetza/asn1/support/asn_system.h
|
||||
index 51859cdd..c97a9ad5 100644
|
||||
--- a/vanetza/asn1/support/asn_system.h
|
||||
+++ b/vanetza/asn1/support/asn_system.h
|
||||
@@ -125,7 +125,7 @@ typedef unsigned int uint32_t;
|
||||
#endif /* __GNUC__ */
|
||||
#endif /* MIN */
|
||||
|
||||
-#if __STDC_VERSION__ >= 199901L
|
||||
+#if __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L
|
||||
#ifndef SIZE_MAX
|
||||
#define SIZE_MAX ((~((size_t)0)) >> 1)
|
||||
#endif
|
||||
@@ -145,7 +145,7 @@ typedef unsigned int uint32_t;
|
||||
#define RSSIZE_MAX ((ssize_t)(RSIZE_MAX >> 1))
|
||||
#endif
|
||||
|
||||
-#if __STDC_VERSION__ >= 199901L
|
||||
+#if __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L
|
||||
#define ASN_PRI_SIZE "zu"
|
||||
#define ASN_PRI_SSIZE "zd"
|
||||
#define ASN_PRIuMAX PRIuMAX
|
||||
Reference in New Issue
Block a user