Skip to content

Conversation

drgkaleda
Copy link

  • Fix race-condition between data TX watchdog timer and handshakes retries timer
  • (at the same time) Fix and unify handshake attempts counter usage: now 0 means no HI in progress. Can use that timer to check if and HIs already sent.
  • Do not flood new handhake initiations, if HI is already scheduled by somebody else.

Antanas Gadeikis added 2 commits May 20, 2021 14:15
0 means no HandshakeInitiation (HI) is in progress.
Positive number - how many HIs have been already send.
This patch also fixes race condition between HI retries and data sent watchdog timer(timersDataSent vs expiredRetransmitHandshake)

Signed-off-by: Antanas Gadeikis <antanas.gadeikis@nordsec.com>
Signed-off-by: Antanas Gadeikis <antanas.gadeikis@nordsec.com>
@drgkaleda
Copy link
Author

Initially those raceconditions were observed on Windows.
Also I was able to reproduce them on Linux.
Debug and testing was done on Linux.
Mac version was untested, but I think it should have the same problem.

@adrianosela
Copy link

This is deliberate I believe. If you don't retry once already in progress, then a single lost packet would prevent a connection from being established.

@zx2c4-bot zx2c4-bot force-pushed the master branch 7 times, most recently from 5ba9663 to c92064f Compare May 21, 2025 23:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants