>From f4aa833f42546a870cfd2f8191711d72c235e08a Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Wed, 7 Aug 2013 11:25:50 +0200 Subject: [PATCH 2/2] PAM: Set negcache if user is not found after provider check --- src/responder/pam/pamsrv_cmd.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/responder/pam/pamsrv_cmd.c b/src/responder/pam/pamsrv_cmd.c index 645f9357b7c6fd70755930cfd3fde0c8b23419ca..ed3afb63a2d12f9763d5865e94b2c75c369722f4 100644 --- a/src/responder/pam/pamsrv_cmd.c +++ b/src/responder/pam/pamsrv_cmd.c @@ -975,6 +975,16 @@ static int pam_check_user_search(struct pam_auth_req *preq) } if (preq->res->count == 0) { + if (preq->check_provider == false) { + /* set negative cache only if not result of cache check */ + ret = sss_ncache_set_user(pctx->ncache, false, dom, name); + if (ret != EOK) { + /* Should not be fatal, just slower next time */ + DEBUG(SSSDBG_MINOR_FAILURE, + ("Cannot set ncache for %s\n", name, dom)); + } + } + /* if a multidomain search, try with next */ if (!preq->pd->domain) { dom = get_next_domain(dom, false); -- 1.8.3.1