summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2008-06-28 18:04:35 +1000
committerAndrew Bartlett <abartlet@samba.org>2008-06-28 18:10:59 +1000
commit23280b2e6ed5afb968bf0b8c40febb085eed38a1 (patch)
tree14bb8592ed874f5aa5c0b4c8942d54aa868dc77c
parenta0b2440c70a3f453c22159a02ff4a82fe6439cad (diff)
downloadsamba-23280b2e6ed5afb968bf0b8c40febb085eed38a1.tar.gz
Fix the wbinfo test on the LDAP backend.
The problem was that we would do a blocking wait for the LDAP server, which was also blocking on us returning (because we were in single process mode). The LDAP connection being made here is useless anyway, and will need to be an async ldb_connect() before anybody reintroucues it (nobody in their right mind would program a winbindd backend on pure LDAP, when the ldb abstraction is available). Andrew Bartlett
-rw-r--r--source/winbind/wb_init_domain.c32
-rw-r--r--source/winbind/wb_server.h2
2 files changed, 0 insertions, 34 deletions
diff --git a/source/winbind/wb_init_domain.c b/source/winbind/wb_init_domain.c
index 8b82ab711e3..c6dee825a90 100644
--- a/source/winbind/wb_init_domain.c
+++ b/source/winbind/wb_init_domain.c
@@ -76,7 +76,6 @@ static void init_domain_recv_netlogonpipe(struct composite_context *ctx);
static void init_domain_recv_lsa_pipe(struct composite_context *ctx);
static void init_domain_recv_lsa_policy(struct rpc_request *req);
static void init_domain_recv_queryinfo(struct rpc_request *req);
-static void init_domain_recv_ldapconn(struct composite_context *ctx);
static void init_domain_recv_samr(struct composite_context *ctx);
static struct dcerpc_binding *init_domain_binding(struct init_domain_state *state,
@@ -401,37 +400,6 @@ static void init_domain_recv_samr(struct composite_context *ctx)
state->domain->libnet_ctx->samr.name = state->domain->info->name;
state->domain->libnet_ctx->samr.sid = state->domain->info->sid;
- state->domain->ldap_conn =
- ldap4_new_connection(state->domain, state->domain->libnet_ctx->lp_ctx, state->ctx->event_ctx);
- composite_nomem(state->domain->ldap_conn, state->ctx);
-
- ldap_url = talloc_asprintf(state, "ldap://%s/",
- state->domain->dc_address);
- composite_nomem(ldap_url, state->ctx);
-
- ctx = ldap_connect_send(state->domain->ldap_conn, ldap_url);
- composite_continue(state->ctx, ctx, init_domain_recv_ldapconn, state);
-}
-
-static void init_domain_recv_ldapconn(struct composite_context *ctx)
-{
- struct init_domain_state *state =
- talloc_get_type(ctx->async.private_data,
- struct init_domain_state);
-
- state->ctx->status = ldap_connect_recv(ctx);
- if (NT_STATUS_IS_OK(state->ctx->status)) {
- state->domain->ldap_conn->host =
- talloc_strdup(state->domain->ldap_conn,
- state->domain->dc_name);
- state->ctx->status =
- ldap_bind_sasl(state->domain->ldap_conn,
- state->domain->libnet_ctx->cred,
- state->domain->libnet_ctx->lp_ctx);
- DEBUG(0, ("ldap_bind returned %s\n",
- nt_errstr(state->ctx->status)));
- }
-
composite_done(state->ctx);
}
diff --git a/source/winbind/wb_server.h b/source/winbind/wb_server.h
index ce972932f53..5a7ba7b4012 100644
--- a/source/winbind/wb_server.h
+++ b/source/winbind/wb_server.h
@@ -69,8 +69,6 @@ struct wbsrv_domain {
struct dcerpc_binding *samr_binding;
- struct ldap_connection *ldap_conn;
-
struct dcerpc_pipe *netlogon_pipe;
struct dcerpc_binding *netlogon_binding;
};