Exemplo n.º 1
0
    /// <summary>
    /// Converts an array to a Genreic List of Type EntityIpDomain
    /// This method converts the array to a list so I can pass it back in a WCF service
    /// </summary>
    /// <param name="aData">Array of IP(s)|Domain(s)</param>
    /// <returns>Generic List of Type EntityIpDomain</returns>
    private static List <EntityIpDomain> ConvertArrayToList(Array aData)
    {
        List <EntityIpDomain> list = new List <EntityIpDomain>(aData.Length);

        foreach (String item in aData)
        {
            EntityIpDomain ipDomainValue = new EntityIpDomain {
                IpDomain = item
            };
            list.Add(ipDomainValue);
        }
        return(list);
    }
Exemplo n.º 2
0
    /// <summary>
    /// Retrieves the IP(s)|Domain(s) from the SMTP Server in an Array
    /// This method retrieves teh IPs/DNS entries from the Relay Restriction List in IIS
    /// </summary>
    /// <param name="sMetabasePath">IIS://localhost/smtpsvc/1</param>
    /// <param name="sMethodName">Get|Put</param>
    /// <param name="sMethodArgument">IPSecurity|RelayIPList</param>
    /// <param name="sMember">IPGrant|IPDeny|DomainGrant|DomainDeny</param>
    /// <returns></returns>
    public static List <EntityIpDomain> GetIpSecurityPropertyArray(String sMetabasePath, String sMethodName, String sMethodArgument, String sMember)
    {
        //instantiates an instance of DirectoryEntry
        DirectoryEntry directoryEntry = new DirectoryEntry(sMetabasePath);

        directoryEntry.RefreshCache();
        //return result of Invoke method
        object oIpSecurity = directoryEntry.Invoke(sMethodName, new[] { sMethodArgument });
        //get Type of ipSecurity
        Type typeIpSecurityType = oIpSecurity.GetType();
        //returns an array of IPS or Domains
        Array data = GetIpSecurityData(oIpSecurity, typeIpSecurityType, sMember);
        //load the array into a generic list
        List <EntityIpDomain> list = new List <EntityIpDomain>();

        for (int i = 0; i < data.Length; i++)
        {
            EntityIpDomain entityIpDomain = new EntityIpDomain();
            entityIpDomain.IpDomain = data.GetValue(i).ToString();
            list.Add(entityIpDomain);
        }
        return(list);
    }
Exemplo n.º 3
0
        internal static List <EntityIpDomain> GetImsIp(string ipString)
        {
            if (string.IsNullOrEmpty(ipString))
            {
                return(new List <EntityIpDomain>());
            }

            List <string>         ips   = ipString.Split(',').ToList();
            List <EntityIpDomain> imsIp = new List <EntityIpDomain>();

            foreach (string ip in ips)
            {
                if (IPv4.IsValidIp(ip.Trim()))
                {
                    EntityIpDomain entityIpDomain = new EntityIpDomain
                    {
                        IpDomain = string.Format("{0}, 255.255.255.255", ip.Trim())
                    };
                    imsIp.Add(entityIpDomain);
                }
            }

            return(imsIp);
        }