ldns(3)

πŸ“¦
version 1.9.2 Β· 2 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 β€” the zone-sorting, glue-grabbing corner of the ldns library πŸ’–

okay bestie, this one is from ldns(3), the library functions manual, and it's giving "two little helpers that are honestly kinda slow but they're doing their best" energy. no cap. let's get into it 🫢


✨ NAME ✨

ldns_zone_sort, ldns_zone_glue_rr_list β€” sort a zone and get the glue records πŸŽ€


✨ SYNOPSIS ✨

so here's how you pull these in, literally copy-paste core:

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

#include <ldns/ldns.h>

void ldns_zone_sort(ldns_zone *zone);

ldns_rr_list* ldns_zone_glue_rr_list(const ldns_zone *z);

look at those signatures. immaculate. ✨


✨ DESCRIPTION ✨

πŸ¦‹ ldns_zone_sort()

this one sorts the rrs in a zone. and bestie, hear me when I say: with the current impl., this is slow. not "a little slow". slow. 😭

  • zone β€” the zone to sort

🌸 ldns_zone_glue_rr_list()

this one retrieves all resource records from the zone that are glue records πŸ“. the resulting list? those are pointer references to the zone's data β€” so heads up, you're not getting your own fresh copies, you're getting pointers into the zone itself. iykyk.

and because of the current zone implementation (which is just a list of rr's), this function is extremely slow. like, we said slow for the first one and we're escalating for this one. πŸ’€

the manpage itself is like "another (probably better) way to do this" β€” and that way is to use an ldns_dnssec_zone structure plus the ldns_dnssec_mark_and_get_glue() function. so if you have that option, maybe go that route, fr fr. πŸ‘‘

  • z β€” the zone to look for glue
  • Returns the rr_list with the glue

✨ AUTHOR ✨

The ldns team at NLnet Labs. πŸ’œ (icons, all of them.)


✨ REPORTING BUGS ✨

found something cursed? please report bugs to dns-team@nlnetlabs.nl or on GitHub at https://github.com/NLnetLabs/ldns/issues. we love a bug report, no joke. πŸ™ˆ


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.

yeah that's the standard "we promise nothing" clause and it very much still applies. periodt.

✨ SEE ALSO ✨

  • ldns_zone.

and perldoc Net::DNS, RFC1034, RFC1035, RFC4033, RFC4034 and RFC4035. ⭐ go read your RFCs bestie, they're iconic.


✨ REMARKS ✨

This manpage was automatically generated from the ldns source code. πŸ€–βœ¨ (not me being a robot-authored document, it's giving main character energy.)


and that's the whole page, gorgeous πŸŽ€ this little corner of ldns(3) came to you from the ldns library functions manual, dated 30 May 2006 β€” yeah, 2006, it's vintage, it's a classic, we respect the elders. mwah πŸ’…πŸ’–