summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/sdap.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/providers/ldap/sdap.c')
-rw-r--r--src/providers/ldap/sdap.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/providers/ldap/sdap.c b/src/providers/ldap/sdap.c
index 27cffd79a..1f97f554d 100644
--- a/src/providers/ldap/sdap.c
+++ b/src/providers/ldap/sdap.c
@@ -717,6 +717,8 @@ static errno_t sdap_set_search_base(struct sdap_options *opts,
break;
case SDAP_SERVICE_SEARCH_BASE:
bases = &opts->service_search_bases;
+ case SDAP_AUTOFS_SEARCH_BASE:
+ bases = &opts->autofs_search_bases;
break;
default:
return EINVAL;
@@ -750,7 +752,8 @@ errno_t sdap_set_config_options_with_rootdse(struct sysdb_attrs *rootdse,
||!opts->user_search_bases
|| !opts->group_search_bases
|| !opts->netgroup_search_bases
- || !opts->sudo_search_bases) {
+ || !opts->sudo_search_bases
+ || !opts->autofs_search_bases) {
naming_context = get_naming_context(opts->basic, rootdse);
if (naming_context == NULL) {
DEBUG(1, ("get_naming_context failed.\n"));
@@ -812,6 +815,14 @@ errno_t sdap_set_config_options_with_rootdse(struct sysdb_attrs *rootdse,
if (ret != EOK) goto done;
}
+ /* autofs */
+ if (!opts->autofs_search_bases) {
+ ret = sdap_set_search_base(opts,
+ SDAP_AUTOFS_SEARCH_BASE,
+ naming_context);
+ if (ret != EOK) goto done;
+ }
+
ret = EOK;
done: