diff options
author | Simo Sorce <ssorce@redhat.com> | 2009-10-29 15:02:41 -0400 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2009-10-29 16:05:13 -0400 |
commit | 44685ff64447b7ad87c75aec478e5f21bd50b4b7 (patch) | |
tree | b0c8b4e0054de890c006b0ad2486c99adbcc7b1c /server/providers/ldap/sdap_async.h | |
parent | b79b1228de615c860df841670c9a882ca748f63a (diff) | |
download | sssd-44685ff64447b7ad87c75aec478e5f21bd50b4b7.tar.gz sssd-44685ff64447b7ad87c75aec478e5f21bd50b4b7.tar.bz2 sssd-44685ff64447b7ad87c75aec478e5f21bd50b4b7.zip |
Add support to get rootDSE from the LDAP server.
Also fic sdap_get_generic_send() to be a bit more "generic" :-)
Also figs bugs within it.
This patch allow us 2 good things.
A) we check that the server effectively supports GSSAPI auth before we try to
use it.
B) against IPA it substantially cuts delays when the server is offline because
it uses a 5 second async timeout on the connection and doesn't try to do a
slow synchronous kinit+sasl_bind if the server is not even available.
Diffstat (limited to 'server/providers/ldap/sdap_async.h')
-rw-r--r-- | server/providers/ldap/sdap_async.h | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/server/providers/ldap/sdap_async.h b/server/providers/ldap/sdap_async.h index 8410f3d1..911933a7 100644 --- a/server/providers/ldap/sdap_async.h +++ b/server/providers/ldap/sdap_async.h @@ -91,20 +91,22 @@ struct tevent_req *sdap_exop_modify_passwd_send(TALLOC_CTX *memctx, int sdap_exop_modify_passwd_recv(struct tevent_req *req, enum sdap_result *result); struct tevent_req *sdap_cli_connect_send(TALLOC_CTX *memctx, - struct tevent_context *ev, - struct sdap_options *opts); -int sdap_cli_connect_recv(struct tevent_req *req, TALLOC_CTX *memctx, - struct sdap_handle **gsh); + struct tevent_context *ev, + struct sdap_options *opts, + struct sysdb_attrs **rootdse); +int sdap_cli_connect_recv(struct tevent_req *req, + TALLOC_CTX *memctx, + struct sdap_handle **gsh, + struct sysdb_attrs **rootdse); struct tevent_req *sdap_get_generic_send(TALLOC_CTX *memctx, - struct tevent_context *ev, - struct sss_domain_info *dom, - struct sysdb_ctx *sysdb, - struct sdap_options *opts, - struct sdap_handle *sh, - const char **attrs, - const char *filter, - const char *search_base); + struct tevent_context *ev, + struct sdap_options *opts, + struct sdap_handle *sh, + const char *search_base, + int scope, + const char *filter, + const char **attrs); int sdap_get_generic_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, size_t *reply_count, struct sysdb_attrs ***reply_list); |