aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/cifs_spnego.c
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2008-08-19 19:35:33 +0000
committerSteve French <sfrench@us.ibm.com>2008-08-19 19:35:33 +0000
commitc16fefa56334e8d0197492607e473fdbb813073f (patch)
tree8dc227ea6a712939ce216dd93746dc9baa4ee13f /fs/cifs/cifs_spnego.c
parentcifs: add local server pointer to cifs_setup_session (diff)
downloadlinux-dev-c16fefa56334e8d0197492607e473fdbb813073f.tar.xz
linux-dev-c16fefa56334e8d0197492607e473fdbb813073f.zip
[CIFS] distinguish between Kerberos and MSKerberos in upcall
Properly handle MSKRB5 by passing sec=mskrb5 to the upcall so that the spengo blob can be generated appropriately. Also, make decode_negTokenInit prefer whichever mechanism is first in the list. Needed for some NetApp servers, and possibly some older versions of Windows which treat the two KRB5 mechanisms differently. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/cifs_spnego.c')
-rw-r--r--fs/cifs/cifs_spnego.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/cifs/cifs_spnego.c b/fs/cifs/cifs_spnego.c
index 2434ab0e8791..117ef4bba68e 100644
--- a/fs/cifs/cifs_spnego.c
+++ b/fs/cifs/cifs_spnego.c
@@ -114,9 +114,11 @@ cifs_get_spnego_key(struct cifsSesInfo *sesInfo)
dp = description + strlen(description);
- /* for now, only sec=krb5 is valid */
+ /* for now, only sec=krb5 and sec=mskrb5 are valid */
if (server->secType == Kerberos)
sprintf(dp, ";sec=krb5");
+ else if (server->secType == MSKerberos)
+ sprintf(dp, ";sec=mskrb5");
else
goto out;