コード例 #1
0
 protected override void Parse(Stream s)
 {
     _priority = DnsDatagram.ReadUInt16NetworkOrder(s);
     _weight   = DnsDatagram.ReadUInt16NetworkOrder(s);
     _port     = DnsDatagram.ReadUInt16NetworkOrder(s);
     _target   = DnsDatagram.DeserializeDomainName(s);
 }
コード例 #2
0
 protected override void Parse(Stream s)
 {
     _primaryNameServer = 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);
 }
コード例 #3
0
        protected override void Parse(Stream s)
        {
            _algorithmName = DnsDatagram.DeserializeDomainName(s);
            _timeSigned    = DnsDatagram.ReadUInt48NetworkOrder(s);
            _fudge         = DnsDatagram.ReadUInt16NetworkOrder(s);

            ushort macSize = DnsDatagram.ReadUInt16NetworkOrder(s);

            _mac = s.ReadBytes(macSize);

            _originalID = DnsDatagram.ReadUInt16NetworkOrder(s);
            _error      = (DnsTsigError)DnsDatagram.ReadUInt16NetworkOrder(s);

            ushort otherLen = DnsDatagram.ReadUInt16NetworkOrder(s);

            _otherData = s.ReadBytes(otherLen);
        }
コード例 #4
0
        protected override void ParseOptionValue(Stream s)
        {
            if (s.Length < 3)
            {
                throw new InvalidDataException();
            }

            int flags = s.ReadByte();

            if (flags < 0)
            {
                throw new EndOfStreamException();
            }

            _flags = (ClientFullyQualifiedDomainNameFlags)flags;

            int rcode;

            rcode = s.ReadByte();
            if (rcode < 0)
            {
                throw new EndOfStreamException();
            }

            _rcode1 = (byte)rcode;

            rcode = s.ReadByte();
            if (rcode < 0)
            {
                throw new EndOfStreamException();
            }

            _rcode2 = (byte)rcode;

            if (_flags.HasFlag(ClientFullyQualifiedDomainNameFlags.EncodeUsingCanonicalWireFormat))
            {
                _domainName = DnsDatagram.DeserializeDomainName(s);
            }
            else
            {
                _domainName = Encoding.ASCII.GetString(s.ReadBytes((int)s.Length - 3));
            }
        }
コード例 #5
0
 protected override void Parse(Stream s)
 {
     _preference = DnsDatagram.ReadUInt16NetworkOrder(s);
     _exchange   = DnsDatagram.DeserializeDomainName(s);
 }
コード例 #6
0
 protected override void Parse(Stream s)
 {
     _nameServer = DnsDatagram.DeserializeDomainName(s);
 }