aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/tlsopenssl/tls_openssl.c
diff options
context:
space:
mode:
authorYu Ping <ping.yu@intel.com>2020-01-07 04:02:55 +0800
committerFlorin Coras <florin.coras@gmail.com>2020-01-07 15:12:48 +0000
commita9ed934745403461834b4361f06bd3865682f368 (patch)
tree74cfab7628f0c55f5e642093f3bf70186e3d7812 /src/plugins/tlsopenssl/tls_openssl.c
parent067f8f963d64b1cbc70f2b78ebd2c6d3791e7d22 (diff)
tls: Make tls CPS test run for a quite long time
Type: fix Change-Id: I8cfb48bd7f92689b296861dd368186408918061b Signed-off-by: Yu Ping <ping.yu@intel.com>
Diffstat (limited to 'src/plugins/tlsopenssl/tls_openssl.c')
-rw-r--r--src/plugins/tlsopenssl/tls_openssl.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/plugins/tlsopenssl/tls_openssl.c b/src/plugins/tlsopenssl/tls_openssl.c
index eeeb74982f2..3dece6e29fc 100644
--- a/src/plugins/tlsopenssl/tls_openssl.c
+++ b/src/plugins/tlsopenssl/tls_openssl.c
@@ -424,8 +424,10 @@ openssl_ctx_read (tls_ctx_t * ctx, session_t * tls_session)
if (PREDICT_FALSE (SSL_in_init (oc->ssl)))
{
- openssl_ctx_handshake_rx (ctx, tls_session);
- return 0;
+ if (openssl_ctx_handshake_rx (ctx, tls_session) < 0)
+ return 0;
+ else
+ goto check_app_fifo;
}
f = tls_session->rx_fifo;
@@ -487,7 +489,9 @@ check_app_fifo:
svm_fifo_enqueue_nocopy (f, read);
}
- tls_notify_app_enqueue (ctx, app_session);
+ /* If handshake just completed, session may still be in accepting state */
+ if (app_session->session_state >= SESSION_STATE_READY)
+ tls_notify_app_enqueue (ctx, app_session);
if (SSL_pending (oc->ssl) > 0)
tls_add_vpp_q_builtin_rx_evt (tls_session);