MCPcopy Create free account
hub / github.com/DNSCrypt/encrypted-dns-server / parse_txt_rrdata

Function parse_txt_rrdata

src/dns.rs:581–600  ·  view source on GitHub ↗
(
    rrdata: &[u8],
    mut cb: F,
)

Source from the content-addressed store, hash-verified

579}
580
581fn parse_txt_rrdata<F: FnMut(&str) -> Result<(), Error>>(
582 rrdata: &[u8],
583 mut cb: F,
584) -> Result<(), Error> {
585 let rrdata_len = rrdata.len();
586 let mut offset = 0;
587 while offset < rrdata_len {
588 let part_len = rrdata[offset] as usize;
589 if part_len == 0 {
590 break;
591 }
592 ensure!(rrdata_len - offset > part_len, "Short TXT RR data");
593 offset += 1;
594 let part_bin = &rrdata[offset..offset + part_len];
595 let part = std::str::from_utf8(part_bin)?;
596 cb(part)?;
597 offset += part_len;
598 }
599 Ok(())
600}
601
602pub fn query_meta(packet: &mut Vec<u8>) -> Result<Option<String>, Error> {
603 let packet_len = packet.len();

Callers 1

query_metaFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected