diff mbox

[1/7,cifs] ntlm authentication and signing - Correct response length for ntlmv2 authentication without extended security

Message ID 1285771128-23075-1-git-send-email-shirishpargaonkar@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Shirish Pargaonkar Sept. 29, 2010, 2:38 p.m. UTC
None
diff mbox

Patch

diff --git a/fs/cifs/sess.c b/fs/cifs/sess.c
index af18a50..9148fd8 100644
--- a/fs/cifs/sess.c
+++ b/fs/cifs/sess.c
@@ -739,9 +739,6 @@  ssetup_ntlmssp_authenticate:
 		pSMB->req_no_secext.CaseInsensitivePasswordLength = 0;
 		/*	cpu_to_le16(LM2_SESS_KEY_SIZE); */
 
-		pSMB->req_no_secext.CaseSensitivePasswordLength =
-			cpu_to_le16(sizeof(struct ntlmv2_resp));
-
 		/* calculate session key */
 		rc = setup_ntlmv2_rsp(ses, v2_sess_key, nls_cp);
 		if (rc) {
@@ -756,11 +753,17 @@  ssetup_ntlmssp_authenticate:
 		if (ses->tilen > 0) {
 			memcpy(bcc_ptr, ses->tiblob, ses->tilen);
 			bcc_ptr += ses->tilen;
+			pSMB->req_no_secext.CaseSensitivePasswordLength =
+				cpu_to_le16(sizeof(struct ntlmv2_resp) +
+						ses->tilen);
 			/* we never did allocate ses->domainName to free */
 			kfree(ses->tiblob);
 			ses->tiblob = NULL;
 			ses->tilen = 0;
-		}
+		} else
+			pSMB->req_no_secext.CaseSensitivePasswordLength =
+				cpu_to_le16(sizeof(struct ntlmv2_resp));
+
 		if (ses->capabilities & CAP_UNICODE) {
 			if (iov[0].iov_len % 2) {
 				*bcc_ptr = 0;