Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c9928f70 authored by Shirish Pargaonkar's avatar Shirish Pargaonkar Committed by Steve French
Browse files

ntlm authentication and signing - Correct response length for ntlmv2...


ntlm authentication and signing - Correct response length for ntlmv2 authentication without extended security

Fix incorrect calculation of case sensitive response length in the
ntlmv2 (without extended security) response.

Signed-off-by: default avatarShirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
parent 29e07c82
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -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) {
@@ -753,6 +750,11 @@ ssetup_ntlmssp_authenticate:
				sizeof(struct ntlmv2_resp));
		bcc_ptr += sizeof(struct ntlmv2_resp);
		kfree(v2_sess_key);
		/* set case sensitive password length after tilen may get
		 * assigned, tilen is 0 otherwise.
		 */
		pSMB->req_no_secext.CaseSensitivePasswordLength =
			cpu_to_le16(sizeof(struct ntlmv2_resp) + ses->tilen);
		if (ses->tilen > 0) {
			memcpy(bcc_ptr, ses->tiblob, ses->tilen);
			bcc_ptr += ses->tilen;
@@ -761,6 +763,7 @@ ssetup_ntlmssp_authenticate:
			ses->tiblob = NULL;
			ses->tilen = 0;
		}

		if (ses->capabilities & CAP_UNICODE) {
			if (iov[0].iov_len % 2) {
				*bcc_ptr = 0;