diff options
author | Steve French <sfrench@us.ibm.com> | 2010-08-20 16:42:26 -0400 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2010-08-20 16:42:26 -0400 |
commit | 9fbc590860e75785bdaf8b83e48fabfe4d4f7d58 (patch) | |
tree | dccc154927cf1e12c702537b5bc028158b938e21 /fs/cifs/cifssmb.c | |
parent | bf4f12113812ac5be76c5590c6f50c8346f784a4 (diff) |
[CIFS] Fix ntlmv2 auth with ntlmssp
Make ntlmv2 as an authentication mechanism within ntlmssp
instead of ntlmv1.
Parse type 2 response in ntlmssp negotiation to pluck
AV pairs and use them to calculate ntlmv2 response token.
Also, assign domain name from the sever response in type 2
packet of ntlmssp and use that (netbios) domain name in
calculation of response.
Enable cifs/smb signing using rc4 and md5.
Changed name of the structure mac_key to session_key to reflect
the type of key it holds.
Use kernel crypto_shash_* APIs instead of the equivalent cifs functions.
Signed-off-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/cifssmb.c')
-rw-r--r-- | fs/cifs/cifssmb.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c index c65c3419dd37..4bda920d1f75 100644 --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c | |||
@@ -604,11 +604,14 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses) | |||
604 | else | 604 | else |
605 | rc = -EINVAL; | 605 | rc = -EINVAL; |
606 | 606 | ||
607 | if (server->sec_kerberos || server->sec_mskerberos) | 607 | if (server->secType == Kerberos) { |
608 | server->secType = Kerberos; | 608 | if (!server->sec_kerberos && |
609 | else if (server->sec_ntlmssp) | 609 | !server->sec_mskerberos) |
610 | server->secType = RawNTLMSSP; | 610 | rc = -EOPNOTSUPP; |
611 | else | 611 | } else if (server->secType == RawNTLMSSP) { |
612 | if (!server->sec_ntlmssp) | ||
613 | rc = -EOPNOTSUPP; | ||
614 | } else | ||
612 | rc = -EOPNOTSUPP; | 615 | rc = -EOPNOTSUPP; |
613 | } | 616 | } |
614 | } else | 617 | } else |