diff options
Diffstat (limited to 'src/mscorlib/shared/System/Security/SecurityRulesAttribute.cs')
-rw-r--r-- | src/mscorlib/shared/System/Security/SecurityRulesAttribute.cs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/mscorlib/shared/System/Security/SecurityRulesAttribute.cs b/src/mscorlib/shared/System/Security/SecurityRulesAttribute.cs new file mode 100644 index 0000000000..ad17087f8b --- /dev/null +++ b/src/mscorlib/shared/System/Security/SecurityRulesAttribute.cs @@ -0,0 +1,28 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace System.Security +{ + // SecurityRulesAttribute + // + // Indicates which set of security rules an assembly was authored against, and therefore which set of + // rules the runtime should enforce on the assembly. For instance, an assembly marked with + // [SecurityRules(SecurityRuleSet.Level1)] will follow the v2.0 transparency rules, where transparent code + // can call a LinkDemand by converting it to a full demand, public critical methods are implicitly + // treat as safe, and the remainder of the v2.0 rules apply. + [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = false)] + public sealed class SecurityRulesAttribute : Attribute + { + public SecurityRulesAttribute(SecurityRuleSet ruleSet) + { + RuleSet = ruleSet; + } + + // Should fully trusted transparent code skip IL verification + public bool SkipVerificationInFullTrust { get; set; } + + public SecurityRuleSet RuleSet { get; } + } +} + |