Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.
/ corefx Public archive

[Release/3.1] Fix infinite loop when end of stream is reached #42938

Merged
merged 1 commit into from
Jul 14, 2020

Conversation

cheenamalhotra
Copy link
Member

Ports dotnet/SqlClient#577 to fix issue dotnet/SqlClient#165 in System.Data.SqlClient

Summary

The issue has been occurring for many customer applications where Client and Server cannot find a common security protocol to continue SSL handshake as the server does not send any further information while the client continues to loop. This started happening recently when client OS and docker containers disabled TLS v1.0 and v1.1, while target servers were not upgraded to TLS v1.2.

Customer Impact

Medium: The issue impacts Linux and Mac applications where servers are not ready to transition to TLS v1.2.

Regression?

No, this issue is reproducible with all previous versions of .NET Core SqlClient drivers (impacts Managed SNI use-cases).

Testing

In order to test this issue, a special setup is required on server side, to disable TLS v1.2 while the client only supports with TLSv1.2+. Local testing has been done to confirm the fix is applicable and the driver can now come out of infinite loop and throw exception.

Risk

Low: The fix is not a major functional change, and it applies only to Linux/Mac customers if their servers are not updated to support TLS 1.2. This has also been released in Microsoft.Data.SqlClient v1.1.3 and v2.0.0.

cc: @danmosemsft @saurabh500 @David-Engel

@cheenamalhotra cheenamalhotra added the Servicing-consider Issue for next servicing release review label Jun 23, 2020
@leecow leecow added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Jun 25, 2020
@leecow leecow added this to the 3.1.7 milestone Jun 25, 2020
@Anipik Anipik merged commit 5a97732 into dotnet:release/3.1 Jul 14, 2020
@cheenamalhotra cheenamalhotra deleted the release/3.1-infiniteloop branch April 26, 2021 22:31
# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants