diff options
Diffstat (limited to 'fs/smb/client/asn1.c')
-rw-r--r-- | fs/smb/client/asn1.c | 9 |
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; |