robur-coop / udns

[deprecated, developmeht moved to https://github.com/mirage/ocaml-dns] µDNS - an opinionated Domain Name System (DNS) library
BSD 2-Clause "Simplified" License
55 stars 5 forks source link

incremental zone transfer #27

Closed hannesm closed 5 years ago

hannesm commented 5 years ago

RFC 1995 specifies incremental zone transfer: requestor sends a query with authority = their SOA. Server replies with either:

This implementation already condenses the difference lists to a single old_soa to_delete to_add (of type Name_rr_map.t), which is the "condensed" list.

Primary server answers (authenticated!) IXFR (over TCP only!), secondary attempts IXFR if there is already a SOA present for the zone (otherwise falls back to AXFR). If IXFR returns a Rcode (!= NotAuth - in which case the zone is dropped), AXFR is attempted instead.