qemu/nbd
Eric Blake c8720ca03e nbd/server: Prepare to receive extended header requests
Although extended mode is not yet enabled, once we do turn it on, we
need to accept extended requests for all messages.  Previous patches
have already taken care of supporting 64-bit lengths, now we just need
to read it off the wire.

Note that this implementation will block indefinitely on a buggy
client that sends a non-extended payload (that is, we try to read a
full packet before we ever check the magic number, but a client that
mistakenly sends a simple request after negotiating extended headers
doesn't send us enough bytes), but it's no different from any other
client that stops talking to us partway through a packet and thus not
worth coding around.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Message-ID: <20230925192229.3186470-16-eblake@redhat.com>
2023-10-05 11:02:08 -05:00
..
client-connection.c nbd: Replace bool structured_reply with mode enum 2023-09-22 17:19:27 -05:00
client.c nbd: Prepare for 64-bit request effect lengths 2023-09-25 08:35:06 -05:00
common.c nbd: Add types for extended headers 2023-09-22 17:21:08 -05:00
meson.build nbd: move connection code from block/nbd to nbd/client-connection 2021-06-18 10:59:53 -05:00
nbd-internal.h nbd/server: Prepare to receive extended header requests 2023-10-05 11:02:08 -05:00
server.c nbd/server: Prepare to receive extended header requests 2023-10-05 11:02:08 -05:00
trace-events nbd/server: Support a request payload 2023-10-05 11:02:08 -05:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00