summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2015-06-01 21:18:32 +0200
committerJakub Hrozek <jhrozek@redhat.com>2015-06-14 21:47:19 +0200
commit10bf907b6d463a5cd776a056cb182bc9f8765bf4 (patch)
treec9ce1f81efb020a4c7abcc26b508e7c423bde610
parent05d935cc9d04f03522d0bb44598d22d99b085926 (diff)
downloadsssd-10bf907b6d463a5cd776a056cb182bc9f8765bf4.tar.gz
sssd-10bf907b6d463a5cd776a056cb182bc9f8765bf4.tar.xz
sssd-10bf907b6d463a5cd776a056cb182bc9f8765bf4.zip
IPA: Read forest name for trusted forest roots as well
This will reduce special-casing when establishing forest roots as all domains will contain the forest name. Additionally, AD subdomains already contain the forest name. Reviewed-by: Sumit Bose <sbose@redhat.com>
-rw-r--r--src/providers/ipa/ipa_subdomains.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/providers/ipa/ipa_subdomains.c b/src/providers/ipa/ipa_subdomains.c
index b67f1d9ca..28693cbd0 100644
--- a/src/providers/ipa/ipa_subdomains.c
+++ b/src/providers/ipa/ipa_subdomains.c
@@ -329,6 +329,7 @@ static errno_t ipa_subdom_get_forest(TALLOC_CTX *mem_ctx,
{
int ret;
struct ldb_dn *dn = NULL;
+ const char *name;
const struct ldb_val *val;
char *forest = NULL;
@@ -340,6 +341,20 @@ static errno_t ipa_subdom_get_forest(TALLOC_CTX *mem_ctx,
}
if (ipa_subdom_is_member_dom(dn) == false) {
+ ret = sysdb_attrs_get_string(attrs, IPA_CN, &name);
+ if (ret) {
+ DEBUG(SSSDBG_OP_FAILURE, "sysdb_attrs_get_string failed.\n");
+ goto done;
+ }
+
+ forest = talloc_strdup(mem_ctx, name);
+ if (forest == NULL) {
+ DEBUG(SSSDBG_OP_FAILURE, "talloc_strndup failed.\n");
+ ret = ENOMEM;
+ goto done;
+ }
+
+ DEBUG(SSSDBG_TRACE_INTERNAL, "The forest name is %s\n", forest);
ret = EOK;
goto done;
}