diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2012-02-03 14:08:07 +0100 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2012-02-05 19:16:16 -0500 |
commit | cc84fd46f356c4a36a721ab135a33ec77c93e34d (patch) | |
tree | 256214d053417e3ee63a5f83038d3dbea10eca1d /src/providers/ldap/ldap_init.c | |
parent | 9e80079370ff3b943832adc3c5ef430e64be0a0c (diff) | |
download | sssd-cc84fd46f356c4a36a721ab135a33ec77c93e34d.tar.gz sssd-cc84fd46f356c4a36a721ab135a33ec77c93e34d.tar.xz sssd-cc84fd46f356c4a36a721ab135a33ec77c93e34d.zip |
AUTOFS: LDAP provider
Diffstat (limited to 'src/providers/ldap/ldap_init.c')
-rw-r--r-- | src/providers/ldap/ldap_init.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/providers/ldap/ldap_init.c b/src/providers/ldap/ldap_init.c index dd61a1e1a..8c98c8eaa 100644 --- a/src/providers/ldap/ldap_init.c +++ b/src/providers/ldap/ldap_init.c @@ -27,6 +27,7 @@ #include "providers/ldap/sdap_async_private.h" #include "providers/ldap/sdap_access.h" #include "providers/ldap/sdap_sudo.h" +#include "providers/ldap/sdap_autofs.h" static void sdap_shutdown(struct be_req *req); @@ -411,6 +412,36 @@ int sssm_ldap_sudo_init(struct be_ctx *be_ctx, return sdap_sudo_init(be_ctx, id_ctx, ops, &data); } +int sssm_ldap_autofs_init(struct be_ctx *be_ctx, + struct bet_ops **ops, + void **pvt_data) +{ +#ifdef BUILD_AUTOFS + struct sdap_id_ctx *id_ctx; + void *data; + int ret; + + ret = sssm_ldap_id_init(be_ctx, ops, &data); + if (ret != EOK) { + DEBUG(SSSDBG_CRIT_FAILURE, ("Cannot init LDAP ID provider [%d]: %s\n", + ret, strerror(ret))); + return ret; + } + + id_ctx = talloc_get_type(data, struct sdap_id_ctx); + if (!id_ctx) { + DEBUG(SSSDBG_CRIT_FAILURE, ("No ID provider?\n")); + return EIO; + } + + return sdap_autofs_init(be_ctx, id_ctx, ops, pvt_data); +#else + DEBUG(SSSDBG_MINOR_FAILURE, ("Autofs init handler called but SSSD is " + "built without autofs support, ignoring\n")); + return EOK; +#endif +} + static void sdap_shutdown(struct be_req *req) { /* TODO: Clean up any internal data */ |