Ejemplo n.º 1
0
 public StrongNameIdentityPermission(PermissionState state)
 {
     // false == do not allow Unrestricted for Identity Permissions
     CheckPermissionState(state, false);
     // default values
     _single = SNIP.CreateDefault();
 }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 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());
 }
Ejemplo n.º 4
0
        public StrongNameIdentityPermission(StrongNamePublicKeyBlob blob, string name, Version version)
        {
            if (blob == null)
            {
                throw new ArgumentNullException("blob");
            }

            _single = new SNIP(blob, name, version);
        }
Ejemplo n.º 5
0
 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;
			}
Ejemplo n.º 7
0
 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());
     }
 }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
            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);
            }
Ejemplo n.º 10
0
        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
        }
Ejemplo n.º 11
0
		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 ());
		}
Ejemplo n.º 15
0
		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
		}
Ejemplo n.º 16
0
		public StrongNameIdentityPermission (StrongNamePublicKeyBlob blob, string name, Version version) 
		{
			if (blob == null)
				throw new ArgumentNullException ("blob");

			_single = new SNIP (blob, name, version);
		}
Ejemplo n.º 17
0
 internal void ResetToDefault()
 {
     _list.Clear();
     _list.Add(SNIP.CreateDefault());
 }