summaryrefslogtreecommitdiff
path: root/fs/smb/client/asn1.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/smb/client/asn1.c')
-rw-r--r--fs/smb/client/asn1.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/smb/client/asn1.c b/fs/smb/client/asn1.c
index 214a44509e7b..87910e2e0803 100644
--- a/fs/smb/client/asn1.c
+++ b/fs/smb/client/asn1.c
@@ -48,9 +48,12 @@ int cifs_neg_token_init_mech_type(void *context, size_t hdrlen,
server->sec_mskerberos = true;
else if (oid == OID_krb5u2u)
server->sec_kerberosu2u = true;
- else if (oid == OID_krb5)
- server->sec_kerberos = true;
- else if (oid == OID_ntlmssp)
+ else if (oid == OID_krb5) {
+ if (!server->sec_iakerb)
+ server->sec_kerberos = true;
+ else
+ server->sec_kerberos = false;
+ } else if (oid == OID_ntlmssp)
server->sec_ntlmssp = true;
else if (oid == OID_IAKerb)
server->sec_iakerb = true;