From: Daiki Ueno Date: Tue, 26 Jul 2022 02:39:57 +0000 (+0900) Subject: socket: only set pull/push functions when --save-*-trace is used X-Git-Tag: 3.7.7~1^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f7160e4f;p=thirdparty%2Fgnutls.git 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 --- 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)) {