Example #1
0
 private IDnsQueryResponse RecursivelyFollowCnames(IDnsQueryResponse result)
 {
     if (result.Answers.CnameRecords().Any())
     {
         var cname                     = result.Answers.CnameRecords().First();
         var recursiveClient           = _provider.GetClient(cname.CanonicalName);
         IDnsQueryResponse txtResponse = recursiveClient.LookupClient.Query(cname.CanonicalName, QueryType.TXT);
         _log.Debug("Name server {NameServerIpAddress} selected", txtResponse.NameServer.Endpoint.Address.ToString());
         return(recursiveClient.RecursivelyFollowCnames(txtResponse));
     }
     return(result);
 }