cifs: Fix regression during share-level security mounts (Repost)
authorShirish Pargaonkar <[email protected]>
Wed, 19 Jan 2011 04:33:54 +0000 (22:33 -0600)
committerSteve French <[email protected]>
Wed, 19 Jan 2011 18:11:18 +0000 (18:11 +0000)
NTLM response length was changed to 16 bytes instead of 24 bytes
that are sent in Tree Connection Request during share-level security
share mounts.  Revert it back to 24 bytes.

Reported-and-Tested-by: Grzegorz Ozanski <[email protected]>
Acked-by: Jeff Layton <[email protected]>
Signed-off-by: Shirish Pargaonkar <[email protected]>
Acked-by: Suresh Jayaraman <[email protected]>
Cc: [email protected]
Signed-off-by: Steve French <[email protected]>
fs/cifs/connect.c

index 465ecad6d7ccc0db79d8cd56bbfbc61043ffb9b1..5c7f8450dbe03ac1d20664d9d0d07567ff27d95a 100644 (file)
@@ -2927,7 +2927,7 @@ CIFSTCon(unsigned int xid, struct cifsSesInfo *ses,
                bcc_ptr++;              /* skip password */
                /* already aligned so no need to do it below */
        } else {
-               pSMB->PasswordLength = cpu_to_le16(CIFS_SESS_KEY_SIZE);
+               pSMB->PasswordLength = cpu_to_le16(CIFS_AUTH_RESP_SIZE);
                /* BB FIXME add code to fail this if NTLMv2 or Kerberos
                   specified as required (when that support is added to
                   the vfs in the future) as only NTLM or the much
@@ -2945,7 +2945,7 @@ CIFSTCon(unsigned int xid, struct cifsSesInfo *ses,
 #endif /* CIFS_WEAK_PW_HASH */
                SMBNTencrypt(tcon->password, ses->server->cryptkey, bcc_ptr);
 
-               bcc_ptr += CIFS_SESS_KEY_SIZE;
+               bcc_ptr += CIFS_AUTH_RESP_SIZE;
                if (ses->capabilities & CAP_UNICODE) {
                        /* must align unicode strings */
                        *bcc_ptr = 0; /* null byte password */