diff options
Diffstat (limited to 'src/responder/pac/pacsrv.c')
-rw-r--r-- | src/responder/pac/pacsrv.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/responder/pac/pacsrv.c b/src/responder/pac/pacsrv.c index 20a5702e1..683dca7b9 100644 --- a/src/responder/pac/pacsrv.c +++ b/src/responder/pac/pacsrv.c @@ -195,6 +195,32 @@ int pac_process_init(TALLOC_CTX *mem_ctx, } responder_set_fd_limit(fd_limit); + /* Set up the negative cache */ + ret = confdb_get_int(pac_ctx->rctx->cdb, CONFDB_NSS_CONF_ENTRY, + CONFDB_NSS_ENTRY_NEG_TIMEOUT, 15, + &pac_ctx->neg_timeout); + if (ret != EOK) { + DEBUG(SSSDBG_FATAL_FAILURE, + "Failed to setup negative cache timeout.\n"); + goto fail; + } + + ret = sss_ncache_init(pac_ctx, &pac_ctx->ncache); + if (ret != EOK) { + DEBUG(SSSDBG_FATAL_FAILURE, + "Failed to initializing negative cache\n"); + goto fail; + } + + ret = confdb_get_int(pac_ctx->rctx->cdb, CONFDB_PAC_CONF_ENTRY, + CONFDB_PAC_LIFETIME, 300, + &pac_ctx->pac_lifetime); + if (ret != EOK) { + DEBUG(SSSDBG_FATAL_FAILURE, + "Failed to setup negative cache timeout.\n"); + goto fail; + } + ret = schedule_get_domains_task(rctx, rctx->ev, rctx, NULL); if (ret != EOK) { DEBUG(SSSDBG_FATAL_FAILURE, "schedule_get_domains_tasks failed.\n"); |