qemu/crypto
Daniel P. Berrangé 97f7bf113e crypto: propagate errors from TLS session I/O callbacks
GNUTLS doesn't know how to perform I/O on anything other than plain
FDs, so the TLS session provides it with some I/O callbacks. The
GNUTLS API design requires these callbacks to return a unix errno
value, which means we're currently loosing the useful QEMU "Error"
object.

This changes the I/O callbacks in QEMU to stash the "Error" object
in the QCryptoTLSSession class, and fetch it when seeing an I/O
error returned from GNUTLS, thus preserving useful error messages.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2024-07-24 10:39:10 +01:00
..
aes.c
afalg.c
afalgpriv.h
afsplit.c
akcipher-gcrypt.c.inc
akcipher-nettle.c.inc
akcipher.c
akcipherpriv.h
block-luks-priv.h
block-luks.c
block-luks.h
block-qcow.c
block-qcow.h
block.c
blockpriv.h
cipher-afalg.c
cipher-builtin.c.inc
cipher-gcrypt.c.inc
cipher-gnutls.c.inc
cipher-nettle.c.inc
cipher.c
cipherpriv.h
clmul.c
der.c
der.h
hash-afalg.c
hash-gcrypt.c
hash-glib.c
hash-gnutls.c
hash-nettle.c
hash.c
hashpriv.h
hmac-gcrypt.c
hmac-glib.c
hmac-gnutls.c
hmac-nettle.c
hmac.c
hmacpriv.h
init.c
ivgen-essiv.c
ivgen-essiv.h
ivgen-plain64.c
ivgen-plain64.h
ivgen-plain.c
ivgen-plain.h
ivgen.c
ivgenpriv.h
meson.build
pbkdf-gcrypt.c
pbkdf-gnutls.c
pbkdf-nettle.c
pbkdf-stub.c
pbkdf.c
random-gcrypt.c
random-gnutls.c
random-none.c
random-platform.c
rsakey-builtin.c.inc
rsakey-nettle.c.inc
rsakey.c
rsakey.h
secret_common.c
secret_keyring.c
secret.c
sm4.c
tls-cipher-suites.c
tlscreds.c
tlscredsanon.c
tlscredspriv.h
tlscredspsk.c
tlscredsx509.c
tlssession.c crypto: propagate errors from TLS session I/O callbacks 2024-07-24 10:39:10 +01:00
trace-events
trace.h
xts.c