rust/dns: support txt records

pull/2776/head
Jason Ish 9 years ago committed by Victor Julien
parent 26914cd59a
commit 2aebfbce94

@ -32,6 +32,7 @@ pub const DNS_RTYPE_CNAME: u16 = 5;
pub const DNS_RTYPE_SOA: u16 = 6;
pub const DNS_RTYPE_PTR: u16 = 12;
pub const DNS_RTYPE_MX: u16 = 15;
pub const DNS_RTYPE_TXT: u16 = 16;
pub const DNS_RTYPE_AAAA: u16 = 28;
pub const DNS_RTYPE_SSHFP: u16 = 44;
pub const DNS_RTYPE_RRSIG: u16 = 46;

@ -276,6 +276,7 @@ pub fn dns_rrtype_string(rrtype: u16) -> String {
DNS_RTYPE_SOA => "SOA",
DNS_RTYPE_PTR => "PTR",
DNS_RTYPE_MX => "MX",
DNS_RTYPE_TXT => "TXT",
DNS_RTYPE_AAAA => "AAAA",
DNS_RTYPE_SSHFP => "SSHFP",
DNS_RTYPE_RRSIG => "RRSIG",
@ -389,6 +390,7 @@ fn dns_log_json_answer(header: &DNSHeader, answer: &DNSAnswerEntry)
}
DNS_RTYPE_CNAME |
DNS_RTYPE_MX |
DNS_RTYPE_TXT |
DNS_RTYPE_PTR => {
js.set_string("rdata", answer.data_to_string());
},

@ -205,6 +205,13 @@ pub fn dns_parse_rdata<'a>(data: &'a [u8], message: &'a [u8], rrtype: u16)
(name)
))(data)
},
DNS_RTYPE_TXT => {
closure!(&'a [u8], do_parse!(
len: be_u8 >>
txt: take!(len) >>
(txt.to_vec())
))(data)
},
_ => nom::IResult::Done(data, data.to_vec())
}
}

Loading…
Cancel
Save