From 74c6494c7e473abbc83248fc0e936ce34e7e1bf3 Mon Sep 17 00:00:00 2001 From: Steve Harter Date: Tue, 21 Feb 2023 16:52:55 -0600 Subject: [PATCH 01/14] Remove S.S.Permissions reference from S.DirectoryServices --- .../ref/System.DirectoryServices.cs | 48 ---------------- .../ref/System.DirectoryServices.csproj | 2 +- .../ref/System.DirectoryServices.manual.cs | 7 +++ .../src/System.DirectoryServices.csproj | 11 ++-- .../System.DirectoryServices.Tests.csproj | 4 +- .../ref/System.Security.Permissions.cs | 55 +++++++++++++++++++ .../src/System.Security.Permissions.csproj | 7 ++- .../DirectoryServicesPermission.cs | 2 + .../DirectoryServicesPermissionAccess.cs | 0 .../DirectoryServicesPermissionAttribute.cs | 2 + .../DirectoryServicesPermissionEntry.cs | 0 ...ectoryServicesPermissionEntryCollection.cs | 0 .../System.Security.Permissions.Tests.csproj | 1 + .../netstandard/settings.targets | 3 + 14 files changed, 84 insertions(+), 58 deletions(-) rename src/libraries/{System.DirectoryServices => System.Security.Permissions}/src/System/DirectoryServices/DirectoryServicesPermission.cs (97%) rename src/libraries/{System.DirectoryServices => System.Security.Permissions}/src/System/DirectoryServices/DirectoryServicesPermissionAccess.cs (100%) rename src/libraries/{System.DirectoryServices => System.Security.Permissions}/src/System/DirectoryServices/DirectoryServicesPermissionAttribute.cs (97%) rename src/libraries/{System.DirectoryServices => System.Security.Permissions}/src/System/DirectoryServices/DirectoryServicesPermissionEntry.cs (100%) rename src/libraries/{System.DirectoryServices => System.Security.Permissions}/src/System/DirectoryServices/DirectoryServicesPermissionEntryCollection.cs (100%) diff --git a/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.cs b/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.cs index 9d1eb9f1c5fae..541ac7374ee85 100644 --- a/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.cs +++ b/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.cs @@ -262,54 +262,6 @@ public DirectoryServicesCOMException(string? message, System.Exception? inner) { public string? ExtendedErrorMessage { get { throw null; } } public override void GetObjectData(System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext) { } } - [System.ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] - public sealed partial class DirectoryServicesPermission : System.Security.Permissions.ResourcePermissionBase - { - public DirectoryServicesPermission() { } - public DirectoryServicesPermission(System.DirectoryServices.DirectoryServicesPermissionAccess permissionAccess, string? path) { } - public DirectoryServicesPermission(System.DirectoryServices.DirectoryServicesPermissionEntry[]? permissionAccessEntries) { } - public DirectoryServicesPermission(System.Security.Permissions.PermissionState state) { } - public System.DirectoryServices.DirectoryServicesPermissionEntryCollection? PermissionEntries { get { throw null; } } - } - [System.FlagsAttribute] - public enum DirectoryServicesPermissionAccess - { - None = 0, - Browse = 2, - Write = 6, - } - [System.ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Event | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)] - public partial class DirectoryServicesPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute - { - public DirectoryServicesPermissionAttribute(System.Security.Permissions.SecurityAction action) : base(default(System.Security.Permissions.SecurityAction)) { } - public string? Path { get { throw null; } set { } } - public System.DirectoryServices.DirectoryServicesPermissionAccess PermissionAccess { get { throw null; } set { } } - public override System.Security.IPermission? CreatePermission() { throw null; } - } - public partial class DirectoryServicesPermissionEntry - { - public DirectoryServicesPermissionEntry(System.DirectoryServices.DirectoryServicesPermissionAccess permissionAccess, string? path) { } - public string? Path { get { throw null; } } - public System.DirectoryServices.DirectoryServicesPermissionAccess PermissionAccess { get { throw null; } } - } - public partial class DirectoryServicesPermissionEntryCollection : System.Collections.CollectionBase - { - internal DirectoryServicesPermissionEntryCollection() { } - public System.DirectoryServices.DirectoryServicesPermissionEntry? this[int index] { get { throw null; } set { } } - public int Add(System.DirectoryServices.DirectoryServicesPermissionEntry value) { throw null; } - public void AddRange(System.DirectoryServices.DirectoryServicesPermissionEntryCollection value) { } - public void AddRange(System.DirectoryServices.DirectoryServicesPermissionEntry[] value) { } - public bool Contains(System.DirectoryServices.DirectoryServicesPermissionEntry value) { throw null; } - public void CopyTo(System.DirectoryServices.DirectoryServicesPermissionEntry[] array, int index) { } - public int IndexOf(System.DirectoryServices.DirectoryServicesPermissionEntry value) { throw null; } - public void Insert(int index, System.DirectoryServices.DirectoryServicesPermissionEntry value) { } - protected override void OnClear() { } - protected override void OnInsert(int index, object? value) { } - protected override void OnRemove(int index, object? value) { } - protected override void OnSet(int index, object? oldValue, object? newValue) { } - public void Remove(System.DirectoryServices.DirectoryServicesPermissionEntry? value) { } - } public partial class DirectorySynchronization { public DirectorySynchronization() { } diff --git a/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.csproj b/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.csproj index d21c220ea80ae..8cd8a1bb098bb 100644 --- a/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.csproj +++ b/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.csproj @@ -10,7 +10,7 @@ - + diff --git a/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.manual.cs b/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.manual.cs index 72d6bd9586465..0e7a8e86d9a2c 100644 --- a/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.manual.cs +++ b/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.manual.cs @@ -5,6 +5,13 @@ // ------------------------------------------------------------------------------ using System.DirectoryServices.Design; +using System.Runtime.CompilerServices; + +[assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermission))] +[assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionAccess))] +[assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionAttribute))] +[assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionEntry))] +[assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionEntryCollection))] namespace System.DirectoryServices { diff --git a/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj b/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj index ef5e8c27e761a..ff3f4dba32d43 100644 --- a/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj +++ b/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj @@ -3,7 +3,7 @@ $(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent);$(NetCoreAppPrevious)-windows;$(NetCoreAppPrevious);$(NetCoreAppMinimum)-windows;$(NetCoreAppMinimum);netstandard2.0 true true - $(NoWarn);IDE0059;IDE0060;CA1822 + $(NoWarn);IDE0059;IDE0060;CA1822;CP0001 false true true @@ -136,11 +136,6 @@ System.DirectoryServices.ActiveDirectory.DomainController - - - - - @@ -241,7 +236,9 @@ System.DirectoryServices.ActiveDirectory.DomainController - + + diff --git a/src/libraries/System.DirectoryServices/tests/System.DirectoryServices.Tests.csproj b/src/libraries/System.DirectoryServices/tests/System.DirectoryServices.Tests.csproj index 37e3b348cb575..9c5824f66cec0 100644 --- a/src/libraries/System.DirectoryServices/tests/System.DirectoryServices.Tests.csproj +++ b/src/libraries/System.DirectoryServices/tests/System.DirectoryServices.Tests.csproj @@ -1,4 +1,4 @@ - + $(NoWarn);SYSLIB0003 @@ -32,8 +32,10 @@ + + diff --git a/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs b/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs index 143f18ff37707..96a10e695a157 100644 --- a/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs +++ b/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs @@ -307,6 +307,61 @@ protected override void OnSet(int index, object oldValue, object newValue) { } public void Remove(System.Diagnostics.PerformanceCounterPermissionEntry value) { } } } +namespace System.DirectoryServices +{ +#if NETCOREAPP + [System.ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] +#endif + public sealed partial class DirectoryServicesPermission : System.Security.Permissions.ResourcePermissionBase + { + public DirectoryServicesPermission() { } + public DirectoryServicesPermission(System.DirectoryServices.DirectoryServicesPermissionAccess permissionAccess, string path) { } + public DirectoryServicesPermission(System.DirectoryServices.DirectoryServicesPermissionEntry[] permissionAccessEntries) { } + public DirectoryServicesPermission(System.Security.Permissions.PermissionState state) { } + public System.DirectoryServices.DirectoryServicesPermissionEntryCollection PermissionEntries { get { throw null; } } + } + [System.FlagsAttribute] + public enum DirectoryServicesPermissionAccess + { + None = 0, + Browse = 2, + Write = 6, + } +#if NETCOREAPP + [System.ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] +#endif + [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Event | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)] + public partial class DirectoryServicesPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute + { + public DirectoryServicesPermissionAttribute(System.Security.Permissions.SecurityAction action) : base(default(System.Security.Permissions.SecurityAction)) { } + public string Path { get { throw null; } set { } } + public System.DirectoryServices.DirectoryServicesPermissionAccess PermissionAccess { get { throw null; } set { } } + public override System.Security.IPermission CreatePermission() { throw null; } + } + public partial class DirectoryServicesPermissionEntry + { + public DirectoryServicesPermissionEntry(System.DirectoryServices.DirectoryServicesPermissionAccess permissionAccess, string path) { } + public string Path { get { throw null; } } + public System.DirectoryServices.DirectoryServicesPermissionAccess PermissionAccess { get { throw null; } } + } + public partial class DirectoryServicesPermissionEntryCollection : System.Collections.CollectionBase + { + internal DirectoryServicesPermissionEntryCollection() { } + public System.DirectoryServices.DirectoryServicesPermissionEntry this[int index] { get { throw null; } set { } } + public int Add(System.DirectoryServices.DirectoryServicesPermissionEntry value) { throw null; } + public void AddRange(System.DirectoryServices.DirectoryServicesPermissionEntryCollection value) { } + public void AddRange(System.DirectoryServices.DirectoryServicesPermissionEntry[] value) { } + public bool Contains(System.DirectoryServices.DirectoryServicesPermissionEntry value) { throw null; } + public void CopyTo(System.DirectoryServices.DirectoryServicesPermissionEntry[] array, int index) { } + public int IndexOf(System.DirectoryServices.DirectoryServicesPermissionEntry value) { throw null; } + public void Insert(int index, System.DirectoryServices.DirectoryServicesPermissionEntry value) { } + protected override void OnClear() { } + protected override void OnInsert(int index, object value) { } + protected override void OnRemove(int index, object value) { } + protected override void OnSet(int index, object oldValue, object newValue) { } + public void Remove(System.DirectoryServices.DirectoryServicesPermissionEntry value) { } + } +} namespace System.Drawing.Printing { #if NETCOREAPP diff --git a/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj b/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj index 4ca77d0c7a954..6f1bf8e60cd21 100644 --- a/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj +++ b/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj @@ -3,7 +3,7 @@ $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) true disable - $(NoWarn);nullable + $(NoWarn);nullable;CP0001 true Provides types supporting Code Access Security (CAS). @@ -32,6 +32,11 @@ + + + + + diff --git a/src/libraries/System.DirectoryServices/src/System/DirectoryServices/DirectoryServicesPermission.cs b/src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermission.cs similarity index 97% rename from src/libraries/System.DirectoryServices/src/System/DirectoryServices/DirectoryServicesPermission.cs rename to src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermission.cs index 4eb0362e1fbe2..e412841c68a4f 100644 --- a/src/libraries/System.DirectoryServices/src/System/DirectoryServices/DirectoryServicesPermission.cs +++ b/src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermission.cs @@ -5,7 +5,9 @@ namespace System.DirectoryServices { +#if NETCOREAPP [Obsolete(Obsoletions.CodeAccessSecurityMessage, DiagnosticId = Obsoletions.CodeAccessSecurityDiagId, UrlFormat = Obsoletions.SharedUrlFormat)] +#endif public sealed class DirectoryServicesPermission : ResourcePermissionBase { public DirectoryServicesPermission() { } diff --git a/src/libraries/System.DirectoryServices/src/System/DirectoryServices/DirectoryServicesPermissionAccess.cs b/src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermissionAccess.cs similarity index 100% rename from src/libraries/System.DirectoryServices/src/System/DirectoryServices/DirectoryServicesPermissionAccess.cs rename to src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermissionAccess.cs diff --git a/src/libraries/System.DirectoryServices/src/System/DirectoryServices/DirectoryServicesPermissionAttribute.cs b/src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermissionAttribute.cs similarity index 97% rename from src/libraries/System.DirectoryServices/src/System/DirectoryServices/DirectoryServicesPermissionAttribute.cs rename to src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermissionAttribute.cs index 4194422435f1d..85917b70442aa 100644 --- a/src/libraries/System.DirectoryServices/src/System/DirectoryServices/DirectoryServicesPermissionAttribute.cs +++ b/src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermissionAttribute.cs @@ -6,7 +6,9 @@ namespace System.DirectoryServices { +#if NETCOREAPP [Obsolete(Obsoletions.CodeAccessSecurityMessage, DiagnosticId = Obsoletions.CodeAccessSecurityDiagId, UrlFormat = Obsoletions.SharedUrlFormat)] +#endif [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Constructor | AttributeTargets.Method | AttributeTargets.Event, AllowMultiple = true, Inherited = false)] diff --git a/src/libraries/System.DirectoryServices/src/System/DirectoryServices/DirectoryServicesPermissionEntry.cs b/src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermissionEntry.cs similarity index 100% rename from src/libraries/System.DirectoryServices/src/System/DirectoryServices/DirectoryServicesPermissionEntry.cs rename to src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermissionEntry.cs diff --git a/src/libraries/System.DirectoryServices/src/System/DirectoryServices/DirectoryServicesPermissionEntryCollection.cs b/src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermissionEntryCollection.cs similarity index 100% rename from src/libraries/System.DirectoryServices/src/System/DirectoryServices/DirectoryServicesPermissionEntryCollection.cs rename to src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermissionEntryCollection.cs diff --git a/src/libraries/System.Security.Permissions/tests/System.Security.Permissions.Tests.csproj b/src/libraries/System.Security.Permissions/tests/System.Security.Permissions.Tests.csproj index 73f50b209fb16..6dd186e6d2d16 100644 --- a/src/libraries/System.Security.Permissions/tests/System.Security.Permissions.Tests.csproj +++ b/src/libraries/System.Security.Permissions/tests/System.Security.Permissions.Tests.csproj @@ -27,6 +27,7 @@ + \ No newline at end of file diff --git a/src/libraries/testPackages/frameworkSettings/netstandard/settings.targets b/src/libraries/testPackages/frameworkSettings/netstandard/settings.targets index 523094ac931dd..ce709fb2fb7fc 100644 --- a/src/libraries/testPackages/frameworkSettings/netstandard/settings.targets +++ b/src/libraries/testPackages/frameworkSettings/netstandard/settings.targets @@ -11,6 +11,9 @@ + + + - - - + + + From c51d2215acc9f054da1ac5346269850d0386c5da Mon Sep 17 00:00:00 2001 From: Steve Harter Date: Tue, 7 Mar 2023 16:44:36 -0600 Subject: [PATCH 05/14] Add back [Obsolete]; use explicit suppresions --- .../ref/System.DirectoryServices.csproj | 2 ++ .../ref/System.Security.Permissions.cs | 4 --- .../ref/System.Security.Permissions.csproj | 1 + .../src/CompatibilitySuppressions.xml | 30 +++++++++++++++++++ .../src/System.Security.Permissions.csproj | 3 +- .../DirectoryServicesPermission.cs | 2 -- .../DirectoryServicesPermissionAttribute.cs | 2 -- 7 files changed, 35 insertions(+), 9 deletions(-) diff --git a/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.csproj b/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.csproj index 8cd8a1bb098bb..311d92d229d9b 100644 --- a/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.csproj +++ b/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.csproj @@ -10,6 +10,8 @@ + diff --git a/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs b/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs index 96a10e695a157..9f6048c4b3e09 100644 --- a/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs +++ b/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs @@ -309,9 +309,7 @@ public void Remove(System.Diagnostics.PerformanceCounterPermissionEntry value) { } namespace System.DirectoryServices { -#if NETCOREAPP [System.ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] -#endif public sealed partial class DirectoryServicesPermission : System.Security.Permissions.ResourcePermissionBase { public DirectoryServicesPermission() { } @@ -327,9 +325,7 @@ public enum DirectoryServicesPermissionAccess Browse = 2, Write = 6, } -#if NETCOREAPP [System.ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] -#endif [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Event | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)] public partial class DirectoryServicesPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute { diff --git a/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.csproj b/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.csproj index 8d45a9a47f5a9..92316f2e43569 100644 --- a/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.csproj +++ b/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.csproj @@ -2,6 +2,7 @@ $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) disable + true diff --git a/src/libraries/System.Security.Permissions/src/CompatibilitySuppressions.xml b/src/libraries/System.Security.Permissions/src/CompatibilitySuppressions.xml index 8559c96ac0ee3..7bcac40483bb5 100644 --- a/src/libraries/System.Security.Permissions/src/CompatibilitySuppressions.xml +++ b/src/libraries/System.Security.Permissions/src/CompatibilitySuppressions.xml @@ -1,6 +1,36 @@  + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermission + lib/netstandard2.0/System.Security.Permissions.dll + lib/net462/System.Security.Permissions.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionAccess + lib/netstandard2.0/System.Security.Permissions.dll + lib/net462/System.Security.Permissions.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionAttribute + lib/netstandard2.0/System.Security.Permissions.dll + lib/net462/System.Security.Permissions.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionEntry + lib/netstandard2.0/System.Security.Permissions.dll + lib/net462/System.Security.Permissions.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionEntryCollection + lib/netstandard2.0/System.Security.Permissions.dll + lib/net462/System.Security.Permissions.dll + CP0002 M:System.Security.Permissions.KeyContainerPermissionAccessEntryCollection.#ctor diff --git a/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj b/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj index 6f1bf8e60cd21..b03e098caf076 100644 --- a/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj +++ b/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj @@ -3,9 +3,10 @@ $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) true disable - $(NoWarn);nullable;CP0001 + $(NoWarn);nullable true Provides types supporting Code Access Security (CAS). + true diff --git a/src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermission.cs b/src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermission.cs index e412841c68a4f..4eb0362e1fbe2 100644 --- a/src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermission.cs +++ b/src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermission.cs @@ -5,9 +5,7 @@ namespace System.DirectoryServices { -#if NETCOREAPP [Obsolete(Obsoletions.CodeAccessSecurityMessage, DiagnosticId = Obsoletions.CodeAccessSecurityDiagId, UrlFormat = Obsoletions.SharedUrlFormat)] -#endif public sealed class DirectoryServicesPermission : ResourcePermissionBase { public DirectoryServicesPermission() { } diff --git a/src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermissionAttribute.cs b/src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermissionAttribute.cs index 85917b70442aa..4194422435f1d 100644 --- a/src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermissionAttribute.cs +++ b/src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermissionAttribute.cs @@ -6,9 +6,7 @@ namespace System.DirectoryServices { -#if NETCOREAPP [Obsolete(Obsoletions.CodeAccessSecurityMessage, DiagnosticId = Obsoletions.CodeAccessSecurityDiagId, UrlFormat = Obsoletions.SharedUrlFormat)] -#endif [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Constructor | AttributeTargets.Method | AttributeTargets.Event, AllowMultiple = true, Inherited = false)] From 71138956513c23f8d4c7dc6e2ab37c4e5282dfad Mon Sep 17 00:00:00 2001 From: Steve Harter Date: Mon, 13 Mar 2023 10:53:46 -0500 Subject: [PATCH 06/14] Use explicit suppressions for CP0001 --- .../src/CompatibilitySuppressions.xml | 209 ++++++++++++++++++ .../src/System.DirectoryServices.csproj | 2 +- 2 files changed, 210 insertions(+), 1 deletion(-) create mode 100644 src/libraries/System.DirectoryServices/src/CompatibilitySuppressions.xml diff --git a/src/libraries/System.DirectoryServices/src/CompatibilitySuppressions.xml b/src/libraries/System.DirectoryServices/src/CompatibilitySuppressions.xml new file mode 100644 index 0000000000000..5bad232b09eb9 --- /dev/null +++ b/src/libraries/System.DirectoryServices/src/CompatibilitySuppressions.xml @@ -0,0 +1,209 @@ + + + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermission + true + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionAccess + true + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionAttribute + true + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionEntry + true + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionEntryCollection + true + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermission + ref/net8.0/System.DirectoryServices.dll + runtimes/win/lib/net8.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionAccess + ref/net8.0/System.DirectoryServices.dll + runtimes/win/lib/net8.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionAttribute + ref/net8.0/System.DirectoryServices.dll + runtimes/win/lib/net8.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionEntry + ref/net8.0/System.DirectoryServices.dll + runtimes/win/lib/net8.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionEntryCollection + ref/net8.0/System.DirectoryServices.dll + runtimes/win/lib/net8.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermission + ref/net7.0/System.DirectoryServices.dll + runtimes/win/lib/net7.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionAccess + ref/net7.0/System.DirectoryServices.dll + runtimes/win/lib/net7.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionAttribute + ref/net7.0/System.DirectoryServices.dll + runtimes/win/lib/net7.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionEntry + ref/net7.0/System.DirectoryServices.dll + runtimes/win/lib/net7.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionEntryCollection + ref/net7.0/System.DirectoryServices.dll + runtimes/win/lib/net7.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermission + ref/net6.0/System.DirectoryServices.dll + runtimes/win/lib/net6.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionAccess + ref/net6.0/System.DirectoryServices.dll + runtimes/win/lib/net6.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionAttribute + ref/net6.0/System.DirectoryServices.dll + runtimes/win/lib/net6.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionEntry + ref/net6.0/System.DirectoryServices.dll + runtimes/win/lib/net6.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionEntryCollection + ref/net6.0/System.DirectoryServices.dll + runtimes/win/lib/net6.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermission + lib/net8.0/System.DirectoryServices.dll + runtimes/win/lib/net8.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionAccess + lib/net8.0/System.DirectoryServices.dll + runtimes/win/lib/net8.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionAttribute + lib/net8.0/System.DirectoryServices.dll + runtimes/win/lib/net8.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionEntry + lib/net8.0/System.DirectoryServices.dll + runtimes/win/lib/net8.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionEntryCollection + lib/net8.0/System.DirectoryServices.dll + runtimes/win/lib/net8.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermission + lib/net7.0/System.DirectoryServices.dll + runtimes/win/lib/net7.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionAccess + lib/net7.0/System.DirectoryServices.dll + runtimes/win/lib/net7.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionAttribute + lib/net7.0/System.DirectoryServices.dll + runtimes/win/lib/net7.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionEntry + lib/net7.0/System.DirectoryServices.dll + runtimes/win/lib/net7.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionEntryCollection + lib/net7.0/System.DirectoryServices.dll + runtimes/win/lib/net7.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermission + lib/net6.0/System.DirectoryServices.dll + runtimes/win/lib/net6.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionAccess + lib/net6.0/System.DirectoryServices.dll + runtimes/win/lib/net6.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionAttribute + lib/net6.0/System.DirectoryServices.dll + runtimes/win/lib/net6.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionEntry + lib/net6.0/System.DirectoryServices.dll + runtimes/win/lib/net6.0/System.DirectoryServices.dll + + + CP0001 + T:System.DirectoryServices.DirectoryServicesPermissionEntryCollection + lib/net6.0/System.DirectoryServices.dll + runtimes/win/lib/net6.0/System.DirectoryServices.dll + + diff --git a/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj b/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj index ff3f4dba32d43..fb76544365323 100644 --- a/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj +++ b/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj @@ -3,7 +3,7 @@ $(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent);$(NetCoreAppPrevious)-windows;$(NetCoreAppPrevious);$(NetCoreAppMinimum)-windows;$(NetCoreAppMinimum);netstandard2.0 true true - $(NoWarn);IDE0059;IDE0060;CA1822;CP0001 + $(NoWarn);IDE0059;IDE0060;CA1822 false true true From 4d2614916fad89bff473c1c626554816df9bc10b Mon Sep 17 00:00:00 2001 From: Steve Harter Date: Mon, 13 Mar 2023 13:06:01 -0500 Subject: [PATCH 07/14] Remove S.S.DS suppressions in S.S.P and suppport NetStandard build for NetFx --- .../ref/System.DirectoryServices.manual.cs | 59 ++++++++++++++++++- .../ref/System.Security.Permissions.cs | 2 + .../src/CompatibilitySuppressions.xml | 30 ---------- .../src/System.Security.Permissions.csproj | 10 ++-- 4 files changed, 65 insertions(+), 36 deletions(-) diff --git a/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.manual.cs b/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.manual.cs index 0e7a8e86d9a2c..71841952c776a 100644 --- a/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.manual.cs +++ b/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.manual.cs @@ -7,11 +7,68 @@ using System.DirectoryServices.Design; using System.Runtime.CompilerServices; +#if NETSTANDARD2_0 +// These types (DirectoryServicesPermission, etc) were originally implemented in System.DirectoryServices.dll but have been +// moved and type forwarded to System.Security.Permissions in NetCore but not NetFx since they are implemented in NetFx's version +// of System.DirectoryServices.dll. +namespace System.DirectoryServices +{ + [System.ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + public sealed partial class DirectoryServicesPermission : System.Security.Permissions.ResourcePermissionBase + { + public DirectoryServicesPermission() { } + public DirectoryServicesPermission(System.DirectoryServices.DirectoryServicesPermissionAccess permissionAccess, string path) { } + public DirectoryServicesPermission(System.DirectoryServices.DirectoryServicesPermissionEntry[] permissionAccessEntries) { } + public DirectoryServicesPermission(System.Security.Permissions.PermissionState state) { } + public System.DirectoryServices.DirectoryServicesPermissionEntryCollection PermissionEntries { get { throw null; } } + } + [System.FlagsAttribute] + public enum DirectoryServicesPermissionAccess + { + None = 0, + Browse = 2, + Write = 6, + } + [System.ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] + [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Event | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)] + public partial class DirectoryServicesPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute + { + public DirectoryServicesPermissionAttribute(System.Security.Permissions.SecurityAction action) : base(default(System.Security.Permissions.SecurityAction)) { } + public string Path { get { throw null; } set { } } + public System.DirectoryServices.DirectoryServicesPermissionAccess PermissionAccess { get { throw null; } set { } } + public override System.Security.IPermission CreatePermission() { throw null; } + } + public partial class DirectoryServicesPermissionEntry + { + public DirectoryServicesPermissionEntry(System.DirectoryServices.DirectoryServicesPermissionAccess permissionAccess, string path) { } + public string Path { get { throw null; } } + public System.DirectoryServices.DirectoryServicesPermissionAccess PermissionAccess { get { throw null; } } + } + public partial class DirectoryServicesPermissionEntryCollection : System.Collections.CollectionBase + { + internal DirectoryServicesPermissionEntryCollection() { } + public System.DirectoryServices.DirectoryServicesPermissionEntry this[int index] { get { throw null; } set { } } + public int Add(System.DirectoryServices.DirectoryServicesPermissionEntry value) { throw null; } + public void AddRange(System.DirectoryServices.DirectoryServicesPermissionEntryCollection value) { } + public void AddRange(System.DirectoryServices.DirectoryServicesPermissionEntry[] value) { } + public bool Contains(System.DirectoryServices.DirectoryServicesPermissionEntry value) { throw null; } + public void CopyTo(System.DirectoryServices.DirectoryServicesPermissionEntry[] array, int index) { } + public int IndexOf(System.DirectoryServices.DirectoryServicesPermissionEntry value) { throw null; } + public void Insert(int index, System.DirectoryServices.DirectoryServicesPermissionEntry value) { } + protected override void OnClear() { } + protected override void OnInsert(int index, object value) { } + protected override void OnRemove(int index, object value) { } + protected override void OnSet(int index, object oldValue, object newValue) { } + public void Remove(System.DirectoryServices.DirectoryServicesPermissionEntry value) { } + } +} +#else [assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermission))] [assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionAccess))] [assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionAttribute))] [assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionEntry))] [assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionEntryCollection))] +#endif namespace System.DirectoryServices { @@ -22,4 +79,4 @@ public partial class DirectoryEntry { } namespace System.DirectoryServices.Design { internal sealed class DirectoryEntryConverter { } -} \ No newline at end of file +} diff --git a/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs b/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs index 9f6048c4b3e09..5c5b9ad438d86 100644 --- a/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs +++ b/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs @@ -307,6 +307,7 @@ protected override void OnSet(int index, object oldValue, object newValue) { } public void Remove(System.Diagnostics.PerformanceCounterPermissionEntry value) { } } } +#if !NETSTANDARD2_0 namespace System.DirectoryServices { [System.ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] @@ -358,6 +359,7 @@ protected override void OnSet(int index, object oldValue, object newValue) { } public void Remove(System.DirectoryServices.DirectoryServicesPermissionEntry value) { } } } +#endif namespace System.Drawing.Printing { #if NETCOREAPP diff --git a/src/libraries/System.Security.Permissions/src/CompatibilitySuppressions.xml b/src/libraries/System.Security.Permissions/src/CompatibilitySuppressions.xml index 7bcac40483bb5..8559c96ac0ee3 100644 --- a/src/libraries/System.Security.Permissions/src/CompatibilitySuppressions.xml +++ b/src/libraries/System.Security.Permissions/src/CompatibilitySuppressions.xml @@ -1,36 +1,6 @@  - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermission - lib/netstandard2.0/System.Security.Permissions.dll - lib/net462/System.Security.Permissions.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionAccess - lib/netstandard2.0/System.Security.Permissions.dll - lib/net462/System.Security.Permissions.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionAttribute - lib/netstandard2.0/System.Security.Permissions.dll - lib/net462/System.Security.Permissions.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionEntry - lib/netstandard2.0/System.Security.Permissions.dll - lib/net462/System.Security.Permissions.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionEntryCollection - lib/netstandard2.0/System.Security.Permissions.dll - lib/net462/System.Security.Permissions.dll - CP0002 M:System.Security.Permissions.KeyContainerPermissionAccessEntryCollection.#ctor diff --git a/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj b/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj index b03e098caf076..731ac08821458 100644 --- a/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj +++ b/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj @@ -33,11 +33,6 @@ - - - - - @@ -189,6 +184,11 @@ + + + + + From 452130ad1c1f4a65a358de2f40259aa68d89ef8b Mon Sep 17 00:00:00 2001 From: Steve Harter Date: Tue, 14 Mar 2023 11:09:05 -0500 Subject: [PATCH 08/14] Fix compile error in System.Runtime.Serialization.Formatters\tests --- .../tests/System.Runtime.Serialization.Formatters.Tests.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/System.Runtime.Serialization.Formatters/tests/System.Runtime.Serialization.Formatters.Tests.csproj b/src/libraries/System.Runtime.Serialization.Formatters/tests/System.Runtime.Serialization.Formatters.Tests.csproj index 9aca7a64fff95..dfe4d94e3a0a9 100644 --- a/src/libraries/System.Runtime.Serialization.Formatters/tests/System.Runtime.Serialization.Formatters.Tests.csproj +++ b/src/libraries/System.Runtime.Serialization.Formatters/tests/System.Runtime.Serialization.Formatters.Tests.csproj @@ -47,6 +47,7 @@ + From 4232620378ebdda077810f580b865c4c4bdb9415 Mon Sep 17 00:00:00 2001 From: Steve Harter Date: Tue, 14 Mar 2023 15:35:43 -0500 Subject: [PATCH 09/14] Attempt to fix package test error for S.DS.CM --- .../settings.targets | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 src/libraries/testPackages/packageSettings/System.DirectoryServices.AccountManagement/settings.targets diff --git a/src/libraries/testPackages/packageSettings/System.DirectoryServices.AccountManagement/settings.targets b/src/libraries/testPackages/packageSettings/System.DirectoryServices.AccountManagement/settings.targets new file mode 100644 index 0000000000000..3ab0c21e88d1a --- /dev/null +++ b/src/libraries/testPackages/packageSettings/System.DirectoryServices.AccountManagement/settings.targets @@ -0,0 +1,6 @@ + + + + + + From cf7bb975a7ba0b2eaffe8744edffe8bbc5061d9e Mon Sep 17 00:00:00 2001 From: Steve Harter Date: Wed, 15 Mar 2023 10:15:49 -0500 Subject: [PATCH 10/14] Remove unnecessary reference from test project --- .../tests/System.DirectoryServices.Tests.csproj | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libraries/System.DirectoryServices/tests/System.DirectoryServices.Tests.csproj b/src/libraries/System.DirectoryServices/tests/System.DirectoryServices.Tests.csproj index e177ce8199a35..a261176a89954 100644 --- a/src/libraries/System.DirectoryServices/tests/System.DirectoryServices.Tests.csproj +++ b/src/libraries/System.DirectoryServices/tests/System.DirectoryServices.Tests.csproj @@ -36,6 +36,5 @@ - From a196e1c4cbb2aa0daadfec439f326ee4b8c27300 Mon Sep 17 00:00:00 2001 From: Steve Harter Date: Thu, 16 Mar 2023 09:13:30 -0500 Subject: [PATCH 11/14] Add forwards to S.DS csproj impl; forward from S.S.P to S.DS for netfx --- .../ref/System.DirectoryServices.manual.cs | 57 ------ .../src/CompatibilitySuppressions.xml | 180 ------------------ .../src/System.DirectoryServices.Forwards.cs | 10 + .../src/System.DirectoryServices.csproj | 1 + .../ref/System.Security.Permissions.cs | 2 - .../ref/System.Security.Permissions.csproj | 3 +- ...ystem.Security.Permissions.netframework.cs | 5 + .../src/System.Security.Permissions.csproj | 11 +- .../settings.targets | 6 - .../System.DirectoryServices/settings.targets | 6 - 10 files changed, 24 insertions(+), 257 deletions(-) create mode 100644 src/libraries/System.DirectoryServices/src/System.DirectoryServices.Forwards.cs delete mode 100644 src/libraries/testPackages/packageSettings/System.DirectoryServices.AccountManagement/settings.targets delete mode 100644 src/libraries/testPackages/packageSettings/System.DirectoryServices/settings.targets diff --git a/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.manual.cs b/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.manual.cs index 71841952c776a..82771238fa832 100644 --- a/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.manual.cs +++ b/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.manual.cs @@ -7,68 +7,11 @@ using System.DirectoryServices.Design; using System.Runtime.CompilerServices; -#if NETSTANDARD2_0 -// These types (DirectoryServicesPermission, etc) were originally implemented in System.DirectoryServices.dll but have been -// moved and type forwarded to System.Security.Permissions in NetCore but not NetFx since they are implemented in NetFx's version -// of System.DirectoryServices.dll. -namespace System.DirectoryServices -{ - [System.ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] - public sealed partial class DirectoryServicesPermission : System.Security.Permissions.ResourcePermissionBase - { - public DirectoryServicesPermission() { } - public DirectoryServicesPermission(System.DirectoryServices.DirectoryServicesPermissionAccess permissionAccess, string path) { } - public DirectoryServicesPermission(System.DirectoryServices.DirectoryServicesPermissionEntry[] permissionAccessEntries) { } - public DirectoryServicesPermission(System.Security.Permissions.PermissionState state) { } - public System.DirectoryServices.DirectoryServicesPermissionEntryCollection PermissionEntries { get { throw null; } } - } - [System.FlagsAttribute] - public enum DirectoryServicesPermissionAccess - { - None = 0, - Browse = 2, - Write = 6, - } - [System.ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Event | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)] - public partial class DirectoryServicesPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute - { - public DirectoryServicesPermissionAttribute(System.Security.Permissions.SecurityAction action) : base(default(System.Security.Permissions.SecurityAction)) { } - public string Path { get { throw null; } set { } } - public System.DirectoryServices.DirectoryServicesPermissionAccess PermissionAccess { get { throw null; } set { } } - public override System.Security.IPermission CreatePermission() { throw null; } - } - public partial class DirectoryServicesPermissionEntry - { - public DirectoryServicesPermissionEntry(System.DirectoryServices.DirectoryServicesPermissionAccess permissionAccess, string path) { } - public string Path { get { throw null; } } - public System.DirectoryServices.DirectoryServicesPermissionAccess PermissionAccess { get { throw null; } } - } - public partial class DirectoryServicesPermissionEntryCollection : System.Collections.CollectionBase - { - internal DirectoryServicesPermissionEntryCollection() { } - public System.DirectoryServices.DirectoryServicesPermissionEntry this[int index] { get { throw null; } set { } } - public int Add(System.DirectoryServices.DirectoryServicesPermissionEntry value) { throw null; } - public void AddRange(System.DirectoryServices.DirectoryServicesPermissionEntryCollection value) { } - public void AddRange(System.DirectoryServices.DirectoryServicesPermissionEntry[] value) { } - public bool Contains(System.DirectoryServices.DirectoryServicesPermissionEntry value) { throw null; } - public void CopyTo(System.DirectoryServices.DirectoryServicesPermissionEntry[] array, int index) { } - public int IndexOf(System.DirectoryServices.DirectoryServicesPermissionEntry value) { throw null; } - public void Insert(int index, System.DirectoryServices.DirectoryServicesPermissionEntry value) { } - protected override void OnClear() { } - protected override void OnInsert(int index, object value) { } - protected override void OnRemove(int index, object value) { } - protected override void OnSet(int index, object oldValue, object newValue) { } - public void Remove(System.DirectoryServices.DirectoryServicesPermissionEntry value) { } - } -} -#else [assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermission))] [assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionAccess))] [assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionAttribute))] [assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionEntry))] [assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionEntryCollection))] -#endif namespace System.DirectoryServices { diff --git a/src/libraries/System.DirectoryServices/src/CompatibilitySuppressions.xml b/src/libraries/System.DirectoryServices/src/CompatibilitySuppressions.xml index 5bad232b09eb9..d1d3de69d38de 100644 --- a/src/libraries/System.DirectoryServices/src/CompatibilitySuppressions.xml +++ b/src/libraries/System.DirectoryServices/src/CompatibilitySuppressions.xml @@ -26,184 +26,4 @@ T:System.DirectoryServices.DirectoryServicesPermissionEntryCollection true - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermission - ref/net8.0/System.DirectoryServices.dll - runtimes/win/lib/net8.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionAccess - ref/net8.0/System.DirectoryServices.dll - runtimes/win/lib/net8.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionAttribute - ref/net8.0/System.DirectoryServices.dll - runtimes/win/lib/net8.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionEntry - ref/net8.0/System.DirectoryServices.dll - runtimes/win/lib/net8.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionEntryCollection - ref/net8.0/System.DirectoryServices.dll - runtimes/win/lib/net8.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermission - ref/net7.0/System.DirectoryServices.dll - runtimes/win/lib/net7.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionAccess - ref/net7.0/System.DirectoryServices.dll - runtimes/win/lib/net7.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionAttribute - ref/net7.0/System.DirectoryServices.dll - runtimes/win/lib/net7.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionEntry - ref/net7.0/System.DirectoryServices.dll - runtimes/win/lib/net7.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionEntryCollection - ref/net7.0/System.DirectoryServices.dll - runtimes/win/lib/net7.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermission - ref/net6.0/System.DirectoryServices.dll - runtimes/win/lib/net6.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionAccess - ref/net6.0/System.DirectoryServices.dll - runtimes/win/lib/net6.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionAttribute - ref/net6.0/System.DirectoryServices.dll - runtimes/win/lib/net6.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionEntry - ref/net6.0/System.DirectoryServices.dll - runtimes/win/lib/net6.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionEntryCollection - ref/net6.0/System.DirectoryServices.dll - runtimes/win/lib/net6.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermission - lib/net8.0/System.DirectoryServices.dll - runtimes/win/lib/net8.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionAccess - lib/net8.0/System.DirectoryServices.dll - runtimes/win/lib/net8.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionAttribute - lib/net8.0/System.DirectoryServices.dll - runtimes/win/lib/net8.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionEntry - lib/net8.0/System.DirectoryServices.dll - runtimes/win/lib/net8.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionEntryCollection - lib/net8.0/System.DirectoryServices.dll - runtimes/win/lib/net8.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermission - lib/net7.0/System.DirectoryServices.dll - runtimes/win/lib/net7.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionAccess - lib/net7.0/System.DirectoryServices.dll - runtimes/win/lib/net7.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionAttribute - lib/net7.0/System.DirectoryServices.dll - runtimes/win/lib/net7.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionEntry - lib/net7.0/System.DirectoryServices.dll - runtimes/win/lib/net7.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionEntryCollection - lib/net7.0/System.DirectoryServices.dll - runtimes/win/lib/net7.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermission - lib/net6.0/System.DirectoryServices.dll - runtimes/win/lib/net6.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionAccess - lib/net6.0/System.DirectoryServices.dll - runtimes/win/lib/net6.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionAttribute - lib/net6.0/System.DirectoryServices.dll - runtimes/win/lib/net6.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionEntry - lib/net6.0/System.DirectoryServices.dll - runtimes/win/lib/net6.0/System.DirectoryServices.dll - - - CP0001 - T:System.DirectoryServices.DirectoryServicesPermissionEntryCollection - lib/net6.0/System.DirectoryServices.dll - runtimes/win/lib/net6.0/System.DirectoryServices.dll - diff --git a/src/libraries/System.DirectoryServices/src/System.DirectoryServices.Forwards.cs b/src/libraries/System.DirectoryServices/src/System.DirectoryServices.Forwards.cs new file mode 100644 index 0000000000000..da53c1c305f1e --- /dev/null +++ b/src/libraries/System.DirectoryServices/src/System.DirectoryServices.Forwards.cs @@ -0,0 +1,10 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Runtime.CompilerServices; + +[assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermission))] +[assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionAccess))] +[assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionAttribute))] +[assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionEntry))] +[assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionEntryCollection))] diff --git a/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj b/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj index fb76544365323..50b541650e2f4 100644 --- a/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj +++ b/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj @@ -28,6 +28,7 @@ System.DirectoryServices.ActiveDirectory.DomainController + diff --git a/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs b/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs index 5c5b9ad438d86..9f6048c4b3e09 100644 --- a/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs +++ b/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs @@ -307,7 +307,6 @@ protected override void OnSet(int index, object oldValue, object newValue) { } public void Remove(System.Diagnostics.PerformanceCounterPermissionEntry value) { } } } -#if !NETSTANDARD2_0 namespace System.DirectoryServices { [System.ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] @@ -359,7 +358,6 @@ protected override void OnSet(int index, object oldValue, object newValue) { } public void Remove(System.DirectoryServices.DirectoryServicesPermissionEntry value) { } } } -#endif namespace System.Drawing.Printing { #if NETCOREAPP diff --git a/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.csproj b/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.csproj index 92316f2e43569..27fb4a89ff948 100644 --- a/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.csproj +++ b/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.csproj @@ -1,4 +1,4 @@ - + $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) disable @@ -26,6 +26,7 @@ + diff --git a/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.netframework.cs b/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.netframework.cs index f97228600911b..726d38676c29d 100644 --- a/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.netframework.cs +++ b/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.netframework.cs @@ -6,6 +6,11 @@ using System.Runtime.CompilerServices; +[assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermission))] +[assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionAccess))] +[assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionAttribute))] +[assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionEntry))] +[assembly: TypeForwardedTo(typeof(System.DirectoryServices.DirectoryServicesPermissionEntryCollection))] [assembly: TypeForwardedTo(typeof(System.Security.IPermission))] [assembly: TypeForwardedTo(typeof(System.Security.ISecurityEncodable))] [assembly: TypeForwardedTo(typeof(System.Security.Permissions.CodeAccessSecurityAttribute))] diff --git a/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj b/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj index 731ac08821458..c288d44efe151 100644 --- a/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj +++ b/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj @@ -33,6 +33,11 @@ + + + + + @@ -184,11 +189,6 @@ - - - - - @@ -212,6 +212,7 @@ + diff --git a/src/libraries/testPackages/packageSettings/System.DirectoryServices.AccountManagement/settings.targets b/src/libraries/testPackages/packageSettings/System.DirectoryServices.AccountManagement/settings.targets deleted file mode 100644 index 3ab0c21e88d1a..0000000000000 --- a/src/libraries/testPackages/packageSettings/System.DirectoryServices.AccountManagement/settings.targets +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/libraries/testPackages/packageSettings/System.DirectoryServices/settings.targets b/src/libraries/testPackages/packageSettings/System.DirectoryServices/settings.targets deleted file mode 100644 index 2b22505987641..0000000000000 --- a/src/libraries/testPackages/packageSettings/System.DirectoryServices/settings.targets +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - From 6eb80ff2b6b584d22f30ceccc3cf501f4460028e Mon Sep 17 00:00:00 2001 From: Steve Harter Date: Thu, 16 Mar 2023 09:58:17 -0500 Subject: [PATCH 12/14] Add back testPackages suppression; remove unnecessary reference in test project --- .../System.Runtime.Serialization.Formatters.Tests.csproj | 1 - .../System.DirectoryServices/settings.targets | 6 ++++++ 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 src/libraries/testPackages/packageSettings/System.DirectoryServices/settings.targets diff --git a/src/libraries/System.Runtime.Serialization.Formatters/tests/System.Runtime.Serialization.Formatters.Tests.csproj b/src/libraries/System.Runtime.Serialization.Formatters/tests/System.Runtime.Serialization.Formatters.Tests.csproj index dfe4d94e3a0a9..9aca7a64fff95 100644 --- a/src/libraries/System.Runtime.Serialization.Formatters/tests/System.Runtime.Serialization.Formatters.Tests.csproj +++ b/src/libraries/System.Runtime.Serialization.Formatters/tests/System.Runtime.Serialization.Formatters.Tests.csproj @@ -47,7 +47,6 @@ - diff --git a/src/libraries/testPackages/packageSettings/System.DirectoryServices/settings.targets b/src/libraries/testPackages/packageSettings/System.DirectoryServices/settings.targets new file mode 100644 index 0000000000000..2b22505987641 --- /dev/null +++ b/src/libraries/testPackages/packageSettings/System.DirectoryServices/settings.targets @@ -0,0 +1,6 @@ + + + + + + From d9fdf56e76ce41df167f5e913623a50c2a2fe71e Mon Sep 17 00:00:00 2001 From: Steve Harter Date: Thu, 16 Mar 2023 11:04:28 -0500 Subject: [PATCH 13/14] Add S.S.P ref to System.Runtime.Serialization.Formatters/tests --- .../tests/System.Runtime.Serialization.Formatters.Tests.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/System.Runtime.Serialization.Formatters/tests/System.Runtime.Serialization.Formatters.Tests.csproj b/src/libraries/System.Runtime.Serialization.Formatters/tests/System.Runtime.Serialization.Formatters.Tests.csproj index 9aca7a64fff95..dfe4d94e3a0a9 100644 --- a/src/libraries/System.Runtime.Serialization.Formatters/tests/System.Runtime.Serialization.Formatters.Tests.csproj +++ b/src/libraries/System.Runtime.Serialization.Formatters/tests/System.Runtime.Serialization.Formatters.Tests.csproj @@ -47,6 +47,7 @@ + From f8e5be8474ec56fb9a70370bd882b2d2df8fb9be Mon Sep 17 00:00:00 2001 From: Steve Harter Date: Thu, 16 Mar 2023 11:51:00 -0500 Subject: [PATCH 14/14] Add back another testPackages suppression --- .../settings.targets | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 src/libraries/testPackages/packageSettings/System.DirectoryServices.AccountManagement/settings.targets diff --git a/src/libraries/testPackages/packageSettings/System.DirectoryServices.AccountManagement/settings.targets b/src/libraries/testPackages/packageSettings/System.DirectoryServices.AccountManagement/settings.targets new file mode 100644 index 0000000000000..a12e064a88069 --- /dev/null +++ b/src/libraries/testPackages/packageSettings/System.DirectoryServices.AccountManagement/settings.targets @@ -0,0 +1,6 @@ + + + + + +