summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/sdap_fd_events.c
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2010-09-14 17:42:52 +0200
committerStephen Gallagher <sgallagh@redhat.com>2010-09-15 11:46:33 -0400
commit6480abbd1bba71efa8a834fada6505d1767fabfc (patch)
tree802b5f16d8a495d44668217da5491fd612864f62 /src/providers/ldap/sdap_fd_events.c
parent71af2725e8f96b403af3f4aa140c413f751380c0 (diff)
downloadsssd-6480abbd1bba71efa8a834fada6505d1767fabfc.tar.gz
sssd-6480abbd1bba71efa8a834fada6505d1767fabfc.tar.xz
sssd-6480abbd1bba71efa8a834fada6505d1767fabfc.zip
Revert "Make ldap bind asynchronous"
This reverts 56d8d19ac9d857580a233d8264e851883b883c67
Diffstat (limited to 'src/providers/ldap/sdap_fd_events.c')
-rw-r--r--src/providers/ldap/sdap_fd_events.c81
1 files changed, 6 insertions, 75 deletions
diff --git a/src/providers/ldap/sdap_fd_events.c b/src/providers/ldap/sdap_fd_events.c
index 3f1de002d..347cf8b81 100644
--- a/src/providers/ldap/sdap_fd_events.c
+++ b/src/providers/ldap/sdap_fd_events.c
@@ -61,15 +61,6 @@ int remove_ldap_connection_callbacks(struct sdap_handle *sh)
}
#ifdef HAVE_LDAP_CONNCB
-void set_fd_retry_cb(struct sdap_handle *sh,
- fd_wakeup_callback_t *fd_cb, void *fd_cb_data)
-{
- struct ldap_cb_data *cb_data;
-
- cb_data = talloc_get_type(sh->sdap_fd_events->conncb->lc_arg, struct ldap_cb_data);
- cb_data->wakeup_cb = fd_cb;
- cb_data->wakeup_cb_data = fd_cb_data;
-}
static int remove_connection_callback(TALLOC_CTX *mem_ctx)
{
@@ -88,24 +79,6 @@ static int remove_connection_callback(TALLOC_CTX *mem_ctx)
return EOK;
}
-static int request_spy_destructor(struct request_spy *spy)
-{
- if (spy->ptr) {
- spy->ptr->spy = NULL;
- talloc_free(spy->ptr);
- }
- return 0;
-}
-
-static int fd_event_item_destructor(struct fd_event_item *fd_event_item)
-{
- if (fd_event_item->spy) {
- fd_event_item->spy->ptr = NULL;
- }
- DLIST_REMOVE(fd_event_item->cb_data->fd_list, fd_event_item);
- return 0;
-}
-
static int sdap_ldap_connect_callback_add(LDAP *ld, Sockbuf *sb,
LDAPURLDesc *srv,
struct sockaddr *addr,
@@ -114,7 +87,6 @@ static int sdap_ldap_connect_callback_add(LDAP *ld, Sockbuf *sb,
int ret;
ber_socket_t ber_fd;
struct fd_event_item *fd_event_item;
- struct request_spy *spy;
struct ldap_cb_data *cb_data = talloc_get_type(ctx->lc_arg,
struct ldap_cb_data);
@@ -129,7 +101,7 @@ static int sdap_ldap_connect_callback_add(LDAP *ld, Sockbuf *sb,
DEBUG(1, ("ber_sockbuf_ctrl failed.\n"));
return EINVAL;
}
- DEBUG(5, ("New LDAP connection to [%s] with fd [%d].\n",
+ DEBUG(9, ("New LDAP connection to [%s] with fd [%d].\n",
ldap_url_desc2str(srv), ber_fd));
fd_event_item = talloc_zero(cb_data, struct fd_event_item);
@@ -139,40 +111,16 @@ static int sdap_ldap_connect_callback_add(LDAP *ld, Sockbuf *sb,
}
fd_event_item->fde = tevent_add_fd(cb_data->ev, fd_event_item, ber_fd,
-#ifdef LDAP_OPT_CONNECT_ASYNC
- TEVENT_FD_READ | TEVENT_FD_WRITE,
- sdap_async_ldap_result, cb_data
-#else
TEVENT_FD_READ, sdap_ldap_result,
- cb_data->sh
-#endif
- );
-
+ cb_data->sh);
if (fd_event_item->fde == NULL) {
DEBUG(1, ("tevent_add_fd failed.\n"));
talloc_free(fd_event_item);
return ENOMEM;
}
fd_event_item->fd = ber_fd;
- fd_event_item->cb_data = cb_data;
-
- fd_event_item->fd_wakeup_cb = cb_data->wakeup_cb;
- fd_event_item->fd_wakeup_cb_data = cb_data->wakeup_cb_data;
- if (fd_event_item->fd_wakeup_cb) {
- /* Allocate the spy on the tevent request. */
- spy = talloc(fd_event_item->fd_wakeup_cb_data, struct request_spy);
- if (spy == NULL) {
- talloc_free(fd_event_item);
- return ENOMEM;
- }
- spy->ptr = fd_event_item;
- fd_event_item->spy = spy;
- talloc_set_destructor(spy, request_spy_destructor);
- }
DLIST_ADD(cb_data->fd_list, fd_event_item);
- talloc_set_destructor(fd_event_item, fd_event_item_destructor);
- sdap_add_timeout_watcher(cb_data, fd_event_item);
return LDAP_SUCCESS;
}
@@ -213,15 +161,7 @@ static void sdap_ldap_connect_callback_del(LDAP *ld, Sockbuf *sb,
return;
}
-#else /* !HAVE_LDAP_CONNCB */
-
-void set_fd_retry_cb(struct sdap_handle *sh,
- fd_wakeup_callback_t *fd_cb, void *fd_cb_data)
-{
- (void)sh;
- (void)fd_cb;
- (void)fd_cb_data;
-}
+#else
static int sdap_install_ldap_callbacks(struct sdap_handle *sh,
struct tevent_context *ev)
@@ -259,7 +199,7 @@ static int sdap_install_ldap_callbacks(struct sdap_handle *sh,
return EOK;
}
-#endif /* HAVE_LDAP_CONNCB */
+#endif
errno_t setup_ldap_connection_callbacks(struct sdap_handle *sh,
@@ -305,15 +245,6 @@ errno_t setup_ldap_connection_callbacks(struct sdap_handle *sh,
goto fail;
}
-#ifdef LDAP_OPT_CONNECT_ASYNC
- ret = ldap_set_option(sh->ldap, LDAP_OPT_CONNECT_ASYNC, LDAP_OPT_ON);
- if (ret != LDAP_OPT_SUCCESS) {
- DEBUG(1, ("Failed to set connection as asynchronous\n"));
- ret = EFAULT;
- goto fail;
- }
-#endif
-
talloc_set_destructor((TALLOC_CTX *) sh->sdap_fd_events->conncb,
remove_connection_callback);
@@ -322,10 +253,10 @@ errno_t setup_ldap_connection_callbacks(struct sdap_handle *sh,
fail:
talloc_zfree(sh->sdap_fd_events);
return ret;
-#else /* !HAVE_LDAP_CONNCB */
+#else
DEBUG(9, ("LDAP connection callbacks are not supported.\n"));
return EOK;
-#endif /* HAVE_LDAP_CONNCB */
+#endif
}
errno_t sdap_set_connected(struct sdap_handle *sh, struct tevent_context *ev)