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

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

missing changes during ntlmv2/ntlmssp auth and sign

parent 9fbc5908
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -553,6 +553,8 @@ calc_seckey(struct TCP_Server_Info *server)
		return 1;
	}

	desc.tfm = tfm_arc4;

	crypto_blkcipher_setkey(tfm_arc4,
		server->session_key.data.ntlmv2.key, CIFS_CPHTXT_SIZE);
	sg_init_one(&sgin, sec_key, CIFS_CPHTXT_SIZE);
+8 −5
Original line number Diff line number Diff line
@@ -408,6 +408,8 @@ static int decode_ntlmssp_challenge(char *bcc_ptr, int blob_len,
	/* BB spec says that if AvId field of MsvAvTimestamp is populated then
		we must set the MIC field of the AUTHENTICATE_MESSAGE */

	ses->server->ntlmssp.server_flags = le32_to_cpu(pblob->NegotiateFlags);

	tioffset = cpu_to_le16(pblob->TargetInfoArray.BufferOffset);
	tilen = cpu_to_le16(pblob->TargetInfoArray.Length);
	ses->server->tilen = tilen;
@@ -440,12 +442,13 @@ static void build_ntlmssp_negotiate_blob(unsigned char *pbuffer,
	/* BB is NTLMV2 session security format easier to use here? */
	flags = NTLMSSP_NEGOTIATE_56 |	NTLMSSP_REQUEST_TARGET |
		NTLMSSP_NEGOTIATE_128 | NTLMSSP_NEGOTIATE_UNICODE |
		NTLMSSP_NEGOTIATE_NT_ONLY | NTLMSSP_NEGOTIATE_NTLM;
		NTLMSSP_NEGOTIATE_NTLM;
	if (ses->server->secMode &
	   (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED))
		flags |= NTLMSSP_NEGOTIATE_SIGN;
	if (ses->server->secMode & SECMODE_SIGN_REQUIRED)
		flags |= NTLMSSP_NEGOTIATE_ALWAYS_SIGN;
	   (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED)) {
		flags |= NTLMSSP_NEGOTIATE_SIGN |
			NTLMSSP_NEGOTIATE_KEY_XCH |
			NTLMSSP_NEGOTIATE_EXTENDED_SEC;
	}

	sec_blob->NegotiateFlags |= cpu_to_le32(flags);