diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/cifs/cifssmb.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c index 19fd8158bb47..fc9b5fa98efd 100644 --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c | |||
@@ -571,18 +571,10 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses) | |||
571 | if (pSMBr->EncryptionKeyLength == CIFS_CRYPTO_KEY_SIZE) { | 571 | if (pSMBr->EncryptionKeyLength == CIFS_CRYPTO_KEY_SIZE) { |
572 | memcpy(ses->server->cryptkey, pSMBr->u.EncryptionKey, | 572 | memcpy(ses->server->cryptkey, pSMBr->u.EncryptionKey, |
573 | CIFS_CRYPTO_KEY_SIZE); | 573 | CIFS_CRYPTO_KEY_SIZE); |
574 | } else if ((pSMBr->hdr.Flags2 & SMBFLG2_EXT_SEC) | 574 | } else if ((pSMBr->hdr.Flags2 & SMBFLG2_EXT_SEC || |
575 | && (pSMBr->EncryptionKeyLength == 0)) { | 575 | server->capabilities & CAP_EXTENDED_SECURITY) && |
576 | (pSMBr->EncryptionKeyLength == 0)) { | ||
576 | /* decode security blob */ | 577 | /* decode security blob */ |
577 | } else if (server->secMode & SECMODE_PW_ENCRYPT) { | ||
578 | rc = -EIO; /* no crypt key only if plain text pwd */ | ||
579 | goto neg_err_exit; | ||
580 | } | ||
581 | |||
582 | /* BB might be helpful to save off the domain of server here */ | ||
583 | |||
584 | if ((pSMBr->hdr.Flags2 & SMBFLG2_EXT_SEC) && | ||
585 | (server->capabilities & CAP_EXTENDED_SECURITY)) { | ||
586 | count = get_bcc(&pSMBr->hdr); | 578 | count = get_bcc(&pSMBr->hdr); |
587 | if (count < 16) { | 579 | if (count < 16) { |
588 | rc = -EIO; | 580 | rc = -EIO; |
@@ -625,6 +617,9 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses) | |||
625 | } else | 617 | } else |
626 | rc = -EOPNOTSUPP; | 618 | rc = -EOPNOTSUPP; |
627 | } | 619 | } |
620 | } else if (server->secMode & SECMODE_PW_ENCRYPT) { | ||
621 | rc = -EIO; /* no crypt key only if plain text pwd */ | ||
622 | goto neg_err_exit; | ||
628 | } else | 623 | } else |
629 | server->capabilities &= ~CAP_EXTENDED_SECURITY; | 624 | server->capabilities &= ~CAP_EXTENDED_SECURITY; |
630 | 625 | ||