Hi Mikko,
diff --git a/dlls/secur32/schannel.c b/dlls/secur32/schannel.c index 78757ac..192f9cb 100644 --- a/dlls/secur32/schannel.c +++ b/dlls/secur32/schannel.c @@ -1244,6 +1244,15 @@ static SECURITY_STATUS SEC_ENTRY schan_DecryptMessage(PCtxtHandle context_handle if(buffer->cbBuffer < expected_size) { TRACE("Expected %u bytes, but buffer only contains %u bytes\n", expected_size, buffer->cbBuffer);
buffer->BufferType = SECBUFFER_MISSING;
buffer->cbBuffer = expected_size - buffer->cbBuffer;
// This is a bit weird, but windows does it too
idx = schan_find_sec_buffer_idx(message, 0, SECBUFFER_EMPTY);
buffer = &message->pBuffers[idx];
buffer->BufferType = SECBUFFER_MISSING;
buffer->cbBuffer = expected_size - buffer->cbBuffer;
}TRACE("Returning SEC_E_INCOMPLETE_MESSAGE\n"); return SEC_E_INCOMPLETE_MESSAGE;
You should resend this with the patches it depends on and give the patches a sequence number.