Пример #1
0
        public RecordNULL(RecordReader rr)
        {
            rr.Position -= 2;
            // re-read length
            ushort RDLENGTH = rr.ReadUInt16();

            ANYTHING = new byte[RDLENGTH];
            ANYTHING = rr.ReadBytes(RDLENGTH);
        }
Пример #2
0
 public RecordSOA(RecordReader rr)
 {
     MNAME   = rr.ReadDomainName();
     RNAME   = rr.ReadDomainName();
     SERIAL  = rr.ReadUInt32();
     REFRESH = rr.ReadUInt32();
     RETRY   = rr.ReadUInt32();
     EXPIRE  = rr.ReadUInt32();
     MINIMUM = rr.ReadUInt32();
 }
Пример #3
0
 public RecordLOC(RecordReader rr)
 {
     VERSION   = rr.ReadByte();           // must be 0!
     SIZE      = rr.ReadByte();
     HORIZPRE  = rr.ReadByte();
     VERTPRE   = rr.ReadByte();
     LATITUDE  = rr.ReadUInt32();
     LONGITUDE = rr.ReadUInt32();
     ALTITUDE  = rr.ReadUInt32();
 }
Пример #4
0
        public RecordTXT(RecordReader rr, int Length)
        {
            int pos = rr.Position;

            TXT = new List <string>();
            while ((rr.Position - pos) < Length)
            {
                TXT.Add(rr.ReadString());
            }
        }
Пример #5
0
 public RR(RecordReader rr)
 {
     TimeLived = 0;
     NAME      = rr.ReadDomainName();
     Type      = (Type)rr.ReadUInt16();
     Class     = (Class)rr.ReadUInt16();
     TTL       = rr.ReadUInt32();
     RDLENGTH  = rr.ReadUInt16();
     RECORD    = rr.ReadRecord(Type, RDLENGTH);
     RECORD.RR = this;
 }
Пример #6
0
        public RecordDS(RecordReader rr)
        {
            ushort length = rr.ReadUInt16(-2);

            KEYTAG     = rr.ReadUInt16();
            ALGORITHM  = rr.ReadByte();
            DIGESTTYPE = rr.ReadByte();
            length    -= 4;
            DIGEST     = new byte[length];
            DIGEST     = rr.ReadBytes(length);
        }
Пример #7
0
 public RecordTKEY(RecordReader rr)
 {
     ALGORITHM  = rr.ReadDomainName();
     INCEPTION  = rr.ReadUInt32();
     EXPIRATION = rr.ReadUInt32();
     MODE       = rr.ReadUInt16();
     ERROR      = rr.ReadUInt16();
     KEYSIZE    = rr.ReadUInt16();
     KEYDATA    = rr.ReadBytes(KEYSIZE);
     OTHERSIZE  = rr.ReadUInt16();
     OTHERDATA  = rr.ReadBytes(OTHERSIZE);
 }
Пример #8
0
 public RecordTSIG(RecordReader rr)
 {
     ALGORITHMNAME = rr.ReadDomainName();
     TIMESIGNED    = rr.ReadUInt32() << 32 | rr.ReadUInt32();
     FUDGE         = rr.ReadUInt16();
     MACSIZE       = rr.ReadUInt16();
     MAC           = rr.ReadBytes(MACSIZE);
     ORIGINALID    = rr.ReadUInt16();
     ERROR         = rr.ReadUInt16();
     OTHERLEN      = rr.ReadUInt16();
     OTHERDATA     = rr.ReadBytes(OTHERLEN);
 }
Пример #9
0
 public RecordSIG(RecordReader rr)
 {
     TYPECOVERED         = rr.ReadUInt16();
     ALGORITHM           = rr.ReadByte();
     LABELS              = rr.ReadByte();
     ORIGINALTTL         = rr.ReadUInt32();
     SIGNATUREEXPIRATION = rr.ReadUInt32();
     SIGNATUREINCEPTION  = rr.ReadUInt32();
     KEYTAG              = rr.ReadUInt16();
     SIGNERSNAME         = rr.ReadDomainName();
     SIGNATURE           = rr.ReadString();
 }
Пример #10
0
 public RecordAAAA(RecordReader rr)
 {
     System.Net.IPAddress.TryParse(
         string.Format("{0:x}:{1:x}:{2:x}:{3:x}:{4:x}:{5:x}:{6:x}:{7:x}",
                       rr.ReadUInt16(),
                       rr.ReadUInt16(),
                       rr.ReadUInt16(),
                       rr.ReadUInt16(),
                       rr.ReadUInt16(),
                       rr.ReadUInt16(),
                       rr.ReadUInt16(),
                       rr.ReadUInt16()), out this.Address);
 }
Пример #11
0
        public RecordWKS(RecordReader rr)
        {
            ushort length = rr.ReadUInt16(-2);

            ADDRESS = string.Format("{0}.{1}.{2}.{3}",
                                    rr.ReadByte(),
                                    rr.ReadByte(),
                                    rr.ReadByte(),
                                    rr.ReadByte());
            PROTOCOL = (int)rr.ReadByte();
            length  -= 5;
            BITMAP   = new byte[length];
            BITMAP   = rr.ReadBytes(length);
        }
Пример #12
0
        public Response(IPEndPoint iPEndPoint, byte[] data)
        {
            Error       = "";
            Server      = iPEndPoint;
            TimeStamp   = DateTime.Now;
            MessageSize = data.Length;
            RecordReader rr = new RecordReader(data);

            Questions   = new List <Question>();
            Answers     = new List <AnswerRR>();
            Authorities = new List <AuthorityRR>();
            Additionals = new List <AdditionalRR>();

            header = new Header(rr);

            //if (header.RCODE != RCode.NoError)
            //	Error = header.RCODE.ToString();

            for (int intI = 0; intI < header.QDCOUNT; intI++)
            {
                Questions.Add(new Question(rr));
            }

            for (int intI = 0; intI < header.ANCOUNT; intI++)
            {
                Answers.Add(new AnswerRR(rr));
            }

            for (int intI = 0; intI < header.NSCOUNT; intI++)
            {
                Authorities.Add(new AuthorityRR(rr));
            }
            for (int intI = 0; intI < header.ARCOUNT; intI++)
            {
                Additionals.Add(new AdditionalRR(rr));
            }
        }
Пример #13
0
 public AuthorityRR(RecordReader br)
     : base(br)
 {
 }
Пример #14
0
 public AnswerRR(RecordReader br)
     : base(br)
 {
 }
Пример #15
0
 public RecordGPOS(RecordReader rr)
 {
     LONGITUDE = rr.ReadString();
     LATITUDE  = rr.ReadString();
     ALTITUDE  = rr.ReadString();
 }
Пример #16
0
 public RecordX25(RecordReader rr)
 {
     PSDNADDRESS = rr.ReadString();
 }
Пример #17
0
 public Question(RecordReader rr)
 {
     QName  = rr.ReadDomainName();
     QType  = (QType)rr.ReadUInt16();
     QClass = (QClass)rr.ReadUInt16();
 }
Пример #18
0
 public RecordRP(RecordReader rr)
 {
     //MBOXDNAME = rr.ReadString();
     MBOXDNAME = rr.ReadDomainName();
     TXTDNAME  = rr.ReadDomainName();
 }
Пример #19
0
 public RecordPTR(RecordReader rr)
 {
     PTRDNAME = rr.ReadDomainName();
 }
Пример #20
0
 public RecordNS(RecordReader rr)
 {
     NSDNAME = rr.ReadDomainName();
 }
Пример #21
0
 public RecordMG(RecordReader rr)
 {
     MGMNAME = rr.ReadDomainName();
 }
Пример #22
0
 public RecordKX(RecordReader rr)
 {
     PREFERENCE = rr.ReadUInt16();
     EXCHANGER  = rr.ReadDomainName();
 }
Пример #23
0
 public RecordPX(RecordReader rr)
 {
     PREFERENCE = rr.ReadUInt16();
     MAP822     = rr.ReadDomainName();
     MAPX400    = rr.ReadDomainName();
 }
Пример #24
0
 public RecordISDN(RecordReader rr)
 {
     ISDNADDRESS = rr.ReadString();
     SA          = rr.ReadString();
 }
Пример #25
0
 public AdditionalRR(RecordReader br)
     : base(br)
 {
 }
Пример #26
0
 public RecordAFSDB(RecordReader rr)
 {
     SUBTYPE = rr.ReadUInt16();
     //HOSTNAME = rr.ReadString();
     HOSTNAME = rr.ReadDomainName();
 }
Пример #27
0
 public RecordNSAPPTR(RecordReader rr)
 {
     OWNER = rr.ReadString();
 }
Пример #28
0
 public RecordMB(RecordReader rr)
 {
     MADNAME = rr.ReadDomainName();
 }
Пример #29
0
 public RecordDNAME(RecordReader rr)
 {
     TARGET = rr.ReadDomainName();
 }
Пример #30
0
 public RecordNSAP(RecordReader rr)
 {
     LENGTH      = rr.ReadUInt16();
     NSAPADDRESS = rr.ReadBytes(LENGTH);
 }