summaryrefslogtreecommitdiff
path: root/source4/winbind
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2007-04-29 21:40:48 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:51:47 -0500
commitfcdb99f7ce049494063c88a495dabd8849cf251c (patch)
tree8d4373aa935144a1bfa8b9f64c049d144b2cfcf3 /source4/winbind
parentea34bca0bd2566879d48f2197f2b7336dee8fd5b (diff)
downloadsamba-fcdb99f7ce049494063c88a495dabd8849cf251c.tar.gz
samba-fcdb99f7ce049494063c88a495dabd8849cf251c.tar.bz2
samba-fcdb99f7ce049494063c88a495dabd8849cf251c.zip
r22582: Cleanups towards making winbind work again. We still have a long way to go, as this has bitrotted over the past months.
This change in particular catches winbind up with the next composite_create() function. We also needed to remove an unused flags field, and fill in the lm response. Andrew Bartlett (This used to be commit bd26e4ffaf1c060fdc3aae28fd4393e83c5a83ea)
Diffstat (limited to 'source4/winbind')
-rw-r--r--source4/winbind/wb_connect_lsa.c10
-rw-r--r--source4/winbind/wb_connect_sam.c5
-rw-r--r--source4/winbind/wb_dom_info.c5
-rw-r--r--source4/winbind/wb_init_domain.c5
-rw-r--r--source4/winbind/wb_pam_auth.c42
-rw-r--r--source4/winbind/wb_sam_logon.c1
6 files changed, 14 insertions, 54 deletions
diff --git a/source4/winbind/wb_connect_lsa.c b/source4/winbind/wb_connect_lsa.c
index 6ba14a2f17..5a72e59954 100644
--- a/source4/winbind/wb_connect_lsa.c
+++ b/source4/winbind/wb_connect_lsa.c
@@ -55,11 +55,8 @@ struct composite_context *wb_init_lsa_send(TALLOC_CTX *mem_ctx,
struct composite_context *result, *ctx;
struct init_lsa_state *state;
- result = talloc(mem_ctx, struct composite_context);
+ result = composite_create(mem_ctx, tree->session->transport->socket->event.ctx);
if (result == NULL) goto failed;
- result->state = COMPOSITE_STATE_IN_PROGRESS;
- result->async.fn = NULL;
- result->event_ctx = tree->session->transport->socket->event.ctx;
state = talloc(result, struct init_lsa_state);
if (state == NULL) goto failed;
@@ -237,11 +234,8 @@ struct composite_context *wb_connect_lsa_send(TALLOC_CTX *mem_ctx,
struct composite_context *result, *ctx;
struct connect_lsa_state *state;
- result = talloc(mem_ctx, struct composite_context);
+ result = composite_create(mem_ctx, tree->session->transport->socket->event.ctx);
if (result == NULL) goto failed;
- result->state = COMPOSITE_STATE_IN_PROGRESS;
- result->async.fn = NULL;
- result->event_ctx = tree->session->transport->socket->event.ctx;
state = talloc(result, struct connect_lsa_state);
if (state == NULL) goto failed;
diff --git a/source4/winbind/wb_connect_sam.c b/source4/winbind/wb_connect_sam.c
index 393c5f8437..a14b7bd83b 100644
--- a/source4/winbind/wb_connect_sam.c
+++ b/source4/winbind/wb_connect_sam.c
@@ -61,11 +61,8 @@ struct composite_context *wb_connect_sam_send(TALLOC_CTX *mem_ctx,
struct composite_context *result, *ctx;
struct connect_samr_state *state;
- result = talloc(mem_ctx, struct composite_context);
+ result = composite_create(mem_ctx, tree->session->transport->socket->event.ctx);
if (result == NULL) goto failed;
- result->state = COMPOSITE_STATE_IN_PROGRESS;
- result->async.fn = NULL;
- result->event_ctx = tree->session->transport->socket->event.ctx;
state = talloc(result, struct connect_samr_state);
if (state == NULL) goto failed;
diff --git a/source4/winbind/wb_dom_info.c b/source4/winbind/wb_dom_info.c
index 41334b420a..28f35c2095 100644
--- a/source4/winbind/wb_dom_info.c
+++ b/source4/winbind/wb_dom_info.c
@@ -50,11 +50,8 @@ struct composite_context *wb_get_dom_info_send(TALLOC_CTX *mem_ctx,
struct get_dom_info_state *state;
struct nbt_name name;
- result = talloc(mem_ctx, struct composite_context);
+ result = composite_create(mem_ctx, service->task->event_ctx);
if (result == NULL) goto failed;
- result->state = COMPOSITE_STATE_IN_PROGRESS;
- result->async.fn = NULL;
- result->event_ctx = service->task->event_ctx;
state = talloc(result, struct get_dom_info_state);
if (state == NULL) goto failed;
diff --git a/source4/winbind/wb_init_domain.c b/source4/winbind/wb_init_domain.c
index 8700dd637e..5d868cd432 100644
--- a/source4/winbind/wb_init_domain.c
+++ b/source4/winbind/wb_init_domain.c
@@ -85,11 +85,8 @@ struct composite_context *wb_init_domain_send(TALLOC_CTX *mem_ctx,
struct composite_context *result, *ctx;
struct init_domain_state *state;
- result = talloc(mem_ctx, struct composite_context);
+ result = composite_create(mem_ctx, service->task->event_ctx);
if (result == NULL) goto failed;
- result->state = COMPOSITE_STATE_IN_PROGRESS;
- result->async.fn = NULL;
- result->event_ctx = service->task->event_ctx;
state = talloc_zero(result, struct init_domain_state);
if (state == NULL) goto failed;
diff --git a/source4/winbind/wb_pam_auth.c b/source4/winbind/wb_pam_auth.c
index 97798861ca..b8c1cacbf0 100644
--- a/source4/winbind/wb_pam_auth.c
+++ b/source4/winbind/wb_pam_auth.c
@@ -267,6 +267,8 @@ static void pam_auth_crap_recv_samlogon(struct rpc_request *req)
composite_done(state->ctx);
}
+/* Having received a NTLM authentication reply, parse out the useful
+ * reply data for the caller */
NTSTATUS wb_cmd_pam_auth_crap_recv(struct composite_context *c,
TALLOC_CTX *mem_ctx,
DATA_BLOB *info3,
@@ -288,25 +290,8 @@ NTSTATUS wb_cmd_pam_auth_crap_recv(struct composite_context *c,
return status;
}
-NTSTATUS wb_cmd_pam_auth_crap(TALLOC_CTX *mem_ctx,
- struct wbsrv_service *service,
- uint32_t logon_parameters,
- const char *domain, const char *user,
- const char *workstation,
- DATA_BLOB chal, DATA_BLOB nt_resp,
- DATA_BLOB lm_resp,
- DATA_BLOB *info3,
- struct netr_UserSessionKey *user_session_key,
- struct netr_LMSessionKey *lm_key,
- char **unix_username)
-{
- struct composite_context *c =
- wb_cmd_pam_auth_crap_send(mem_ctx, service, logon_parameters,
- domain, user, workstation,
- chal, nt_resp, lm_resp);
- return wb_cmd_pam_auth_crap_recv(c, mem_ctx, info3, user_session_key,
- lm_key, unix_username);
-}
+/* Handle plaintext authentication, by encrypting the password and
+ * then sending via the NTLM calls */
struct composite_context *wb_cmd_pam_auth_send(TALLOC_CTX *mem_ctx,
struct wbsrv_service *service,
@@ -371,18 +356,9 @@ struct composite_context *wb_cmd_pam_auth_send(TALLOC_CTX *mem_ctx,
NTSTATUS wb_cmd_pam_auth_recv(struct composite_context *c)
{
- struct pam_auth_crap_state *state =
- talloc_get_type(c->private_data, struct pam_auth_crap_state);
- NTSTATUS status = composite_wait(c);
- talloc_free(state);
- return status;
-}
-
-NTSTATUS wb_cmd_pam_auth(TALLOC_CTX *mem_ctx, struct wbsrv_service *service,
- const char *domain, const char *user,
- const char *password)
-{
- struct composite_context *c =
- wb_cmd_pam_auth_send(mem_ctx, service, domain, user, password);
- return wb_cmd_pam_auth_recv(c);
+ struct pam_auth_crap_state *state =
+ talloc_get_type(c->private_data, struct pam_auth_crap_state);
+ NTSTATUS status = composite_wait(c);
+ talloc_free(state);
+ return status;
}
diff --git a/source4/winbind/wb_sam_logon.c b/source4/winbind/wb_sam_logon.c
index bf8b4c7ad4..842e144c16 100644
--- a/source4/winbind/wb_sam_logon.c
+++ b/source4/winbind/wb_sam_logon.c
@@ -160,7 +160,6 @@ NTSTATUS wb_sam_logon_recv(struct composite_context *c,
talloc_steal(mem_ctx, s->r_mem_ctx);
req->out.validation = s->r.out.validation;
req->out.authoritative = 1;
- req->out.flags = 0;
}
talloc_free(s);