Skip to content
Prev Previous commit
Next Next commit
account for always invalid tag which is specifically for internal usage
  • Loading branch information
mofosyne committed Oct 1, 2023
commit 84376dc51716bfebc02e3b75d7f9c79b7a61097c
9 changes: 1 addition & 8 deletions src/cbor.h
Original file line number Diff line number Diff line change
Expand Up @@ -404,8 +404,6 @@ typedef enum CborKnownTags {
CborTaggedCborArrayContainsAttestEvidenceDataWithAnIntelTeeRptTag = 60001,
// The tagged CBOR array contains attestation evidence data with an Intel SGX report.; Ref: [Shanwei_Cen]
CborTaggedCborArrayContainsAttestEvidenceDataWithAnIntelSgxRptTag = 60002,
// always invalid; see Section 10.1; Ref: [draft-bormann-cbor-notable-tags-02]
CborAlwaysInvalidTag = 65535,
// RAINS Message; Ref: [https://britram.github.io/rains-prototype][Brian_Trammell]
CborRainsMsgTag = 15309736,
// A CBOR encoded Openswan configuration file, as stored on disk forunit test cases.; Ref: [Michael_Richardson][Samir_Hussain]
Expand All @@ -416,12 +414,8 @@ typedef enum CborKnownTags {
CborArrayOfContentAddrBlocksErisReadCapTag = 1701996915,
// ERIS-FS image header; Ref: [Endo_Renberg]
CborErisFsImageHeaderTag = 1701996916,
// always invalid; see Section 10.1; Ref: [draft-bormann-cbor-notable-tags-02]
CborAlwaysInvalidTag = 4294967295,
// Intel FPGA SPDM Manifest; Ref: [Andrew_Draper]
CborIntelFpgaSpdmManifestTag = 4294967296,
// always invalid; Section 10.1; Ref: [draft-bormann-cbor-notable-tags-02]
CborAlwaysInvalidTag = 18446744073709551615
CborIntelFpgaSpdmManifestTag = 4294967296
} CborKnownTags;

/* Start of cbor known tag feature flag autogenerated section */
Expand All @@ -431,7 +425,6 @@ typedef enum CborKnownTags {
#define CborAMetadataBindingTag CborAMetadataBindingTag
#define CborAbsentValueInACborArrayTag CborAbsentValueInACborArrayTag
#define CborAlternativesAsGivenByTheUintPlus128Tag CborAlternativesAsGivenByTheUintPlus128Tag
#define CborAlwaysInvalidTag CborAlwaysInvalidTag
#define CborArrayOfComplexNumbersInInterleavedFormTag CborArrayOfComplexNumbersInInterleavedFormTag
#define CborArrayOfContentAddrBlocksErisReadCapTag CborArrayOfContentAddrBlocksErisReadCapTag
#define CborBase64Tag CborBase64Tag
Expand Down
4 changes: 4 additions & 0 deletions tools/iana/iana-cbor-c-header.py
Original file line number Diff line number Diff line change
Expand Up @@ -552,6 +552,10 @@ def iana_cbor_tag_parse_csv(csv_content: str, typedef_enum_name: str):
continue
if not cbor_tag or "unassigned" in data_item.lower() or "reserved" in semantics.lower():
continue
if "always invalid" in semantics.lower():
# Always invalid; see Section 10.1,[draft-bormann-cbor-notable-tags-02]
# The purpose of these tag number registrations is to enable the tag numbers to be reserved for internal use by implementation
continue
if "-" in cbor_tag: # is a range of value
continue
# Add to enum list
Expand Down