summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_router.c
diff options
context:
space:
mode:
authorAndrey Suvorov <a.suvorov@f5.com>2021-05-26 11:11:58 -0700
committerAndrey Suvorov <a.suvorov@f5.com>2021-05-26 11:11:58 -0700
commit3efffddd95e564fe10f59e1de45afc2b551a5cba (patch)
treee1efa2f511c68878405a3c45c3458ddb300f71d5 /src/nxt_router.c
parentd67a0c871157454d591fa1d2a8b2d831b32e4040 (diff)
downloadunit-3efffddd95e564fe10f59e1de45afc2b551a5cba.tar.gz
unit-3efffddd95e564fe10f59e1de45afc2b551a5cba.tar.bz2
Fixing crash during TLS connection shutdown.
A crash was caused by an incorrect timer handler nxt_h1p_idle_timeout() if SSL_shutdown() returned SSL_ERROR_WANT_READ/SSL_ERROR_WANT_WRITE. The flag SSL_RECEIVED_SHUTDOWN is used to avoid getting SSL_ERROR_WANT_READ, so the server won't wait for a close notification from a client. For SSL_ERROR_WANT_WRITE, a correct timer handler is set up.
Diffstat (limited to 'src/nxt_router.c')
-rw-r--r--src/nxt_router.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/nxt_router.c b/src/nxt_router.c
index c597863e..122fd523 100644
--- a/src/nxt_router.c
+++ b/src/nxt_router.c
@@ -2477,6 +2477,7 @@ nxt_router_tls_rpc_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg,
goto fail;
}
+ tlscf->no_wait_shutdown = 1;
rpc->socket_conf->tls = tlscf;
} else {