>From bdcb8e75eaed4f22d7fe58845289a92a616cf9a6 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Wed, 21 Aug 2013 16:27:50 +0200 Subject: [PATCH 11/11] NSS: Descend into subdomains if enumerate=true Since we now store the enumerate flag in sysdb for subdomains, we can always descend to all available subdomains and if they do not allow enumeration, simply skip them. --- src/responder/nss/nsssrv_cmd.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/responder/nss/nsssrv_cmd.c b/src/responder/nss/nsssrv_cmd.c index 7c35a7b3121dae9ba53135d79d1f7619be1e810b..58651838e4c94c8e1ffbf391f7559621d948c39d 100644 --- a/src/responder/nss/nsssrv_cmd.c +++ b/src/responder/nss/nsssrv_cmd.c @@ -1710,7 +1710,7 @@ static errno_t nss_cmd_setpwent_step(struct setent_step_ctx *step_ctx) while (dom) { while (dom && dom->enumerate == 0) { - dom = get_next_domain(dom, false); + dom = get_next_domain(dom, true); } if (!dom) break; @@ -1768,13 +1768,13 @@ static errno_t nss_cmd_setpwent_step(struct setent_step_ctx *step_ctx) if (ret != EOK) { DEBUG(1, ("Enum from cache failed, skipping domain [%s]\n", dom->name)); - dom = get_next_domain(dom, false); + dom = get_next_domain(dom, true); continue; } if (res->count == 0) { DEBUG(4, ("Domain [%s] has no users, skipping.\n", dom->name)); - dom = get_next_domain(dom, false); + dom = get_next_domain(dom, true); continue; } @@ -1792,7 +1792,7 @@ static errno_t nss_cmd_setpwent_step(struct setent_step_ctx *step_ctx) nctx->pctx->num++; /* do not reply until all domain searches are done */ - dom = get_next_domain(dom, false); + dom = get_next_domain(dom, true); } /* We've finished all our lookups -- 1.8.3.1