diff --git a/dnstp/src/message/answer/a_rdata.rs b/dnstp/src/message/answer/a_rdata.rs index a38275f..6b36abc 100644 --- a/dnstp/src/message/answer/a_rdata.rs +++ b/dnstp/src/message/answer/a_rdata.rs @@ -16,7 +16,7 @@ impl Debug for ARdata { impl RData for ARdata { fn to_bytes(&self) -> Vec { - return self.rdata.octets().to_vec(); + self.rdata.octets().to_vec() } } diff --git a/dnstp/src/message/answer/aaaa_rdata.rs b/dnstp/src/message/answer/aaaa_rdata.rs index 262b2f1..b8ff4cd 100644 --- a/dnstp/src/message/answer/aaaa_rdata.rs +++ b/dnstp/src/message/answer/aaaa_rdata.rs @@ -16,7 +16,7 @@ impl Debug for AAAARdata { impl RData for AAAARdata { fn to_bytes(&self) -> Vec { - return self.rdata.octets().to_vec(); + self.rdata.octets().to_vec() } } diff --git a/dnstp/src/message/answer/mod.rs b/dnstp/src/message/answer/mod.rs index 862bad6..1836914 100644 --- a/dnstp/src/message/answer/mod.rs +++ b/dnstp/src/message/answer/mod.rs @@ -7,6 +7,9 @@ pub use a_rdata::ARdata; mod aaaa_rdata; pub use aaaa_rdata::AAAARdata; +mod txt_rdata; +pub use txt_rdata::TXTRdata; + #[cfg(test)] mod tests; diff --git a/dnstp/src/message/answer/raw_rdata.rs b/dnstp/src/message/answer/raw_rdata.rs index 6018291..278540b 100644 --- a/dnstp/src/message/answer/raw_rdata.rs +++ b/dnstp/src/message/answer/raw_rdata.rs @@ -15,7 +15,7 @@ impl Debug for RawRData { impl RData for RawRData { fn to_bytes(&self) -> Vec { - return self.rdata.clone(); + self.rdata.clone() } } diff --git a/dnstp/src/message/answer/txt_rdata.rs b/dnstp/src/message/answer/txt_rdata.rs new file mode 100644 index 0000000..c204b6b --- /dev/null +++ b/dnstp/src/message/answer/txt_rdata.rs @@ -0,0 +1,29 @@ +use std::fmt::{Debug, Formatter}; +use crate::message::answer::RData; + +pub struct TXTRdata { + pub rdata: String +} + +impl Debug for TXTRdata { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + f.debug_struct("TXT") + .field("data", &self.rdata) + .finish() + } +} + +impl RData for TXTRdata { + fn to_bytes(&self) -> Vec { + self.rdata.into_bytes() + } +} + +impl TXTRdata { + pub fn from(rdata: String) -> TXTRdata + { + TXTRdata { + rdata + } + } +} \ No newline at end of file diff --git a/dnstp/src/message/mod.rs b/dnstp/src/message/mod.rs index e598bdd..d916ef7 100644 --- a/dnstp/src/message/mod.rs +++ b/dnstp/src/message/mod.rs @@ -6,7 +6,7 @@ pub mod answer; pub mod response; pub use question::{DNSQuestion, QClass, QType, QuestionParseError, questions_to_bytes, questions_from_bytes}; -pub use answer::{ResourceRecord, RawRData, RData, ARdata, AAAARdata, RecordParseError, records_to_bytes, answers_from_bytes}; +pub use answer::{ResourceRecord, RawRData, RData, ARdata, AAAARdata, TXTRdata, RecordParseError, records_to_bytes, answers_from_bytes}; pub use header::{DNSHeader, Direction, Opcode, ResponseCode, HEADER_SIZE}; pub use request::DNSRequest; pub use response::DNSResponse; \ No newline at end of file