spec: Relax NBD_OPT_LIST_META_CONTEXTS
commit13a4e33a876eda4cd45e1626f7d9904cf0df2a39
authorEric Blake <eblake@redhat.com>
Mon, 16 Aug 2021 18:35:34 +0000 (16 13:35 -0500)
committerEric Blake <eblake@redhat.com>
Fri, 3 Sep 2021 12:47:31 +0000 (3 07:47 -0500)
treedebfbe2ef561cfd4a3bdbff57a3129fb4e726e9b
parentd8a6d0b0ae2d0840dc36726229e65c97621ec2b8
spec: Relax NBD_OPT_LIST_META_CONTEXTS

Using OPT_SET_META_CONTEXTS is stateful (it is documented to wipe out
any previously-requested contexts, and we just tightened the spec to
clarify that starting TLS also wipes it out).  But
OPT_LIST_META_CONTEXTS is not stateful; and in fact, with a
SELECTIVETLS server, it can be handy to list the meta contexts
available on an unencrypted export, then enable encryption, and then
further list what contexts are available on encrypted exports (as the
server is permitted to let those lists differ).  Although such a
client must negotiate structured replies after starttls if it is going
to actually connect to an export, this change permits the client to
shorten the handshake by two commands if it is only being used to list
available exports and their meta contexts before disconnecting.
doc/proto.md