You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DateKeys-App/testdata/vectors/head_schema.json

344 lines
87 KiB

Format 3, step 3: read capsule format 3 of spec v0.10 Syncs testdata with datekeys-go at the tag spec-v0.10 (cc35d2c) and moves the reader to the DateKeys Protocol Specification v0.10. The three capsule formats are read. - framing: FORMAT_3, and isPadded for formats 2 and 3. control: schema version 3, with the keys 6 and 7 of version 2. SPEC_VERSION is 0.10. - open: OpenOptions.sink receives the files of a format 3 capsule (sink.ts: Sink with begin, create, commit and abort, as capsule.Sink, and MemorySink). Without one, open rejects with a TypeError right after step 2, before any request, as ErrSinkRequired. Opened gains head, verdicts, areaLen and unusableHeadExtensions. - open3.ts: step 17 of format 3 in its substeps 17.2 to 17.8, as openBody of the reference: a failure of age or a plaintext whose length is not P prevails, the first failing substep decides, and the codes other than ERR_INTEGRITY are reported only after reading PAYLOAD_AGE to its end. Reads grow with the bytes received, never with the lengths BODY declares. A failure of the sink is ERR_INTEGRITY with its text, and the sink is aborted once after begin. - The page: opener.ts opens the fixtures of format 3 into a MemorySink; the open panel says that it does not deliver their files yet, and the glosses of the steps name format 3. check-build.mjs refuses to ship the heads, salts, comments and paths of the format 3 fixtures. Tests: the 21 fixtures, format 3 laid out byte by byte from its record and opened into a sink with its files and verdicts; the 209 cases of the corpus from memory and from a Blob, with the code, the step and, new, the exact text of capsule.Open, frozen by scripts/mutation-go-texts.go in testing/mutation-texts.json, which replays the corpus as internal/testkit does (its extension validator texts included); the 5110 differential cases over 14 bases; paths, path_fold, head_schema and security vectors; the control of schema version 3 in cbor.json; and step 17 on crafted plaintexts sealed again to I_PAYLOAD, whose texts capsule.Open gives on the same plaintexts. ibe-vectors.json gains the nine format 3 fixtures from scripts/ibe-go-vectors.go; the twelve before are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
{
"spec": "0.14",
Format 3, step 3: read capsule format 3 of spec v0.10 Syncs testdata with datekeys-go at the tag spec-v0.10 (cc35d2c) and moves the reader to the DateKeys Protocol Specification v0.10. The three capsule formats are read. - framing: FORMAT_3, and isPadded for formats 2 and 3. control: schema version 3, with the keys 6 and 7 of version 2. SPEC_VERSION is 0.10. - open: OpenOptions.sink receives the files of a format 3 capsule (sink.ts: Sink with begin, create, commit and abort, as capsule.Sink, and MemorySink). Without one, open rejects with a TypeError right after step 2, before any request, as ErrSinkRequired. Opened gains head, verdicts, areaLen and unusableHeadExtensions. - open3.ts: step 17 of format 3 in its substeps 17.2 to 17.8, as openBody of the reference: a failure of age or a plaintext whose length is not P prevails, the first failing substep decides, and the codes other than ERR_INTEGRITY are reported only after reading PAYLOAD_AGE to its end. Reads grow with the bytes received, never with the lengths BODY declares. A failure of the sink is ERR_INTEGRITY with its text, and the sink is aborted once after begin. - The page: opener.ts opens the fixtures of format 3 into a MemorySink; the open panel says that it does not deliver their files yet, and the glosses of the steps name format 3. check-build.mjs refuses to ship the heads, salts, comments and paths of the format 3 fixtures. Tests: the 21 fixtures, format 3 laid out byte by byte from its record and opened into a sink with its files and verdicts; the 209 cases of the corpus from memory and from a Blob, with the code, the step and, new, the exact text of capsule.Open, frozen by scripts/mutation-go-texts.go in testing/mutation-texts.json, which replays the corpus as internal/testkit does (its extension validator texts included); the 5110 differential cases over 14 bases; paths, path_fold, head_schema and security vectors; the control of schema version 3 in cbor.json; and step 17 on crafted plaintexts sealed again to I_PAYLOAD, whose texts capsule.Open gives on the same plaintexts. ibe-vectors.json gains the nine format 3 fixtures from scripts/ibe-go-vectors.go; the twelve before are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
"description": "HEAD_CBOR of format 3 (spec §29.4 to §29.6) and the result of decoding it with no extension known, generated by the reference implementation: layer 2 (type tag and version), layer 3 (the CDDL with R1 and R8), then layer 4 in key order (spec §69.1). See testdata/README.md.",
"heads": [
{
"name": "no files and no comment",
"hex": "a3006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000",
"result": "ok"
},
{
"name": "a comment of one byte",
"hex": "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000036161",
"result": "ok"
},
{
"name": "a comment with TAB and LF",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000371486f6c61096d756e646f0a616469c3b373",
"result": "ok"
},
{
"name": "a comment with an emoji and VS16",
"hex": "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000036ee29da4efb88f2070617261207469",
"result": "ok"
},
{
"name": "a declared author",
"hex": "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000046a416e61204cc3b370657a",
"result": "ok"
},
{
"name": "one file of 0 bytes",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a5006161010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"result": "ok"
},
{
"name": "a file with an mtime of 0",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a6006161010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8550500",
"result": "ok"
},
{
"name": "a file with the last mtime, 9999-12-31T23:59:59Z",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a6006161010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855051b0000003afff4417f",
"result": "ok"
},
{
"name": "a comment of 16384 bytes",
"hex": "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000037940006161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616
"result": "ok"
},
{
"name": "a declared author of 256 bytes",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000479010061616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161",
"result": "ok"
},
{
"name": "a path of 1024 bytes, five segments of 204",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a5007904006161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161612f6262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262622f6363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363632f6464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464642f656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"result": "ok"
},
{
"name": "a noncritical extension",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000781a2006d6f72672e6578616d706c652e610101",
"result": "ok"
},
{
"name": "the type tag of CONTROL_CBOR",
"hex": "a30070646174656b6579732d636f6e74726f6c01010258200000000000000000000000000000000000000000000000000000000000000000",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "version 2",
"hex": "a3006d646174656b6579732d6865616401020258200000000000000000000000000000000000000000000000000000000000000000",
"result": "ERR_UNSUPPORTED_VERSION"
},
{
"name": "version 0",
"hex": "a3006d646174656b6579732d6865616401000258200000000000000000000000000000000000000000000000000000000000000000",
"result": "ERR_UNSUPPORTED_VERSION"
},
{
"name": "a byte string as the type tag",
"hex": "a3004d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "no salt",
"hex": "a2006d646174656b6579732d686561640101",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "a salt of 31 bytes",
"hex": "a3006d646174656b6579732d68656164010102581f00000000000000000000000000000000000000000000000000000000000000",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "a salt as a text string",
"hex": "a3006d646174656b6579732d6865616401010278206161616161616161616161616161616161616161616161616161616161616161",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "an empty comment",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000360",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "a comment of 16385 bytes",
"hex": "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000037940016161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "a comment as a byte string",
"hex": "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000034161",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "a comment that is not UTF-8",
"hex": "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000036261ff",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "an empty declared author",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000460",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "a declared author of 257 bytes",
"hex": "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000047901016161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "an empty array of files",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000580",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "a file without its SHA-256",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a4006161010002000300",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "a file with a SHA-256 of 31 bytes",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a500616101000200030004581f00000000000000000000000000000000000000000000000000000000000000",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "a file with an unknown key 6",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a6006161010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8550600",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "an empty path",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a50060010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "a path of 1025 bytes",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a500790401612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f61010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "a path that is not UTF-8",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a5006261ff010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "a size above L_MAX",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a5006161011b001fc000000000010200031b001fc00000000001045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "an mtime of 253402300800",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a6006161010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855051b0000003afff44180",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "an unknown key 8",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000800",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "keys out of order",
"hex": "a4006d646174656b6579732d6865616401010361610258200000000000000000000000000000000000000000000000000000000000000000",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "a byte more after the map",
"hex": "a3006d646174656b6579732d686561640101025820000000000000000000000000000000000000000000000000000000000000000000",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "paths b and a, in that order",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000582a5006162010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855a5006161010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "paths b/.. and a: R8 before R3",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000582a50064622f2e2e010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855a5006161010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "an empty array of critical extensions",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000680",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "a comment with U+202E",
"hex": "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000036561e280ae62",
"result": "ERR_HEAD_INVALID",
"detail": "comment: text: bidirectional control U+202E"
},
{
"name": "a comment with the tag U+E0041",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000368486f6c61f3a08181",
"result": "ERR_HEAD_INVALID",
"detail": "comment: text: invisible U+E0041"
},
{
"name": "a comment with tags that spell a text",
"hex": "a4006d646174656b6579732d686561640101025820000000000000000000000000000000000000000000000000000000000000000003781c486f6c61f3a08189f3a08187f3a0818ef3a0818ff3a08192f3a08181",
"result": "ERR_HEAD_INVALID",
"detail": "comment: text: invisible U+E0049"
},
{
"name": "a comment with VS16 after a letter",
"hex": "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000036461efb88f",
"result": "ERR_HEAD_INVALID",
"detail": "comment: text: line 1: U+FE0F is not part of an emoji variation sequence"
},
{
"name": "a comment with a run of variation selectors",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000369e29da4efb88fefb88f",
"result": "ERR_HEAD_INVALID",
"detail": "comment: text: line 1: U+FE0F is not part of an emoji variation sequence"
},
{
"name": "a comment with VS17",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000368f09f9880f3a08480",
"result": "ERR_HEAD_INVALID",
"detail": "comment: text: invisible U+E0100"
},
{
"name": "a comment with CR LF",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000364610d0a62",
"result": "ERR_HEAD_INVALID",
"detail": "comment: text: control U+000D"
},
{
"name": "a comment with ZWJ at the end of a line",
"hex": "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000036661e2808d0a62",
"result": "ERR_HEAD_INVALID",
"detail": "comment: text: line 1: U+200D at the end"
},
{
"name": "a declared author with LF",
"hex": "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000046a416e610a4cc3b370657a",
"result": "ERR_HEAD_INVALID",
"detail": "declared author: text: control U+000A in the declared author"
},
{
"name": "a declared author with TAB",
"hex": "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000046a416e61094cc3b370657a",
"result": "ERR_HEAD_INVALID",
"detail": "declared author: text: control U+0009 in the declared author"
},
{
"name": "a declared author with a leading space",
"hex": "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000046420416e61",
"result": "ERR_HEAD_INVALID",
"detail": "declared author: text: the declared author starts or ends with U+0020"
},
{
"name": "a declared author with U+200E",
"hex": "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000046561e2808e62",
"result": "ERR_HEAD_INVALID",
"detail": "declared author: text: bidirectional control U+200E"
},
{
"name": "path ..",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a500622e2e010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"result": "ERR_HEAD_INVALID",
"detail": "file 1: R3: segment 1: the segment is two dots"
},
{
"name": "path /a",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a500622f61010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"result": "ERR_HEAD_INVALID",
"detail": "file 1: R2: segment 1 is empty"
},
{
"name": "path CON.txt",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a50067434f4e2e747874010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"result": "ERR_HEAD_INVALID",
"detail": "file 1: R6: segment 1: CON is a reserved device name"
},
{
"name": "path .datekeys-x",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a5006b2e646174656b6579732d78010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"result": "ERR_HEAD_INVALID",
"detail": "file 1: R10: the first segment starts with \".datekeys-\""
},
{
"name": "a first start that is not 0",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a5006161010102010302045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"result": "ERR_HEAD_INVALID",
"detail": "file 1: start 1 is not 0, the end of the file before"
},
{
"name": "end minus start that is not size",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a5006161010202000301045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"result": "ERR_HEAD_INVALID",
"detail": "file 1: from start 0 to end 1 is not the size 2"
},
{
"name": "a gap between two files",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000582a5006161010102000301045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855a5006162010102020303045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"result": "ERR_HEAD_INVALID",
"detail": "file 2: start 2 is not 1, the end of the file before"
},
{
"name": "paths A.txt and a.txt",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000582a50065412e747874010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855a50065612e747874010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"result": "ERR_HEAD_INVALID",
"detail": "R7: path 2 collides with path 1 in segment 1"
},
{
"name": "a comment and a path that break: the comment first",
"hex": "a5006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000036461e280ae0581a500622e2e010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"result": "ERR_HEAD_INVALID",
"detail": "comment: text: bidirectional control U+202E"
},
{
"name": "a path that breaks and an unknown critical extension: the path first",
"hex": "a5006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a500622e2e010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8550681a2006d6f72672e6578616d706c652e610101",
"result": "ERR_HEAD_INVALID",
"detail": "file 1: R3: segment 1: the segment is two dots"
},
{
"name": "an unknown critical extension",
"hex": "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000681a2006d6f72672e6578616d706c652e610101",
"result": "ERR_EXTENSION_CRITICAL_UNKNOWN"
}
]
}

Powered by TurnKey Linux.