Example #1
0
            public static LogMessage ResolutionSucceded(
                DnsDomain domain, DnsClient.DNS.QTYPE question, IEnumerable <DnsClient.DNS.RR> requestedAnswerRecords)
            {
                // must be true:
                // requestedAnswerRecords.Any()

                int count = requestedAnswerRecords.Count();

                if (count == 1)
                {
                    DnsClient.DNS.RR rr = requestedAnswerRecords.First();
                    DnsClient.DNS.Records.Address address;
                    DnsClient.DNS.Records.PTR     pointer;

                    if (!Object.ReferenceEquals(null, (address = rr as DnsClient.DNS.Records.Address)))
                    {
                        // "The name '{0}' was successfully resolved to {1}."
                        return(RESPONSE.INFO.SingleAddressResolutionSucceeded(domain, address.ADDRESS));
                    }

                    if (!Object.ReferenceEquals(null, (pointer = rr as DnsClient.DNS.Records.PTR)))
                    {
                        // "Pointer resolution succeeded with the name '{0}'."
                        return(RESPONSE.INFO.SinglePointerResolutionSucceeded(pointer.PTRDNAME));
                    }

                    // "A Resouce Records of type {0} was found."
                    return(RESPONSE.INFO.RecordResolutionSucceeded(question));
                }

                // "{1} Resouce Records of type {0} were found."
                return(RESPONSE.INFO.RecordResolutionSucceeded(question, count));
            }
Example #2
0
 public static LogMessage ResourceRecordFound(DnsClient.Response response, DnsClient.DNS.RR rr)
 {
     return(Create(Resources.LogMessages.ResourceRecordFound,
                   new object[] { rr.Base.TYPE, (DnsDomain)rr.Base.NAME }));
 }