Fix: TLS HTTP server alert handling #3660
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Discovery by TLS-Anvil. Prevents a bug where a session of the TLS HTTP server is not properly closed after receiving a fatal alert. When receiving a fatal alert, the ASIO loop of the
client_read
was not broken, so the session object continued to live and waited for further client data. This simple check breaks this ASIO loop.Also, while looking into this with @reneme, we figured the TLS HTTP server is quite dated (see #3659) and feels messy. It may be sensible to invest some time in renewing this code someday.
(This PR is the fix mentioned in #3651)