From c146812c5d264bfded278da7f301d26de2b35d4e Mon Sep 17 00:00:00 2001 From: Malcolm Stewart <63060860+Malcolm-Stewart@users.noreply.github.com> Date: Thu, 26 Sep 2024 10:52:33 -0400 Subject: [PATCH] SQLOLEDB TLS 1.2 support reporting fixes Changed the logic to use WindowsDisplayVersion rather than ReleaseID, which diverge in Windows 11 and 2022. Added more server versions. Added a catch-all for Windows versions 11 and 2022 and later as a default option for non-enumerated versions. --- .../SQLCheck/v15/Server/sqlite3/storage.ide | Bin 733184 -> 733184 bytes SQLCheck/SQLCheck/Collectors.cs | 5 ++++- SQLCheck/SQLCheck/DriverInfo.cs | 15 ++++++++++----- SQLCheck/SQLCheck/Properties/AssemblyInfo.cs | 4 ++-- SQLCheck/SQLCheck/Storage.cs | 1 + 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/SQLCheck/.vs/SQLCheck/v15/Server/sqlite3/storage.ide b/SQLCheck/.vs/SQLCheck/v15/Server/sqlite3/storage.ide index f889232c5c5fdf9238b0e47223746e3c48453ae6..524f52a6bd1f958f9b9ac725aeba56ec56235848 100644 GIT binary patch delta 15843 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 diff --git a/SQLCheck/SQLCheck/Collectors.cs b/SQLCheck/SQLCheck/Collectors.cs index f2c5703..f442991 100644 --- a/SQLCheck/SQLCheck/Collectors.cs +++ b/SQLCheck/SQLCheck/Collectors.cs @@ -175,6 +175,7 @@ public static void CollectComputer(DataSet ds) DisplayVersion = Utility.RegistryTryGetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "DisplayVersion", ""); Computer["WindowsReleaseID"] = releaseID; if (DisplayVersion == "") DisplayVersion = releaseID; // Windows 2022 uses DisplayVersion, Windows 2019 and earlier do not have this, use ReleaseID instead + Computer["WindowsDisplayVersion"] = DisplayVersion; ubr = Utility.RegistryTryGetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "UBR", 0); // UBR = Update Build Revision Computer["WindowsUBR"] = ubr.ToString(); @@ -1460,6 +1461,7 @@ public static void CollectDatabaseDriver(DataSet ds) FileVersionInfo versionInfo = null; string windowsVersion = Computer.GetString("WindowsVersion"); string windowsReleaseID = Computer.GetString("WindowsReleaseID"); + string windowsDisplayVersion = Computer.GetString("WindowsDisplayVersion"); // use instead of ReleaseID for GetDriverInfo call string badPath = ""; foreach (DataRow Provider in OLEDBProviders.Rows) @@ -1500,7 +1502,8 @@ public static void CollectDatabaseDriver(DataSet ds) versionInfo = null; DatabaseDriver["Message"] = badPath + "File not found"; } - info = DriverInfo.GetDriverInfo(Provider["ProgID"].ToString(), versionInfo, windowsVersion, windowsReleaseID); + // info = DriverInfo.GetDriverInfo(Provider["ProgID"].ToString(), versionInfo, windowsVersion, windowsReleaseID); // okay for Win 2019 and prior, need display version for 2022 and later + info = DriverInfo.GetDriverInfo(Provider["ProgID"].ToString(), versionInfo, windowsVersion, windowsDisplayVersion); DatabaseDriver["Version"] = versionInfo == null ? "Unknown" : versionInfo.ProductVersion; DatabaseDriver["TLS12"] = info == null ? "" : info.MinTLS12Version; DatabaseDriver["TLS13"] = info == null ? "" : info.MinTLS13Version; diff --git a/SQLCheck/SQLCheck/DriverInfo.cs b/SQLCheck/SQLCheck/DriverInfo.cs index 7c1a9ad..38e7a79 100644 --- a/SQLCheck/SQLCheck/DriverInfo.cs +++ b/SQLCheck/SQLCheck/DriverInfo.cs @@ -36,7 +36,7 @@ public DriverInfo(string driverName, string driverType, string minTLS12Version, MultiSubnetFailover = multiSubnetFailover; } - public static DriverInfo GetDriverInfo(string driverName, FileVersionInfo versionInfo, string WindowsVersion, string WindowsReleaseID) // TODO - fix up MinTLSVersion and Server Support + public static DriverInfo GetDriverInfo(string driverName, FileVersionInfo versionInfo, string WindowsVersion, string WindowsDisplayVersion) // TODO - fix up MinTLSVersion and Server Support { string TLS12 = "No"; string TLS13 = "No"; @@ -60,7 +60,8 @@ public static DriverInfo GetDriverInfo(string driverName, FileVersionInfo versio { case "SQLOLEDB": case "SQL Server": - switch (WindowsReleaseID.ToUpper()) + // switch (WindowsReleaseID.ToUpper()) // okay for pre-Win 11 or Win 2022 + switch (WindowsDisplayVersion.ToUpper()) { case "": // Windows 8.1/2012 R2 and earlier - Won't fix these versions: Windows 2003, XP, 2008, 2008 R2, 2012 // Windows 8.1 and Windows 2012 R2 = version 6.3.9600 - what build supports the updated DBNETLIB.DLL??? @@ -104,11 +105,15 @@ public static DriverInfo GetDriverInfo(string driverName, FileVersionInfo versio if (Utility.CompareVersion(WindowsVersion, "10.0.19042") == "=" && Utility.CompareVersion(WindowsVersion, "10.0.19042.609") == ">") TLS12 = "Yes"; break; case "21H1": // Windows 10/2019 21H1 ???? build 19043 ???? + case "IRON": // more at https://microsoft.visualstudio.com/OS/_workitems/edit/27324781 + case "21H2": + case "22H2": + case "23H2": + case "24H2": TLS12 = "Yes"; break; - case "IRON": // Windows 10/2019 Iron ???? build 20207???? ???? April 16, 2021???? - // more at https://microsoft.visualstudio.com/OS/_workitems/edit/27324781 - TLS12 = "Yes"; + default: // all versions of Winodws 11 or 2022 or greater support TLS 1.2 + if (Utility.CompareVersion(WindowsVersion, "10.0.19999") == ">") TLS12 = "Yes"; break; } break; diff --git a/SQLCheck/SQLCheck/Properties/AssemblyInfo.cs b/SQLCheck/SQLCheck/Properties/AssemblyInfo.cs index ed75ff6..3114d50 100644 --- a/SQLCheck/SQLCheck/Properties/AssemblyInfo.cs +++ b/SQLCheck/SQLCheck/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.1422.0")] -[assembly: AssemblyFileVersion("1.0.1422.0")] +[assembly: AssemblyVersion("1.0.1435.0")] +[assembly: AssemblyFileVersion("1.0.1435.0")] diff --git a/SQLCheck/SQLCheck/Storage.cs b/SQLCheck/SQLCheck/Storage.cs index a7020f2..c3c0f93 100644 --- a/SQLCheck/SQLCheck/Storage.cs +++ b/SQLCheck/SQLCheck/Storage.cs @@ -140,6 +140,7 @@ public static DataSet CreateDataSet(String ComputerName) dt.AddColumn("MinorVersion", "String"); dt.AddColumn("WindowsBuild", "String"); dt.AddColumn("WindowsReleaseID", "String"); + dt.AddColumn("WindowsDisplayVersion", "String"); // in Windows 2022, this is separate from RelaseID, for prior versions, ReleaseID is copied here dt.AddColumn("WindowsUBR", "String"); dt.AddColumn("CLR4Version", "String"); dt.AddColumn("CLR4StrongCrypto", "String");