From ed1efbfb95a9ee6577e47f26d250f70410290aea Mon Sep 17 00:00:00 2001 From: Sumit Bose Date: Tue, 12 Jul 2016 18:03:03 +0200 Subject: ipa_resolve_user_list_get_user_step fix --- src/providers/ipa/ipa_id.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/providers/ipa/ipa_id.c') diff --git a/src/providers/ipa/ipa_id.c b/src/providers/ipa/ipa_id.c index 262d3af62..7cc79f92b 100644 --- a/src/providers/ipa/ipa_id.c +++ b/src/providers/ipa/ipa_id.c @@ -132,7 +132,14 @@ static errno_t ipa_resolve_user_list_get_user_step(struct tevent_req *req) DEBUG(SSSDBG_TRACE_ALL, "Trying to resolve user [%s].\n", ar->filter_value); - subreq = ipa_id_get_account_info_send(state, state->ev, state->ipa_ctx, ar); + if (strcasecmp(state->domain_name, + state->ipa_ctx->sdap_id_ctx->be->domain->name) != 0) { + subreq = ipa_subdomain_account_send(state, state->ev, state->ipa_ctx, + ar); + } else { + subreq = ipa_id_get_account_info_send(state, state->ev, state->ipa_ctx, + ar); + } if (subreq == NULL) { DEBUG(SSSDBG_OP_FAILURE, "sdap_handle_acct_req_send failed.\n"); return ENOMEM; @@ -151,7 +158,12 @@ static void ipa_resolve_user_list_get_user_done(struct tevent_req *subreq) struct ipa_resolve_user_list_state); int ret; - ret = ipa_id_get_account_info_recv(subreq, &state->dp_error); + if (strcasecmp(state->domain_name, + state->ipa_ctx->sdap_id_ctx->be->domain->name) != 0) { + ret = ipa_subdomain_account_recv(subreq, &state->dp_error); + } else { + ret = ipa_id_get_account_info_recv(subreq, &state->dp_error); + } talloc_zfree(subreq); if (ret != EOK) { DEBUG(SSSDBG_OP_FAILURE, "sdap_handle_acct request failed: %d\n", ret); -- cgit