Commit 88295b9a authored by Rob Shearman's avatar Rob Shearman Committed by Alexandre Julliard

rpcrt4: Call CompleteAuthToken if InitializeSecurityContext returned a code that…

rpcrt4: Call CompleteAuthToken if InitializeSecurityContext returned a code that says it should be called. Currently, the only security provider that requires this is the Digest one, which we don't really care about, but is supported for completeness.
parent 88e9b3fa
...@@ -501,7 +501,22 @@ static RPC_STATUS RPCRT4_ClientAuthorize(RpcConnection *conn, SecBuffer *in, ...@@ -501,7 +501,22 @@ static RPC_STATUS RPCRT4_ClientAuthorize(RpcConnection *conn, SecBuffer *in,
return ERROR_ACCESS_DENIED; /* FIXME: is this correct? */ return ERROR_ACCESS_DENIED; /* FIXME: is this correct? */
} }
TRACE("r = 0x%08x, cbBuffer = %ld, attr = 0x%08x\n", r, out->cbBuffer, conn->attr); TRACE("r = 0x%08x, attr = 0x%08x\n", r, conn->attr);
if ((r == SEC_I_COMPLETE_NEEDED) || (r == SEC_I_COMPLETE_AND_CONTINUE))
{
TRACE("complete needed\n");
r = CompleteAuthToken(&conn->ctx, &out_desc);
if (FAILED(r))
{
HeapFree(GetProcessHeap(), 0, out->pvBuffer);
out->pvBuffer = NULL;
WARN("CompleteAuthToken failed with error 0x%08x\n", r);
return ERROR_ACCESS_DENIED; /* FIXME: is this correct? */
}
}
TRACE("cbBuffer = %ld\n", out->cbBuffer);
return RPC_S_OK; return RPC_S_OK;
} }
......
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