ldns(3)

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

πŸ’– ldns(3) β€” the zone transfer girlies' manual πŸ’–

okay so bestie, welcome to ldns(3), from the Library Functions Manual ✨. This one's about AXFR β€” the full zone transfer β€” and the five little functions that run the whole show. Grab a strawberry drink πŸ“ and let's get into it, because honestly this is iconic.


🌈 NAME 🌈

ldns_axfr_start, ldns_axfr_next, ldns_axfr_abort, ldns_axfr_complete, ldns_axfr_last_pkt β€” functions for full zone transfer. that's the whole vibe. πŸ’…


✨ SYNOPSIS ✨

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

#include <ldns/ldns.h>

 ldns_axfr_start();

ldns_rr* ldns_axfr_next(ldns_resolver *resolver);

void ldns_axfr_abort(ldns_resolver *resolver);

bool ldns_axfr_complete(const ldns_resolver *resolver);

ldns_pkt* ldns_axfr_last_pkt(const ldns_resolver *res);

like, that's the cast of characters right there 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

ldns_axfr_start()

no notes, she's the opener. you gotta call her first. periodt.

ldns_axfr_next()

gets you the next stream of RRs in an AXFR, bestie. πŸŽ€

  • resolver: the resolver to use. First ldns_axfr_start() must be called β€” like, don't skip the intro, that's so not it.
  • Returns ldns_rr: the next RR from the AXFR stream.

so after you get this returned RR back (and it's not NULL β€” because NULL means error, crying 😭), then you check if ldns_axfr_complete() is true to see if the zone transfer has completed. that's the whole loop, girlie. that's the routine.

ldns_axfr_abort()

abort a transfer that is in progress. the dramatic exit. πŸ’€

  • resolver: the resolver that is used.

ldns_axfr_complete()

returns true if the axfr transfer has completed β€” and by that we mean 2 SOA RRs and no errors were encountered. the full clean sweep. ate. πŸ‘‘

  • resolver: the resolver that is used.
  • Returns bool: true if axfr transfer was completed without error.

ldns_axfr_last_pkt()

returns a pointer to the last ldns_pkt that was sent by the server in the AXFR transfer β€” usable for instance to get the error code on failure. so when things go sideways, this is the receipts. πŸ™ˆ

  • res: the resolver that was used in the axfr transfer.
  • Returns ldns_pkt: the last packet sent.

🌸 AUTHOR 🌸

The ldns team at NLnet Labs. legends, fr fr.


πŸ’œ REPORTING BUGS πŸ’œ

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

(not me asking you to file an issue, but like... do it. 🫢)


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.

ok that part is serious though. no warranty, none, not even the merchantability one or the fitness-for-a-particular-purpose one. don't come for them if it breaks, bestie, that's literally the deal. 😭

⭐ SEE ALSO ⭐

perldoc Net::DNS, RFC1034, RFC1035, RFC4033, RFC4034 and RFC4035.


🧚 REMARKS 🧚

This manpage was automatically generated from the ldns source code. so if the formatting's a little quirky, that's just how she was born. πŸ’…


and that's the whole page, babe 🌈 β€” written by the ldns(3) girlies, dated 30 May 2006, and yes we're still serving. mwah πŸ’‹