From 3426ddda056ea3a5838dadcc873b97d40fc1087d Mon Sep 17 00:00:00 2001 From: Eric StJohn Date: Wed, 2 Nov 2022 13:33:02 -0700 Subject: [PATCH] Make System.Security.Permissions dependency private --- ...stem.Configuration.ConfigurationManager.cs | 6 +-- ....Configuration.ConfigurationManager.csproj | 3 +- ....Configuration.ConfigurationManager.csproj | 3 +- .../Internal/DelegatingConfigHost.cs | 3 +- .../Internal/IInternalConfigHost.cs | 3 +- .../ref/System.DirectoryServices.cs | 48 ----------------- .../ref/System.DirectoryServices.csproj | 2 +- .../ref/System.DirectoryServices.manual.cs | 7 +++ .../src/System.DirectoryServices.csproj | 8 +-- .../src/System.DirectoryServices.forwards.cs | 10 ++++ .../ref/System.Security.Permissions.cs | 51 +++++++++++++++++++ .../ref/System.Security.Permissions.csproj | 1 + .../src/System.Security.Permissions.csproj | 7 ++- .../DirectoryServicesPermission.cs | 0 .../DirectoryServicesPermissionAccess.cs | 0 .../DirectoryServicesPermissionAttribute.cs | 0 .../DirectoryServicesPermissionEntry.cs | 0 ...ectoryServicesPermissionEntryCollection.cs | 0 18 files changed, 86 insertions(+), 66 deletions(-) create mode 100644 src/libraries/System.DirectoryServices/src/System.DirectoryServices.forwards.cs rename src/libraries/{System.DirectoryServices => System.Security.Permissions}/src/System/DirectoryServices/DirectoryServicesPermission.cs (100%) 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 (100%) 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.Configuration.ConfigurationManager/ref/System.Configuration.ConfigurationManager.cs b/src/libraries/System.Configuration.ConfigurationManager/ref/System.Configuration.ConfigurationManager.cs index 6d21ab559b502d..7ef3558b7f6649 100644 --- a/src/libraries/System.Configuration.ConfigurationManager/ref/System.Configuration.ConfigurationManager.cs +++ b/src/libraries/System.Configuration.ConfigurationManager/ref/System.Configuration.ConfigurationManager.cs @@ -1383,9 +1383,8 @@ public virtual void DeleteStream(string streamName) { } public virtual string GetConfigPathFromLocationSubPath(string configPath, string locationSubPath) { throw null; } public virtual System.Type GetConfigType(string typeName, bool throwOnError) { throw null; } public virtual string GetConfigTypeName(System.Type t) { throw null; } -#pragma warning disable SYSLIB0003 + [System.ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] public virtual void GetRestrictedPermissions(System.Configuration.Internal.IInternalConfigRecord configRecord, out System.Security.PermissionSet permissionSet, out bool isHostReady) { throw null; } -#pragma warning restore SYSLIB0003 public virtual string GetStreamName(string configPath) { throw null; } public virtual string GetStreamNameForConfigSource(string streamName, string configSource) { throw null; } public virtual object GetStreamVersion(string streamName) { throw null; } @@ -1473,9 +1472,8 @@ public partial interface IInternalConfigHost string GetConfigPathFromLocationSubPath(string configPath, string locationSubPath); System.Type GetConfigType(string typeName, bool throwOnError); string GetConfigTypeName(System.Type t); -#pragma warning disable SYSLIB0003 + [System.ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] void GetRestrictedPermissions(System.Configuration.Internal.IInternalConfigRecord configRecord, out System.Security.PermissionSet permissionSet, out bool isHostReady); -#pragma warning restore SYSLIB0003 string GetStreamName(string configPath); string GetStreamNameForConfigSource(string streamName, string configSource); object GetStreamVersion(string streamName); diff --git a/src/libraries/System.Configuration.ConfigurationManager/ref/System.Configuration.ConfigurationManager.csproj b/src/libraries/System.Configuration.ConfigurationManager/ref/System.Configuration.ConfigurationManager.csproj index 82439a81b78185..ed1134cab12ff0 100644 --- a/src/libraries/System.Configuration.ConfigurationManager/ref/System.Configuration.ConfigurationManager.csproj +++ b/src/libraries/System.Configuration.ConfigurationManager/ref/System.Configuration.ConfigurationManager.csproj @@ -3,6 +3,7 @@ $(NetCoreAppCurrent);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) disable $(NoWarn);CS0618 + true @@ -13,7 +14,7 @@ - + diff --git a/src/libraries/System.Configuration.ConfigurationManager/src/System.Configuration.ConfigurationManager.csproj b/src/libraries/System.Configuration.ConfigurationManager/src/System.Configuration.ConfigurationManager.csproj index a603545e44c482..513a9435791089 100644 --- a/src/libraries/System.Configuration.ConfigurationManager/src/System.Configuration.ConfigurationManager.csproj +++ b/src/libraries/System.Configuration.ConfigurationManager/src/System.Configuration.ConfigurationManager.csproj @@ -6,6 +6,7 @@ false $(NoWarn);CA1847 + true true Provides types that support using XML configuration files (app.config). This package exists only to support migrating existing .NET Framework code that already uses System.Configuration. When writing new code, use another configuration system instead, such as Microsoft.Extensions.Configuration. README.md @@ -275,7 +276,7 @@ - + diff --git a/src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/Internal/DelegatingConfigHost.cs b/src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/Internal/DelegatingConfigHost.cs index 46e588ce644c2e..5f26c3d9baf64c 100644 --- a/src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/Internal/DelegatingConfigHost.cs +++ b/src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/Internal/DelegatingConfigHost.cs @@ -231,12 +231,11 @@ public virtual void RefreshConfigPaths() public virtual IDisposable Impersonate() => new DummyDisposable(); -#pragma warning disable SYSLIB0003 // Obsolete: CAS + [System.ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] public virtual void GetRestrictedPermissions(IInternalConfigRecord configRecord, out PermissionSet permissionSet, out bool isHostReady) { permissionSet = new PermissionSet(null); isHostReady = true; } -#pragma warning restore SYSLIB0003 // Obsolete: CAS } } diff --git a/src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/Internal/IInternalConfigHost.cs b/src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/Internal/IInternalConfigHost.cs index b03989bfb87097..835e424d07ff18 100644 --- a/src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/Internal/IInternalConfigHost.cs +++ b/src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/Internal/IInternalConfigHost.cs @@ -103,8 +103,7 @@ string EncryptSection(string clearTextXml, ProtectedConfigurationProvider protec IDisposable Impersonate(); -#pragma warning disable SYSLIB0003 // Obsolete: CAS + [System.ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] void GetRestrictedPermissions(IInternalConfigRecord configRecord, out PermissionSet permissionSet, out bool isHostReady); -#pragma warning restore SYSLIB0003 // Obsolete: CAS } } diff --git a/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.cs b/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.cs index 9d1eb9f1c5fae8..541ac7374ee859 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 4cbf8ecc8770fd..1063fe54b8935c 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 72d6bd95864650..0e7a8e86d9a2c5 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 83a118e940de06..9e9921e08b412c 100644 --- a/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj +++ b/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj @@ -30,6 +30,7 @@ System.DirectoryServices.ActiveDirectory.DomainController + @@ -138,11 +139,6 @@ System.DirectoryServices.ActiveDirectory.DomainController - - - - - @@ -243,7 +239,7 @@ System.DirectoryServices.ActiveDirectory.DomainController - + 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 00000000000000..5718bb8d739913 --- /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.Security.Permissions/ref/System.Security.Permissions.cs b/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs index 143f18ff37707b..3c81b32526d8f0 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,57 @@ protected override void OnSet(int index, object oldValue, object newValue) { } public void Remove(System.Diagnostics.PerformanceCounterPermissionEntry value) { } } } +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}")] + [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; } + } + [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, + } + 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/ref/System.Security.Permissions.csproj b/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.csproj index 03e6b82d0cefda..5b3355881e8774 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);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) disable + true 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 1994ef7007b9b3..c168742b65b4f5 100644 --- a/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj +++ b/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj @@ -2,6 +2,7 @@ $(NetCoreAppCurrent);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) true + true disable $(NoWarn);nullable true @@ -31,7 +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 100% rename from src/libraries/System.DirectoryServices/src/System/DirectoryServices/DirectoryServicesPermission.cs rename to src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermission.cs 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 100% rename from src/libraries/System.DirectoryServices/src/System/DirectoryServices/DirectoryServicesPermissionAttribute.cs rename to src/libraries/System.Security.Permissions/src/System/DirectoryServices/DirectoryServicesPermissionAttribute.cs 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