Exemplo n.º 1
0
        TestDeletePtrRecord()
        {
            using (VmDnsClient client = new VmDnsClient(hostname, username, domain, password))
            {
                var zone = FindZone(client, "vsphere.local");
                IList <VmDnsRecord> records;
                var data = new VMDNS_PTR_DATA();
                data.hostName = "dns1.TestZone";
                var record = new VMDNS_RECORD_PTR();
                record.data           = data;
                record.common.iClass  = 1;
                record.common.pszName = "11.1.168.192.in.arpa";
                record.common.type    = (UInt16)RecordType.VMDNS_RR_TYPE_PTR;

                zone.AddRecord(new VmDnsRecordPTR(record));
                var srvdata = new VMDNS_SRV_DATA();
                srvdata.pNameTarget = "dns1.TestZone";
                var srvrecord = new VMDNS_RECORD_SRV();
                srvrecord.data           = srvdata;
                srvrecord.common.iClass  = 1;
                srvrecord.common.pszName = "_kerberos._tcp";
                srvrecord.common.type    = (UInt16)RecordType.VMDNS_RR_TYPE_SRV;
                records = zone.QueryRecords(
                    "_kerberos._tcp",
                    RecordType.VMDNS_RR_TYPE_SRV,
                    0);
                zone.DeleteRecord(records[0]);
            }
        }
Exemplo n.º 2
0
        TestAddIpv6AddressRecord()
        {
            using (VmDnsClient client = new VmDnsClient(hostname, username, domain, password))
            {
                var zone = FindZone(client, "TestZone");

                var data = new VMDNS_AAAA_DATA();
                var addr = IPAddress.Parse("fe80::8152:a429:635d:1284");
                data.Ip6Address.bytes = addr.GetAddressBytes();
                var record = new VMDNS_RECORD_AAAA();
                record.common.iClass  = 1;
                record.common.pszName = "test2";
                record.common.type    = (UInt16)RecordType.VMDNS_RR_TYPE_AAAA;
                record.data           = data;
                zone.AddRecord(new VmDnsRecordAAAA(record));

                var records = zone.QueryRecords(
                    "test2",
                    RecordType.VMDNS_RR_TYPE_AAAA,
                    0);
                try
                {
                    foreach (VmDnsRecord entry in records)
                    {
                        Console.WriteLine("Record address {0}", ((VmDnsRecordAAAA)entry).Address);
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            }
        }
Exemplo n.º 3
0
        TestZoneOperations()
        {
            using (VmDnsClient client = new VmDnsClient(hostname, username, domain, password))
            {
                var       zoneInfo = new VMDNS_ZONE_INFO();
                VmDnsZone zone;
                zoneInfo.minimum = 3600;
                zoneInfo.pszName = "TestZone";
                zoneInfo.pszPrimaryDnsSrvName = "dns1.vsphere.local";
                zoneInfo.pszRName             = "*****@*****.**";
                zoneInfo.refreshInterval      = 3600;
                zoneInfo.retryInterval        = 3600;
                zoneInfo.serial = 1;

                client.CreateZone(zoneInfo);

                zone = FindZone(client, zoneInfo.pszName);

                zoneInfo.serial = 2;

                /*client.UpdateZone(zoneInfo);
                 *
                 * zone = FindZone(client, zoneInfo.pszName);
                 * Debug.Assert(zone.Serial == 2);*/
            }
        }
Exemplo n.º 4
0
 TestListRecords()
 {
     using (VmDnsClient client = new VmDnsClient(hostname, username, domain, password))
     {
         var zone    = FindZone(client, "vsphere.local");
         var records = zone.ListRecords();
     }
 }
Exemplo n.º 5
0
 TestQueryRecords()
 {
     using (VmDnsClient client = new VmDnsClient(hostname, username, domain, password))
     {
         var zone    = FindZone(client, "vsphere.local");
         var records = zone.QueryRecords(
             "_kerberos._tcp",
             RecordType.VMDNS_RR_TYPE_SRV,
             0);
     }
 }
Exemplo n.º 6
0
        TestForwarders()
        {
            using (VmDnsClient client = new VmDnsClient(hostname, username, domain, password))
            {
                var zone = FindZone(client, "vsphere.local");

                client.AddForwarder("fwd1.forwarders.com");
                client.AddForwarder("fwd2.forwarders.com");
                IList <string> forwarders = client.GetForwarders();
                client.DeleteForwarder("fwd2.forwarders.com");
                client.GetForwarders();
                client.DeleteForwarder("fwd1.forwarders.com");
                client.GetForwarders();
            }
        }
Exemplo n.º 7
0
        TestAddNSRecord()
        {
            using (VmDnsClient client = new VmDnsClient(hostname, username, domain, password))
            {
                var zone = FindZone(client, "TestZone");
                var data = new VMDNS_PTR_DATA();
                data.hostName = "dns1.TestZone";
                var record = new VMDNS_RECORD_NS();
                record.data           = data;
                record.common.pszName = "TestZone";
                record.common.type    = (UInt16)RecordType.VMDNS_RR_TYPE_NS;

                zone.AddRecord(new VmDnsRecordNS(record));
            }
        }
Exemplo n.º 8
0
        TestForwarders()
        {
            using (VmDnsClient client = new VmDnsClient(hostname, username, domain, password))
            {
                var zone = FindZone(client, "TestZone");

                client.AddForwarder("fwd1.forwarders.com");
                client.AddForwarder("fwd2.forwarders.com");
                client.GetForwarders();
                client.DeleteForwarder("fwd2.forwarders.com");
                client.GetForwarders();
                client.DeleteForwarder("fwd1.forwarders.com");
                client.GetForwarders();
            }
        }
Exemplo n.º 9
0
        TestAddSrvRecord()
        {
            using (VmDnsClient client = new VmDnsClient(hostname, username, domain, password))
            {
                var zone = FindZone(client, "TestZone");
                var data = new VMDNS_SRV_DATA();
                data.pNameTarget = "dns1.TestZone";
                var record = new VMDNS_RECORD_SRV();
                record.data           = data;
                record.common.iClass  = 1;
                record.common.pszName = "_kerberos._tcp";
                record.common.type    = (UInt16)RecordType.VMDNS_RR_TYPE_SRV;

                zone.AddRecord(new VmDnsRecordSRV(record));
            }
        }
Exemplo n.º 10
0
        TestAddARecord()
        {
            using (VmDnsClient client = new VmDnsClient(hostname, username, domain, password))
            {
                var zone = FindZone(client, "vsphere.local");

                var data = new VMDNS_A_DATA();
                data.IpAddress = (UInt32)IPAddress.NetworkToHostOrder(
                    (int)IPAddress.Parse("192.168.1.11").Address);
                VMDNS_RECORD_A record = new VMDNS_RECORD_A();
                record.data           = data;
                record.common.iClass  = 1;
                record.common.pszName = "test1";
                record.common.type    = (UInt16)RecordType.VMDNS_RR_TYPE_A;
                VmDnsRecordA addressRecord = new VmDnsRecordA(record);
                try
                {
                    zone.AddRecord(addressRecord);
                }
                catch (VmDnsException e)
                {
                    if (e.ErrorCode != 183)
                    {
                        throw;
                    }
                }

                IList <VmDnsRecord> records =
                    zone.QueryRecords(
                        "test1",
                        RecordType.VMDNS_RR_TYPE_A,
                        0);
                try
                {
                    foreach (VmDnsRecord entry in records)
                    {
                        Console.WriteLine("Record address {0}", ((VmDnsRecordA)entry).Address);
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            }
        }
Exemplo n.º 11
0
        FindZone(
            VmDnsClient client,
            string zoneName
            )
        {
            VmDnsZone result = null;

            var zones = client.ListZones(VmDnsZoneType.FORWARD);

            foreach (VmDnsZone zone in zones)
            {
                if (zone.Name.Equals(zoneName, StringComparison.InvariantCultureIgnoreCase))
                {
                    result = zone;
                    break;
                }
            }

            return(result);
        }
Exemplo n.º 12
0
        TestDeletePtrRecord()
        {
            using (VmDnsClient client = new VmDnsClient(hostname, username, domain, password))
            {
                var zone = FindZone(client, "TestZone");
                IList <VmDnsRecord> records;
                var data = new VMDNS_PTR_DATA();
                data.hostName = "dns1.TestZone";
                var record = new VMDNS_RECORD_PTR();
                record.data           = data;
                record.common.iClass  = 1;
                record.common.pszName = "11.1.168.192.in.arpa";
                record.common.type    = (UInt16)RecordType.VMDNS_RR_TYPE_PTR;

                zone.AddRecord(new VmDnsRecordPTR(record));
                records = zone.QueryRecords(
                    record.common.pszName,
                    RecordType.VMDNS_RR_TYPE_PTR,
                    0);
                zone.DeleteRecord(new VmDnsRecordPTR(record));
            }
        }
Exemplo n.º 13
0
 public void DisposeDNSClient()
 {
     DNSClient.CloseConnection();
     _dnsClient = null;
 }