summaryrefslogtreecommitdiff
path: root/source4/winbind/wb_async_helpers.c
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2005-10-15 22:01:15 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:44:48 -0500
commit17355fbbd4c4a904bb75c1d8ba98948edaf0fe68 (patch)
treed9a727b7c7295163ad4fc8a1319a842dbb1c0f08 /source4/winbind/wb_async_helpers.c
parent42ececdfae15a34205638cc6e3ec53d6f3ac2148 (diff)
downloadsamba-17355fbbd4c4a904bb75c1d8ba98948edaf0fe68.tar.gz
samba-17355fbbd4c4a904bb75c1d8ba98948edaf0fe68.tar.bz2
samba-17355fbbd4c4a904bb75c1d8ba98948edaf0fe68.zip
r11094: Connect to SAM, implement getdcname
(This used to be commit a14398715eceecf204caf815a8769ba8214d0576)
Diffstat (limited to 'source4/winbind/wb_async_helpers.c')
-rw-r--r--source4/winbind/wb_async_helpers.c82
1 files changed, 1 insertions, 81 deletions
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;
}
+