summaryrefslogtreecommitdiffstats
path: root/src/providers/ad/ad_init.c
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2014-02-28 10:05:34 +0100
committerJakub Hrozek <jhrozek@redhat.com>2014-03-02 20:55:49 +0100
commit61804568ce5ede3b1a699cda17c033dd6c23f0e3 (patch)
treec1e6d101596395835b955be0d60c7f82648acdca /src/providers/ad/ad_init.c
parentb564424a77c7c3b361c944e0623023d0cfea2c9f (diff)
downloadsssd-61804568ce5ede3b1a699cda17c033dd6c23f0e3.tar.gz
sssd-61804568ce5ede3b1a699cda17c033dd6c23f0e3.tar.xz
sssd-61804568ce5ede3b1a699cda17c033dd6c23f0e3.zip
SUDO: AD provider
This patch adds the sudo target to the AD provider. The main reason is to cover different default settings in the LDAP and AD provider. E.g. the default for ldap_id_mapping is True in the AD provider and False in the LDAP provider. If ldap_id_mapping was not set explicitly in the config file both components worked with different setting. Fixes https://fedorahosted.org/sssd/ticket/2256 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Reviewed-by: Pavel Březina <pbrezina@redhat.com>
Diffstat (limited to 'src/providers/ad/ad_init.c')
-rw-r--r--src/providers/ad/ad_init.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/providers/ad/ad_init.c b/src/providers/ad/ad_init.c
index 60f1939af..74ef42304 100644
--- a/src/providers/ad/ad_init.c
+++ b/src/providers/ad/ad_init.c
@@ -467,3 +467,28 @@ int sssm_ad_subdomains_init(struct be_ctx *bectx,
return EOK;
}
+
+
+int sssm_ad_sudo_init(struct be_ctx *bectx,
+ struct bet_ops **ops,
+ void **pvt_data)
+{
+#ifdef BUILD_SUDO
+ struct ad_id_ctx *id_ctx;
+ int ret;
+
+ DEBUG(SSSDBG_TRACE_INTERNAL, "Initializing AD sudo handler\n");
+
+ ret = sssm_ad_id_init(bectx, ops, (void **) &id_ctx);
+ if (ret != EOK) {
+ DEBUG(SSSDBG_CRIT_FAILURE, "sssm_ad_id_init failed.\n");
+ return ret;
+ }
+
+ return ad_sudo_init(bectx, id_ctx, ops, pvt_data);
+#else
+ DEBUG(SSSDBG_MINOR_FAILURE, "Sudo init handler called but SSSD is "
+ "built without sudo support, ignoring\n");
+ return EOK;
+#endif
+}