summaryrefslogtreecommitdiffstats
path: root/src/providers/ad/ad_subdomains.c
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/ad/ad_subdomains.c
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/ad/ad_subdomains.c')
-rw-r--r--src/providers/ad/ad_subdomains.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/providers/ad/ad_subdomains.c b/src/providers/ad/ad_subdomains.c
index ac9d8baa1..d889dfb6d 100644
--- a/src/providers/ad/ad_subdomains.c
+++ b/src/providers/ad/ad_subdomains.c
@@ -598,6 +598,7 @@ static void ad_subdomains_master_dom_done(struct tevent_req *req)
{
struct ad_subdomains_req_ctx *ctx;
errno_t ret;
+ const char *realm;
ctx = tevent_req_callback_data(req, struct ad_subdomains_req_ctx);
@@ -610,7 +611,16 @@ static void ad_subdomains_master_dom_done(struct tevent_req *req)
goto done;
}
+ realm = dp_opt_get_cstring(ctx->sd_ctx->ad_id_ctx->ad_options->basic,
+ AD_KRB5_REALM);
+ if (realm == NULL) {
+ DEBUG(SSSDBG_CONF_SETTINGS, "Missing realm.\n");
+ ret = EINVAL;
+ goto done;
+ }
+
ret = sysdb_master_domain_add_info(ctx->sd_ctx->be_ctx->domain,
+ realm,
ctx->flat_name, ctx->master_sid,
ctx->forest);
if (ret != EOK) {