From 778bf87d8dbae333bfeea3b0d904fd2b17782745 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 22 Jul 2011 12:10:30 +1000 Subject: s3-ntlmssp Remove calls to auth_ntlmssp_and_flags from the server This is changed so that the callers ask for the additional flags that they need, starting with no additional flags. This helps to create a proper abstraction layer in ntlmssp_wrap/auth_ntlmssp. Andrew Bartlett Signed-off-by: Andrew Tridgell --- source3/smbd/seal.c | 2 ++ source3/smbd/sesssetup.c | 4 +++- source3/smbd/smb2_sesssetup.c | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) (limited to 'source3/smbd') diff --git a/source3/smbd/seal.c b/source3/smbd/seal.c index 5481e52fe0..12672681fe 100644 --- a/source3/smbd/seal.c +++ b/source3/smbd/seal.c @@ -92,6 +92,8 @@ static NTSTATUS make_auth_ntlmssp(const struct tsocket_address *remote_address, return nt_status_squash(status); } + auth_ntlmssp_want_feature(ec->auth_ntlmssp_state, NTLMSSP_FEATURE_SEAL); + /* * We must remember to update the pointer copy for the common * functions after any auth_ntlmssp_start/auth_ntlmssp_end. diff --git a/source3/smbd/sesssetup.c b/source3/smbd/sesssetup.c index b1fed41e8e..1eb4708994 100644 --- a/source3/smbd/sesssetup.c +++ b/source3/smbd/sesssetup.c @@ -633,8 +633,10 @@ static void reply_spnego_negotiate(struct smb_request *req, return; } + auth_ntlmssp_want_feature(*auth_ntlmssp_state, NTLMSSP_FEATURE_SESSION_KEY); + status = auth_ntlmssp_update(*auth_ntlmssp_state, talloc_tos(), - secblob, &chal); + secblob, &chal); data_blob_free(&secblob); diff --git a/source3/smbd/smb2_sesssetup.c b/source3/smbd/smb2_sesssetup.c index 320a707758..40f98ce45f 100644 --- a/source3/smbd/smb2_sesssetup.c +++ b/source3/smbd/smb2_sesssetup.c @@ -392,6 +392,8 @@ static NTSTATUS smbd_smb2_spnego_negotiate(struct smbd_smb2_session *session, goto out; } + auth_ntlmssp_want_feature(session->auth_ntlmssp_state, NTLMSSP_FEATURE_SESSION_KEY); + status = auth_ntlmssp_update(session->auth_ntlmssp_state, talloc_tos(), secblob_in, -- cgit