From 83cc137d5eef9d50af9b458c5c64fa9abc20adde Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Tue, 29 Dec 2009 17:01:28 +0100 Subject: [PATCH] s4:ntlmssp: create a gensec_ntlmssp_context between gensec_security and ntlmssp_state MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Inspired by the NTLMSSP merge work by Andrew Bartlett. metze Signed-off-by: Günther Deschner --- source4/auth/ntlmssp/ntlmssp.c | 27 +++++++++++++++++++-------- source4/auth/ntlmssp/ntlmssp.h | 2 +- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/source4/auth/ntlmssp/ntlmssp.c b/source4/auth/ntlmssp/ntlmssp.c index f52d02dceb9..dd3ba6e2e9b 100644 --- a/source4/auth/ntlmssp/ntlmssp.c +++ b/source4/auth/ntlmssp/ntlmssp.c @@ -380,18 +380,29 @@ static bool gensec_ntlmssp_have_feature(struct gensec_security *gensec_security, NTSTATUS gensec_ntlmssp_start(struct gensec_security *gensec_security) { - struct gensec_ntlmssp_state *gensec_ntlmssp_state; - - gensec_ntlmssp_state = talloc_zero(gensec_security, struct gensec_ntlmssp_state); - if (!gensec_ntlmssp_state) { + struct gensec_ntlmssp_context *gensec_ntlmssp; + struct gensec_ntlmssp_state *ntlmssp_state; + + gensec_ntlmssp = talloc_zero(gensec_security, + struct gensec_ntlmssp_context); + if (!gensec_ntlmssp) { return NT_STATUS_NO_MEMORY; } - gensec_ntlmssp_state->gensec_security = gensec_security; - gensec_ntlmssp_state->auth_context = NULL; - gensec_ntlmssp_state->server_info = NULL; + gensec_ntlmssp->gensec_security = gensec_security; + + ntlmssp_state = talloc_zero(gensec_ntlmssp, + struct gensec_ntlmssp_state); + if (!ntlmssp_state) { + return NT_STATUS_NO_MEMORY; + } + + ntlmssp_state->gensec_security = gensec_security; + ntlmssp_state->callback_private = gensec_ntlmssp; + + gensec_ntlmssp->ntlmssp_state = ntlmssp_state; - gensec_security->private_data = gensec_ntlmssp_state; + gensec_security->private_data = ntlmssp_state; return NT_STATUS_OK; } diff --git a/source4/auth/ntlmssp/ntlmssp.h b/source4/auth/ntlmssp/ntlmssp.h index 31a0bc39bde..2d8ec2db43d 100644 --- a/source4/auth/ntlmssp/ntlmssp.h +++ b/source4/auth/ntlmssp/ntlmssp.h @@ -156,7 +156,7 @@ struct gensec_ntlmssp_state struct gensec_ntlmssp_context { struct gensec_security *gensec_security; - struct ntlmssp_state *ntlmssp_state; + struct gensec_ntlmssp_state *ntlmssp_state; struct auth_context *auth_context; struct auth_serversupplied_info *server_info; }; -- 2.11.4.GIT