diff options
author | Andrew Bartlett <abartlet@samba.org> | 2011-07-26 10:01:39 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2011-08-03 18:48:04 +1000 |
commit | 902df836807b700b2d27877f2fa5284930df3ff7 (patch) | |
tree | 89dca448661f2318219a3606462d579b58637d93 /source3/auth/auth_ntlmssp.c | |
parent | 643d05826cbf7ef82e1ee8f33d610a79dcb8607a (diff) | |
download | samba-902df836807b700b2d27877f2fa5284930df3ff7.tar.gz samba-902df836807b700b2d27877f2fa5284930df3ff7.tar.bz2 samba-902df836807b700b2d27877f2fa5284930df3ff7.zip |
s3-ntlmssp Split calls to gensec plugin into prepare and start
GENSEC has the concept of starting the GENSEC subsystem before starting the
actual mechansim. Between these two stages is when most context methods
are called, to specify credentials and features.
Andrew Bartlett
Signed-off-by: Andrew Tridgell <tridge@samba.org>
Diffstat (limited to 'source3/auth/auth_ntlmssp.c')
-rw-r--r-- | source3/auth/auth_ntlmssp.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/source3/auth/auth_ntlmssp.c b/source3/auth/auth_ntlmssp.c index 64307bea48..c078416aad 100644 --- a/source3/auth/auth_ntlmssp.c +++ b/source3/auth/auth_ntlmssp.c @@ -212,14 +212,20 @@ NTSTATUS auth_ntlmssp_start(const struct tsocket_address *remote_address, return nt_status; } - if (auth_context->start_gensec) { - nt_status = auth_context->start_gensec(ans, GENSEC_OID_NTLMSSP, &ans->gensec_security); + if (auth_context->prepare_gensec) { + nt_status = auth_context->prepare_gensec(ans, &ans->gensec_security); if (!NT_STATUS_IS_OK(nt_status)) { TALLOC_FREE(ans); return nt_status; } else { - *auth_ntlmssp_state = ans; - return NT_STATUS_OK; + nt_status = auth_context->gensec_start_mech_by_oid(ans->gensec_security, GENSEC_OID_NTLMSSP); + if (!NT_STATUS_IS_OK(nt_status)) { + TALLOC_FREE(ans); + return nt_status; + } else { + *auth_ntlmssp_state = ans; + return NT_STATUS_OK; + } } } |