mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
nbd/server: Plumb in new args to nbd_client_add()
Upcoming patches to fix a CVE need to track an opaque pointer passed in by the owner of a client object, as well as request for a time limit on how fast negotiation must complete. Prepare for that by changing the signature of nbd_client_new() and adding an accessor to get at the opaque pointer, although for now the two servers (qemu-nbd.c and blockdev-nbd.c) do not change behavior even though they pass in a new default timeout value. Suggested-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> Signed-off-by: Eric Blake <eblake@redhat.com> Message-ID: <20240807174943.771624-11-eblake@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> [eblake: s/LIMIT/MAX_SECS/ as suggested by Dan] Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
c719573d71
commit
fb1c2aaa98
4 changed files with 34 additions and 7 deletions
|
@ -33,6 +33,12 @@ typedef struct NBDMetaContexts NBDMetaContexts;
|
|||
|
||||
extern const BlockExportDriver blk_exp_nbd;
|
||||
|
||||
/*
|
||||
* NBD_DEFAULT_HANDSHAKE_MAX_SECS: Number of seconds in which client must
|
||||
* succeed at NBD_OPT_GO before being forcefully dropped as too slow.
|
||||
*/
|
||||
#define NBD_DEFAULT_HANDSHAKE_MAX_SECS 10
|
||||
|
||||
/* Handshake phase structs - this struct is passed on the wire */
|
||||
|
||||
typedef struct NBDOption {
|
||||
|
@ -403,9 +409,12 @@ AioContext *nbd_export_aio_context(NBDExport *exp);
|
|||
NBDExport *nbd_export_find(const char *name);
|
||||
|
||||
void nbd_client_new(QIOChannelSocket *sioc,
|
||||
uint32_t handshake_max_secs,
|
||||
QCryptoTLSCreds *tlscreds,
|
||||
const char *tlsauthz,
|
||||
void (*close_fn)(NBDClient *, bool));
|
||||
void (*close_fn)(NBDClient *, bool),
|
||||
void *owner);
|
||||
void *nbd_client_owner(NBDClient *client);
|
||||
void nbd_client_get(NBDClient *client);
|
||||
void nbd_client_put(NBDClient *client);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue