diff options
| author | Shirish Pargaonkar <shirishpargaonkar@gmail.com> | 2011-02-17 15:38:31 -0500 |
|---|---|---|
| committer | Steve French <sfrench@us.ibm.com> | 2011-02-21 16:53:30 -0500 |
| commit | 5e640927a597a7c3e72b61e8bce74c22e906de65 (patch) | |
| tree | 5abf62d38ac5f1f88e3666308eb65d71fa82c038 /fs | |
| parent | 9616125611ee47693186533d76e403856a36b3c8 (diff) | |
cifs: Fix regression in LANMAN (LM) auth code
LANMAN response length was changed to 16 bytes instead of 24 bytes.
Revert it back to 24 bytes.
Signed-off-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
CC: stable@kernel.org
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/cifs/sess.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/cifs/sess.c b/fs/cifs/sess.c index 1adc9625a344..16765703131b 100644 --- a/fs/cifs/sess.c +++ b/fs/cifs/sess.c | |||
| @@ -656,13 +656,13 @@ ssetup_ntlmssp_authenticate: | |||
| 656 | 656 | ||
| 657 | if (type == LANMAN) { | 657 | if (type == LANMAN) { |
| 658 | #ifdef CONFIG_CIFS_WEAK_PW_HASH | 658 | #ifdef CONFIG_CIFS_WEAK_PW_HASH |
| 659 | char lnm_session_key[CIFS_SESS_KEY_SIZE]; | 659 | char lnm_session_key[CIFS_AUTH_RESP_SIZE]; |
| 660 | 660 | ||
| 661 | pSMB->req.hdr.Flags2 &= ~SMBFLG2_UNICODE; | 661 | pSMB->req.hdr.Flags2 &= ~SMBFLG2_UNICODE; |
| 662 | 662 | ||
| 663 | /* no capabilities flags in old lanman negotiation */ | 663 | /* no capabilities flags in old lanman negotiation */ |
| 664 | 664 | ||
| 665 | pSMB->old_req.PasswordLength = cpu_to_le16(CIFS_SESS_KEY_SIZE); | 665 | pSMB->old_req.PasswordLength = cpu_to_le16(CIFS_AUTH_RESP_SIZE); |
| 666 | 666 | ||
| 667 | /* Calculate hash with password and copy into bcc_ptr. | 667 | /* Calculate hash with password and copy into bcc_ptr. |
| 668 | * Encryption Key (stored as in cryptkey) gets used if the | 668 | * Encryption Key (stored as in cryptkey) gets used if the |
| @@ -675,8 +675,8 @@ ssetup_ntlmssp_authenticate: | |||
| 675 | true : false, lnm_session_key); | 675 | true : false, lnm_session_key); |
| 676 | 676 | ||
| 677 | ses->flags |= CIFS_SES_LANMAN; | 677 | ses->flags |= CIFS_SES_LANMAN; |
| 678 | memcpy(bcc_ptr, (char *)lnm_session_key, CIFS_SESS_KEY_SIZE); | 678 | memcpy(bcc_ptr, (char *)lnm_session_key, CIFS_AUTH_RESP_SIZE); |
| 679 | bcc_ptr += CIFS_SESS_KEY_SIZE; | 679 | bcc_ptr += CIFS_AUTH_RESP_SIZE; |
| 680 | 680 | ||
| 681 | /* can not sign if LANMAN negotiated so no need | 681 | /* can not sign if LANMAN negotiated so no need |
| 682 | to calculate signing key? but what if server | 682 | to calculate signing key? but what if server |
