Successive calls to InitializeSecurityContext without a new pInput
buffer will result in retransmission, creating a handshake packet with
an incremented sequence number value, but otherwise identical to the
last call to InitializeSecurityContext.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
In order for DTLS retransmission to occur properly, we need to be in
non-blocking mode.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
When a NULL pInput argument is passed into InitializeSecurityContextW
for an existing DTLS context, we need to retransmit the last handshake
packet.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Since we write no data into this buffer, set the count to 0. Otherwise,
some applications assume there has been alert data written into the
buffer.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Add support for setting the DTLS timeout values, and set the
retransmission timeout value to 0 to allow for retransmission on each
call to schan_InitializeSecurityContext.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
If a valid pointer for phNewContext is passed in alongside a valid phContext
pointer, initialize phNewContext with the value of phContext on success.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Add more tests for DTLS, and clear up behavior of prior tests.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
GnuTLS has been the default since wine-6.11.
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This was incorrectly removed by commit 5c0fe4db7d.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This function was introduced in 10.5, and we now require 10.8. We can
safely assume it is present.
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Buffer types in PSecBufferDesc can have an optional attribute. When
searching, it must be ignored to ensure the buffer type is found.
Signed-off-by: Julien Loir <mini.jul.jl@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Fixes a regression introduced in b8aaf86b2d
Partial revert the pull_timeout function, which now return -1 and sets the
transport error to try again.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51440
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>