/// <inheritdoc /> public override void WriteData(PresentationWriter writer) { writer.WriteUInt16((ushort)Flags); writer.WriteByte(Protocol); writer.WriteByte((byte)Algorithm); writer.WriteBase64String(PublicKey, appendSpace: false); }
/// <inheritdoc /> public override void WriteData(PresentationWriter writer) { writer.WriteUInt16(KeyTag); writer.WriteByte((byte)Algorithm); writer.WriteByte((byte)HashAlgorithm); writer.WriteBase16String(Digest, appendSpace: false); }
/// <inheritdoc /> public override void WriteData(PresentationWriter writer) { writer.WriteByte((byte)HashAlgorithm); writer.WriteByte((byte)Flags); writer.WriteUInt16(Iterations); if (Salt == null || Salt.Length == 0) { writer.WriteString("-"); } else { writer.WriteBase16String(Salt); } writer.WriteString(Base32.ExtendedHex.Encode(NextHashedOwnerName, padding: false).ToLowerInvariant()); bool next = false; foreach (var type in Types) { if (next) { writer.WriteSpace(); } writer.WriteDnsType(type, appendSpace: false); next = true; } }
/// <inheritdoc /> public override void WriteData(PresentationWriter writer) { writer.WriteDomainName(PrimaryName); writer.WriteDomainName(Mailbox); writer.WriteUInt32(SerialNumber); writer.WriteTimeSpan32(Refresh); writer.WriteTimeSpan32(Retry); writer.WriteTimeSpan32(Expire); writer.WriteTimeSpan32(Minimum, appendSpace: false); }
/// <inheritdoc /> public override void WriteData(PresentationWriter writer) { writer.WriteDomainName(Algorithm); writer.WriteDateTime(TimeSigned); writer.WriteTimeSpan16(Fudge); writer.WriteBase64String(MAC); writer.WriteUInt16(OriginalMessageId); writer.WriteUInt16((ushort)Error); writer.WriteBase64String(OtherData ?? NoData, appendSpace: false); }
/// <inheritdoc /> public override void WriteData(PresentationWriter writer) { writer.WriteDomainName(Algorithm); writer.WriteDateTime(Inception); writer.WriteDateTime(Expiration); writer.WriteUInt16((ushort)Mode); writer.WriteUInt16((ushort)Error); writer.WriteBase64String(Key); writer.WriteBase64String(OtherData ?? NoData, appendSpace: false); }
/// <inheritdoc /> public override string ToString() { using (var s = new StringWriter()) { var writer = new PresentationWriter(s); writer.WriteDomainName(Name); writer.WriteDnsClass(Class); writer.WriteDnsType(Type, appendSpace: false); return(s.ToString()); } }
/// <summary> /// Write the textual representation of the data that is specific to /// the resource record. /// </summary> /// <param name="writer"> /// The destination for the resource record's data. /// </param> /// <remarks> /// Derived classes should implement this method. /// <para> /// By default, this will write the hex encoding of /// the <see cref="GetData">RDATA</see> preceeded by /// "\#" and the number integer bytes. /// </para> /// </remarks> public virtual void WriteData(PresentationWriter writer) { var rdata = GetData(); var hasData = rdata.Length > 0; writer.WriteStringUnencoded("\\#"); writer.WriteUInt32((uint)rdata.Length, appendSpace: hasData); if (hasData) { writer.WriteBase16String(rdata, appendSpace: false); } }
/// <inheritdoc /> public override void WriteData(PresentationWriter writer) { writer.WriteDnsType(TypeCovered); writer.WriteByte((byte)Algorithm); writer.WriteByte(Labels); writer.WriteTimeSpan32(OriginalTTL); writer.WriteDateTime(SignatureExpiration); writer.WriteDateTime(SignatureInception); writer.WriteUInt16(KeyTag); writer.WriteDomainName(SignerName); writer.WriteBase64String(Signature, appendSpace: false); }
/// <inheritdoc /> public void Write(PresentationWriter writer) { writer.WriteDomainName(Name); if (TTL != DefaultTTL) { writer.WriteTimeSpan32(TTL); } writer.WriteDnsClass(Class); writer.WriteDnsType(Type); WriteData(writer); writer.WriteEndOfLine(); }
/// <inheritdoc /> public override void WriteData(PresentationWriter writer) { bool next = false; foreach (var s in Strings) { if (next) { writer.WriteSpace(); } writer.WriteString(s, appendSpace: false); next = true; } }
/// <inheritdoc /> public override void WriteData(PresentationWriter writer) { writer.WriteByte((byte)HashAlgorithm); writer.WriteByte((byte)Flags); writer.WriteUInt16(Iterations); if (Salt == null || Salt.Length == 0) { writer.WriteString("-"); } else { writer.WriteBase16String(Salt, appendSpace: false); } }
/// <inheritdoc /> public override void WriteData(PresentationWriter writer) { writer.WriteDomainName(NextOwnerName); bool next = false; foreach (var type in Types) { if (next) { writer.WriteSpace(); } writer.WriteDnsType(type, appendSpace: false); next = true; } }
/// <inheritdoc /> public override void WriteData(PresentationWriter writer) { writer.WriteIPAddress(Address, appendSpace: false); }