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

Function add_edns_section

src/dns.rs:407–428  ·  view source on GitHub ↗
(packet: &mut Vec<u8>, max_payload_size: u16)

Source from the content-addressed store, hash-verified

405}
406
407fn add_edns_section(packet: &mut Vec<u8>, max_payload_size: u16) -> Result<(), Error> {
408 let opt_rr: [u8; 11] = [
409 0,
410 (DNS_TYPE_OPT >> 8) as u8,
411 DNS_TYPE_OPT as u8,
412 (max_payload_size >> 8) as u8,
413 max_payload_size as u8,
414 0,
415 0,
416 0,
417 0,
418 0,
419 0,
420 ];
421 ensure!(
422 DNS_MAX_PACKET_SIZE - packet.len() >= opt_rr.len(),
423 "Packet would be too large to add a new record"
424 );
425 arcount_inc(packet)?;
426 packet.extend(opt_rr);
427 Ok(())
428}
429
430pub fn set_edns_max_payload_size(packet: &mut Vec<u8>, max_payload_size: u16) -> Result<(), Error> {
431 let packet_len = packet.len();

Callers 1

Calls 1

arcount_incFunction · 0.85

Tested by

no test coverage detected