From 57243de2042f4629a23a950f047c2e1301e8953c Mon Sep 17 00:00:00 2001 From: Sumit Bose Date: Fri, 17 Apr 2015 18:22:10 +0200 Subject: [PATCH] IPA: do not add domain name unconditionally Depending on the server-side configuration the extdom plugin can return short or fully qualified names for IPA objects. The client must handle the names according to its own configuration and not add the domain part of the fully-qualified name unconditionally. Resolves https://fedorahosted.org/sssd/ticket/2647 --- src/providers/ipa/ipa_s2n_exop.c | 2 ++ src/tests/cmocka/test_utils.c | 1 + src/util/domain_info_utils.c | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/providers/ipa/ipa_s2n_exop.c b/src/providers/ipa/ipa_s2n_exop.c index daebd68853c2d8671b752edb8f2639f795093014..fa00691af579659905e43e71503bd36bf0415bad 100644 --- a/src/providers/ipa/ipa_s2n_exop.c +++ b/src/providers/ipa/ipa_s2n_exop.c @@ -1724,6 +1724,8 @@ static errno_t get_groups_dns(TALLOC_CTX *mem_ctx, struct sss_domain_info *dom, ret = ENOMEM; goto done; } + + DEBUG(SSSDBG_TRACE_ALL, "Added [%s][%s].\n", name_list[c], dn_list[c]); } *_dn_list = talloc_steal(mem_ctx, dn_list); diff --git a/src/tests/cmocka/test_utils.c b/src/tests/cmocka/test_utils.c index 6802c560b6bceefd03ebf3144a7be75234b1beb6..0cfbaa5043e2a36551208b9da23d7423a35e60a4 100644 --- a/src/tests/cmocka/test_utils.c +++ b/src/tests/cmocka/test_utils.c @@ -1063,6 +1063,7 @@ void test_fix_domain_in_name_list(void **state) sd->name = talloc_strdup(sd, "TesT.CasE.DoM"); assert_non_null(sd->name); sd->names = dom->names; + sd->fqnames = true; DLIST_ADD(dom->subdomains, sd); sd->parent = dom; diff --git a/src/util/domain_info_utils.c b/src/util/domain_info_utils.c index a889bd7aad3a8435d1177cb44371df8d527160c0..450b8ec5cc0d1812b3338e1855e517aecabea159 100644 --- a/src/util/domain_info_utils.c +++ b/src/util/domain_info_utils.c @@ -830,7 +830,7 @@ errno_t fix_domain_in_name_list(TALLOC_CTX *mem_ctx, goto done; } - out[c] = sss_tc_fqname(out, head->names, out_domain, in_name); + out[c] = sss_get_domain_name(out, in_name, out_domain); } if (out[c] == NULL) { -- 2.1.0