diff options
Diffstat (limited to 'src/vnet/tls/tls.c')
-rw-r--r-- | src/vnet/tls/tls.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/vnet/tls/tls.c b/src/vnet/tls/tls.c index 6a61df122c8..1ab885e3db5 100644 --- a/src/vnet/tls/tls.c +++ b/src/vnet/tls/tls.c @@ -226,7 +226,8 @@ tls_notify_app_connected (tls_ctx_t * ctx, session_error_t err) /* Free app session pre-allocated when transport was established */ if (ctx->tls_type == TRANSPORT_PROTO_TLS) session_free (session_get (ctx->c_s_index, ctx->c_thread_index)); - goto failed; + ctx->no_app_session = 1; + goto send_reply; } /* For DTLS the app session is not preallocated because the underlying udp @@ -271,6 +272,7 @@ tls_notify_app_connected (tls_ctx_t * ctx, session_error_t err) failed: ctx->no_app_session = 1; tls_disconnect (ctx->tls_ctx_handle, vlib_get_thread_index ()); +send_reply: return app_worker_connect_notify (app_wrk, 0, err, ctx->parent_app_api_context); } |