Пример #1
0
    // Token: 0x06000192 RID: 402 RVA: 0x00009628 File Offset: 0x00007828
    private IPAddress[] method_57(string string_2, IPAddress ipaddress_1)
    {
        List <IPAddress> list = new List <IPAddress>();

        Client.Struct1 @struct = this.method_58(ipaddress_1);
        short          short_  = 1;
        int            int_    = 72;
        IntPtr         zero    = IntPtr.Zero;
        IntPtr         ptr;

        if (Client.DnsQuery_A(string_2, short_, int_, ref @struct, ref ptr, ref zero) == 0)
        {
            Client.DnsRecord dnsRecord_ = (Client.DnsRecord)Marshal.PtrToStructure(ptr, typeof(Client.DnsRecord));
            IPAddress        ipaddress  = this.method_59(dnsRecord_);
            if (ipaddress != IPAddress.None)
            {
                list.Add(ipaddress);
            }
            while (!(dnsRecord_.intptr_0 == IntPtr.Zero))
            {
                dnsRecord_ = (Client.DnsRecord)Marshal.PtrToStructure(dnsRecord_.intptr_0, typeof(Client.DnsRecord));
                ipaddress  = this.method_59(dnsRecord_);
                if (ipaddress != IPAddress.None)
                {
                    list.Add(ipaddress);
                }
            }
        }
        return(list.ToArray());
    }
Пример #2
0
 // Token: 0x06000194 RID: 404 RVA: 0x00009734 File Offset: 0x00007934
 private IPAddress method_59(Client.DnsRecord dnsRecord_0)
 {
     if (dnsRecord_0.short_0 != 1)
     {
         return(IPAddress.None);
     }
     if ((dnsRecord_0.int_0 & 3) >= 2)
     {
         return(IPAddress.None);
     }
     return(new IPAddress((long)((ulong)dnsRecord_0.uint_0)));
 }