summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2015-04-17 18:22:10 +0200
committerJakub Hrozek <jhrozek@redhat.com>2015-05-06 06:03:12 +0200
commit3fe2e555edd3963d72483600e5d9616873afd00a (patch)
treebc3e0c2eb13fc5e029e884529d30b1d9f12d3f95
parent2263c6dd1242c92253240f4998c86a04b6a0ca3a (diff)
downloadsssd-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>
-rw-r--r--src/providers/ipa/ipa_s2n_exop.c2
-rw-r--r--src/tests/cmocka/test_utils.c1
-rw-r--r--src/util/domain_info_utils.c2
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) {