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(3) β€” the DNSSEC data chain bestie guide πŸ’–

okay so, real talk, this is the ldns(3) library functions manual, and today's episode is all about the DNSSEC data chain: making it, yeeting it, deep-yeeting it, and printing it. ldns_chain creation, destruction and printing, the whole arc. 🌈✨


✨ NAME ✨

ldns_dnssec_data_chain_new, ldns_dnssec_data_chain_free, ldns_dnssec_data_chain_deep_free, ldns_dnssec_build_data_chain, ldns_dnssec_data_chain_print β€” ldns_chain creation, destruction and printing. like, the full life cycle of a chain. birth, death, dramatic death, and ✨aesthetic✨ display. πŸ‘‘


πŸŽ€ SYNOPSIS πŸŽ€

bestie, you gotta include these first, no skips:

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

#include <ldns/ldns.h>

ldns_dnssec_data_chain* ldns_dnssec_data_chain_new(void);

void ldns_dnssec_data_chain_free(ldns_dnssec_data_chain *chain);

void ldns_dnssec_data_chain_deep_free(ldns_dnssec_data_chain *chain);

ldns_dnssec_data_chain* ldns_dnssec_build_data_chain(ldns_resolver *res,
const uint16_t qflags, const ldns_rr_list *data_set, const ldns_pkt
*pkt, ldns_rr *orig_rr);

void ldns_dnssec_data_chain_print(FILE *out, const
ldns_dnssec_data_chain *chain);

like, that's the whole cast list. 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

  • ldns_dnssec_data_chain_new() β€” Creates a new dnssec_chain structure. baby chain, fresh out the box, no notes. it returns ldns_dnssec_data_chain *. 🌱
  • ldns_dnssec_data_chain_free() β€” Frees a dnssec_data_chain structure. just the chain itself, bestie, that's it.
    • *chain: The chain to free
  • ldns_dnssec_data_chain_deep_free() β€” Frees a dnssec_data_chain structure, and all data contained therein. this is the dramatic one. it takes everything with it. πŸ’€
    • *chain: The dnssec_data_chain to free
  • ldns_dnssec_build_data_chain() β€” Build an ldns_dnssec_data_chain, which contains all DNSSEC data that is needed to derive the trust tree later. yes, the trust tree. we love a tree that we can actually trust. 🌳✨

heads up: The data_set will be cloned. so don't be weird about it, your original stays safe.

  • *res: resolver structure for further needed queries
  • qflags: resolution flags
  • *data_set: The original rrset where the chain ends
  • *pkt: optional, can contain the original packet (and hence the sigs and maybe the key)
  • *orig_rr: The original Resource Record

Returns the DNSSEC data chain. slay. πŸŽ€

  • ldns_dnssec_data_chain_print() β€” Prints the dnssec_data_chain to the given file stream. show it off, it worked hard.
    • *out: The file stream to print to
    • *chain: The dnssec_data_chain to print

πŸ‘‘ AUTHOR πŸ‘‘

The ldns team at NLnet Labs. genius behaviour, honestly. πŸ’…


πŸ™ˆ REPORTING BUGS πŸ™ˆ

Please report bugs to dns-team@nlnetlabs.nl or on GitHub at https://github.com/NLnetLabs/ldns/issues. found a bug? tell the girlies, they'll fix it. no cap. πŸ”₯


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 literally none, bestie. zero. don't come for them. 😭


🌈 SEE ALSO 🌈

ldns_dnssec_data_chain. And perldoc Net::DNS, RFC1034, RFC1035, RFC4033, RFC4034 and RFC4035. required reading, iykyk. πŸ“š


πŸ’œ REMARKS πŸ’œ

This manpage was automatically generated from the ldns source code. not me being a robot-written icon πŸ€–βœ¨


okay that's the whole page, mwah πŸ’‹

and finally, the cute sign-off: this vibe dropped on 30 May 2006, and it's page ldns(3) of the library functions manual. old but iconic, periodt. πŸŽ€πŸ’–