Beispiel #1
0
        /// <summary>
        /// Delete specific IP address binding from adapter.
        /// </summary>
        internal void Flush(IAdapter adapter, IPv4 address)
        {
            IPBinding ipb = (IPBinding)ipBindings[address];

            if (ipb != null && ipb.Adapter == adapter)
            {
                Flush(ipb.IPConfiguration);
            }
        }
Beispiel #2
0
        public IAdapter GetAdapter(IPv4 address)
        {
            IPBinding ipb = (IPBinding)ipBindings[address];

            if (ipb == null)
            {
                return(null);
            }
            return(ipb.Adapter);
        }
 public IPBindingEntry(IPBinding ipBinding)
 {
     this.address = ipBinding.Address.ToString();
     if (string.Equals(this.address, "0.0.0.0"))
     {
         this.displayAddress = Strings.ConnectorAllAvailableIPv4;
     }
     else if (string.Equals(this.address, "::"))
     {
         this.displayAddress = Strings.ConnectorAllAvailableIPv6;
     }
     else
     {
         this.displayAddress = this.address;
     }
     this.port         = ipBinding.Port;
     this.ipBindingKey = this.address + ":" + this.port;
 }
        internal static IList <IPEndPoint> GetEndPoints(Server server, IPBinding binding)
        {
            if (!binding.Address.Equals(IPAddress.Any) && !binding.Address.Equals(IPAddress.IPv6Any))
            {
                return(new IPEndPoint[]
                {
                    binding
                });
            }
            ManagementPath path = new ManagementPath(string.Format("\\\\{0}\\root\\cimv2", server.Fqdn));

            System.Management.ManagementScope scope          = new System.Management.ManagementScope(path);
            IList <NetworkConnectionInfo>     connectionInfo = NetworkConnectionInfo.GetConnectionInfo(scope);
            List <IPEndPoint> list = new List <IPEndPoint>();

            foreach (NetworkConnectionInfo networkConnectionInfo in connectionInfo)
            {
                foreach (IPAddress address in networkConnectionInfo.IPAddresses)
                {
                    list.Add(new IPEndPoint(address, binding.Port));
                }
            }
            return(list);
        }
        public SmtpConnectivityStatus(Server server, ReceiveConnector receiveConnector, IPBinding binding, IPEndPoint endPoint) : base(new SimpleProviderPropertyBag())
        {
            string text     = binding.ToString();
            string text2    = endPoint.ToString();
            string identity = string.Format("{0}\\{1}\\{2}", new object[]
            {
                receiveConnector.Identity,
                text,
                text2,
                CultureInfo.CurrentUICulture
            });

            this[this.propertyBag.ObjectIdentityPropertyDefinition] = new ConfigObjectId(identity);
            this.Server           = server.Name;
            this.ReceiveConnector = receiveConnector.Name;
            this.Binding          = text;
            this.EndPoint         = text2;
        }
        internal static SmtpConnectivityStatus GetStatus(Server server, ReceiveConnector connector, IPBinding binding, IPEndPoint endPoint)
        {
            SmtpConnectivityStatusCode statusCode;
            string details;

            TestSmtpConnectivity.TestEndPoint(endPoint, out statusCode, out details);
            return(new SmtpConnectivityStatus(server, connector, binding, endPoint)
            {
                StatusCode = statusCode,
                Details = details
            });
        }