Hans Leidekker (@hans) commented about dlls/secur32/schannel.c:
enabled_protocols = cred_enabled_protocols & config_enabled_protocols; else enabled_protocols = config_enabled_protocols & ~config_default_disabled_protocols; + if (!(fCredentialUse & SECPKG_CRED_OUTBOUND)) + enabled_protocols &= ~SP_PROT_X_CLIENTS; + if (!(fCredentialUse & SECPKG_CRED_INBOUND)) + enabled_protocols &= ~SP_PROT_X_SERVERS; if(!enabled_protocols) { ERR("Could not find matching protocol\n"); - return SEC_E_NO_AUTHENTICATING_AUTHORITY; + return SEC_E_ALGORITHM_MISMATCH;
Since you're not just adding tests, please change the patch title to something like 'Fix AcquireCredentialsHandle(Schannel) algorithm mismatch error return.'. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/1801#note_21754