diff options
author | Sumit Bose <sbose@redhat.com> | 2015-04-17 18:22:10 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-05-06 06:03:12 +0200 |
commit | 3fe2e555edd3963d72483600e5d9616873afd00a (patch) | |
tree | bc3e0c2eb13fc5e029e884529d30b1d9f12d3f95 /src | |
parent | 2263c6dd1242c92253240f4998c86a04b6a0ca3a (diff) | |
download | sssd-3fe2e555edd3963d72483600e5d9616873afd00a.tar.gz sssd-3fe2e555edd3963d72483600e5d9616873afd00a.tar.xz sssd-3fe2e555edd3963d72483600e5d9616873afd00a.zip |
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
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/providers/ipa/ipa_s2n_exop.c | 2 | ||||
-rw-r--r-- | src/tests/cmocka/test_utils.c | 1 | ||||
-rw-r--r-- | src/util/domain_info_utils.c | 2 |
3 files changed, 4 insertions, 1 deletions
diff --git a/src/providers/ipa/ipa_s2n_exop.c b/src/providers/ipa/ipa_s2n_exop.c index daebd6885..fa00691af 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 6802c560b..0cfbaa504 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 a889bd7aa..450b8ec5c 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) { |