diff options
author | Jiyoung Yun <jy910.yun@samsung.com> | 2016-12-27 16:46:08 +0900 |
---|---|---|
committer | Jiyoung Yun <jy910.yun@samsung.com> | 2016-12-27 16:46:08 +0900 |
commit | db20f3f1bb8595633a7e16c8900fd401a453a6b5 (patch) | |
tree | e5435159cd1bf0519276363a6fe1663d1721bed3 /src/mscorlib/src/System/Security/BuiltInPermissionSets.cs | |
parent | 4b4aad7217d3292650e77eec2cf4c198ea9c3b4b (diff) | |
download | coreclr-db20f3f1bb8595633a7e16c8900fd401a453a6b5.tar.gz coreclr-db20f3f1bb8595633a7e16c8900fd401a453a6b5.tar.bz2 coreclr-db20f3f1bb8595633a7e16c8900fd401a453a6b5.zip |
Imported Upstream version 1.0.0.9127upstream/1.0.0.9127
Diffstat (limited to 'src/mscorlib/src/System/Security/BuiltInPermissionSets.cs')
-rw-r--r-- | src/mscorlib/src/System/Security/BuiltInPermissionSets.cs | 103 |
1 files changed, 8 insertions, 95 deletions
diff --git a/src/mscorlib/src/System/Security/BuiltInPermissionSets.cs b/src/mscorlib/src/System/Security/BuiltInPermissionSets.cs index e29dec3b06..48539574af 100644 --- a/src/mscorlib/src/System/Security/BuiltInPermissionSets.cs +++ b/src/mscorlib/src/System/Security/BuiltInPermissionSets.cs @@ -6,6 +6,7 @@ // using System; +using System.Diagnostics; using System.Diagnostics.Contracts; using System.Security.Permissions; using Microsoft.Win32; @@ -180,30 +181,6 @@ namespace System.Security Flags = ""SkipVerification"" /> </PermissionSet>"; -#if FEATURE_CAS_POLICY - private const string s_wpfExtensionXml = - @"<PermissionSet class = ""System.Security.PermissionSet"" - version = ""1""> - <IPermission class = ""System.Security.Permissions.MediaPermission, " + AssemblyRef.WindowsBase + @""" - version = ""1"" - Audio=""SafeAudio"" Video=""SafeVideo"" Image=""SafeImage"" /> - <IPermission class = ""System.Security.Permissions.WebBrowserPermission, " + AssemblyRef.WindowsBase + @""" - version = ""1"" - Level=""Safe"" /> - </PermissionSet>"; - - private const string s_wpfExtensionUnrestrictedXml = - @"<PermissionSet class = ""System.Security.PermissionSet"" - version = ""1""> - <IPermission class = ""System.Security.Permissions.MediaPermission, " + AssemblyRef.WindowsBase + @""" - version = ""1"" - Unrestricted = ""true"" /> - <IPermission class = ""System.Security.Permissions.WebBrowserPermission, " + AssemblyRef.WindowsBase + @""" - version = ""1"" - Unrestricted = ""true"" /> - </PermissionSet>"; -#endif //FEATURE_CAS_POLICY - // // Built in permission set objects // @@ -222,11 +199,7 @@ namespace System.Security internal static NamedPermissionSet Everything { - get { return GetOrDeserializeExtendablePermissionSet(ref s_everything, s_everythingXml -#if FEATURE_CAS_POLICY - , s_wpfExtensionUnrestrictedXml -#endif // FEATURE_CAS_POLICY - ); } + get { return GetOrDeserializeExtendablePermissionSet(ref s_everything, s_everythingXml); } } internal static NamedPermissionSet Execution @@ -241,20 +214,12 @@ namespace System.Security internal static NamedPermissionSet Internet { - get { return GetOrDeserializeExtendablePermissionSet(ref s_internet, s_internetXml -#if FEATURE_CAS_POLICY - , s_wpfExtensionXml -#endif // FEATURE_CAS_POLICY - ); } + get { return GetOrDeserializeExtendablePermissionSet(ref s_internet, s_internetXml); } } internal static NamedPermissionSet LocalIntranet { - get { return GetOrDeserializeExtendablePermissionSet(ref s_localIntranet, s_localIntranetXml -#if FEATURE_CAS_POLICY - , s_wpfExtensionXml -#endif // FEATURE_CAS_POLICY - ); } + get { return GetOrDeserializeExtendablePermissionSet(ref s_localIntranet, s_localIntranetXml); } } internal static NamedPermissionSet Nothing @@ -272,71 +237,19 @@ namespace System.Security // set extensions if necessary // - private static NamedPermissionSet GetOrDeserializeExtendablePermissionSet(ref NamedPermissionSet permissionSet, - string permissionSetXml -#if FEATURE_CAS_POLICY - ,string extensionXml -#endif // FEATURE_CAS_POLICY - ) + private static NamedPermissionSet GetOrDeserializeExtendablePermissionSet( + ref NamedPermissionSet permissionSet, + string permissionSetXml) { Contract.Requires(!String.IsNullOrEmpty(permissionSetXml)); -#if FEATURE_CAS_POLICY - Contract.Requires(!String.IsNullOrEmpty(extensionXml)); -#endif // FEATURE_CAS_POLICY - - if (permissionSet == null) - { -#if FEATURE_CAS_POLICY - SecurityElement securityElement = SecurityElement.FromString(permissionSetXml); - NamedPermissionSet deserializedPermissionSet = new NamedPermissionSet(securityElement); - - PermissionSet extensions = GetPermissionSetExtensions(extensionXml); - deserializedPermissionSet.InplaceUnion(extensions); - - permissionSet = deserializedPermissionSet; -#endif // FEATURE_CAS_POLICY - } - return permissionSet.Copy() as NamedPermissionSet; } private static NamedPermissionSet GetOrDeserializePermissionSet(ref NamedPermissionSet permissionSet, string permissionSetXml) { - Contract.Assert(!String.IsNullOrEmpty(permissionSetXml)); - -#if FEATURE_CAS_POLICY - if (permissionSet == null) - { - SecurityElement securityElement = SecurityElement.FromString(permissionSetXml); - NamedPermissionSet deserializedPermissionSet = new NamedPermissionSet(securityElement); - - permissionSet = deserializedPermissionSet; - } -#endif // FEATURE_CAS_POLICY - + Debug.Assert(!String.IsNullOrEmpty(permissionSetXml)); return permissionSet.Copy() as NamedPermissionSet; } - -#if FEATURE_CAS_POLICY - private static PermissionSet GetPermissionSetExtensions(string extensionXml) - { - Contract.Requires(!String.IsNullOrEmpty(extensionXml)); - - SecurityElement se = SecurityElement.FromString(extensionXml); - - // Return the permission set extension only if WPF is in the present framework profile. - // XMLUtil.GetClassFromElement() helps do the quickest check, with no exception thrown and - // minimal parsing. - SecurityElement firstPermission = (SecurityElement)se.Children[0]; - if (System.Security.Util.XMLUtil.GetClassFromElement(firstPermission, /*ignoreTypeLoadFailures*/true) != null) - { - PermissionSet extensions = new NamedPermissionSet(se); - return extensions; - } - - return null; - } -#endif // FEATURE_CAS_POLICY } } |