diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2015-06-02 13:34:20 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-06-14 21:44:39 +0200 |
commit | 9af86b9c936d07cff9d0c2054acde908749ea522 (patch) | |
tree | b7acca3a794a56ccec485f880a62e10be2d29466 /src/providers/ad/ad_id.c | |
parent | 526a15438525417cd701f837d7085b7f8c8a6325 (diff) | |
download | sssd-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_id.c')
-rw-r--r-- | src/providers/ad/ad_id.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/providers/ad/ad_id.c b/src/providers/ad/ad_id.c index d8ea26875..7a0c6eccd 100644 --- a/src/providers/ad/ad_id.c +++ b/src/providers/ad/ad_id.c @@ -454,6 +454,7 @@ struct ad_enumeration_state { struct sdap_id_op *sdap_op; struct tevent_context *ev; + const char *realm; struct sdap_domain *sdom; struct sdap_domain *sditer; }; @@ -493,6 +494,14 @@ ad_enumeration_send(TALLOC_CTX *mem_ctx, state->sditer = state->sdom; state->id_ctx = talloc_get_type(ectx->pvt, struct ad_id_ctx); + state->realm = dp_opt_get_cstring(state->id_ctx->ad_options->basic, + AD_KRB5_REALM); + if (state->realm == NULL) { + DEBUG(SSSDBG_CONF_SETTINGS, "Missing realm\n"); + ret = EINVAL; + goto fail; + } + state->sdap_op = sdap_id_op_create(state, state->id_ctx->ldap_ctx->conn_cache); if (state->sdap_op == NULL) { @@ -575,7 +584,7 @@ ad_enumeration_master_done(struct tevent_req *subreq) return; } - ret = sysdb_master_domain_add_info(state->sdom->dom, + ret = sysdb_master_domain_add_info(state->sdom->dom, state->realm, flat_name, master_sid, forest); if (ret != EOK) { DEBUG(SSSDBG_OP_FAILURE, "Cannot save master domain info\n"); |