From e71439499b2c599b83614210c2b6eecc123518ad Mon Sep 17 00:00:00 2001 From: "Javad Rahnama (SIMBA TECHNOLOGIES INC)" Date: Thu, 7 Mar 2024 16:13:54 -0800 Subject: [PATCH 1/2] Regression | Revert PR #2281 SNIProxy code change --- .../netcore/src/Microsoft/Data/SqlClient/SNI/SNIProxy.cs | 2 +- .../tests/ManualTests/SQL/InstanceNameTest/InstanceNameTest.cs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SNI/SNIProxy.cs b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SNI/SNIProxy.cs index d39f382bd6..428ae3edf8 100644 --- a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SNI/SNIProxy.cs +++ b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SNI/SNIProxy.cs @@ -654,7 +654,7 @@ private bool InferConnectionDetails() Port = port; } // Instance Name Handling. - if (backSlashIndex > -1) + else if (backSlashIndex > -1) { // This means that there is a part separated by '\' InstanceName = tokensByCommaAndSlash[1].Trim(); diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/InstanceNameTest/InstanceNameTest.cs b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/InstanceNameTest/InstanceNameTest.cs index 205b9d33f1..aa72bb6f5b 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/InstanceNameTest/InstanceNameTest.cs +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/InstanceNameTest/InstanceNameTest.cs @@ -87,6 +87,7 @@ public static void ConnectManagedWithInstanceNameTest(bool useMultiSubnetFailove } #if NETCOREAPP + [ActiveIssue("27824")] // When specifying instance name and port number, this method call always returns false [ConditionalFact(nameof(IsSPNPortNumberTestForTCP))] public static void PortNumberInSPNTestForTCP() { From 19dd6e484eb81eb5c76b934c0e055d1a4588a9fe Mon Sep 17 00:00:00 2001 From: Javad Rahnama Date: Thu, 7 Mar 2024 16:25:41 -0800 Subject: [PATCH 2/2] Apply suggestions from code review Co-authored-by: David Engel --- .../netcore/src/Microsoft/Data/SqlClient/SNI/SNIProxy.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SNI/SNIProxy.cs b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SNI/SNIProxy.cs index 428ae3edf8..3df369a2f6 100644 --- a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SNI/SNIProxy.cs +++ b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SNI/SNIProxy.cs @@ -653,10 +653,10 @@ private bool InferConnectionDetails() Port = port; } - // Instance Name Handling. + // Instance Name Handling. Only if we found a '\' and we did not find a port in the Data Source else if (backSlashIndex > -1) { - // This means that there is a part separated by '\' + // This means that there will not be any part separated by comma. InstanceName = tokensByCommaAndSlash[1].Trim(); if (string.IsNullOrWhiteSpace(InstanceName))