Discussion:
[PATCH v2] cifs: Stop using NTLMSSP flag bit NTLMSSP_NEGOTIATE_EXTENDED_SEC for key exchange
s***@public.gmane.org
2014-03-20 20:27:06 UTC
Permalink
From: Shirish Pargaonkar <spargaonkar-IBi9RG/***@public.gmane.org>


Send EncryptedRandomSessionKey in an Authenticate message of NTLMSSP exchange
based only on whether server set flag bit NTLMSSP_NEGOTIATE_KEY_EXCH in the
Challenge message of the NTLMSSP exchange.

This is per section of MS-NLMP.
3.1.5.1.2 Client Receives a CHALLENGE_MESSAGE from the Server


Reported-by: Ben Greear <greearb-my8/4N5VtI7c+***@public.gmane.org>
Signed-off-by: Shirish Pargaonkar <spargaonkar-IBi9RG/***@public.gmane.org>
---
fs/cifs/sess.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/fs/cifs/sess.c b/fs/cifs/sess.c
index e87387d..1bd6f4f 100644
--- a/fs/cifs/sess.c
+++ b/fs/cifs/sess.c
@@ -450,8 +450,7 @@ int build_ntlmssp_auth_blob(unsigned char *pbuffer,
sec_blob->WorkstationName.MaximumLength = 0;
tmp += 2;

- if (((ses->ntlmssp->server_flags & NTLMSSP_NEGOTIATE_KEY_XCH) ||
- (ses->ntlmssp->server_flags & NTLMSSP_NEGOTIATE_EXTENDED_SEC))
+ if ((ses->ntlmssp->server_flags & NTLMSSP_NEGOTIATE_KEY_XCH)
&& !calc_seckey(ses)) {
memcpy(tmp, ses->ntlmssp->ciphertext, CIFS_CPHTXT_SIZE);
sec_blob->SessionKey.BufferOffset = cpu_to_le32(tmp - pbuffer);
--
1.8.3.2
Loading...