From 00d7d86be7f032be6a9a088901e0bb7488210e72 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Fri, 22 Sep 2023 19:26:33 -0700 Subject: tls: ignore tx events for not fully established sessions Type: fix Signed-off-by: Florin Coras Change-Id: I401a116a1a46c0dc5d591115de5ff0eef2f6440b --- src/vnet/tls/tls.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src/vnet/tls') diff --git a/src/vnet/tls/tls.c b/src/vnet/tls/tls.c index f229902ba68..1461d0c9a70 100644 --- a/src/vnet/tls/tls.c +++ b/src/vnet/tls/tls.c @@ -938,15 +938,18 @@ tls_cleanup_ho (u32 ho_index) int tls_custom_tx_callback (void *session, transport_send_params_t * sp) { - session_t *app_session = (session_t *) session; + session_t *as = (session_t *) session; tls_ctx_t *ctx; - if (PREDICT_FALSE (app_session->session_state - >= SESSION_STATE_TRANSPORT_CLOSED)) - return 0; + if (PREDICT_FALSE (as->session_state >= SESSION_STATE_TRANSPORT_CLOSED || + as->session_state <= SESSION_STATE_ACCEPTING)) + { + sp->flags |= TRANSPORT_SND_F_DESCHED; + return 0; + } - ctx = tls_ctx_get (app_session->connection_index); - return tls_ctx_write (ctx, app_session, sp); + ctx = tls_ctx_get (as->connection_index); + return tls_ctx_write (ctx, as, sp); } u8 * -- cgit 1.2.3-korg