>From 0ac4124cda2c64c6c498f293a2acaf13027efd4a Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Mon, 1 Jun 2015 21:18:32 +0200 Subject: [PATCH 13/29] 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. --- src/providers/ipa/ipa_subdomains.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/providers/ipa/ipa_subdomains.c b/src/providers/ipa/ipa_subdomains.c index e897132d5ce9e20d62ca6d0f72f8ac0a010a6dc0..1867cd311a724e8e220f1b582d326e0330f4ea60 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", name); ret = EOK; goto done; } -- 2.1.0