From f7160e4fb970b4ba6f96e85e21f8395eae735d95 Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Tue, 26 Jul 2022 11:39:57 +0900 Subject: [PATCH] socket: only set pull/push functions when --save-*-trace is used This allows gnutls-cli to use KTLS for the transport, unless either --save-client-trace or --save-server-trace is used. Signed-off-by: Daiki Ueno --- src/socket.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/socket.c b/src/socket.c index 39f18dbe18..36ac292700 100644 --- a/src/socket.c +++ b/src/socket.c @@ -586,16 +586,16 @@ socket_open2(socket_st * hd, const char *hostname, const char *service, gnutls_session_set_data(hd->session, hd->rdata.data, hd->rdata.size); } - if (server_trace) + if (client_trace || server_trace) { hd->server_trace = server_trace; - - if (client_trace) hd->client_trace = client_trace; - - gnutls_transport_set_push_function(hd->session, wrap_push); - gnutls_transport_set_pull_function(hd->session, wrap_pull); - gnutls_transport_set_pull_timeout_function(hd->session, wrap_pull_timeout_func); - gnutls_transport_set_ptr(hd->session, hd); + gnutls_transport_set_push_function(hd->session, wrap_push); + gnutls_transport_set_pull_function(hd->session, wrap_pull); + gnutls_transport_set_pull_timeout_function(hd->session, wrap_pull_timeout_func); + gnutls_transport_set_ptr(hd->session, hd); + } else { + gnutls_transport_set_int(hd->session, hd->fd); + } } if (!(flags & SOCKET_FLAG_RAW) && !(flags & SOCKET_FLAG_SKIP_INIT)) { -- 2.47.3