summaryrefslogtreecommitdiffstats
path: root/src/providers/ipa/ipa_subdomains.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/providers/ipa/ipa_subdomains.c')
-rw-r--r--src/providers/ipa/ipa_subdomains.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/providers/ipa/ipa_subdomains.c b/src/providers/ipa/ipa_subdomains.c
index bd2fb47ee..02ced703c 100644
--- a/src/providers/ipa/ipa_subdomains.c
+++ b/src/providers/ipa/ipa_subdomains.c
@@ -1419,6 +1419,7 @@ static void ipa_subdomains_handler_master_done(struct tevent_req *req)
if (reply_count) {
const char *flat = NULL;
const char *id = NULL;
+ const char *realm;
ret = sysdb_attrs_get_string(reply[0], IPA_FLATNAME, &flat);
if (ret != EOK) {
@@ -1430,8 +1431,16 @@ static void ipa_subdomains_handler_master_done(struct tevent_req *req)
goto done;
}
+ realm = dp_opt_get_string(ctx->sd_ctx->id_ctx->ipa_options->basic,
+ IPA_KRB5_REALM);
+ if (realm == NULL) {
+ DEBUG(SSSDBG_CRIT_FAILURE, "No Kerberos realm for IPA?\n");
+ ret = EINVAL;
+ goto done;
+ }
+
ret = sysdb_master_domain_add_info(ctx->sd_ctx->be_ctx->domain,
- flat, id, NULL);
+ realm, flat, id, NULL);
} else {
ctx->search_base_iter++;
ret = ipa_subdomains_handler_get(ctx, IPA_SUBDOMAINS_MASTER);