ldns(3)

πŸ“¦
version 1.9.2 Β· 3 versions
, in alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– ldns(3) β€” the ldns_pkt edns girlies πŸ’–

okay bestie, welcome to the ldns manual, section 3, Library Functions Manual, and today's hyperfixation is the whole ldns_pkt end0s-related function family. yes the manpage literally spells it "ends0" in the NAME line, we don't ask questions, we just vibe πŸ’…


✨ NAME ✨

ldns_pkt_edns, ldns_pkt_edns_udp_size, ldns_pkt_edns_extended_rcode, ldns_pkt_edns_version, ldns_pkt_edns_z, ldns_pkt_edns_data, ldns_pkt_set_edns_udp_size, ldns_pkt_set_edns_extended_rcode, ldns_pkt_set_edns_version, ldns_pkt_set_edns_z, ldns_pkt_set_edns_data β€” the ldns_pkt ends0 related functions 🫢


🌸 SYNOPSIS 🌸

#include <stdint.h>
#include <stdbool.h>

#include <ldns/ldns.h>

bool ldns_pkt_edns(const ldns_pkt *packet);

uint16_t ldns_pkt_edns_udp_size(const ldns_pkt *packet);

uint8_t ldns_pkt_edns_extended_rcode(const ldns_pkt *packet);

uint8_t ldns_pkt_edns_version(const ldns_pkt *packet);

uint16_t ldns_pkt_edns_z(const ldns_pkt *packet);

ldns_rdf* ldns_pkt_edns_data(const ldns_pkt *packet);

void ldns_pkt_set_edns_udp_size(ldns_pkt *packet, uint16_t s);

void ldns_pkt_set_edns_extended_rcode(ldns_pkt *packet, uint8_t c);

void ldns_pkt_set_edns_version(ldns_pkt *packet, uint8_t v);

void ldns_pkt_set_edns_z(ldns_pkt *packet, uint16_t z);

void ldns_pkt_set_edns_data(ldns_pkt *packet, ldns_rdf *data);

six getters, five setters, one bool, zero notes taken. slay πŸ’…


🌈 DESCRIPTION 🌈

okay so the whole energy here is: getters ask the packet a question, setters tell the packet what to be. no cap, that's it. let's go one by one, bestie, no skipping, every single argument and return is coming with us πŸŽ€

  • ldns_pkt_edns() β€” returns true if this packet needs an EDNS rr to be sent. at the moment the only reason is an expected packet size larger than 512 bytes, but like, for instance dnssec would be a good reason too. iykyk.
    • packet: the packet to check
    • Returns true if packet needs edns rr
  • ldns_pkt_edns_udp_size() β€” return the packet's edns udp size πŸ¦‹
    • packet: the packet
    • Returns the size
  • ldns_pkt_edns_extended_rcode() β€” return the packet's edns extended rcode ✨
    • packet: the packet
    • Returns the rcode
  • ldns_pkt_edns_version() β€” return the packet's edns version 🌸
    • packet: the packet
    • Returns the version
  • ldns_pkt_edns_z() β€” return the packet's edns z value ⭐
    • packet: the packet
    • Returns the z value
  • ldns_pkt_edns_data() β€” return the packet's EDNS data πŸ’œ
    • packet: the packet
    • Returns the data
  • ldns_pkt_set_edns_udp_size() β€” set the packet's edns udp size πŸ”₯
    • packet: the packet
    • s: the size
  • ldns_pkt_set_edns_extended_rcode() β€” set the packet's edns extended rcode πŸ’–
    • packet: the packet
    • c: the code
  • ldns_pkt_set_edns_version() β€” set the packet's edns version πŸ‘‘
    • packet: the packet
    • v: the version
  • ldns_pkt_set_edns_z() β€” set the packet's edns z value 🌈
    • packet: the packet
    • z: the value
  • ldns_pkt_set_edns_data() β€” set the packet's EDNS data πŸŽ€
    • packet: the packet
    • data: the data
not a single one of these is doing something sneaky, bestie β€” they read a field, they write a field, they hand you back a bool or a number or an ldns_rdf*, periodt πŸ’…

πŸ‘‘ AUTHOR πŸ‘‘

The ldns team at NLnet Labs. absolute icons, no notes 🫢


πŸ’€ REPORTING BUGS πŸ’€

Please report bugs to dns-team@nlnetlabs.nl or on GitHub at https://github.com/NLnetLabs/ldns/issues

(if you found one, tell them, don't just suffer in silence bestie 😭)


Copyright (c) 2004 - 2006 NLnet Labs.

Licensed under the BSD License. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

fr fr, that's the legal vibe: no warranty, not even the implied ones, don't come for them πŸ™ˆ

🌟 SEE ALSO 🌟

ldns_pkt. And perldoc Net::DNS, RFC1034, RFC1035, RFC4033, RFC4034 and RFC4035. the reading list is giving very much study group πŸ“šβœ¨


πŸ“ REMARKS πŸ“

This manpage was automatically generated from the ldns source code. (yes bestie, a robot wrote it, and i just gave it a glow-up πŸ’…)


and that's the whole page!! sign-off time: this was the ldns(3) manpage, dated 30 May 2006, from the ldns source β€” stay iconic, go read your EDNS fields, and remember: 512 bytes is the vibe limit before you need an EDNS rr. bye bestie, mwah πŸ«ΆπŸ’–βœ¨