diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2015-05-25 10:21:05 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-06-01 15:18:57 +0200 |
commit | 40bc389bc79bc41429b5a92d5ce75955f8eefaf5 (patch) | |
tree | 24190daa89e43d3804440f67db07ce1e24c543ca /src/providers/ipa/ipa_id.c | |
parent | d9296ba018228ac6a19f710b8bb9044c4ea9ab5b (diff) | |
download | sssd-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/ipa/ipa_id.c')
-rw-r--r-- | src/providers/ipa/ipa_id.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/providers/ipa/ipa_id.c b/src/providers/ipa/ipa_id.c index 2bae97cd9..24dfe32b1 100644 --- a/src/providers/ipa/ipa_id.c +++ b/src/providers/ipa/ipa_id.c @@ -89,6 +89,11 @@ void ipa_account_info_handler(struct be_req *breq) ar = talloc_get_type(be_req_get_data(breq), struct be_acct_req); + if (sdap_is_enum_request(ar)) { + DEBUG(SSSDBG_TRACE_LIBS, "Skipping enumeration on demand\n"); + return sdap_handler_done(breq, DP_ERR_OK, EOK, "Success"); + } + if (strcasecmp(ar->domain, be_ctx->domain->name) != 0) { /* if domain names do not match, this is a subdomain case * subdomain lookups are handled differently on the server |