Exemple #1
0
 protected override void WriteRecordData(Stream s, List <DnsDomainOffset> domainEntries)
 {
     DnsDatagram.WriteUInt16NetworkOrder(_priority, s);
     DnsDatagram.WriteUInt16NetworkOrder(_weight, s);
     DnsDatagram.WriteUInt16NetworkOrder(_port, s);
     DnsDatagram.SerializeDomainName(_target, s, null); //no compression for domain name as per RFC
 }
        public void WriteTo(Stream s, List <DnsDomainOffset> domainEntries)
        {
            DnsDatagram.SerializeDomainName(_name, s, domainEntries);
            DnsDatagram.WriteUInt16NetworkOrder((ushort)_type, s);
            DnsDatagram.WriteUInt16NetworkOrder((ushort)_class, s);
            DnsDatagram.WriteUInt32NetworkOrder(TtlValue, s);

            _data.WriteTo(s, domainEntries);
        }
Exemple #3
0
 public void WriteTo(Stream s)
 {
     DnsDatagram.WriteUInt16NetworkOrder(_ID, s);
     s.WriteByte(Convert.ToByte((_QR << 7) | ((byte)_OPCODE << 3) | (_AA << 2) | (_TC << 1) | _RD));
     s.WriteByte(Convert.ToByte((_RA << 7) | (_Z << 6) | (_AD << 5) | (_CD << 4) | (byte)_RCODE));
     DnsDatagram.WriteUInt16NetworkOrder(_QDCOUNT, s);
     DnsDatagram.WriteUInt16NetworkOrder(_ANCOUNT, s);
     DnsDatagram.WriteUInt16NetworkOrder(_NSCOUNT, s);
     DnsDatagram.WriteUInt16NetworkOrder(_ARCOUNT, s);
 }
        public void WriteTo(Stream s, List <DnsDomainOffset> domainEntries)
        {
            long originalPosition = s.Position;

            //write dummy RDLENGTH
            s.Write(new byte[] { 0, 0 }, 0, 2);

            //write RDATA
            WriteRecordData(s, domainEntries);

            long finalPosition = s.Position;

            //write actual RDLENGTH
            ushort length = Convert.ToUInt16(finalPosition - originalPosition - 2);

            s.Position = originalPosition;
            DnsDatagram.WriteUInt16NetworkOrder(length, s);

            s.Position = finalPosition;
        }
Exemple #5
0
 protected override void WriteRecordData(Stream s, List <DnsDomainOffset> domainEntries)
 {
     DnsDatagram.WriteUInt16NetworkOrder(_preference, s);
     DnsDatagram.SerializeDomainName(_exchange, s, domainEntries);
 }