ldns(3)

✨ ldns_dnssec_zone β€” the DNSSEC zone function fam ✨

okay bestie, welcome to ldns(3), the Library Functions Manual page where we meet the whole squad of ldns_dnssec_zone functions πŸ’– these are the little guys who build, fill, print and free your DNSSEC zone structures, and yes they are iconic, no cap.


🌸 NAME 🌸

ldns_dnssec_zone_find_rrset, ldns_dnssec_zone_new, ldns_dnssec_zone_free, ldns_dnssec_zone_add_rr, ldns_dnssec_zone_names_print, ldns_dnssec_zone_print, ldns_dnssec_zone_add_empty_nonterminals β€” functions for ldns_dnssec_zone πŸ‘‘


✨ SYNOPSIS ✨

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

#include <ldns/ldns.h>

ldns_dnssec_rrsets* ldns_dnssec_zone_find_rrset(const ldns_dnssec_zone
*zone, const ldns_rdf *dname, ldns_rr_type type);

ldns_dnssec_zone* ldns_dnssec_zone_new(void);

void ldns_dnssec_zone_free(ldns_dnssec_zone *zone);

ldns_status ldns_dnssec_zone_add_rr(ldns_dnssec_zone *zone, ldns_rr
*rr);

void ldns_dnssec_zone_names_print(FILE *out, const ldns_rbtree_t *tree,
bool print_soa);

void ldns_dnssec_zone_print(FILE *out, const ldns_dnssec_zone *zone);

ldns_status ldns_dnssec_zone_add_empty_nonterminals(ldns_dnssec_zone
*zone);

πŸ’… DESCRIPTION πŸ’…

πŸ¦‹ ldns_dnssec_zone_find_rrset()

Find the RRset with the given name and type in the zone. it's giving "where is my stuff" energy πŸ”

  • zone: the zone structure to find the RRset in
  • dname: the domain name of the RRset to find
  • type: the type of the RRset to find

Returns the RRset, or NULL if not present 😭 (and if it's NULL, bestie, it's simply not there, periodt).

πŸŽ€ ldns_dnssec_zone_new()

Creates a new dnssec_zone structure ✨ brand new, fresh out the box.

Returns the allocated structure 🫢

🌸 ldns_dnssec_zone_free()

Frees the given zone structure, and its rbtree of dnssec_names. Individual ldns_rr RRs within those names are *not* freed πŸ‘€ β€” so like, don't assume this function cleans up literally everything, because it does not.

  • *zone: the zone to free

πŸ”₯ ldns_dnssec_zone_add_rr()

Adds the given RR to the zone. It find whether there is a dnssec_name with that name present. If so, add it to that, if not create a new one. Special handling of NSEC and RRSIG provided πŸ’… the way it just knows how to treat NSEC and RRSIG differently? iconic.

  • zone: the zone to add the RR to
  • rr: The RR to add

Returns LDNS_STATUS_OK on success and LDNS_STATUS_EQUAL_ERR when and RR with equal ownername, class, type and rdata already exists, and an error code otherwise πŸ’€ (yes, an exact duplicate gets you LDNS_STATUS_EQUAL_ERR, no shade, it's just the rules).

πŸ‘‘ ldns_dnssec_zone_names_print()

Prints the rbtree of ldns_dnssec_name structures to the file descriptor πŸ–¨οΈ

  • out: the file descriptor to print the names to
  • tree: the tree of ldns_dnssec_name structures to print
  • print_soa: if true, print SOA records, if false, skip them

🌈 ldns_dnssec_zone_print()

Prints the complete zone to the given file descriptor ✨ the whole thing, the full vibe, nothing held back.

  • out: the file descriptor to print to
  • zone: the dnssec_zone to print

🧚 ldns_dnssec_zone_add_empty_nonterminals()

Adds explicit dnssec_name structures for the empty nonterminals in this zone. (this is needed for NSEC3 generation) β€” like, NSEC3 literally cannot happen without this, so don't skip it bestie πŸ™ˆ

  • zone: the zone to check for empty nonterminals

return LDNS_STATUS_OK on success ⭐


🫢 AUTHOR 🫢

The ldns team at NLnet Labs. absolute main characters, fr fr πŸ’œ


πŸ› REPORTING BUGS πŸ›

Please report bugs to dns-team@nlnetlabs.nl or on GitHub at https://github.com/NLnetLabs/ldns/issues β€” they wanna hear it, no gatekeeping πŸŽ€


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. ⚠️ like, fr fr, zero warranty, none, not even the obvious ones. you've been warned πŸ’€


⭐ SEE ALSO ⭐

ldns_dnssec_zone. And perldoc Net::DNS, RFC1034, RFC1035, RFC4033, RFC4034 and RFC4035. go read the lore, iykyk πŸ“š


πŸ™ˆ REMARKS πŸ™ˆ

This manpage was automatically generated from the ldns source code. so yeah, a robot made it, but it still ate πŸ€–βœ¨


and that's the whole page, bestie!! πŸŽ€ this was ldns(3) from the Library Functions Manual, dated 30 May 2006 β€” thank you for coming to my ted talk, slay, periodt πŸ’…πŸ‘‘