From 15e9370e32ab7a2c25d56e95554ff69d334bff62 Mon Sep 17 00:00:00 2001 From: Filip Navara Date: Mon, 17 Jul 2023 19:18:28 +0200 Subject: [PATCH] Enable ExtendedProtectionPolicy in generic System.Net.Security build (#88871) * Enable ExtendedProtectionPolicy in generic System.Net.Security build (used on browser) * Update tests --- .../src/ExcludeApiList.PNSE.txt | 2 ++ .../src/System.Net.Security.csproj | 15 +++++++++------ .../ExtendedProtectionPolicy.cs | 2 +- .../ExtendedProtectionPolicyTest.cs | 10 +++++++++- 4 files changed, 21 insertions(+), 8 deletions(-) create mode 100644 src/libraries/System.Net.Security/src/ExcludeApiList.PNSE.txt diff --git a/src/libraries/System.Net.Security/src/ExcludeApiList.PNSE.txt b/src/libraries/System.Net.Security/src/ExcludeApiList.PNSE.txt new file mode 100644 index 00000000000000..27c3d9976b9d1f --- /dev/null +++ b/src/libraries/System.Net.Security/src/ExcludeApiList.PNSE.txt @@ -0,0 +1,2 @@ +System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy +System.Security.Authentication.ExtendedProtection.ServiceNameCollection diff --git a/src/libraries/System.Net.Security/src/System.Net.Security.csproj b/src/libraries/System.Net.Security/src/System.Net.Security.csproj index 5579515616d2bd..9cce5ff1e045b0 100644 --- a/src/libraries/System.Net.Security/src/System.Net.Security.csproj +++ b/src/libraries/System.Net.Security/src/System.Net.Security.csproj @@ -9,6 +9,7 @@ $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) SR.SystemNetSecurity_PlatformNotSupported + ExcludeApiList.PNSE.txt $(DefineConstants);TARGET_WINDOWS $(DefineConstants);TARGET_ANDROID true @@ -18,6 +19,14 @@ ReferenceAssemblyExclusions.txt + + + + + + @@ -53,10 +62,8 @@ - - @@ -87,8 +94,6 @@ Link="Common\System\Net\ExceptionCheck.cs" /> - @@ -106,8 +111,6 @@ Condition="'$(UseManagedNtlm)' != 'true'" /> - diff --git a/src/libraries/System.Net.Security/src/System/Security/Authentication/ExtendedProtection/ExtendedProtectionPolicy.cs b/src/libraries/System.Net.Security/src/System/Security/Authentication/ExtendedProtection/ExtendedProtectionPolicy.cs index d0d19339322f76..5b476ac057d5d5 100644 --- a/src/libraries/System.Net.Security/src/System/Security/Authentication/ExtendedProtection/ExtendedProtectionPolicy.cs +++ b/src/libraries/System.Net.Security/src/System/Security/Authentication/ExtendedProtection/ExtendedProtectionPolicy.cs @@ -149,7 +149,7 @@ public static bool OSSupportsExtendedProtection get { // .NET Core is supported only on Win7+ where ExtendedProtection is supported. - return true; + return OperatingSystem.IsWindows(); } } } diff --git a/src/libraries/System.Net.Security/tests/UnitTests/System/Security/Authentication/ExtendedProtection/ExtendedProtectionPolicyTest.cs b/src/libraries/System.Net.Security/tests/UnitTests/System/Security/Authentication/ExtendedProtection/ExtendedProtectionPolicyTest.cs index eb408bd84dc3fa..9bd3c08b08acff 100644 --- a/src/libraries/System.Net.Security/tests/UnitTests/System/Security/Authentication/ExtendedProtection/ExtendedProtectionPolicyTest.cs +++ b/src/libraries/System.Net.Security/tests/UnitTests/System/Security/Authentication/ExtendedProtection/ExtendedProtectionPolicyTest.cs @@ -57,11 +57,19 @@ public void Constructor_PolicyEnforcement_MembersAreSet() } [Fact] - public void ExtendedProtectionPolicy_OSSupportsExtendedProtection() + [PlatformSpecific(TestPlatforms.Windows)] + public void ExtendedProtectionPolicy_OSSupportsExtendedProtection_Windows() { Assert.True(ExtendedProtectionPolicy.OSSupportsExtendedProtection); } + [Fact] + [PlatformSpecific(TestPlatforms.AnyUnix)] + public void ExtendedProtectionPolicy_OSSupportsExtendedProtection_NonWindows() + { + Assert.False(ExtendedProtectionPolicy.OSSupportsExtendedProtection); + } + [Fact] public void ExtendedProtectionPolicy_Properties() {