diff --git a/src/libraries/System.Security.AccessControl/ref/System.Security.AccessControl.cs b/src/libraries/System.Security.AccessControl/ref/System.Security.AccessControl.cs index b47ecfdc10165..f974e50b07bf7 100644 --- a/src/libraries/System.Security.AccessControl/ref/System.Security.AccessControl.cs +++ b/src/libraries/System.Security.AccessControl/ref/System.Security.AccessControl.cs @@ -530,3 +530,44 @@ public void SetAudit(System.Security.AccessControl.AuditFlags auditFlags, System public void SetAudit(System.Security.Principal.SecurityIdentifier sid, System.Security.AccessControl.ObjectAuditRule rule) { } } } + +namespace System.Security.Policy +{ + public sealed partial class Evidence : System.Collections.ICollection, System.Collections.IEnumerable + { + public Evidence() { } + [Obsolete("This constructor is obsolete. Please use the constructor which takes arrays of EvidenceBase instead.")] + public Evidence(object[] hostEvidence, object[] assemblyEvidence) { } + public Evidence(System.Security.Policy.Evidence evidence) { } + public Evidence(System.Security.Policy.EvidenceBase[] hostEvidence, System.Security.Policy.EvidenceBase[] assemblyEvidence) { } + [Obsolete("Evidence should not be treated as an ICollection. Please use GetHostEnumerator and GetAssemblyEnumerator to iterate over the evidence to collect a count.")] + public int Count { get { throw null; } } + public bool IsReadOnly { get { throw null; } } + public bool IsSynchronized { get { throw null; } } + public bool Locked { get { throw null; } set { } } + public object SyncRoot { get { throw null; } } + [Obsolete("This method is obsolete. Please use AddAssemblyEvidence instead.")] + public void AddAssembly(object id) { } + public void AddAssemblyEvidence(T evidence) where T : System.Security.Policy.EvidenceBase { } + [Obsolete("This method is obsolete. Please use AddHostEvidence instead.")] + public void AddHost(object id) { } + public void AddHostEvidence(T evidence) where T : System.Security.Policy.EvidenceBase { } + public void Clear() { } + public System.Security.Policy.Evidence? Clone() { throw null; } + [Obsolete("Evidence should not be treated as an ICollection. Please use the GetHostEnumerator and GetAssemblyEnumerator methods rather than using CopyTo.")] + public void CopyTo(System.Array array, int index) { } + public System.Collections.IEnumerator GetAssemblyEnumerator() { throw null; } + public T? GetAssemblyEvidence() where T : System.Security.Policy.EvidenceBase { throw null; } + [Obsolete("GetEnumerator is obsolete. Please use GetAssemblyEnumerator and GetHostEnumerator instead.")] + public System.Collections.IEnumerator GetEnumerator() { throw null; } + public System.Collections.IEnumerator GetHostEnumerator() { throw null; } + public T? GetHostEvidence() where T : System.Security.Policy.EvidenceBase { throw null; } + public void Merge(System.Security.Policy.Evidence evidence) { } + public void RemoveType(System.Type t) { } + } + public abstract partial class EvidenceBase + { + protected EvidenceBase() { } + public virtual System.Security.Policy.EvidenceBase? Clone() { throw null; } + } +} \ No newline at end of file diff --git a/src/libraries/System.Security.AccessControl/src/System.Security.AccessControl.csproj b/src/libraries/System.Security.AccessControl/src/System.Security.AccessControl.csproj index 524801d2ed72c..4f1fd6cd42513 100644 --- a/src/libraries/System.Security.AccessControl/src/System.Security.AccessControl.csproj +++ b/src/libraries/System.Security.AccessControl/src/System.Security.AccessControl.csproj @@ -24,6 +24,8 @@ + + diff --git a/src/libraries/System.Security.Permissions/src/System/Security/Policy/Evidence.cs b/src/libraries/System.Security.AccessControl/src/System/Security/Policy/Evidence.cs similarity index 90% rename from src/libraries/System.Security.Permissions/src/System/Security/Policy/Evidence.cs rename to src/libraries/System.Security.AccessControl/src/System/Security/Policy/Evidence.cs index 266df3cbadded..dfeaff878b84a 100644 --- a/src/libraries/System.Security.Permissions/src/System/Security/Policy/Evidence.cs +++ b/src/libraries/System.Security.AccessControl/src/System/Security/Policy/Evidence.cs @@ -22,12 +22,12 @@ public Evidence(EvidenceBase[] hostEvidence, EvidenceBase[] assemblyEvidence) { public void AddAssembly(object id) { } public void AddAssemblyEvidence(T evidence) where T : EvidenceBase { } public void AddHostEvidence(T evidence) where T : EvidenceBase { } - public T GetAssemblyEvidence() where T : EvidenceBase { return default(T); } - public T GetHostEvidence() where T : EvidenceBase { return default(T); } + public T? GetAssemblyEvidence() where T : EvidenceBase { return default(T); } + public T? GetHostEvidence() where T : EvidenceBase { return default(T); } [Obsolete("This method is obsolete. Please use AddHostEvidence instead.")] public void AddHost(object id) { } public void Clear() { } - public Evidence Clone() { return default(Evidence); } + public Evidence? Clone() { return default(Evidence); } [Obsolete("Evidence should not be treated as an ICollection. Please use the GetHostEnumerator and GetAssemblyEnumerator methods rather than using CopyTo.")] public void CopyTo(Array array, int index) { } public IEnumerator GetAssemblyEnumerator() { return Array.Empty().GetEnumerator(); } diff --git a/src/libraries/System.Security.Permissions/src/System/Security/Policy/EvidenceBase.cs b/src/libraries/System.Security.AccessControl/src/System/Security/Policy/EvidenceBase.cs similarity index 77% rename from src/libraries/System.Security.Permissions/src/System/Security/Policy/EvidenceBase.cs rename to src/libraries/System.Security.AccessControl/src/System/Security/Policy/EvidenceBase.cs index 243bd36afee0d..b2790af0cd1f5 100644 --- a/src/libraries/System.Security.Permissions/src/System/Security/Policy/EvidenceBase.cs +++ b/src/libraries/System.Security.AccessControl/src/System/Security/Policy/EvidenceBase.cs @@ -6,6 +6,6 @@ namespace System.Security.Policy public abstract partial class EvidenceBase { protected EvidenceBase() { } - public virtual EvidenceBase Clone() { return default(EvidenceBase); } + public virtual EvidenceBase? Clone() { return default(EvidenceBase); } } } diff --git a/src/libraries/System.Security.Cryptography.Xml/ref/System.Security.Cryptography.Xml.csproj b/src/libraries/System.Security.Cryptography.Xml/ref/System.Security.Cryptography.Xml.csproj index 4d4f20e941f50..2ce349313da0e 100644 --- a/src/libraries/System.Security.Cryptography.Xml/ref/System.Security.Cryptography.Xml.csproj +++ b/src/libraries/System.Security.Cryptography.Xml/ref/System.Security.Cryptography.Xml.csproj @@ -7,7 +7,7 @@ true - + diff --git a/src/libraries/System.Security.Cryptography.Xml/src/System.Security.Cryptography.Xml.csproj b/src/libraries/System.Security.Cryptography.Xml/src/System.Security.Cryptography.Xml.csproj index 908e51bd795fc..bbf3d45bef7d1 100644 --- a/src/libraries/System.Security.Cryptography.Xml/src/System.Security.Cryptography.Xml.csproj +++ b/src/libraries/System.Security.Cryptography.Xml/src/System.Security.Cryptography.Xml.csproj @@ -91,7 +91,7 @@ - + diff --git a/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.Forwards.cs b/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.Forwards.cs index 6e691f997d500..4d9a824761f53 100644 --- a/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.Forwards.cs +++ b/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.Forwards.cs @@ -13,6 +13,8 @@ [assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Security.Permissions.SecurityAttribute))] [assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Security.Permissions.SecurityPermissionAttribute))] [assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Security.Permissions.SecurityPermissionFlag))] +[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Security.Policy.Evidence))] +[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Security.Policy.EvidenceBase))] #if NETCOREAPP [assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Security.IStackWalk))] [assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Security.PermissionSet))] 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 88e6cd47c1461..51dec9a8f2279 100644 --- a/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs +++ b/src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs @@ -1942,43 +1942,6 @@ public void RemoveChild(System.Security.Policy.CodeGroup group) { } public System.Security.SecurityElement ToXml() { throw null; } public System.Security.SecurityElement ToXml(System.Security.Policy.PolicyLevel level) { throw null; } } - public sealed partial class Evidence : System.Collections.ICollection, System.Collections.IEnumerable - { - public Evidence() { } - [System.ObsoleteAttribute] - public Evidence(object[] hostEvidence, object[] assemblyEvidence) { } - public Evidence(System.Security.Policy.Evidence evidence) { } - public Evidence(System.Security.Policy.EvidenceBase[] hostEvidence, System.Security.Policy.EvidenceBase[] assemblyEvidence) { } - [System.ObsoleteAttribute] - public int Count { get { throw null; } } - public bool IsReadOnly { get { throw null; } } - public bool IsSynchronized { get { throw null; } } - public bool Locked { get { throw null; } set { } } - public object SyncRoot { get { throw null; } } - [System.ObsoleteAttribute] - public void AddAssembly(object id) { } - public void AddAssemblyEvidence(T evidence) where T : System.Security.Policy.EvidenceBase { } - [System.ObsoleteAttribute] - public void AddHost(object id) { } - public void AddHostEvidence(T evidence) where T : System.Security.Policy.EvidenceBase { } - public void Clear() { } - public System.Security.Policy.Evidence Clone() { throw null; } - [System.ObsoleteAttribute] - public void CopyTo(System.Array array, int index) { } - public System.Collections.IEnumerator GetAssemblyEnumerator() { throw null; } - public T GetAssemblyEvidence() where T : System.Security.Policy.EvidenceBase { throw null; } - [System.ObsoleteAttribute] - public System.Collections.IEnumerator GetEnumerator() { throw null; } - public System.Collections.IEnumerator GetHostEnumerator() { throw null; } - public T GetHostEvidence() where T : System.Security.Policy.EvidenceBase { throw null; } - public void Merge(System.Security.Policy.Evidence evidence) { } - public void RemoveType(System.Type t) { } - } - public abstract partial class EvidenceBase - { - protected EvidenceBase() { } - public virtual System.Security.Policy.EvidenceBase Clone() { throw null; } - } #if NET50_OBSOLETIONS [System.ObsoleteAttribute("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] #endif 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 7fdbf99cc2dbb..445d797b29568 100644 --- a/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj +++ b/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj @@ -135,8 +135,6 @@ - -