cli/show: emit new whole-message crypto status output
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Sat, 25 May 2019 18:04:06 +0000 (14:04 -0400)
committerDavid Bremner <david@tethera.net>
Sun, 26 May 2019 11:20:23 +0000 (08:20 -0300)
commit4cb789aa090fb6ba3c7897584ecbcc0a547b2f81
tree0bc7df43eb4d4450ddfac4651376785ed1ce2c29
parentd187a6993e25b1e100790e918156f5d95d371899
cli/show: emit new whole-message crypto status output

This allows MUAs that don't want to think about per-mime-part
cryptographic status to have a simple high-level overview of the
message's cryptographic state.

Sensibly structured encrypted and/or signed messages will work fine
with this.  The only requirement for the simplest encryption + signing
is that the message have all of its encryption and signing protection
(the "cryptographic envelope") in a contiguous set of MIME layers at
the very outside of the message itself.

This is because messages with some subparts signed or encrypted, but
with other subparts with no cryptographic protection is very difficult
to reason about, and even harder for the user to make sense of or work
with.

For further characterization of the Cryptographic Envelope and some of
the usability tradeoffs, see here:

   https://dkg.fifthhorseman.net/blog/e-mail-cryptography.html#cryptographic-envelope
13 files changed:
devel/schemata
notmuch-show.c
test/T070-insert.sh
test/T160-json.sh
test/T170-sexp.sh
test/T190-multipart.sh
test/T220-reply.sh
test/T340-maildir-sync.sh
test/T350-crypto.sh
test/T355-smime.sh
test/T470-missing-headers.sh
test/T510-thread-replies.sh
test/T670-duplicate-mid.sh