public StrongNameIdentityPermission(PermissionState state) { // false == do not allow Unrestricted for Identity Permissions CheckPermissionState(state, false); // default values _single = SNIP.CreateDefault(); }
public override SecurityElement ToXml() { SecurityElement se = Element(version); #if NET_2_0 if (_list.Count > 1) { foreach (SNIP snip in _list) { SecurityElement child = new SecurityElement("StrongName"); ToSecurityElement(child, snip); se.AddChild(child); } } else if (_list.Count == 1) { SNIP snip = (SNIP)_list [0]; if (!IsEmpty(snip)) { ToSecurityElement(se, snip); } } #else ToSecurityElement(se, _single); #endif return(se); }
public StrongNameIdentityPermission(PermissionState state) { // Identity Permissions can be unrestricted in Fx 2.0 _state = CheckPermissionState(state, true); // default values _list = new ArrayList(); _list.Add(SNIP.CreateDefault()); }
public StrongNameIdentityPermission(StrongNamePublicKeyBlob blob, string name, Version version) { if (blob == null) { throw new ArgumentNullException("blob"); } _single = new SNIP(blob, name, version); }
private bool IsEmpty(SNIP snip) { if (PublicKey != null) { return(false); } if ((Name != null) && (Name.Length > 0)) { return(false); } return((Version == null) || defaultVersion.Equals(Version)); }
internal bool IsSubsetOf (SNIP target) { if ((PublicKey != null) && PublicKey.Equals (target.PublicKey)) return true; if (!IsNameSubsetOf (target.Name)) return false; if ((AssemblyVersion != null) && !AssemblyVersion.Equals (target.AssemblyVersion)) return false; // in case PermissionState.None was used in the constructor if (PublicKey == null) return (target.PublicKey == null); return false; }
private void ToSecurityElement(SecurityElement se, SNIP snip) { if (snip.PublicKey != null) { se.AddAttribute("PublicKeyBlob", snip.PublicKey.ToString()); } if (snip.Name != null) { se.AddAttribute("Name", snip.Name); } if (snip.AssemblyVersion != null) { se.AddAttribute("AssemblyVersion", snip.AssemblyVersion.ToString()); } }
private bool Contains(SNIP snip) { foreach (SNIP e in _list) { bool pk = (((e.PublicKey == null) && (snip.PublicKey == null)) || ((e.PublicKey != null) && e.PublicKey.Equals(snip.PublicKey))); bool name = e.IsNameSubsetOf(snip.Name); bool version = (((e.AssemblyVersion == null) && (snip.AssemblyVersion == null)) || ((e.AssemblyVersion != null) && e.AssemblyVersion.Equals(snip.AssemblyVersion))); if (pk && name && version) { return(true); } } return(false); }
internal bool IsSubsetOf(SNIP target) { if ((PublicKey != null) && PublicKey.Equals(target.PublicKey)) { return(true); } if (!IsNameSubsetOf(target.Name)) { return(false); } if ((AssemblyVersion != null) && !AssemblyVersion.Equals(target.AssemblyVersion)) { return(false); } // in case PermissionState.None was used in the constructor if (PublicKey == null) { return(target.PublicKey == null); } return(false); }
public override void FromXml(SecurityElement e) { // General validation in CodeAccessPermission CheckSecurityElement(e, "e", version, version); // Note: we do not (yet) care about the return value // as we only accept version 1 (min/max values) #if NET_2_0 _list.Clear(); if ((e.Children != null) && (e.Children.Count > 0)) { foreach (SecurityElement se in e.Children) { _list.Add(FromSecurityElement(se)); } } else { _list.Add(FromSecurityElement(e)); } #else _single = FromSecurityElement(e); #endif }
public StrongNameIdentityPermission (PermissionState state) { // false == do not allow Unrestricted for Identity Permissions CheckPermissionState (state, false); // default values _single = SNIP.CreateDefault (); }
private bool IsEmpty (SNIP snip) { if (PublicKey != null) return false; if ((Name != null) && (Name.Length > 0)) return false; return ((Version == null) || defaultVersion.Equals (Version)); }
private bool Contains (SNIP snip) { foreach (SNIP e in _list) { bool pk = (((e.PublicKey == null) && (snip.PublicKey == null)) || ((e.PublicKey != null) && e.PublicKey.Equals (snip.PublicKey))); bool name = e.IsNameSubsetOf (snip.Name); bool version = (((e.AssemblyVersion == null) && (snip.AssemblyVersion == null)) || ((e.AssemblyVersion != null) && e.AssemblyVersion.Equals (snip.AssemblyVersion))); if (pk && name && version) return true; } return false; }
private void ToSecurityElement (SecurityElement se, SNIP snip) { if (snip.PublicKey != null) se.AddAttribute ("PublicKeyBlob", snip.PublicKey.ToString ()); if (snip.Name != null) se.AddAttribute ("Name", snip.Name); if (snip.AssemblyVersion != null) se.AddAttribute ("AssemblyVersion", snip.AssemblyVersion.ToString ()); }
public override void FromXml (SecurityElement e) { // General validation in CodeAccessPermission CheckSecurityElement (e, "e", version, version); // Note: we do not (yet) care about the return value // as we only accept version 1 (min/max values) #if NET_2_0 _list.Clear (); if ((e.Children != null) && (e.Children.Count > 0)) { foreach (SecurityElement se in e.Children) { _list.Add (FromSecurityElement (se)); } } else { _list.Add (FromSecurityElement (e)); } #else _single = FromSecurityElement (e); #endif }
public StrongNameIdentityPermission (StrongNamePublicKeyBlob blob, string name, Version version) { if (blob == null) throw new ArgumentNullException ("blob"); _single = new SNIP (blob, name, version); }
internal void ResetToDefault() { _list.Clear(); _list.Add(SNIP.CreateDefault()); }