#!/usr/local/bin/perl

# $Id: resolv_axfr.pl,v 1.2 92/11/13 04:11:59 marc Exp $

# unshift(@INC,"/afs/athena.mit.edu/user/m/a/marc/perl");

require 'resolv.pl';

if (($dom = shift(@ARGV)) eq "-d") {
    $debug = &RES_DEBUG;
    $dom = shift(@ARGV);
}

@ARGV && die "$0: syntax\n";

$ns = &res_open;
$q = &res_mkquery($dom,"NS","IN");
@ans = &res_send($ns,$q);
die "Error finding nameserver: $ans[3]\n" if $ans[3];

$domainsrv = (split(/ /,$ans[$ans[6]]))[4];

print "Using server $domainsrv for domain $dom\n\n";

$res'options |= &RES_USEVC | &RES_STAYOPEN | $debug;

$ns = &res_open($domainsrv);
$q = &res_mkquery($dom,"AXFR","IN");

@ans = &res_send($ns, $q);
die "Error in domain transfer: $ans[3]\n" if $ans[3];

print join("\n",@ans[$ans[6]..($ans[6]+$ans[7]+$ans[9]+$ans[11]-1)]),"\n";

@ans = &res_send($ns, "");
while($ans[5] == 0) {
    print join("\n",@ans[$ans[6]..($ans[6]+$ans[7]-1)]),"\n";
    @ans = &res_send($ns, "");
}
