diff options
author | Isaac Boukris <iboukris@gmail.com> | 2019-11-07 13:39:20 +0100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2019-12-10 00:30:30 +0000 |
commit | bbcf568f317960229caa7486322858093f5d0d04 (patch) | |
tree | 3023bdea1600ecaefdc945cc84bbaa8733c97fb8 /auth | |
parent | 38189f76d8b958fff8a6351f3fb21f6ed04b76da (diff) | |
download | samba-bbcf568f317960229caa7486322858093f5d0d04.tar.gz |
SMBsesskeygen_lm_sess_key: use gnutls and return NTSTATUS
Signed-off-by: Isaac Boukris <iboukris@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'auth')
-rw-r--r-- | auth/ntlmssp/ntlmssp_client.c | 16 | ||||
-rw-r--r-- | auth/ntlmssp/ntlmssp_server.c | 15 |
2 files changed, 23 insertions, 8 deletions
diff --git a/auth/ntlmssp/ntlmssp_client.c b/auth/ntlmssp/ntlmssp_client.c index 2a80feb4fed..58e4e3d6f42 100644 --- a/auth/ntlmssp/ntlmssp_client.c +++ b/auth/ntlmssp/ntlmssp_client.c @@ -673,12 +673,20 @@ NTSTATUS ntlmssp_client_challenge(struct gensec_security *gensec_security, && ntlmssp_state->allow_lm_key && lm_session_key.length == 16) { DATA_BLOB new_session_key = data_blob_talloc(mem_ctx, NULL, 16); if (lm_response.length == 24) { - SMBsesskeygen_lm_sess_key(lm_session_key.data, lm_response.data, - new_session_key.data); + nt_status = SMBsesskeygen_lm_sess_key(lm_session_key.data, + lm_response.data, + new_session_key.data); + if (!NT_STATUS_IS_OK(nt_status)) { + return nt_status; + } } else { static const uint8_t zeros[24]; - SMBsesskeygen_lm_sess_key(lm_session_key.data, zeros, - new_session_key.data); + nt_status = SMBsesskeygen_lm_sess_key(lm_session_key.data, + zeros, + new_session_key.data); + if (!NT_STATUS_IS_OK(nt_status)) { + return nt_status; + } } session_key = new_session_key; dump_data_pw("LM session key\n", session_key.data, session_key.length); diff --git a/auth/ntlmssp/ntlmssp_server.c b/auth/ntlmssp/ntlmssp_server.c index 5a56a4db99f..29559b3fe02 100644 --- a/auth/ntlmssp/ntlmssp_server.c +++ b/auth/ntlmssp/ntlmssp_server.c @@ -970,8 +970,12 @@ static NTSTATUS ntlmssp_server_postauth(struct gensec_security *gensec_security, if (session_key.data == NULL) { return NT_STATUS_NO_MEMORY; } - SMBsesskeygen_lm_sess_key(lm_session_key.data, ntlmssp_state->lm_resp.data, - session_key.data); + nt_status = SMBsesskeygen_lm_sess_key(lm_session_key.data, + ntlmssp_state->lm_resp.data, + session_key.data); + if (!NT_STATUS_IS_OK(nt_status)) { + return nt_status; + } DEBUG(10,("ntlmssp_server_auth: Created NTLM session key.\n")); } else { static const uint8_t zeros[24] = {0, }; @@ -980,8 +984,11 @@ static NTSTATUS ntlmssp_server_postauth(struct gensec_security *gensec_security, if (session_key.data == NULL) { return NT_STATUS_NO_MEMORY; } - SMBsesskeygen_lm_sess_key(zeros, zeros, - session_key.data); + nt_status = SMBsesskeygen_lm_sess_key(zeros, zeros, + session_key.data); + if (!NT_STATUS_IS_OK(nt_status)) { + return nt_status; + } DEBUG(10,("ntlmssp_server_auth: Created NTLM session key.\n")); } dump_data_pw("LM session key:\n", session_key.data, |