summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorNoel Power <noel.power@suse.com>2015-05-27 09:22:10 +0100
committerSasha Levin <sasha.levin@oracle.com>2015-12-02 22:58:41 -0500
commite52b6c7f92fa5b46a0347efac1b8ecef19447633 (patch)
treeb81dfbee2bdbf8323908cbda942b349cc01bd3d2 /fs
parentbb840a1d74f58487ffaeec6cf46cf40c702d0f40 (diff)
client MUST ignore EncryptionKeyLength if CAP_EXTENDED_SECURITY is set
[ Upstream commit f291095f340db986271e951e3891bb95624a93ea ] [MS-SMB] 2.2.4.5.2.1 states: "ChallengeLength (1 byte): When the CAP_EXTENDED_SECURITY bit is set, the server MUST set this value to zero and clients MUST ignore this value." Signed-off-by: Noel Power <noel.power@suse.com> Signed-off-by: Steve French <smfrench@gmail.com> Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/cifs/cifssmb.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c
index 61d00a6e398f..4ae04561be88 100644
--- a/fs/cifs/cifssmb.c
+++ b/fs/cifs/cifssmb.c
@@ -625,9 +625,8 @@ CIFSSMBNegotiate(const unsigned int xid, struct cifs_ses *ses)
server->negflavor = CIFS_NEGFLAVOR_UNENCAP;
memcpy(ses->server->cryptkey, pSMBr->u.EncryptionKey,
CIFS_CRYPTO_KEY_SIZE);
- } else if ((pSMBr->hdr.Flags2 & SMBFLG2_EXT_SEC ||
- server->capabilities & CAP_EXTENDED_SECURITY) &&
- (pSMBr->EncryptionKeyLength == 0)) {
+ } else if (pSMBr->hdr.Flags2 & SMBFLG2_EXT_SEC ||
+ server->capabilities & CAP_EXTENDED_SECURITY) {
server->negflavor = CIFS_NEGFLAVOR_EXTENDED;
rc = decode_ext_sec_blob(ses, pSMBr);
} else if (server->sec_mode & SECMODE_PW_ENCRYPT) {