[gnutls-help] Asynchronous transport
Nikos Mavrogiannopoulos
nmav at gnutls.org
Thu Oct 29 09:36:45 CET 2015
On Wed, Oct 28, 2015 at 3:37 PM, Yury Shvedov
<yshvedov at wimarksystems.com> wrote:
> I overcame the issue!
>
> The problem was on the server side: I forgot to initialize the
> prestate(gnutls_dtls_prestate_st) structure.
> But in my opinion the case when client side behave the undocumented way if
> server sends garbage is a bug on the client side too.
>
> I haven't reproduce it with exaples but reproduced it with the next code on
> server side:
> gnutls_dtls_prestate_st prestate;
>
> memset(&prestate, 0, sizeof(prestate));
>
> prestate.record_seq = 105791312;
>
> prestate.hsk_read_seq = 0;
>
> prestate.hsk_write_seq = 67166359;
That should be fairly easy to reproduce. If you modify for example
mini-dtls-hello-verify.c from tests/ with that, does it block
indefinitely?
> No I have the next issue withing handshake.
> Gnutls: REC[0x65ddbb0]: INVALID VERSION PACKET: (-1) 254.255
The comment on that error states:
"Reject record packets that have a different version than the one negotiated"
You'd better see with wireshark the versions negotiated and placed in
record packets.
regards,
Nikos
More information about the Gnutls-help
mailing list