diff options
author | Andrew Bartlett <abartlet@samba.org> | 2007-04-29 21:40:48 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:51:47 -0500 |
commit | fcdb99f7ce049494063c88a495dabd8849cf251c (patch) | |
tree | 8d4373aa935144a1bfa8b9f64c049d144b2cfcf3 /source4/winbind | |
parent | ea34bca0bd2566879d48f2197f2b7336dee8fd5b (diff) | |
download | samba-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.c | 10 | ||||
-rw-r--r-- | source4/winbind/wb_connect_sam.c | 5 | ||||
-rw-r--r-- | source4/winbind/wb_dom_info.c | 5 | ||||
-rw-r--r-- | source4/winbind/wb_init_domain.c | 5 | ||||
-rw-r--r-- | source4/winbind/wb_pam_auth.c | 42 | ||||
-rw-r--r-- | source4/winbind/wb_sam_logon.c | 1 |
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); |