-
Notifications
You must be signed in to change notification settings - Fork 5.1k
[release/8.0-staging] Link peer's X509 stack handle to parent SSL safe handle #115379
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
[release/8.0-staging] Link peer's X509 stack handle to parent SSL safe handle #115379
Conversation
…aphy.Native/Interop.Ssl.cs Co-authored-by: Kevin Jones <[email protected]>
This reverts commit 3cae60b.
Tagging subscribers to this area: @dotnet/ncl, @bartonjs, @vcsjones |
Reliability problem (crash) reported by 2 customers (one of them on 8.0). Worth a fix. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. should we port the test as well for consistency?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with Tomas, seems like the test should have been included.
* Defer RemoteCertificate assignment after X509 Chain build * Add comment
* Fix SslStreamDisposeTest.Dispose_ParallelWithHandshake_ThrowsODE test failures * Fix build
* [Test Failure] SslStreamDisposeTest.Dispose_ParallelWithHandshake_ThrowsODE on Unix Fixes #113833 * fixup! [Test Failure] SslStreamDisposeTest.Dispose_ParallelWithHandshake_ThrowsODE on Unix Fixes #113833 * fixup! fixup! [Test Failure] SslStreamDisposeTest.Dispose_ParallelWithHandshake_ThrowsODE on Unix Fixes #113833 * Update src/libraries/System.Net.Security/tests/FunctionalTests/SslStreamDisposeTest.cs Co-authored-by: Copilot <[email protected]> * Fix build --------- Co-authored-by: Copilot <[email protected]>
The test in the original PR was flaky and uncovered other issues, so I had to include more PR (mostli test fixes). It should be good now. |
@rzikm reminder: servicing code complete for 8.0.18 is today @ 3PM PST. This is still missing tactics approval. |
Approved via email |
Backport of #113124 to release/8.0-staging
Fixes #109689
/cc @rzikm
Customer Impact
Reported by 2 customers. They experience process crashes when using specific pattern with short HTTP request timeout.
The crash happens when they dispose
SslStream
concurrently with an ongoing handshake operation on Linux. The concurrent dispose may occur when usingHttpClient
with very short timeout settings.Regression
No -- the scenario is not too common and the timing in TLS 1.3 might be different from previous TLS versions, affecting chances of the problem happening.
Testing
Successfully reproduced on main with modified Runtime (artificial sleeps in code to increase likelihood of the race condition).
We lost customer repro environment after they updated OS and OpenSSL versions - we cannot validate on their side.
Risk
Low. The change is well contained and uses existing patterns.