From 894595b711835dba9a7432fa364ea57806b2bb0c Mon Sep 17 00:00:00 2001 From: Frederic Lecaille Date: Thu, 15 May 2025 10:18:09 +0200 Subject: [PATCH] MINOR: quic: Add useful error traces about qc_ssl_sess_init() failures There were no traces to diagnose qc_ssl_sess_init() failures from QUIC traces. This patch add calls to TRACE_DEVEL() into qc_ssl_sess_init() and its caller (qc_alloc_ssl_sock_ctx()). This was useful at least to diagnose SSL context initialization failures when porting QUIC to the new OpenSSL 3.5 QUIC API. Should be easily backported as far as 2.6. --- src/quic_ssl.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/quic_ssl.c b/src/quic_ssl.c index 7e409e31b..4734136a4 100644 --- a/src/quic_ssl.c +++ b/src/quic_ssl.c @@ -752,7 +752,7 @@ static int qc_ssl_sess_init(struct quic_conn *qc, SSL_CTX *ssl_ctx, SSL **ssl) *ssl = SSL_new(ssl_ctx); if (!*ssl) { if (!retry--) - goto leave; + goto err; pool_gc(NULL); goto retry; @@ -763,7 +763,7 @@ static int qc_ssl_sess_init(struct quic_conn *qc, SSL_CTX *ssl_ctx, SSL **ssl) SSL_free(*ssl); *ssl = NULL; if (!retry--) - goto leave; + goto err; pool_gc(NULL); goto retry; @@ -773,6 +773,9 @@ static int qc_ssl_sess_init(struct quic_conn *qc, SSL_CTX *ssl_ctx, SSL **ssl) leave: TRACE_LEAVE(QUIC_EV_CONN_NEW, qc); return ret; + err: + TRACE_DEVEL("leaving on error", QUIC_EV_CONN_NEW, qc); + goto leave; } #ifdef HAVE_SSL_0RTT_QUIC @@ -870,6 +873,7 @@ int qc_alloc_ssl_sock_ctx(struct quic_conn *qc) return !ret; err: + TRACE_DEVEL("leaving on error", QUIC_EV_CONN_NEW, qc); pool_free(pool_head_quic_ssl_sock_ctx, ctx); goto leave; }