예제 #1
0
파일: SoaRecord.cs 프로젝트: yslib/minimvc
 public SoaRecord(DataBuffer buffer)
 {
     _primaryNameServer = buffer.ReadDomainName();
     _responsibleMailAddress = buffer.ReadDomainName();
     _serial = buffer.ReadInt();
     _refresh = buffer.ReadInt();
     _retry = buffer.ReadInt();
     _expire = buffer.ReadInt();
     _defaultTtl = buffer.ReadInt();
 }
예제 #2
0
파일: SoaRecord.cs 프로젝트: dumpvn/minimvc
 public SoaRecord(DataBuffer buffer)
 {
     _primaryNameServer      = buffer.ReadDomainName();
     _responsibleMailAddress = buffer.ReadDomainName();
     _serial     = buffer.ReadInt();
     _refresh    = buffer.ReadInt();
     _retry      = buffer.ReadInt();
     _expire     = buffer.ReadInt();
     _defaultTtl = buffer.ReadInt();
 }
예제 #3
0
파일: SrvRecord.cs 프로젝트: yslib/minimvc
 public SrvRecord(DataBuffer buffer)
 {
     _priority = buffer.ReadShortInt();
     _weight = buffer.ReadShortUInt();
     _port = buffer.ReadShortUInt();
     _domain = buffer.ReadDomainName();
 }
예제 #4
0
파일: SrvRecord.cs 프로젝트: dumpvn/minimvc
 public SrvRecord(DataBuffer buffer)
 {
     _priority = buffer.ReadShortInt();
     _weight   = buffer.ReadShortUInt();
     _port     = buffer.ReadShortUInt();
     _domain   = buffer.ReadDomainName();
 }
예제 #5
0
        public A6Record(DataBuffer buffer)
        {
            _prefixLength = buffer.ReadByte();

            if (_prefixLength == 0) //Only Address Present
            {
                _ipAddress = buffer.ReadIPv6Address();
            }
            else if (_prefixLength == 128) //Only Domain Name Present
            {
                _domain = buffer.ReadDomainName();
            }
            else //Address and Domain Name Present
            {
                _ipAddress = buffer.ReadIPv6Address();
                _domain    = buffer.ReadDomainName();
            }
        }
예제 #6
0
파일: A6Record.cs 프로젝트: yslib/minimvc
        public A6Record(DataBuffer buffer)
        {
            _prefixLength = buffer.ReadByte();

            if (_prefixLength == 0) //Only Address Present
            {
                _ipAddress = buffer.ReadIPv6Address();
            }
            else if (_prefixLength == 128) //Only Domain Name Present
            {
                _domain = buffer.ReadDomainName();
            }
            else //Address and Domain Name Present
            {
                _ipAddress = buffer.ReadIPv6Address();
                _domain = buffer.ReadDomainName();
            }
        }
예제 #7
0
파일: DnsEntry.cs 프로젝트: yslib/minimvc
        public DnsEntry(DataBuffer buffer)
        {
            try
            {
                _domain = buffer.ReadDomainName();
                byte b = buffer.ReadByte();
                _recType = (RecordType)buffer.ReadShortInt();
                _classType = buffer.ReadShortInt();
                _ttl = buffer.ReadInt();

                int length = buffer.ReadByte();
                switch (_recType)
                {
                    case RecordType.A: _data = new ARecord(buffer); break;
                    case RecordType.NS: _data = new NSRecord(buffer); break;
                    case RecordType.CNAME: _data = new CNameRecord(buffer); break;
                    case RecordType.SOA: _data = new SoaRecord(buffer); break;
                    case RecordType.MB: _data = new MBRecord(buffer); break;
                    case RecordType.MG: _data = new MGRecord(buffer); break;
                    case RecordType.MR: _data = new MRRecord(buffer); break;
                    case RecordType.NULL: _data = new NullRecord(buffer, length); break;
                    case RecordType.WKS: _data = new WksRecord(buffer, length); break;
                    case RecordType.PTR: _data = new PtrRecord(buffer); break;
                    case RecordType.HINFO: _data = new HInfoRecord(buffer, length); break;
                    case RecordType.MINFO: _data = new MInfoRecord(buffer); break;
                    case RecordType.MX: _data = new MXRecord(buffer); break;
                    case RecordType.TXT: _data = new TxtRecord(buffer, length); break;
                    case RecordType.RP: _data = new RPRecord(buffer); break;
                    case RecordType.AFSDB: _data = new AfsdbRecord(buffer); break;
                    case RecordType.X25: _data = new X25Record(buffer); break;
                    case RecordType.ISDN: _data = new IsdnRecord(buffer); break;
                    case RecordType.RT: _data = new RTRecord(buffer); break;
                    case RecordType.NSAP: _data = new NsapRecord(buffer, length); break;
                    case RecordType.SIG: _data = new SigRecord(buffer, length); break;
                    case RecordType.KEY: _data = new KeyRecord(buffer, length); break;
                    case RecordType.PX: _data = new PXRecord(buffer); break;
                    case RecordType.AAAA: _data = new AAAARecord(buffer); break;
                    case RecordType.LOC: _data = new LocRecord(buffer); break;
                    case RecordType.SRV: _data = new SrvRecord(buffer); break;
                    case RecordType.NAPTR: _data = new NaptrRecord(buffer); break;
                    case RecordType.KX: _data = new KXRecord(buffer); break;
                    case RecordType.A6: _data = new A6Record(buffer); break;
                    case RecordType.DNAME: _data = new DNameRecord(buffer); break;
                    case RecordType.DS: _data = new DSRecord(buffer, length); break;
                    case RecordType.TKEY: _data = new TKeyRecord(buffer); break;
                    case RecordType.TSIG: _data = new TSigRecord(buffer); break;
                    default: throw new DnsQueryException("Invalid DNS Record Type in DNS Response", null);
                }
            }
            catch (Exception ex)
            {
                _data = new ExceptionRecord(ex.Message);
                throw ex;
            }
        }
예제 #8
0
 public TKeyRecord(DataBuffer buffer)
 {
     _algorithm  = buffer.ReadDomainName();
     _inception  = buffer.ReadUInt();
     _expiration = buffer.ReadUInt();
     _mode       = buffer.ReadShortUInt();
     _error      = buffer.ReadShortUInt();
     _keySize    = buffer.ReadShortUInt();
     _keyData    = buffer.ReadBytes(_keySize);
     _otherSize  = buffer.ReadShortUInt();
     _otherData  = buffer.ReadBytes(_otherSize);
 }
예제 #9
0
파일: TSigRecord.cs 프로젝트: yslib/minimvc
 public TSigRecord(DataBuffer buffer)
 {
     _algorithm = buffer.ReadDomainName();
     _timeSigned = buffer.ReadLongInt();
     _fudge = buffer.ReadShortUInt();
     _macSize = buffer.ReadShortUInt();
     _mac = buffer.ReadBytes(_macSize);
     _originalId = buffer.ReadShortUInt();
     _error = buffer.ReadShortUInt();
     _otherLen = buffer.ReadShortUInt();
     _otherData = buffer.ReadBytes(_otherLen);
 }
예제 #10
0
 public TSigRecord(DataBuffer buffer)
 {
     _algorithm  = buffer.ReadDomainName();
     _timeSigned = buffer.ReadLongInt();
     _fudge      = buffer.ReadShortUInt();
     _macSize    = buffer.ReadShortUInt();
     _mac        = buffer.ReadBytes(_macSize);
     _originalId = buffer.ReadShortUInt();
     _error      = buffer.ReadShortUInt();
     _otherLen   = buffer.ReadShortUInt();
     _otherData  = buffer.ReadBytes(_otherLen);
 }
예제 #11
0
파일: TKeyRecord.cs 프로젝트: yslib/minimvc
 public TKeyRecord(DataBuffer buffer)
 {
     _algorithm = buffer.ReadDomainName();
     _inception = buffer.ReadUInt();
     _expiration = buffer.ReadUInt();
     _mode = buffer.ReadShortUInt();
     _error = buffer.ReadShortUInt();
     _keySize = buffer.ReadShortUInt();
     _keyData = buffer.ReadBytes(_keySize);
     _otherSize = buffer.ReadShortUInt();
     _otherData = buffer.ReadBytes(_otherSize);
 }
예제 #12
0
파일: SigRecord.cs 프로젝트: yslib/minimvc
 public SigRecord(DataBuffer buffer, int length)
 {
     int pos = buffer.Position;
     _coveredType = buffer.ReadShortInt();
     _algorithm = buffer.ReadByte();
     _numLabels = buffer.ReadByte();
     _expiration = buffer.ReadUInt();
     _inception = buffer.ReadUInt();
     _keyTag = buffer.ReadShortInt();
     _signer = buffer.ReadDomainName();
     buffer.Position = pos - length;
 }
예제 #13
0
        public SigRecord(DataBuffer buffer, int length)
        {
            int pos = buffer.Position;

            _coveredType    = buffer.ReadShortInt();
            _algorithm      = buffer.ReadByte();
            _numLabels      = buffer.ReadByte();
            _expiration     = buffer.ReadUInt();
            _inception      = buffer.ReadUInt();
            _keyTag         = buffer.ReadShortInt();
            _signer         = buffer.ReadDomainName();
            buffer.Position = pos - length;
        }
예제 #14
0
 public DomainNameOnly(DataBuffer buffer)
 {
     _domain = buffer.ReadDomainName();
 }
예제 #15
0
 public MInfoRecord(DataBuffer buffer)
 {
     _responsibleMailbox = buffer.ReadDomainName();
     _errorMailbox       = buffer.ReadDomainName();
 }
예제 #16
0
 public DomainNameOnly(DataBuffer buffer)
 {
     _domain = buffer.ReadDomainName();
 }
예제 #17
0
 public Question(DataBuffer buffer)
 {
     _domain    = buffer.ReadDomainName();
     _recType   = (RecordType)buffer.ReadBEShortInt();
     _classType = buffer.ReadBEShortInt();
 }
예제 #18
0
        public DnsEntry(DataBuffer buffer)
        {
            try
            {
                _domain = buffer.ReadDomainName();
                byte b = buffer.ReadByte();
                _recType   = (RecordType)buffer.ReadShortInt();
                _classType = buffer.ReadShortInt();
                _ttl       = buffer.ReadInt();

                int length = buffer.ReadByte();
                switch (_recType)
                {
                case RecordType.A: _data = new ARecord(buffer); break;

                case RecordType.NS: _data = new NSRecord(buffer); break;

                case RecordType.CNAME: _data = new CNameRecord(buffer); break;

                case RecordType.SOA: _data = new SoaRecord(buffer); break;

                case RecordType.MB: _data = new MBRecord(buffer); break;

                case RecordType.MG: _data = new MGRecord(buffer); break;

                case RecordType.MR: _data = new MRRecord(buffer); break;

                case RecordType.NULL: _data = new NullRecord(buffer, length); break;

                case RecordType.WKS: _data = new WksRecord(buffer, length); break;

                case RecordType.PTR: _data = new PtrRecord(buffer); break;

                case RecordType.HINFO: _data = new HInfoRecord(buffer, length); break;

                case RecordType.MINFO: _data = new MInfoRecord(buffer); break;

                case RecordType.MX: _data = new MXRecord(buffer); break;

                case RecordType.TXT: _data = new TxtRecord(buffer, length); break;

                case RecordType.RP: _data = new RPRecord(buffer); break;

                case RecordType.AFSDB: _data = new AfsdbRecord(buffer); break;

                case RecordType.X25: _data = new X25Record(buffer); break;

                case RecordType.ISDN: _data = new IsdnRecord(buffer); break;

                case RecordType.RT: _data = new RTRecord(buffer); break;

                case RecordType.NSAP: _data = new NsapRecord(buffer, length); break;

                case RecordType.SIG: _data = new SigRecord(buffer, length); break;

                case RecordType.KEY: _data = new KeyRecord(buffer, length); break;

                case RecordType.PX: _data = new PXRecord(buffer); break;

                case RecordType.AAAA: _data = new AAAARecord(buffer); break;

                case RecordType.LOC: _data = new LocRecord(buffer); break;

                case RecordType.SRV: _data = new SrvRecord(buffer); break;

                case RecordType.NAPTR: _data = new NaptrRecord(buffer); break;

                case RecordType.KX: _data = new KXRecord(buffer); break;

                case RecordType.A6: _data = new A6Record(buffer); break;

                case RecordType.DNAME: _data = new DNameRecord(buffer); break;

                case RecordType.DS: _data = new DSRecord(buffer, length); break;

                case RecordType.TKEY: _data = new TKeyRecord(buffer); break;

                case RecordType.TSIG: _data = new TSigRecord(buffer); break;

                default: throw new DnsQueryException("Invalid DNS Record Type in DNS Response", null);
                }
            }
            catch (Exception ex)
            {
                _data = new ExceptionRecord(ex.Message);
                throw ex;
            }
        }
예제 #19
0
파일: PXRecord.cs 프로젝트: dumpvn/minimvc
 public PXRecord(DataBuffer buffer)
     : base(buffer)
 {
     _x400Domain = buffer.ReadDomainName();
 }
예제 #20
0
파일: PXRecord.cs 프로젝트: yslib/minimvc
 public PXRecord(DataBuffer buffer)
     : base(buffer)
 {
     _x400Domain = buffer.ReadDomainName();
 }
예제 #21
0
 public AfsdbRecord(DataBuffer buffer)
 {
     _subType = buffer.ReadShortInt();
     _domain = buffer.ReadDomainName();
 }
예제 #22
0
 public MInfoRecord(DataBuffer buffer)
 {
     _responsibleMailbox = buffer.ReadDomainName();
     _errorMailbox = buffer.ReadDomainName();
 }
예제 #23
0
 public PrefAndDomain(DataBuffer buffer)
 {
     _preference = buffer.ReadBEShortInt();
     _domain = buffer.ReadDomainName();
 }
예제 #24
0
파일: Question.cs 프로젝트: yslib/minimvc
 public Question(DataBuffer buffer)
 {
     _domain = buffer.ReadDomainName();
     _recType = (RecordType)buffer.ReadBEShortInt();
     _classType = buffer.ReadBEShortInt();
 }
예제 #25
0
 public PrefAndDomain(DataBuffer buffer)
 {
     _preference = buffer.ReadBEShortInt();
     _domain     = buffer.ReadDomainName();
 }
예제 #26
0
 public AfsdbRecord(DataBuffer buffer)
 {
     _subType = buffer.ReadShortInt();
     _domain  = buffer.ReadDomainName();
 }
예제 #27
0
 public RPRecord(DataBuffer buffer)
 {
     _responsibleMailbox = buffer.ReadDomainName();
     _textDomain         = buffer.ReadDomainName();
 }
예제 #28
0
파일: RPRecord.cs 프로젝트: yslib/minimvc
 public RPRecord(DataBuffer buffer)
 {
     _responsibleMailbox = buffer.ReadDomainName();
     _textDomain = buffer.ReadDomainName();
 }