summaryrefslogtreecommitdiffstats
path: root/src/providers/ipa
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2015-06-02 13:34:20 +0200
committerJakub Hrozek <jhrozek@redhat.com>2015-06-14 21:44:39 +0200
commit9af86b9c936d07cff9d0c2054acde908749ea522 (patch)
treeb7acca3a794a56ccec485f880a62e10be2d29466 /src/providers/ipa
parent526a15438525417cd701f837d7085b7f8c8a6325 (diff)
downloadsssd-9af86b9c936d07cff9d0c2054acde908749ea522.tar.gz
sssd-9af86b9c936d07cff9d0c2054acde908749ea522.tar.xz
sssd-9af86b9c936d07cff9d0c2054acde908749ea522.zip
SYSDB: Add realm to sysdb_master_domain_add_info
Adding realm to both master domain and subdomain will make it easier to set and select forest roots. Even master domains can be forest members, it's preferable to avoid special-casing as much as possible. Includes a unit test. Reviewed-by: Sumit Bose <sbose@redhat.com>
Diffstat (limited to 'src/providers/ipa')
-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);