qemu/io
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
..
channel-buffer.c io: Add support for MSG_PEEK for socket channel 2023-02-06 19:22:56 +01:00
channel-command.c io: follow coroutine AioContext in qio_channel_yield() 2023-09-07 20:32:11 -05:00
channel-file.c io: Stop using qemu_open_old in channel-file 2024-06-21 09:47:22 -03:00
channel-null.c io: follow coroutine AioContext in qio_channel_yield() 2023-09-07 20:32:11 -05:00
channel-socket.c qio: add support for SO_PEERCRED for socket channel 2024-07-22 13:47:41 +02:00
channel-tls.c crypto: propagate errors from TLS session I/O callbacks 2024-07-24 10:39:10 +01:00
channel-util.c io: follow coroutine AioContext in qio_channel_yield() 2023-09-07 20:32:11 -05:00
channel-watch.c win32: avoid mixing SOCKET and file descriptor space 2023-03-13 15:39:31 +04:00
channel-websock.c qio: Inherit follow_coroutine_ctx across TLS 2024-05-29 18:30:31 -05:00
channel.c qio: add support for SO_PEERCRED for socket channel 2024-07-22 13:47:41 +02:00
dns-resolver.c build-sys: add HAVE_IPPROTO_MPTCP 2021-09-30 15:30:25 +02:00
meson.build Revert "meson: Propagate gnutls dependency" 2024-07-03 18:41:26 +02:00
net-listener.c io: Stop appending -listen to net listeners 2023-11-07 14:54:56 +00:00
task.c io: Fix Lesser GPL version number 2020-10-29 09:57:37 +00:00
trace-events io: add trace event when cancelling TLS handshake 2024-02-09 12:50:31 +00:00
trace.h