Merge pull request #4621 from alexanderkyte/strdup_env
[mono.git] / mcs / class / System.Security / System.Security.Permissions / DataProtectionPermission.cs
index 1886d2ae1e25ab6db1c1b40011cf2fb88e554238..43560cd40cf6933fdd32f71bf8d21c705ec6c177 100644 (file)
@@ -26,7 +26,6 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if NET_2_0
 
 using System.Globalization;
 
@@ -44,21 +43,19 @@ namespace System.Security.Permissions {
                {
                        if (PermissionHelper.CheckPermissionState (state, true) == PermissionState.Unrestricted)
                                _flags = DataProtectionPermissionFlags.AllFlags;
-                       else
-                               _flags = DataProtectionPermissionFlags.NoFlags;
                }
 
-               public DataProtectionPermission (DataProtectionPermissionFlags flags
+               public DataProtectionPermission (DataProtectionPermissionFlags flag) 
                {
                        // reuse validation by the Flags property
-                       Flags = flags;
+                       Flags = flag;
                }
 
 
                public DataProtectionPermissionFlags Flags {
                        get { return _flags; }
                        set {
-                               if (!Enum.IsDefined (typeof (DataProtectionPermissionFlags), value)) {
+                               if ((value & ~DataProtectionPermissionFlags.AllFlags) != 0) {
                                        string msg = String.Format (Locale.GetText ("Invalid enum {0}"), value);
                                        throw new ArgumentException (msg, "DataProtectionPermissionFlags");
                                }
@@ -117,15 +114,15 @@ namespace System.Security.Permissions {
                        return ((_flags & ~dp._flags) == 0);
                }
 
-               public override void FromXml (SecurityElement e
+               public override void FromXml (SecurityElement securityElement
                {
                        // General validation in CodeAccessPermission
-                       PermissionHelper.CheckSecurityElement (e, "e", version, version);
+                       PermissionHelper.CheckSecurityElement (securityElement, "securityElement", version, version);
                        // Note: we do not (yet) care about the return value 
                        // as we only accept version 1 (min/max values)
 
                        _flags = (DataProtectionPermissionFlags) Enum.Parse (
-                               typeof (DataProtectionPermissionFlags), e.Attribute ("Flags"));
+                               typeof (DataProtectionPermissionFlags), securityElement.Attribute ("Flags"));
                }
 
                public override SecurityElement ToXml () 
@@ -152,4 +149,3 @@ namespace System.Security.Permissions {
        }
 }
 
-#endif