X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=devel%2Fschemata;h=72feb7b767df254a84a20cf1c0bb7fa06a955cf7;hb=4cb789aa090fb6ba3c7897584ecbcc0a547b2f81;hp=00ebb7a6e7148f9f7f2930de214e0e85ae915589;hpb=ab022657776af0bb47e72caf2517464ca59e7d48;p=notmuch diff --git a/devel/schemata b/devel/schemata index 00ebb7a6..72feb7b7 100644 --- a/devel/schemata +++ b/devel/schemata @@ -14,7 +14,7 @@ are interleaved. Keys are printed as keywords (symbols preceded by a colon), e.g. (:id "123" :time 54321 :from "foobar"). Null is printed as nil, true as t and false as nil. -This is version 2 of the structured output format. +This is version 4 of the structured output format. Version history --------------- @@ -30,6 +30,12 @@ v3 - Replaced message.filename string with a list of filenames. - Added part.content-disposition field. +v4 +- replace signature error integer bitmask with a set of flags for + individual errors. +- (notmuch 0.29) added message.crypto to identify overall message + cryptographic state + Common non-terminals -------------------- @@ -69,9 +75,25 @@ message = { tags: [string*], headers: headers, + crypto: crypto, body?: [part] # omitted if --body=false } +# when showing the message, was any or all of it decrypted? +msgdecstatus: "full"|"partial" + +# The overall cryptographic state of the message as a whole: +crypto = { + signed?: { + status: sigstatus, + # was the set of signatures described under encrypted cover? + encrypted: bool, + }, + decrypted?: { + status: msgdecstatus, + } +} + # A MIME part (format_part_sprinter) part = { id: int|string, # part id (currently DFS part number) @@ -121,7 +143,7 @@ sigstatus = [signature*] signature = { # (signature_status_to_string) - status: "none"|"good"|"bad"|"error"|"unknown", + status: "good"|"bad"|"error"|"unknown", # if status is "good": fingerprint?: string, created?: unix_time, @@ -129,8 +151,20 @@ signature = { userid?: string # if status is not "good": keyid?: string - # if the signature has errors: - errors?: int + errors?: sig_errors +} + +sig_errors = { + key-revoked?: bool, + key-expired?: bool, + sig-expired?: bool, + key-missing?: bool, + alg-unsupported?: bool, + crl-missing?: bool, + crl-too-old?: bool, + bad-policy?: bool, + sys-error?: bool, + tofu-conflict?: bool } notmuch search schema