toluol-proto

crates.io docs.rs

This crate contains the DNS protocol definitions and implementations needed for toluol.

Useful resources

RDATA schema

If you ever need a compact representation of what the RDATA looks like for the most query types (e.g. if you want to parse DNS messages yourself), here's a code excerpt from DnsType::rdata_schema() in src/lib.rs.

rust DnsType::A => "ip4", DnsType::NS | DnsType::CNAME | DnsType::DNAME | DnsType::PTR => "qname", DnsType::SOA => "qname qname u32 u32 u32 u32 u32", DnsType::HINFO => "string string", DnsType::MX => "u16 qname", DnsType::TXT => "text", DnsType::RP => "qname qname", DnsType::KEY | DnsType::DNSKEY => "u16 u8 u8 base64", DnsType::AAAA => "ip6", DnsType::LOC => "u8 u8 u8 u8 u32 u32 u32", DnsType::SRV => "u16 u16 u16 qname", DnsType::NAPTR => "u16 u16 string string string qname", DnsType::CERT => "u16 u16 u8 base64", DnsType::OPT => "options", DnsType::DS => "u16 u8 u8 hex", DnsType::SSHFP => "u8 u8 hex", DnsType::RRSIG => "qtype u8 u8 u32 time time u16 qname base64", DnsType::NSEC => "qname types", DnsType::NSEC3 => "u8 u8 u16 salt hash types", DnsType::NSEC3PARAM => "u8 u8 u16 salt", DnsType::TLSA => "u8 u8 u8 hex", DnsType::OPENPGPKEY => "base64", DnsType::CAA => "u8 property",

License

See LICENSE.txt.


Copyright (c) 2022 Max von Forell