public Response(byte[] data) { Error = ""; TimeStamp = DateTime.Now; Header = new Header(data); using (PersistedReader reader = new PersistedReader(Header.Buffer, Header.Payload)) { for (int intI = 0; intI < Header.QuestionCount; intI++) { Questions.Add(new Question(reader)); } for (int intI = 0; intI < Header.AnswersCount; intI++) { Answers.Add(new Resource(reader)); } for (int intI = 0; intI < Header.AuthorityCount; intI++) { Authorities.Add(new Resource(reader)); } for (int intI = 0; intI < Header.AdditionalCount; intI++) { Additionals.Add(new Resource(reader)); } } }
public RKEY(PersistedReader reader) { Flags = reader.ReadUInt16(); Protocol = reader.ReadByte(); Algo = reader.ReadByte(); PKey = reader.ReadString(); }
public RSRV(PersistedReader reader) { Priority = reader.ReadUInt16(); Weigth = reader.ReadUInt16(); Port = reader.ReadUInt16(); Target = reader.ReadDomainName(); }
public RNULL(PersistedReader reader) { reader.BaseStream.Position -= 2; ushort length = reader.ReadUInt16(); Buffer = new byte[length]; Buffer = reader.ReadBytes(Buffer.Length); }
public RTXT(PersistedReader reader, int len) { long pos = reader.BaseStream.Position; while ((reader.BaseStream.Position - pos) < len) { Txt.Add(reader.ReadString()); } }
public RNAPTR(PersistedReader reader) { Order = reader.ReadUInt16(); Preference = reader.ReadUInt16(); Flags = reader.ReadString(); Services = reader.ReadString(); RegeXp = reader.ReadString(); Replacement = reader.ReadDomainName(); }
public Resource(PersistedReader reader) { Name = reader.ReadDomainName(); Type = (Type)reader.ReadUInt16(); Class = (Class)reader.ReadUInt16(); TTL = reader.ReadUInt32(); Length = reader.ReadUInt16(); RECORD = ReadRecord(reader, Type, Length); }
public RSOA(PersistedReader reader) { MName = reader.ReadDomainName(); RName = reader.ReadDomainName(); Serial = reader.ReadUInt16(); Refresh = reader.ReadUInt16(); Retry = reader.ReadUInt16(); Expire = reader.ReadUInt16(); Minimum = reader.ReadUInt16(); }
public RLOC(PersistedReader reader) { Version = reader.ReadByte(); // must be 0! Size = reader.ReadByte(); HPreference = reader.ReadByte(); VPreference = reader.ReadByte(); Latitude = reader.ReadUInt16(); Longitude = reader.ReadUInt16(); Altitude = reader.ReadUInt16(); }
public RSIG(PersistedReader reader) { TypeCovered = reader.ReadUInt16(); Algo = reader.ReadByte(); Labels = reader.ReadByte(); TTL = reader.ReadUInt16(); SigExpiration = reader.ReadUInt16(); SigInception = reader.ReadUInt16(); KeyTag = reader.ReadUInt16(); SigName = reader.ReadDomainName(); Sig = reader.ReadString(); }
public RDS(PersistedReader reader) { reader.BaseStream.Position -= 2; ushort length = reader.ReadUInt16(); KeyTag = reader.ReadUInt16(); Algo = reader.ReadByte(); DigestType = reader.ReadByte(); length -= 4; Digest = new byte[length]; Digest = reader.ReadBytes(Digest.Length); }
public RTKEY(PersistedReader reader) { Algo = reader.ReadDomainName(); Inception = reader.ReadUInt16(); Expiration = reader.ReadUInt16(); Mode = reader.ReadUInt16(); EResourceRecordOR = reader.ReadUInt16(); KeySize = reader.ReadUInt16(); KeyData = reader.ReadBytes(KeySize); PayloadLength = reader.ReadUInt16(); PayloadData = reader.ReadBytes(PayloadLength); }
public Request(byte[] data) { Header = new Header(data); using (PersistedReader reader = new PersistedReader(Header.Buffer, Header.Payload)) { for (int i = 0; i < Header.QuestionCount; i++) { Questions.Add(new Question(reader)); } } }
public RTSIG(PersistedReader reader) { AlgoName = reader.ReadDomainName(); TimeSIgned = reader.ReadUInt16() << 32 | reader.ReadUInt16(); Fudge = reader.ReadUInt16(); MacSize = reader.ReadUInt16(); Mac = reader.ReadBytes(MacSize); OriginalID = reader.ReadUInt16(); EResourceRecordOR = reader.ReadUInt16(); PayloadLength = reader.ReadUInt16(); PayloadData = reader.ReadBytes(PayloadLength); }
public RAAAA(PersistedReader reader) { if (IPAddress.TryParse(string.Format("{0:x}:{1:x}:{2:x}:{3:x}:{4:x}:{5:x}:{6:x}:{7:x}", reader.ReadUInt16(), reader.ReadUInt16(), reader.ReadUInt16(), reader.ReadUInt16(), reader.ReadUInt16(), reader.ReadUInt16(), reader.ReadUInt16(), reader.ReadUInt16()), out IPAddress address)) { this.Address = address; } else { Address = IPAddress.Any; } }
public RWKS(PersistedReader reader) { reader.BaseStream.Position -= 2; ushort length = reader.ReadUInt16(); Address = string.Format("{0}.{1}.{2}.{3}", reader.ReadByte(), reader.ReadByte(), reader.ReadByte(), reader.ReadByte()); Protocol = (int)reader.ReadByte(); length -= 5; Bitmap = new byte[length]; Bitmap = reader.ReadBytes(length); }
public BaseRecord ReadRecord(PersistedReader pReader, Type type, int len) { switch (type) { case Type.A: return(new RA(pReader)); case Type.NS: return(new RNS(pReader)); case Type.CNAME: return(new RCNAME(pReader)); case Type.SOA: return(new RSOA(pReader)); case Type.MB: return(new RMB(pReader)); case Type.MG: return(new RMG(pReader)); case Type.MR: return(new RMR(pReader)); case Type.NULL: return(new RNULL(pReader)); case Type.WKS: return(new RWKS(pReader)); case Type.PTR: return(new RPTR(pReader)); case Type.HINFO: return(new RHINFO(pReader)); case Type.MINFO: return(new RMINFO(pReader)); case Type.MX: return(new RMX(pReader)); case Type.TXT: return(new RTXT(pReader, len)); case Type.RP: return(new RRP(pReader)); case Type.AFSDB: return(new RAFSDB(pReader)); case Type.X25: return(new RX25(pReader)); case Type.ISDN: return(new RISDN(pReader)); case Type.RT: return(new RRT(pReader)); case Type.NSAP: return(new RNSAP(pReader)); case Type.SIG: return(new RSIG(pReader)); case Type.KEY: return(new RKEY(pReader)); case Type.PX: return(new RPX(pReader)); case Type.AAAA: return(new RAAAA(pReader)); case Type.LOC: return(new RLOC(pReader)); case Type.SRV: return(new RSRV(pReader)); case Type.NAPTR: return(new RNAPTR(pReader)); case Type.KX: return(new RKX(pReader)); case Type.DNAME: return(new RDNAME(pReader)); case Type.DS: return(new RDS(pReader)); case Type.TKEY: return(new RTKEY(pReader)); case Type.TSIG: return(new RTSIG(pReader)); default: return(new RUnknown(pReader)); } }
public RA(PersistedReader reader) { Address = new IPAddress(reader.ReadBytes(4)); }
public RRP(PersistedReader reader) { MboxdName = reader.ReadDomainName(); TxtdName = reader.ReadDomainName(); }
public RDNAME(PersistedReader reader) { Target = reader.ReadDomainName(); }
public RPTR(PersistedReader reader) { PtrdName = reader.ReadDomainName(); }
public Question(PersistedReader reader) { QName = reader.ReadDomainName(); QType = (Type)reader.ReadUInt16(); QClass = (Class)reader.ReadUInt16(); }
public RKX(PersistedReader reader) { Preference = reader.ReadUInt16(); Exchanger = reader.ReadDomainName(); }
public RAFSDB(PersistedReader reader) { SubType = reader.ReadUInt16(); HostName = reader.ReadDomainName(); }
public RRT(PersistedReader reader) { Preference = reader.ReadUInt16(); InterHost = reader.ReadDomainName(); }
public RX25(PersistedReader reader) { PsdnAddress = reader.ReadString(); }
public RCNAME(PersistedReader reader) { CName = reader.ReadDomainName(); }
public RNSAP(PersistedReader reader) { Length = reader.ReadUInt16(); NsapAddress = reader.ReadBytes(Length); }
public RMG(PersistedReader reader) { MgmName = reader.ReadDomainName(); }
public RHINFO(PersistedReader reader) { Cpu = reader.ReadString(); OS = reader.ReadString(); }