Commit b8f06498 authored by Dmitry Timoshkov's avatar Dmitry Timoshkov Committed by Alexandre Julliard

kerberos: Calling InitializeSecurityContext without a token buffer is not an error.

This patch makes Kerberos Authentication Tester work with https and dotnet40. Apparently that's a dotnet40 quirk that it passes not NULL input buffers but doesn't mark any of buffers as a token, dotnet20 passes NULL input. Note, that in order to make version 2.0 applications work (Kerberos Authentication Tester is such an application) with dotnet40+ one needs to add to the registry key [Software\\Microsoft\\.NETFramework] "OnlyUseLatestCLR"=dword:00000001 Signed-off-by: 's avatarDmitry Timoshkov <dmitry@baikal.ru> Signed-off-by: 's avatarHans Leidekker <hans@codeweavers.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent c03b41c8
......@@ -913,9 +913,13 @@ static NTSTATUS NTAPI kerberos_SpInitLsaModeContext( LSA_SEC_HANDLE credential,
if (!input) input_token.length = 0;
else
{
if ((idx = get_buffer_index( input, SECBUFFER_TOKEN )) == -1) return SEC_E_INVALID_TOKEN;
input_token.length = input->pBuffers[idx].cbBuffer;
input_token.value = input->pBuffers[idx].pvBuffer;
if ((idx = get_buffer_index( input, SECBUFFER_TOKEN )) == -1)
input_token.length = 0;
else
{
input_token.length = input->pBuffers[idx].cbBuffer;
input_token.value = input->pBuffers[idx].pvBuffer;
}
}
if ((idx = get_buffer_index( output, SECBUFFER_TOKEN )) == -1) return SEC_E_INVALID_TOKEN;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment