summaryrefslogtreecommitdiffstats
path: root/src/responder/nss/nsssrv_cmd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/responder/nss/nsssrv_cmd.c')
-rw-r--r--src/responder/nss/nsssrv_cmd.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/responder/nss/nsssrv_cmd.c b/src/responder/nss/nsssrv_cmd.c
index b3998015f..1edaef968 100644
--- a/src/responder/nss/nsssrv_cmd.c
+++ b/src/responder/nss/nsssrv_cmd.c
@@ -894,7 +894,11 @@ static int nss_cmd_getpwnam_search(struct nss_dom_ctx *dctx)
name, dom->name);
/* if a multidomain search, try with next */
if (cmdctx->check_next) {
- dom = get_next_domain(dom, false);
+ if (cmdctx->name_is_upn) {
+ dom = get_next_domain(dom, true);
+ } else {
+ dom = get_next_domain(dom, false);
+ }
continue;
}
/* There are no further domains or this was a
@@ -969,7 +973,11 @@ static int nss_cmd_getpwnam_search(struct nss_dom_ctx *dctx)
/* if a multidomain search, try with next */
if (cmdctx->check_next) {
- dom = get_next_domain(dom, false);
+ if (cmdctx->name_is_upn) {
+ dom = get_next_domain(dom, true);
+ } else {
+ dom = get_next_domain(dom, false);
+ }
if (dom) continue;
}
@@ -4156,7 +4164,11 @@ static int nss_cmd_initgroups_search(struct nss_dom_ctx *dctx)
name, dom->name);
/* if a multidomain search, try with next */
if (cmdctx->check_next) {
- dom = get_next_domain(dom, false);
+ if (cmdctx->name_is_upn) {
+ dom = get_next_domain(dom, true);
+ } else {
+ dom = get_next_domain(dom, false);
+ }
continue;
}
/* There are no further domains or this was a
@@ -4230,7 +4242,11 @@ static int nss_cmd_initgroups_search(struct nss_dom_ctx *dctx)
/* if a multidomain search, try with next */
if (cmdctx->check_next) {
- dom = get_next_domain(dom, false);
+ if (cmdctx->name_is_upn) {
+ dom = get_next_domain(dom, true);
+ } else {
+ dom = get_next_domain(dom, false);
+ }
if (dom) continue;
}