internal WebPermission(NetworkAccess access) { this.m_connectList = new ArrayList(); this.m_acceptList = new ArrayList(); this.m_UnrestrictedConnect = (access & NetworkAccess.Connect) != 0; this.m_UnrestrictedAccept = (access & NetworkAccess.Accept) != 0; }
internal void AddAsPattern(NetworkAccess access, DelayedRegex uriRegexPattern) { ArrayList list = new ArrayList(); if (((access & NetworkAccess.Connect) != 0) && !this.m_UnrestrictedConnect) { list.Add(this.m_connectList); } if (((access & NetworkAccess.Accept) != 0) && !this.m_UnrestrictedAccept) { list.Add(this.m_acceptList); } foreach (ArrayList list2 in list) { bool flag = false; foreach (object obj2 in list2) { if ((obj2 is DelayedRegex) && (string.Compare(uriRegexPattern.ToString(), obj2.ToString(), StringComparison.OrdinalIgnoreCase) == 0)) { flag = true; break; } } if (!flag) { list2.Add(uriRegexPattern); } } }
public void AddPermission(NetworkAccess access, TransportType transport, string hostName, int portNumber) { if (hostName == null) { throw new ArgumentNullException("hostName"); } EndpointPermission endPoint = new EndpointPermission(hostName, portNumber, transport); this.AddPermission(access, endPoint); }
// Constructor. internal EndpointPermission(NetworkAccess access, TransportType transport, String hostName, int portNumber) { this.access = access; this.transport = transport; this.hostName = hostName; this.portNumber = portNumber; }
public SocketPermission(NetworkAccess access, TransportType transport, String hostName, int portNumber) { if(hostName == null) { throw new ArgumentNullException("hostName"); } this.state = PermissionState.None; this.permissions = new ArrayList(); this.permissions.Add (new EndpointPermission(access, transport, hostName, portNumber)); }
// Methods public void AddPermission (NetworkAccess access, TransportType transport, string hostName, int portNumber) { if (m_noRestriction) return; EndpointPermission permission = new EndpointPermission (hostName, portNumber, transport); if (access == NetworkAccess.Accept) m_acceptList.Add (permission); else m_connectList.Add (permission); }
internal void AddPermission(NetworkAccess access, EndpointPermission endPoint) { if (!this.m_noRestriction) { if ((access & NetworkAccess.Connect) != 0) { this.m_connectList.Add(endPoint); } if ((access & NetworkAccess.Accept) != 0) { this.m_acceptList.Add(endPoint); } } }
public ConnectivityChangedEventArgs(NetworkAccess access, IEnumerable <ConnectionProfile> connectionProfiles) { NetworkAccess = access; ConnectionProfiles = connectionProfiles; }
internal void AddPermission(NetworkAccess access, Object uri) { if(state == PermissionState.Unrestricted) { // No need to add permissions to an unrestricted set. return; } if(uri == null) { throw new ArgumentNullException("uri"); } if(access == NetworkAccess.Connect) { connectList.Add(uri); } else if(access == NetworkAccess.Accept) { acceptList.Add(uri); } }
public SocketPermission (NetworkAccess access, TransportType transport, string hostName, int portNumber) : base () { m_noRestriction = false; AddPermission (access, transport, hostName, portNumber); }
/// <summary>Initializes a new instance of the <see cref="T:System.Net.WebPermission" /> class with the specified access rights for the specified URI.</summary> /// <param name="access">A NetworkAccess value that indicates what kind of access to grant to the specified URI. <see cref="F:System.Net.NetworkAccess.Accept" /> indicates that the application is allowed to accept connections from the Internet on a local resource. <see cref="F:System.Net.NetworkAccess.Connect" /> indicates that the application is allowed to connect to specific Internet resources. </param> /// <param name="uriString">A URI string to which access rights are granted. </param> /// <exception cref="T:System.ArgumentNullException"> /// <paramref name="uriString" /> is null. </exception> public WebPermission(NetworkAccess access, string uriString) { this.AddPermission(access, uriString); }
/// <summary>Adds the specified URI with the specified access rights to the current <see cref="T:System.Net.WebPermission" />.</summary> /// <param name="access">A NetworkAccess that specifies the access rights that are granted to the URI. </param> /// <param name="uriRegex">A regular expression that describes the set of URIs to which access rights are granted. </param> /// <exception cref="T:System.ArgumentNullException">The <paramref name="uriRegex" /> parameter is null. </exception> public void AddPermission(NetworkAccess access, Regex uriRegex) { WebPermissionInfo info = new WebPermissionInfo(uriRegex); AddPermission(access, info); }
public WebPermission (NetworkAccess access, System.Text.RegularExpressions.Regex uriRegex) { return default(WebPermission); }
public void AddPermission(NetworkAccess access, string !uriString) { Contract.Requires(uriString != null); }
public void AddPermission(NetworkAccess access, Regex uriRegex) { if (uriRegex == null) { throw new ArgumentNullException("uriRegex"); } if (!this.m_noRestriction) { if (uriRegex.ToString() == ".*") { if (!this.m_UnrestrictedConnect && ((access & NetworkAccess.Connect) != 0)) { this.m_UnrestrictedConnect = true; this.m_connectList.Clear(); } if (!this.m_UnrestrictedAccept && ((access & NetworkAccess.Accept) != 0)) { this.m_UnrestrictedAccept = true; this.m_acceptList.Clear(); } } else { this.AddAsPattern(access, new DelayedRegex(uriRegex)); } } }
protected virtual void OnStateChanged(NetworkAccess networkAccess) { StateChange?.Invoke(this, networkAccess); }
public void AddPermission(NetworkAccess access, System.Text.RegularExpressions.Regex !uriRegex) { Contract.Requires(uriRegex != null); }
public SocketPermission(NetworkAccess access, TransportType transport, string hostName, int portNumber) { this.initialize(); this.m_noRestriction = false; this.AddPermission(access, transport, hostName, portNumber); }
/// <summary>Adds the specified URI with the specified access rights to the current <see cref="T:System.Net.WebPermission" />.</summary> /// <param name="access">A NetworkAccess that specifies the access rights that are granted to the URI. </param> /// <param name="uriRegex">A regular expression that describes the set of URIs to which access rights are granted. </param> /// <exception cref="T:System.ArgumentNullException">The <paramref name="uriRegex" /> parameter is null. </exception> public void AddPermission(NetworkAccess access, System.Text.RegularExpressions.Regex uriRegex) { WebPermissionInfo info = new WebPermissionInfo(uriRegex); this.AddPermission(access, info); }
/// <summary>Adds the specified URI string with the specified access rights to the current <see cref="T:System.Net.WebPermission" />.</summary> /// <param name="access">A <see cref="T:System.Net.NetworkAccess" /> that specifies the access rights that are granted to the URI. </param> /// <param name="uriString">A string that describes the URI to which access rights are granted. </param> /// <exception cref="T:System.ArgumentNullException"> /// <paramref name="uriString" /> is null. </exception> public void AddPermission(NetworkAccess access, string uriString) { WebPermissionInfo info = new WebPermissionInfo(WebPermissionInfoType.InfoString, uriString); this.AddPermission(access, info); }
public WebPermission(NetworkAccess access, String uriString) : this() { AddPermission(access, uriString); }
public WebPermission(NetworkAccess access, string uriString) { return(default(WebPermission)); }
public SocketPermission (NetworkAccess access, TransportType transport, string hostName, int portNumber) { return default(SocketPermission); }
public WebPermission(NetworkAccess access, System.Text.RegularExpressions.Regex uriRegex) { return(default(WebPermission)); }
static void OnConnectivityChanged(NetworkAccess access, IEnumerable <ConnectionProfile> profiles) => OnConnectivityChanged(new ConnectivityChangedEventArgs(access, profiles));
public void AddPermission(NetworkAccess access, TransportType transport, string hostName, int portNumber) { }
public WebPermission (NetworkAccess access, string uriString) { return default(WebPermission); }
// Add end-point information that is parsed from an XML element list. private void AddFromXml(SecurityElement element, NetworkAccess access) { ArrayList children = element.Children; String value; TransportType transport; int portNumber; if(children == null) { return; } foreach(SecurityElement child in children) { if(child.Tag != "ENDPOINT") { continue; } value = child.Attribute("transport"); if(value == null) { throw new ArgumentNullException("transport"); } transport = (TransportType)Enum.Parse (typeof(TransportType), value, true); value = child.Attribute("port"); if(value == null) { throw new ArgumentNullException("port"); } if(String.Compare(value, "All", true) == 0) { portNumber = AllPorts; } else { portNumber = Int32.Parse(value); } value = child.Attribute("hostname"); if(value == null) { throw new ArgumentNullException("hostname"); } permissions.Add(new EndpointPermission (access, transport, value, portNumber)); } }
private void FromXml (ArrayList endpoints, NetworkAccess access) { foreach (SecurityElement endpoint in endpoints) { if (endpoint.Tag != "ENDPOINT") continue; string hostname = endpoint.Attribute ("host"); TransportType transport = (TransportType) Enum.Parse (typeof (TransportType), endpoint.Attribute ("transport"), true); string p = endpoint.Attribute ("port"); int port = 0; if (p == "All") port = SocketPermission.AllPorts; else port = Int32.Parse (p); AddPermission (access, transport, hostname, port); } }
// Convert a list of end-points into an XML element list. private void AddToXml(SecurityElement parent, NetworkAccess access) { SecurityElement child; foreach(EndpointPermission info in permissions) { if(info.access == access) { child = new SecurityElement("ENDPOINT"); parent.AddChild(child); child.AddAttribute ("host", SecurityElement.Escape(info.hostName)); child.AddAttribute ("transport", info.transport.ToString()); if(info.portNumber == AllPorts) { child.AddAttribute("port", "All"); } else { child.AddAttribute ("port", info.portNumber.ToString()); } } } }
static NetworkAccess IsBetterAccess(NetworkAccess currentAccess, NetworkAccess newAccess) => newAccess > currentAccess ? newAccess : currentAccess;
private void FromXml(ArrayList endpoints, NetworkAccess access) { throw new NotImplementedException(); }
// Count the number of endpoints with a specific access value. private int CountWithAccess(NetworkAccess access) { int count = 0; foreach(EndpointPermission info in permissions) { if(info.access == access) { ++count; } } return count; }
public void AddPermission(NetworkAccess access, string uriString) { }
// Add permission information to this permissions object. public void AddPermission(NetworkAccess access, TransportType transport, String hostName, int portNumber) { if(state == PermissionState.Unrestricted) { // No need to add permissions to an unrestricted set. return; } if(hostName == null) { throw new ArgumentNullException("hostName"); } this.permissions.Add (new EndpointPermission(access, transport, hostName, portNumber)); }
public WebPermission(NetworkAccess access, System.Text.RegularExpressions.Regex uriRegex) { }
// Constructor. public SocketPermissionEnumerator(ArrayList list, NetworkAccess access) { e = list.GetEnumerator(); this.access = access; }
public WebPermission(NetworkAccess access, string uriString) { }
public WebPermission(NetworkAccess access, Regex uriRegex) : this() { AddPermission(access, uriRegex); }
public void SetNetworkAccess(NetworkAccess networkAccess) { NetworkAccess = networkAccess; ConnectivityChanged?.Invoke(this, new ConnectivityChangedEventArgs(NetworkAccess, ConnectionProfiles)); }
public void AddPermission (NetworkAccess access, TransportType transport, string! hostName, int portNumber) { Contract.Requires(hostName != null); }
public WebPermission(NetworkAccess access, Regex uriRegex) { this.m_connectList = new ArrayList(); this.m_acceptList = new ArrayList(); this.AddPermission(access, uriRegex); }
public void AddPermission(NetworkAccess access, string uriString) { if (uriString == null) { throw new ArgumentNullException("uriString"); } if (!this.m_noRestriction) { Uri uri; if (Uri.TryCreate(uriString, UriKind.Absolute, out uri)) { this.AddPermission(access, uri); } else { ArrayList list = new ArrayList(); if (((access & NetworkAccess.Connect) != 0) && !this.m_UnrestrictedConnect) { list.Add(this.m_connectList); } if (((access & NetworkAccess.Accept) != 0) && !this.m_UnrestrictedAccept) { list.Add(this.m_acceptList); } foreach (ArrayList list2 in list) { bool flag = false; foreach (object obj2 in list2) { string strA = obj2 as string; if ((strA != null) && (string.Compare(strA, uriString, StringComparison.OrdinalIgnoreCase) == 0)) { flag = true; break; } } if (!flag) { list2.Add(uriString); } } } } }
public SocketPermission(NetworkAccess access, TransportType transport, string hostName, int portNumber) : base() { m_noRestriction = false; AddPermission(access, transport, hostName, portNumber); }
internal void AddPermission(NetworkAccess access, Uri uri) { if (uri == null) { throw new ArgumentNullException("uri"); } if (!this.m_noRestriction) { ArrayList list = new ArrayList(); if (((access & NetworkAccess.Connect) != 0) && !this.m_UnrestrictedConnect) { list.Add(this.m_connectList); } if (((access & NetworkAccess.Accept) != 0) && !this.m_UnrestrictedAccept) { list.Add(this.m_acceptList); } foreach (ArrayList list2 in list) { bool flag = false; foreach (object obj2 in list2) { if ((obj2 is Uri) && uri.Equals(obj2)) { flag = true; break; } } if (!flag) { list2.Add(uri); } } } }
static void SetCurrent() { currentAccess = NetworkAccess; currentProfiles = new List <ConnectionProfile>(ConnectionProfiles); }
public WebPermission(NetworkAccess access, string uriString) { this.m_connectList = new ArrayList(); this.m_acceptList = new ArrayList(); this.AddPermission(access, uriString); }
internal WebPermission(NetworkAccess access, Uri uri) { this.m_connectList = new ArrayList(); this.m_acceptList = new ArrayList(); this.AddPermission(access, uri); }
public void AddPermission (NetworkAccess access, System.Text.RegularExpressions.Regex! uriRegex) { Contract.Requires(uriRegex != null); }
public void AddPermission (NetworkAccess access, string! uriString) { Contract.Requires(uriString != null); }
/// <summary>Initializes a new instance of the <see cref="T:System.Net.WebPermission" /> class with the specified access rights for the specified URI regular expression.</summary> /// <param name="access">A <see cref="T:System.Net.NetworkAccess" /> value that indicates what kind of access to grant to the specified URI. <see cref="F:System.Net.NetworkAccess.Accept" /> indicates that the application is allowed to accept connections from the Internet on a local resource. <see cref="F:System.Net.NetworkAccess.Connect" /> indicates that the application is allowed to connect to specific Internet resources. </param> /// <param name="uriRegex">A regular expression that describes the URI to which access is to be granted. </param> public WebPermission(NetworkAccess access, Regex uriRegex) { AddPermission(access, uriRegex); }