.TH axfr-get 8 .SH NAME axfr-get \- a DNS zone-transfer client. It sends a zone-transfer request in DNS-over-TCP format to descriptor 7, reads the results from descriptor 6, and saves the results in a file. .SH SYNOPSIS Normally .B axfr-get is run under .BR tcpclient (1), which sets up descriptors 6 and 7 as a TCP connection to a remote host. .B axfr-get .I z .I fn .I fn.tmp .SH DESCRIPTION .B axfr-get performs a zone transfer for domain .IR z . It writes the results to .I fn.tmp in a format that can be used as input to .BR tinydns-data (8). If the zone transfer completes successfully, .B axfr-get atomically renames .I fn.tmp as .IR fn . .I fn.tmp and .I fn must be on the same filesystem. .B axfr-get writes the zone serial number as a comment at the top of .IR fn.tmp . It skips the zone transfer, leaving .I fn alone, if .I fn already exists, .I fn has a serial number matching the zone serial number, and both serial numbers are nonzero. Zone transfers often include duplicate records. You should feed the .B axfr-get results through sort -u. .B axfr-get discards all records outside the domain .IR z . It accepts records in child zones, but it marks all child zones as non-authoritative, so .BR tinydns (8) will not report those records except as glue. If you plan to merge the .B axfr-get results for a domain and a child of the same domain, creating a file authoritative for both zones, make sure to eliminate records in the first output that are within the child zone. .B axfr-get will accept arbitrarily large zone transfers. To limit the maximum file size to 1 megabyte, run .B axfr-get under .BR softlimit \-f 1048576. .SH Compatibility notes .B axfr-get handles BIND's RFC-1034-violating multiple-answers zone-transfer format. .B axfr-get does not precisely simulate BIND's handling of .IR *.dom . Under BIND, records for .I *.dom do not apply to .I y.dom or .I anything.y.dom if there is a normal record for .IR x.y.dom . With .B axfr-get and .BR tinydns (8), the records apply to .I y.dom and .I anything.y.dom except .IR x.y.dom . .B axfr-get does not precisely simulate BIND's handling of multiple IP addresses for a single name. When there are more than 8 addresses, .BR tinydns (8) selects a random set of 8 for each query. .SH SEE ALSO axfrdns(8), tinydns(8), tinydns-data(8), tcpclient(1), softlimit(8) http://cr.yp.to/djbdns.html