From 17355fbbd4c4a904bb75c1d8ba98948edaf0fe68 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sat, 15 Oct 2005 22:01:15 +0000 Subject: r11094: Connect to SAM, implement getdcname (This used to be commit a14398715eceecf204caf815a8769ba8214d0576) --- source4/winbind/wb_async_helpers.c | 82 +------------------------------------- 1 file changed, 1 insertion(+), 81 deletions(-) (limited to 'source4/winbind/wb_async_helpers.c') diff --git a/source4/winbind/wb_async_helpers.c b/source4/winbind/wb_async_helpers.c index 146a957727..eeed108719 100644 --- a/source4/winbind/wb_async_helpers.c +++ b/source4/winbind/wb_async_helpers.c @@ -501,87 +501,6 @@ NTSTATUS wb_lsa_lookupnames(struct dcerpc_pipe *lsa_pipe, return wb_lsa_lookupnames_recv(c, mem_ctx, sids); } -struct cmd_lookupname_state { - struct composite_context *ctx; - struct wbsrv_call *call; - struct wbsrv_domain *domain; - const char *name; - struct wb_sid_object *result; -}; - -static struct composite_context *lookupname_send_req(void *p); -static NTSTATUS lookupname_recv_req(struct composite_context *ctx, void *p); - -struct composite_context *wb_cmd_lookupname_send(struct wbsrv_call *call, - const char *name) -{ - struct cmd_lookupname_state *state; - struct wbsrv_service *service = call->wbconn->listen_socket->service; - - state = talloc(NULL, struct cmd_lookupname_state); - state->domain = service->domains; - state->call = call; - state->name = talloc_strdup(state, name); - state->ctx = wb_queue_domain_send(state, state->domain, - call->event_ctx, - call->wbconn->conn->msg_ctx, - lookupname_send_req, - lookupname_recv_req, - state); - if (state->ctx == NULL) { - talloc_free(state); - return NULL; - } - state->ctx->private_data = state; - return state->ctx; -} - -static struct composite_context *lookupname_send_req(void *p) -{ - struct cmd_lookupname_state *state = - talloc_get_type(p, struct cmd_lookupname_state); - - return wb_lsa_lookupnames_send(state->domain->lsa_pipe, - state->domain->lsa_policy, - 1, &state->name); -} - -static NTSTATUS lookupname_recv_req(struct composite_context *ctx, void *p) -{ - struct cmd_lookupname_state *state = - talloc_get_type(p, struct cmd_lookupname_state); - struct wb_sid_object **sids; - NTSTATUS status; - - status = wb_lsa_lookupnames_recv(ctx, state, &sids); - if (NT_STATUS_IS_OK(status)) { - state->result = sids[0]; - } - return status; -} - -NTSTATUS wb_cmd_lookupname_recv(struct composite_context *c, - TALLOC_CTX *mem_ctx, - struct wb_sid_object **sid) -{ - struct cmd_lookupname_state *state = - talloc_get_type(c->private_data, struct cmd_lookupname_state); - NTSTATUS status = composite_wait(c); - if (NT_STATUS_IS_OK(status)) { - *sid = talloc_steal(mem_ctx, state->result); - } - talloc_free(state); - return status; -} - -NTSTATUS wb_cmd_lookupname(struct wbsrv_call *call, const char *name, - TALLOC_CTX *mem_ctx, struct wb_sid_object **sid) -{ - struct composite_context *c = - wb_cmd_lookupname_send(call, name); - return wb_cmd_lookupname_recv(c, mem_ctx, sid); -} - struct cmd_checkmachacc_state { struct composite_context *ctx; struct wbsrv_call *call; @@ -690,3 +609,4 @@ NTSTATUS composite_netr_LogonSamLogon_recv(struct composite_context *ctx) talloc_free(ctx); return status; } + -- cgit