From: Grigorii Demidov Date: Fri, 12 Jan 2018 12:54:37 +0000 (+0100) Subject: daemon: TLS-handshake timeout timer was not properly activated; fix X-Git-Tag: v2.0.0~35^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1c3df8273a1bf31fecb33ba7ca1cf83c8ed1af01;p=thirdparty%2Fknot-resolver.git daemon: TLS-handshake timeout timer was not properly activated; fix --- diff --git a/daemon/worker.c b/daemon/worker.c index 1b06bad8b..0b3ea89fd 100644 --- a/daemon/worker.c +++ b/daemon/worker.c @@ -1123,6 +1123,7 @@ static void on_connect(uv_connect_t *req, int status) if (ret == kr_error(EAGAIN)) { iorequest_release(worker, req); io_start_read(session->handle); + timer_start(session, on_tcp_watchdog_timeout, MAX_TCP_INACTIVITY, 0); return; } } @@ -1194,6 +1195,9 @@ static void on_tcp_watchdog_timeout(uv_timer_t *timer) struct worker_ctx *worker = get_worker(); if (session->outgoing) { + if (session->has_tls) { + worker_del_tcp_waiting(worker, &session->peer.ip); + } worker_del_tcp_connected(worker, &session->peer.ip); while (session->waiting.len > 0) {