summaryrefslogtreecommitdiffstats
path: root/src/providers/ad
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2015-05-25 10:21:05 +0200
committerJakub Hrozek <jhrozek@redhat.com>2015-06-01 15:18:57 +0200
commit40bc389bc79bc41429b5a92d5ce75955f8eefaf5 (patch)
tree24190daa89e43d3804440f67db07ce1e24c543ca /src/providers/ad
parentd9296ba018228ac6a19f710b8bb9044c4ea9ab5b (diff)
downloadsssd-40bc389bc79bc41429b5a92d5ce75955f8eefaf5.tar.gz
sssd-40bc389bc79bc41429b5a92d5ce75955f8eefaf5.tar.xz
sssd-40bc389bc79bc41429b5a92d5ce75955f8eefaf5.zip
Skip enumeration requests in IPA and AD providers as well
Checking the enum request in the underlying LDAP provider to skip it might be too late as the richer IPA or AD providers depend on having a useful result when the sdap request finishes. Move the enumeration check earlier instead and allow directly in the IPA or AD handler. Related: https://fedorahosted.org/sssd/ticket/2659 Reviewed-by: Sumit Bose <sbose@redhat.com>
Diffstat (limited to 'src/providers/ad')
-rw-r--r--src/providers/ad/ad_id.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/providers/ad/ad_id.c b/src/providers/ad/ad_id.c
index ab3934727..d8ea26875 100644
--- a/src/providers/ad/ad_id.c
+++ b/src/providers/ad/ad_id.c
@@ -350,6 +350,11 @@ ad_account_info_handler(struct be_req *be_req)
return be_req_terminate(be_req, DP_ERR_OFFLINE, EAGAIN, "Offline");
}
+ if (sdap_is_enum_request(ar)) {
+ DEBUG(SSSDBG_TRACE_LIBS, "Skipping enumeration on demand\n");
+ return sdap_handler_done(be_req, DP_ERR_OK, EOK, "Success");
+ }
+
/* Try to shortcut if this is ID or SID search and it belongs to
* other domain range than is in ar->domain. */
shortcut = ad_account_can_shortcut(be_ctx, sdap_id_ctx->opts->idmap_ctx,