summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2013-05-07 21:36:51 +0200
committerJakub Hrozek <jhrozek@redhat.com>2013-05-27 19:09:04 +0200
commitaae5af7fb5fbdd780b06f2b5fb89dfe8ab52fb34 (patch)
tree4be74e4154a72e4afa305d8407a0e3e78d894131
parent21d89c38f22bf3b0c013b72988484c73db6ccecb (diff)
downloadsssd-aae5af7fb5fbdd780b06f2b5fb89dfe8ab52fb34.tar.gz
sssd-aae5af7fb5fbdd780b06f2b5fb89dfe8ab52fb34.tar.bz2
sssd-aae5af7fb5fbdd780b06f2b5fb89dfe8ab52fb34.zip
IPA: Always initialize ID mapping
Because we now always want to store SIDs in the IPA provider, we also need to always initialize the ID mapping context.
-rw-r--r--src/providers/ipa/ipa_init.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/providers/ipa/ipa_init.c b/src/providers/ipa/ipa_init.c
index 0a5d6e58..9676b781 100644
--- a/src/providers/ipa/ipa_init.c
+++ b/src/providers/ipa/ipa_init.c
@@ -38,6 +38,7 @@
#include "providers/ipa/ipa_dyndns.h"
#include "providers/ipa/ipa_selinux.h"
#include "providers/ldap/sdap_access.h"
+#include "providers/ldap/sdap_idmap.h"
#include "providers/ipa/ipa_subdomains.h"
#include "providers/ipa/ipa_srv.h"
#include "providers/dp_dyndns.h"
@@ -192,6 +193,10 @@ int sssm_ipa_id_init(struct be_ctx *bectx,
goto done;
}
+ /* Set up the ID mapping object */
+ ret = sdap_idmap_init(sdap_ctx, sdap_ctx, &sdap_ctx->opts->idmap_ctx);
+ if (ret != EOK) goto done;
+
ret = sdap_id_setup_tasks(sdap_ctx);
if (ret != EOK) {
goto done;
@@ -306,13 +311,14 @@ int sssm_ipa_auth_init(struct be_ctx *bectx,
}
sdap_auth_ctx->be = bectx;
sdap_auth_ctx->service = ipa_options->service->sdap;
- ipa_options->auth_ctx->sdap_auth_ctx = sdap_auth_ctx;
- ret = ipa_get_id_options(ipa_options, bectx->cdb, bectx->conf_path,
- &sdap_auth_ctx->opts);
- if (ret != EOK) {
+ if (ipa_options->id == NULL) {
+ ret = EINVAL;
goto done;
}
+ sdap_auth_ctx->opts = ipa_options->id;
+
+ ipa_options->auth_ctx->sdap_auth_ctx = sdap_auth_ctx;
ret = setup_tls_config(sdap_auth_ctx->opts->basic);
if (ret != EOK) {