smb3.1.1: rename nonces used for GCM and CCM encryption
Now that 256 bit encryption can be negotiated, update names of the nonces to match the updated official protocol documentation (e.g. AES_GCM_NONCE instead of AES_128GCM_NONCE) since they apply to both 128 bit and 256 bit encryption. Signed-off-by: Steve French <stfrench@microsoft.com> Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
This commit is contained in:
parent
511ac89e59
commit
fd08f2dbf0
|
@ -3821,9 +3821,9 @@ fill_transform_hdr(struct smb2_transform_hdr *tr_hdr, unsigned int orig_len,
|
||||||
tr_hdr->OriginalMessageSize = cpu_to_le32(orig_len);
|
tr_hdr->OriginalMessageSize = cpu_to_le32(orig_len);
|
||||||
tr_hdr->Flags = cpu_to_le16(0x01);
|
tr_hdr->Flags = cpu_to_le16(0x01);
|
||||||
if (cipher_type == SMB2_ENCRYPTION_AES128_GCM)
|
if (cipher_type == SMB2_ENCRYPTION_AES128_GCM)
|
||||||
get_random_bytes(&tr_hdr->Nonce, SMB3_AES128GCM_NONCE);
|
get_random_bytes(&tr_hdr->Nonce, SMB3_AES_GCM_NONCE);
|
||||||
else
|
else
|
||||||
get_random_bytes(&tr_hdr->Nonce, SMB3_AES128CCM_NONCE);
|
get_random_bytes(&tr_hdr->Nonce, SMB3_AES_CCM_NONCE);
|
||||||
memcpy(&tr_hdr->SessionId, &shdr->SessionId, 8);
|
memcpy(&tr_hdr->SessionId, &shdr->SessionId, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3993,10 +3993,10 @@ crypt_message(struct TCP_Server_Info *server, int num_rqst,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (server->cipher_type == SMB2_ENCRYPTION_AES128_GCM)
|
if (server->cipher_type == SMB2_ENCRYPTION_AES128_GCM)
|
||||||
memcpy(iv, (char *)tr_hdr->Nonce, SMB3_AES128GCM_NONCE);
|
memcpy(iv, (char *)tr_hdr->Nonce, SMB3_AES_GCM_NONCE);
|
||||||
else {
|
else {
|
||||||
iv[0] = 3;
|
iv[0] = 3;
|
||||||
memcpy(iv + 1, (char *)tr_hdr->Nonce, SMB3_AES128CCM_NONCE);
|
memcpy(iv + 1, (char *)tr_hdr->Nonce, SMB3_AES_CCM_NONCE);
|
||||||
}
|
}
|
||||||
|
|
||||||
aead_request_set_crypt(req, sg, sg, crypt_len, iv);
|
aead_request_set_crypt(req, sg, sg, crypt_len, iv);
|
||||||
|
|
|
@ -128,8 +128,8 @@ struct smb2_sync_pdu {
|
||||||
__le16 StructureSize2; /* size of wct area (varies, request specific) */
|
__le16 StructureSize2; /* size of wct area (varies, request specific) */
|
||||||
} __packed;
|
} __packed;
|
||||||
|
|
||||||
#define SMB3_AES128CCM_NONCE 11
|
#define SMB3_AES_CCM_NONCE 11
|
||||||
#define SMB3_AES128GCM_NONCE 12
|
#define SMB3_AES_GCM_NONCE 12
|
||||||
|
|
||||||
/* Transform flags (for 3.0 dialect this flag indicates CCM */
|
/* Transform flags (for 3.0 dialect this flag indicates CCM */
|
||||||
#define TRANSFORM_FLAG_ENCRYPTED 0x0001
|
#define TRANSFORM_FLAG_ENCRYPTED 0x0001
|
||||||
|
|
Loading…
Reference in New Issue