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

Fix re-entrancy of non-MPS handshake state machine #346

Merged

Conversation

hanno-becker
Copy link
Collaborator

@hanno-becker hanno-becker commented Aug 7, 2021

The non-MPS handshake state machine is not properly re-entrant upon unavailability of the underlying transport, see #238. This PR aims to fix this, primarily by always making sure to update the state machine prior to calling the potentially-failing handshake-write function. In MPS, this issue does not occur because mps_dispatch() does never attempt to actually send the message - for exactly the reason to avoid having to make each invocation re-entrant.

This PR does not attempt to clean up the state machine beyond getting the tests to pass - this is left for further work.

Fixes #238

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

Successfully merging this pull request may close these issues.

Non MPS ssl-opt.sh test failed with nbio=2
1 participant