mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 21:21:41 +00:00
cifs: Add client version details to NTLM authenticate message
The NTLM authenticate message currently sets the NTLMSSP_NEGOTIATE_VERSION flag but does not populate the VERSION structure. This commit fixes this bug by ensuring that the flag is set and the version details are included in the message. Signed-off-by: Meetakshi Setiya <msetiya@microsoft.com> Reviewed-by: Bharath SM <bharathsm@microsoft.com> Reviewed-by: Paulo Alcantara (SUSE) <pc@manguebit.com> Reviewed-by: Shyam Prasad N <sprasad@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
475efd9808
commit
1460720c59
@ -133,8 +133,8 @@ typedef struct _AUTHENTICATE_MESSAGE {
|
||||
SECURITY_BUFFER WorkstationName;
|
||||
SECURITY_BUFFER SessionKey;
|
||||
__le32 NegotiateFlags;
|
||||
/* SECURITY_BUFFER for version info not present since we
|
||||
do not set the version is present flag */
|
||||
struct ntlmssp_version Version;
|
||||
/* SECURITY_BUFFER */
|
||||
char UserString[];
|
||||
} __attribute__((packed)) AUTHENTICATE_MESSAGE, *PAUTHENTICATE_MESSAGE;
|
||||
|
||||
|
@ -1060,10 +1060,16 @@ int build_ntlmssp_auth_blob(unsigned char **pbuffer,
|
||||
memcpy(sec_blob->Signature, NTLMSSP_SIGNATURE, 8);
|
||||
sec_blob->MessageType = NtLmAuthenticate;
|
||||
|
||||
/* send version information in ntlmssp authenticate also */
|
||||
flags = ses->ntlmssp->server_flags | NTLMSSP_REQUEST_TARGET |
|
||||
NTLMSSP_NEGOTIATE_TARGET_INFO | NTLMSSP_NEGOTIATE_WORKSTATION_SUPPLIED;
|
||||
/* we only send version information in ntlmssp negotiate, so do not set this flag */
|
||||
flags = flags & ~NTLMSSP_NEGOTIATE_VERSION;
|
||||
NTLMSSP_NEGOTIATE_TARGET_INFO | NTLMSSP_NEGOTIATE_VERSION |
|
||||
NTLMSSP_NEGOTIATE_WORKSTATION_SUPPLIED;
|
||||
|
||||
sec_blob->Version.ProductMajorVersion = LINUX_VERSION_MAJOR;
|
||||
sec_blob->Version.ProductMinorVersion = LINUX_VERSION_PATCHLEVEL;
|
||||
sec_blob->Version.ProductBuild = cpu_to_le16(SMB3_PRODUCT_BUILD);
|
||||
sec_blob->Version.NTLMRevisionCurrent = NTLMSSP_REVISION_W2K3;
|
||||
|
||||
tmp = *pbuffer + sizeof(AUTHENTICATE_MESSAGE);
|
||||
sec_blob->NegotiateFlags = cpu_to_le32(flags);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user