Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with retransmission during handshake #15

Open
nx7400 opened this issue Sep 18, 2020 · 1 comment
Open

Issue with retransmission during handshake #15

nx7400 opened this issue Sep 18, 2020 · 1 comment

Comments

@nx7400
Copy link

nx7400 commented Sep 18, 2020

Hi,
I observe incorrect retransmission behaviors during handshake.

  1. The first case is sending a retransmission when it is not needed because the server response comes in less than 1 second.
    image
    Additionally, the retransmission is sent at a completely unanticipated moment of the handshake.

  2. The second case is not sending the retransmission at the right moment when the server needs more than 1 second to respond.
    image
    Here too, the retransmission is sent at unanticipated moment.

  3. The third case also contains a issue with retransmission but additionally Client dose not respond to the Server Hello Done message.
    image

In my application I use your DTLS code only for DTLS Clients. Server part is an independent application that uses plain OpenSSL in version 1.1.1d.
In the cases described above I use 5 such Clients that try to connect to the server.

I did quite detailed review of your code in search of the issue but failed to find the cause.
Do you have any idea what the issue might be or what I am doing wrong?

@sdamm
Copy link
Owner

sdamm commented Sep 24, 2020

Sorry for the late response.

This is a bug in asio_dtls which I don't know how to fix.
On the fix_handshake_timeouts branch I have a Fix which has the following downsides:

  • timeout in handshake returns "Connection timed out" which is only somewhat correct
  • the timeout closes the Socket (cancel would be an alternative, with some new downsides)

Could you please confirm that this fixes the issue (aside from the above mentioned Problems)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants