http://bugs.winehq.org/show_bug.cgi?id=14222
Summary: RpcBindingSetAuthInfo(Ex) fails with RPC_C_AUTHN_GSS_NEGOTIATE Product: Wine Version: CVS/GIT Platform: Other OS/Version: other Status: UNCONFIRMED Severity: enhancement Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: winesku@googlemail.com
RpcBindingSetAuthInfo(Ex) fails with RPC_S_UNKNOWN_AUTHN_SERVICE if RPC_C_AUTHN_GSS_NEGOTIATE is specified. While this looks correct at first glance, because WINE's secur32.dll currently has no Negotiate provider, but instead only an NTLM provider, it is not what applications expect. Since Windows 2000, RPC clients that call RpcBindingSetAuthInfo(Ex) can at least expect that this call succeeds with the selection of NTLM, even in non-domain environments. Therefore WINE's RpcBindingSetAuthInfo(Ex) should make a fallback to RPC_C_AUTHN_WINNT if RPC_C_AUTHN_GSS_NEGOTIATE is requested by the caller but only NTLM is available. After all, by specifying RPC_C_AUTHN_GSS_NEGOTIATE, the client indicated that NTLM is sufficient.