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
{
Specification 0.16 draft: a seal without accuracy, drand's JSON read strictly The draft v0.16 of datekeys-go at 4f78854 (branch v0.16): SPEC_VERSION 0.16, and testdata, wordlists and annex synced from that commit. The annex is §79 of the draft, with the CC BY-ND 4.0 license of the specification in its title and the key of words in 79.7. A seal without accuracy proves nothing before the opening date (§29.7, §29.11, as 7e3b810): a valid seal is S4 only when its token carries accuracy and t plus the accuracy is before round_time; otherwise S5, with the first reason that holds: late, no accuracy under the BTSP policy of ETSI EN 319 421 (0.4.0.2023.1.1), or no accuracy. cms.ts reads hasAccuracy and the policy of the token (tokenIsBTSP); securitycms.ts gives SealReason, Detail.sealReason and SignerLine.reason; S5 has no fixed text any more, and verdictLines writes it and the line of a signer of F6 with the reason, the texts of Go byte for byte (sealReasonText). encryptFiles returns the verdicts of the area it wrote in Encrypted.security, as Result.Security of Go, so that a writer warns of a seal without accuracy (§62.1 rule 19). drand's JSON is read strictly (§47.1, as b570338): parseDrandJSON, as ParseDrandJSON of Go, reads RFC 8259 JSON in valid UTF-8 whose value is an object, with no name repeated in any object, names compared exactly once their escapes are decoded, a lone escaped surrogate malformed, the round a number without sign, fraction or exponent from 1 to 2^53 - 1, and signature and randomness strings, with the error texts of Go. ParsedRelease is now a Release: no round above 2^53 - 1 is read. The page reads the answers of the relays with it (drand.ts), as the client of Go does, and the pasted release with strictJSON and jsonRound (release-input.ts), so that it never reads another round than step 10. Tests: security_cms.json with seal_reason (143 cases), the 38 JSON inputs of release.json, the new cases of signature2_test.go and drandjson_test.go (with the escapes written as escapes), and the new fixtures: format3_time_and_key_words opens with the identity that the words of its words_text give with normalizeWords and wordKey, in the library and in the page, and format3_full_chunk, whose PAYLOAD_AGE ends in a full STREAM chunk, opens. check-build.mjs counts words_text among the secrets of the fixtures. Reference files made again with Go at 4f78854: mutation-texts.json (its spec field only), ibe-vectors.json (the two new fixtures, the rest unchanged) and signing-vectors.json, in an export of 4f78854 with the same frozen samples read again: the capsules are the same, and the tokens of the sealer, without accuracy, now give S5. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
5 hours ago
"spec": "0.16",
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.