summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/sdap_sudo.c
diff options
context:
space:
mode:
authorStephen Gallagher <sgallagh@redhat.com>2012-02-01 14:03:36 -0500
committerStephen Gallagher <sgallagh@redhat.com>2012-02-04 08:27:16 -0500
commit169fa5bd3edd34aa0db35681832bd7406e423c1b (patch)
tree10571e2eedf792bc94d4da77a128843d78e56d3a /src/providers/ldap/sdap_sudo.c
parent9264332df73311e2ed244b37b470cac74a784f4a (diff)
downloadsssd-169fa5bd3edd34aa0db35681832bd7406e423c1b.tar.gz
sssd-169fa5bd3edd34aa0db35681832bd7406e423c1b.tar.xz
sssd-169fa5bd3edd34aa0db35681832bd7406e423c1b.zip
LDAP: Do not fail if RootDSE check cannot determine search bases
https://fedorahosted.org/sssd/ticket/1152
Diffstat (limited to 'src/providers/ldap/sdap_sudo.c')
-rw-r--r--src/providers/ldap/sdap_sudo.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/providers/ldap/sdap_sudo.c b/src/providers/ldap/sdap_sudo.c
index aed937f9f..30afcddfe 100644
--- a/src/providers/ldap/sdap_sudo.c
+++ b/src/providers/ldap/sdap_sudo.c
@@ -340,6 +340,13 @@ struct tevent_req * sdap_sudo_load_sudoers_send(TALLOC_CTX *mem_ctx,
state->ldap_rules = NULL;
state->ldap_rules_count = 0;
+ if (!state->search_bases) {
+ DEBUG(SSSDBG_CRIT_FAILURE,
+ ("SUDOERS lookup request without a search base\n"));
+ ret = EINVAL;
+ goto done;
+ }
+
/* create filter */
state->filter = sdap_sudo_build_filter(state, opts->sudorule_map, sudo_req);
if (state->filter == NULL) {
@@ -355,6 +362,8 @@ struct tevent_req * sdap_sudo_load_sudoers_send(TALLOC_CTX *mem_ctx,
/* begin search */
ret = sdap_sudo_load_sudoers_next_base(req);
+
+done:
if (ret != EOK) {
tevent_req_error(req, ret);
tevent_req_post(req, ev);