Skip to content

Commit 7762901

Browse files
RESPONDER: fixed an issue with 'client_idle_timer'
As it was implemented previously, effective period was 1.5*client_idle_timeout instead of `client_idle_timeout` as documented. Log with default value - 60 - before a fix: ``` (:49:12): [nss] [setup_client_idle_timer] (0x4000): Idle timer re-set for client [0x557af16f31b0][22] (:49:42): [nss] [setup_client_idle_timer] (0x4000): Idle timer re-set for client [0x557af16f31b0][22] (:50:12): [nss] [setup_client_idle_timer] (0x4000): Idle timer re-set for client [0x557af16f31b0][22] (:50:42): [nss] [client_idle_handler] (0x2000): Terminating idle client [0x557af16f31b0][22] ``` Reviewed-by: Pavel Březina <pbrezina@redhat.com> Reviewed-by: Sumit Bose <sbose@redhat.com>
1 parent ee081e1 commit 7762901

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/responder/common/responder_common.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -652,7 +652,7 @@ static void client_idle_handler(struct tevent_context *ev,
652652
goto done;
653653
}
654654

655-
if ((now - cctx->last_request_time) > cctx->rctx->client_idle_timeout) {
655+
if ((now - cctx->last_request_time) >= cctx->rctx->client_idle_timeout) {
656656
/* This connection is idle. Terminate it */
657657
DEBUG(SSSDBG_TRACE_INTERNAL,
658658
"Terminating idle client [%p][%d]\n",
@@ -677,7 +677,7 @@ errno_t reset_client_idle_timer(struct cli_ctx *cctx)
677677
static errno_t setup_client_idle_timer(struct cli_ctx *cctx)
678678
{
679679
struct timeval tv =
680-
tevent_timeval_current_ofs(cctx->rctx->client_idle_timeout/2, 0);
680+
tevent_timeval_current_ofs(cctx->rctx->client_idle_timeout/2 + 1, 0);
681681

682682
talloc_zfree(cctx->idle);
683683

0 commit comments

Comments
 (0)