Example #1
0
        private static StringBuilder AppendAddresses(this StringBuilder builder, IDnsMessage response)
        {
            if (!(response is IAddressedEnvelope <IDnsMessage>))
            {
                return(builder);
            }

            IAddressedEnvelope <IDnsMessage> envelope = (IAddressedEnvelope <IDnsMessage>)response;

            var addr = envelope.Sender;

            if (addr != null)
            {
                builder.Append("from: ")
                .Append(addr)
                .Append(", ");
            }

            addr = envelope.Recipient;
            if (addr != null)
            {
                builder.Append("to: ")
                .Append(addr)
                .Append(", ");
            }

            return(builder);
        }
Example #2
0
 private static StringBuilder AppendAllRecords(this StringBuilder builder, IDnsMessage msg)
 {
     return(builder.AppendRecords(msg, DnsSection.QUESTION)
            .AppendRecords(msg, DnsSection.ANSWER)
            .AppendRecords(msg, DnsSection.AUTHORITY)
            .AppendRecords(msg, DnsSection.ADDITIONAL));
 }
Example #3
0
        public override bool Equals(object obj)
        {
            if (this == obj)
            {
                return(true);
            }

            if (!(obj is IDnsMessage))
            {
                return(false);
            }

            IDnsMessage that = (IDnsMessage)obj;

            if (Id != that.Id)
            {
                return(false);
            }

            if (this is IDnsQuestion)
            {
                if (!(that is IDnsQuestion))
                {
                    return(false);
                }
            }
            else if (that is IDnsQuestion)
            {
                return(false);
            }

            return(true);
        }
Example #4
0
        private static StringBuilder AppendRecords(this StringBuilder builder, IDnsMessage message, DnsSection section)
        {
            int count = message.Count(section);

            for (int i = 0; i < count; i++)
            {
                builder.Append(Environment.NewLine)
                .Append('\t')
                .Append(message.GetRecord <IDnsRecord>(section, i));
            }

            return(builder);
        }