From: Florin Coras Date: Mon, 10 Jan 2022 17:15:41 +0000 (-0800) Subject: tls: ssl close only after all data drained X-Git-Tag: v22.06-rc0~33 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=0cef5f5d7171e05389beee0e6b4250b366b2b28e;p=vpp.git tls: ssl close only after all data drained Type: fix Signed-off-by: Florin Coras Change-Id: Ia77b26db61b6f58b4ff659f09192b4ea93ed50b4 --- diff --git a/src/plugins/tlsopenssl/tls_openssl.c b/src/plugins/tlsopenssl/tls_openssl.c index add6d7e0850..ac8529926bd 100644 --- a/src/plugins/tlsopenssl/tls_openssl.c +++ b/src/plugins/tlsopenssl/tls_openssl.c @@ -363,6 +363,8 @@ openssl_ctx_handshake_rx (tls_ctx_t * ctx, session_t * tls_session) static void openssl_confirm_app_close (tls_ctx_t * ctx) { + openssl_ctx_t *oc = (openssl_ctx_t *) ctx; + SSL_shutdown (oc->ssl); tls_disconnect_transport (ctx); session_transport_closed_notify (&ctx->connection); } @@ -931,8 +933,6 @@ openssl_app_close (tls_ctx_t * ctx) openssl_ctx_t *oc = (openssl_ctx_t *) ctx; session_t *app_session; - SSL_shutdown (oc->ssl); - /* Wait for all data to be written to tcp */ app_session = session_get_from_handle (ctx->app_session_handle); if (BIO_ctrl_pending (oc->rbio) <= 0