Exemple #1
0
 protected override void Parse(Stream s)
 {
     _masterNameServer  = DnsDatagram.DeserializeDomainName(s);
     _responsiblePerson = DnsDatagram.DeserializeDomainName(s);
     _serial            = DnsDatagram.ReadUInt32NetworkOrder(s);
     _refresh           = DnsDatagram.ReadUInt32NetworkOrder(s);
     _retry             = DnsDatagram.ReadUInt32NetworkOrder(s);
     _expire            = DnsDatagram.ReadUInt32NetworkOrder(s);
     _minimum           = DnsDatagram.ReadUInt32NetworkOrder(s);
 }
        public DnsResourceRecord(Stream s)
        {
            _name  = DnsDatagram.DeserializeDomainName(s);
            _type  = (DnsResourceRecordType)DnsDatagram.ReadUInt16NetworkOrder(s);
            _class = (DnsClass)DnsDatagram.ReadUInt16NetworkOrder(s);
            _ttl   = DnsDatagram.ReadUInt32NetworkOrder(s);

            switch (_type)
            {
            case DnsResourceRecordType.A:
                _data = new DnsARecord(s);
                break;

            case DnsResourceRecordType.NS:
                _data = new DnsNSRecord(s);
                break;

            case DnsResourceRecordType.CNAME:
                _data = new DnsCNAMERecord(s);
                break;

            case DnsResourceRecordType.SOA:
                _data = new DnsSOARecord(s);
                break;

            case DnsResourceRecordType.PTR:
                _data = new DnsPTRRecord(s);
                break;

            case DnsResourceRecordType.MX:
                _data = new DnsMXRecord(s);
                break;

            case DnsResourceRecordType.TXT:
                _data = new DnsTXTRecord(s);
                break;

            case DnsResourceRecordType.AAAA:
                _data = new DnsAAAARecord(s);
                break;

            case DnsResourceRecordType.SRV:
                _data = new DnsSRVRecord(s);
                break;

            default:
                _data = new DnsUnknownRecord(s);
                break;
            }
        }