mirror of
https://github.com/MCCTeam/Minecraft-Console-Client
synced 2025-10-14 21:22:49 +00:00
64 lines
1.9 KiB
C#
64 lines
1.9 KiB
C#
using System;
|
|
/*
|
|
* http://www.ietf.org/rfc/rfc2845.txt
|
|
*
|
|
* Field Name Data Type Notes
|
|
--------------------------------------------------------------
|
|
Algorithm Name domain-name Name of the algorithm
|
|
in domain name syntax.
|
|
Time Signed u_int48_t seconds since 1-Jan-70 UTC.
|
|
Fudge u_int16_t seconds of error permitted
|
|
in Time Signed.
|
|
MAC Size u_int16_t number of octets in MAC.
|
|
MAC octet stream defined by Algorithm Name.
|
|
Original ID u_int16_t original message ID
|
|
Error u_int16_t expanded RCODE covering
|
|
TSIG processing.
|
|
Other Len u_int16_t length, in octets, of
|
|
Other Data.
|
|
Other Data octet stream empty unless Error == BADTIME
|
|
|
|
*/
|
|
|
|
namespace Heijden.DNS
|
|
{
|
|
public class RecordTSIG : Record
|
|
{
|
|
public string ALGORITHMNAME;
|
|
public long TIMESIGNED;
|
|
public UInt16 FUDGE;
|
|
public UInt16 MACSIZE;
|
|
public byte[] MAC;
|
|
public UInt16 ORIGINALID;
|
|
public UInt16 ERROR;
|
|
public UInt16 OTHERLEN;
|
|
public byte[] OTHERDATA;
|
|
|
|
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);
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0);
|
|
dateTime = dateTime.AddSeconds(TIMESIGNED);
|
|
string printDate = dateTime.ToShortDateString() + " " + dateTime.ToShortTimeString();
|
|
return string.Format("{0} {1} {2} {3} {4}",
|
|
ALGORITHMNAME,
|
|
printDate,
|
|
FUDGE,
|
|
ORIGINALID,
|
|
ERROR);
|
|
}
|
|
|
|
}
|
|
}
|