# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl test.pl'
######################### We start with some black magic to print on failure.
# Change 1..1 below to 1..last_test_to_print .
# (It may become useful if the test is moved to ./t subdirectory.)
BEGIN { $| = 1; print "1..98\n"; }
END {print "not ok 1\n" unless $loaded;}
#use strict;
#use diagnostics;
use Cwd;
use Net::DNS::Codes qw(:all);
use Net::DNS::ToolKit qw(
put16
newhead
gethead
get1char
);
use Net::DNS::ToolKit::Debug qw(
print_head
print_buf
);
use Net::DNS::ToolKit::RR;
use IPTables::IPv4::DBTarpit::Tools;
use Socket;
use CTest;
$IPTOOLS = 'IPTables::IPv4::DBTarpit::Tools';
$TCTEST = 'Mail::SpamCannibal::DNSBLserver::CTest';
$loaded = 1;
print "ok 1\n";
######################### End of black magic.
# Insert your test code below (better if it prints "ok 13"
# (correspondingly "not ok 13") depending on the success of chunk 13
# of the test code):
$test = 2;
umask 007;
foreach my $dir (qw(tmp tmp.dbhome tmp.bogus)) {
if (-d $dir) { # clean up previous test runs
opendir(T,$dir);
@_ = grep(!/^\./, readdir(T));
closedir T;
foreach(@_) {
unlink "$dir/$_";
}
rmdir $dir or die "COULD NOT REMOVE $dir DIRECTORY\n";
}
unlink $dir if -e $dir; # remove files of this name as well
}
sub ok {
my($todo) = @_;
$todo = ($todo) ? ' # TODO '. $todo : '';
print "ok ${test}$todo\n";
++$test;
}
my $localdir = cwd();
mkdir './tmp.dbhome',0755;
my $dbhome = $localdir.'/tmp.dbhome';
sub NOREAD {1};
# $istcp is a count of buffers to read
# $tcpmode is what to send to the "munge" routine
#
sub dialog {
my ($buff,$len,$noread,$istcp,$tcpmode) = @_;
socketpair(my $child, my $parent,AF_UNIX,SOCK_DGRAM,PF_UNSPEC);
local $SIG{ALRM} = sub {die "$0: timed out, read or write blocked\n"};
my $pid;
if($pid = fork) { # is parent
alarm 3;
close $child;
} else { # child
alarm 2;
close $parent;
my $fd = fileno($child);
if ($istcp) {
$tcpmode = 1 unless $tcpmode; # normal mode unless specified
} else {
$istcp = $tcpmode = 0;
}
my $rv = eval{&{"${TCTEST}::t_munge"}($fd,$buff,$len,$tcpmode)};
close $child;
alarm 0;
$rv = -1 if ! defined $rv || $rv < 0;
exit $rv;
}
my $resp;
my $size = 1000;
my $rv;
my @allresp;
do {
if ($istcp) {
$size = 2;
$rv = sysread($parent,$resp,$size) unless $noread;
die "$0: bad invalid response size $resp\n"
unless $noread || $rv == 2;
$size = unpack("n",$resp) unless $noread;
}
$rv = sysread($parent,$resp,$size) unless $noread;
push @allresp, $resp;
$istcp--;
} while ($istcp > 0);
close $parent;
waitpid($pid,0); # reap child
alarm 0;
return($rv,@allresp);
}
my $extra;
# input array @_ used in child process after } else {
sub getmaintxt {
$extra = '';
if (open(FROMCHILD, "-|")) {
while (my $record = <FROMCHILD>) {
$extra .= $record;
}
} else {
# program name is always argv[0]
unless (open STDERR, '>&STDOUT') {
print "can't dup STDERR to /dev/null: $!";
exit;
}
&{"${TCTEST}::t_main"}('CTest',@_);
exit;
}
close FROMCHILD;
}
sub expect {
my $x = shift;
my @exp;
foreach(split(/\n/,$x)) {
if ($_ =~ /0x\w+\s+(\d+) /) {
push @exp,$1;
}
}
return @exp;
}
sub chk_exp {
my($bp,$exp) = @_;
my $todo = '';
my @expect = expect($$exp);
foreach(0..length($$bp) -1) {
$char = get1char($bp,$_);
next if $char == $expect[$_];
print "buffer mismatch $_, got: $char, exp: $expect[$_]\nnot ";
$todo = 'fix test for marginal dn_comp resolver implementations';
last;
}
&ok($todo);
}
## test 2 check short buffer
my $buffer = '';
my $len = put16(\$buffer,0,0); # short buffer
# set isudp = 1 for these tests
$buffer="the quick brown fox\n";
my($rv,$response) = dialog($buffer,$len,NOREAD);
print "$@\nnot "
if $@;
&ok();
## test 3 check exit value is -1
# see description of $? for function syswrite in perlman
print "expected exit value of -1\nnot "
unless $? >> 8 == 255;
&ok();
## test 4 check QR = 1
$len = newhead(\$buffer,
12345, # id
QR, # Q response on
1,0,0,0, # one question
);
($rv,$response) = dialog($buffer,$len,NOREAD);
print "$@\nnot "
if $@;
&ok();
## test 5 check exit value is -1
# see description of $? for function syswrite in perlman
print "expected exit value of -1\nnot "
unless $? >> 8 == 255;
&ok();
####
## test 6 check QUERY only
$len = newhead(\$buffer,
12345,
BITS_IQUERY, # opcode
1,0,0,0, # one question
);
($rv,$response) = dialog($buffer,$len);
print "$@\nnot "
if $@;
&ok();
## test 7 check exit value positive
# see description of $? for function syswrite in perlman
$_ = $? >> 8;
print "expected exit value of 12, got: $_\nnot "
if $_ < 0;
&ok();
## test 8 check return length
print "got $rv, exp: $len\nnot "
unless $rv == $len;
&ok();
#print_head(\$response);
#print_buf(\$response,0,$len);
## test 9 check response code
my ($offset,
$id,$qr,$opcode,$aa,$tc,$rd,$ra,$mbz,$ad,$cd,$rcode,
$qdcount,$ancount,$nscount,$arcount)
= gethead(\$response);
print "got: ",RcodeTxt->{$rcode},", exp: NOTIMP\nnot "
unless $rcode == NOTIMP();
&ok();
####
## test 10 lie about number of questions, exp FORMERR
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
2,0,0,0, # two questions
);
($rv,$response) = dialog($buffer,$len);
print "$@\nnot "
if $@;
&ok();
## test 11 check exit value positive
# see description of $? for function syswrite in perlman
$_ = $? >> 8;
print "expected exit value of 12, got: $_\nnot "
if $_ < 0;
&ok();
## test 12 check return length
print "got $rv, exp: $len\nnot "
unless $rv == $len;
&ok();
#print_head(\$response);
#print_buf(\$response,0,$len);
## test 13 check response code
($offset,
$id,$qr,$opcode,$aa,$tc,$rd,$ra,$mbz,$ad,$cd,$rcode,
$qdcount,$ancount,$nscount,$arcount)
= gethead(\$response);
print "got: ",RcodeTxt->{$rcode},", exp: FORMERR\nnot "
unless $rcode == FORMERR();
&ok();
####
## test 14 fail to send real question
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
($rv,$response) = dialog($buffer,$len);
print "$@\nnot "
if $@;
&ok();
## test 15 check exit value positive
# see description of $? for function syswrite in perlman
$_ = $? >> 8;
print "expected exit value of 12, got: $_\nnot "
if $_ < 0;
&ok();
## test 16 check return length
print "got $rv, exp: $len\nnot "
unless $rv == $len;
&ok();
#print_head(\$response);
#print_buf(\$response,0,$len);
## test 17 check response code
($offset,
$id,$qr,$opcode,$aa,$tc,$rd,$ra,$mbz,$ad,$cd,$rcode,
$qdcount,$ancount,$nscount,$arcount)
= gethead(\$response);
print "got: ",RcodeTxt->{$rcode},", exp: FORMERR\nnot "
unless $rcode == FORMERR();
&ok();
####
## test 18 check for short question
my ($get,$put) = new Net::DNS::ToolKit::RR(C_IN);
$len = $put->Question(\$buffer,$len,'foo.bar.com',T_A,C_IN);
$len--; # lie about length;
($rv,$response) = dialog($buffer,$len);
print "$@\nnot "
if $@;
&ok();
## test 19 check exit value positive
# see description of $? for function syswrite in perlman
$_ = $? >> 8;
print "expected exit value of 28, got: $_\nnot "
if $_ < 0;
&ok();
## test 20 check return length
print "got $rv, exp: $len\nnot "
unless $rv == $len;
&ok();
#print_head(\$response);
#print_buf(\$response,0,$len);
## test 21 check for short question
($offset,
$id,$qr,$opcode,$aa,$tc,$rd,$ra,$mbz,$ad,$cd,$rcode,
$qdcount,$ancount,$nscount,$arcount)
= gethead(\$response);
print "got: ",RcodeTxt->{$rcode},", exp: FORMERR\nnot "
unless $rcode == FORMERR();
&ok();
####
## test 22 check for bad class != C_IN
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'foo.bar.com',T_A,C_HS);
($rv,$response) = dialog($buffer,$len);
print "$@\nnot "
if $@;
&ok();
## test 23 check exit value positive
# see description of $? for function syswrite in perlman
$_ = $? >> 8;
print "expected exit value of 29, got: $_\nnot "
if $_ < 0;
&ok();
## test 24 check return length
print "got $rv, exp: $len\nnot "
unless $rv == $len;
&ok();
#print_head(\$response);
#print_buf(\$response,0,$len);
## test 25 check response code
($offset,
$id,$qr,$opcode,$aa,$tc,$rd,$ra,$mbz,$ad,$cd,$rcode,
$qdcount,$ancount,$nscount,$arcount)
= gethead(\$response);
print "got: ",RcodeTxt->{$rcode},", exp: REFUSED\nnot "
unless $rcode == REFUSED();
&ok();
####
## test 26 set zone name
my $zonename = 'foo.bar.com';
print "failed to set zone name\nnot "
unless &{"${TCTEST}::t_cmdline"}('z',$zonename);
&ok();
## test 27 question name shorter than zone name
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'bar.com',T_A,C_IN);
($rv,$response) = dialog($buffer,$len);
print "$@\nnot "
if $@;
&ok();
## test 28 check exit value positive
# see description of $? for function syswrite in perlman
$_ = $? >> 8;
print "expected exit value of 25, got: $_\nnot "
if $_ < 0;
&ok();
## test 29 check return length
print "got $rv, exp: $len\nnot "
unless $rv == $len;
&ok();
#print_head(\$response);
#print_buf(\$response,0,$len);
## test 30 check response code
($offset,
$id,$qr,$opcode,$aa,$tc,$rd,$ra,$mbz,$ad,$cd,$rcode,
$qdcount,$ancount,$nscount,$arcount)
= gethead(\$response);
print "got: ",RcodeTxt->{$rcode},", exp: NXDOMAIN\nnot "
unless $rcode == NXDOMAIN();
&ok();
## test 31 question name does not end in zone name
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'foo.bar.net',T_A,C_IN);
($rv,$response) = dialog($buffer,$len);
print "$@\nnot "
if $@;
&ok();
#### lets dispense with the extra checks, they clearly work or failures would already have occured
## test 32 check response code
($offset,
$id,$qr,$opcode,$aa,$tc,$rd,$ra,$mbz,$ad,$cd,$rcode,
$qdcount,$ancount,$nscount,$arcount)
= gethead(\$response);
print "got: ",RcodeTxt->{$rcode},", exp: NXDOMAIN\nnot "
unless $rcode == NXDOMAIN();
&ok();
## test 33 question name does not end in '.'zone name
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'xfoo.bar.com',T_A,C_IN);
($rv,$response) = dialog($buffer,$len);
print "$@\nnot "
if $@;
&ok();
## test 34 check response code
($offset,
$id,$qr,$opcode,$aa,$tc,$rd,$ra,$mbz,$ad,$cd,$rcode,
$qdcount,$ancount,$nscount,$arcount)
= gethead(\$response);
print "got: ",RcodeTxt->{$rcode},", exp: NXDOMAIN\nnot "
unless $rcode == NXDOMAIN();
&ok();
######################################################################
# at this point, all failure modes are checked, test normal responses
######################################################################
#
# load new zone, NS, and MX info
$zonename = 'bar.com';
my $localip = '192.168.99.100';
my $ns1 = 'ns1.xyz.com';
my $ns2 = 'ns2.bar.com';
my $ns1IP = '12.34.56.78';
my $ns2IP = '76.54.32.10';
my $mx1 = 'bar.com';
my $mx2 = 'mx.bar.com';
my $mx1p = 50;
my $mx2p = 10;
my $mx1IP = '1.2.3.4';
my $mx2IP = '101.202.103.44';
## test 35
print "failed to set ns1 name\nnot "
unless &{"${TCTEST}::t_cmdline"}('n',$ns1);
&ok();
## test 36
print "failed to set ns1 IP\nnot "
unless &{"${TCTEST}::t_cmdline"}('a',$ns1IP);
&ok();
## test 37
print "failed to set ns2 name\nnot "
unless &{"${TCTEST}::t_cmdline"}('n',$ns2);
&ok();
## test 38
print "failed to set ns2 IP\nnot "
unless &{"${TCTEST}::t_cmdline"}('a',$ns2IP);
&ok();
## test 39
print "failed to set mx1 name\nnot "
unless &{"${TCTEST}::t_cmdline"}('n',$mx1);
&ok();
## test 40
print "failed to set mx1 priority\nnot "
unless &{"${TCTEST}::t_cmdline"}('m',$mx1p);
&ok();
## test 41
print "failed to set mx1 IP\nnot "
unless &{"${TCTEST}::t_cmdline"}('a',$mx1IP);
&ok();
## test 42
print "failed to set mx2 name\nnot "
unless &{"${TCTEST}::t_cmdline"}('n',$mx2);
&ok();
## test 43
print "failed to set mx2 IP\nnot "
unless &{"${TCTEST}::t_cmdline"}('a',$mx2IP);
&ok();
## test 44
print "failed to set mx2 priority\nnot "
unless &{"${TCTEST}::t_cmdline"}('m',$mx2p);
&ok();
## test 45 set zone_name
print "failed to set local name\nnot "
unless &{"${TCTEST}::t_cmdline"}('z',$zonename);
&ok();
## test 46 set local_name = zone_name
print "failed to set local name\nnot "
unless &{"${TCTEST}::t_cmdline"}('L',$zonename);
&ok();
## test 47 set local ip address
print "failed to set local IPaddr\nnot "
unless &{"${TCTEST}::t_cmdline"}('I',$localip);
&ok();
## test 48 set contact name
print "failed to set contact name\nnot "
unless &{"${TCTEST}::t_cmdline"}('c','human.'.$zonename);
&ok();
## test 49 set response IP addrs
my $zero = '127.0.0.0';
my $stdR = '127.0.0.2';
my $stdB = '127.0.0.3';
print "failed to set standard response codes\nnot "
unless &{"${TCTEST}::t_set_resp"}($zero,$stdR,$stdB);
&ok();
## test 50 set the serial number for this response
my $ipt = $IPTOOLS->new(
dbfile => 'tarpit',
dbhome => $dbhome,
txtfile => 'rblcontrib',
);
print "failed to set serial number in database\nnot "
if $ipt->put('tarpit',inet_aton($zero),123454321);
&ok();
#############################################################
### WARNING db handle held open until end of file
#############################################################
## test 51 set up the database
my $dbprimary = 'tarpit';
my $dbsecondary = 'rblcontrib';
print "failed to init databases\nnot "
if &{"${TCTEST}::t_init"}($dbhome,$dbprimary,$dbsecondary);
&ok();
############ setup complete
## test 52 check domain SOA
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'bar.com',T_SOA,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
my $exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0001 0x01 1
8 : 0000_0000 0x00 0
9 : 0000_0010 0x02 2
10 : 0000_0000 0x00 0
11 : 0000_0010 0x02 2
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 0000_0110 0x06 6
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
25 : 1100_0000 0xC0 192
26 : 0000_1100 0x0C 12
27 : 0000_0000 0x00 0
28 : 0000_0110 0x06 6
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0000 0x00 0
33 : 0000_0000 0x00 0
34 : 0000_0000 0x00 0
35 : 0000_0000 0x00 0
36 : 0001_1110 0x1E 30
37 : 1100_0000 0xC0 192
38 : 0000_1100 0x0C 12
39 : 0000_0101 0x05 5
40 : 0110_1000 0x68 104 h
41 : 0111_0101 0x75 117 u
42 : 0110_1101 0x6D 109 m
43 : 0110_0001 0x61 97 a
44 : 0110_1110 0x6E 110 n
45 : 1100_0000 0xC0 192
46 : 0000_1100 0x0C 12
47 : 0000_0111 0x07 7
48 : 0101_1011 0x5B 91 [
49 : 1100_0011 0xC3 195
50 : 0111_0001 0x71 113 q
51 : 0000_0000 0x00 0
52 : 0000_0000 0x00 0
53 : 1010_1000 0xA8 168
54 : 1100_0000 0xC0 192
55 : 0000_0000 0x00 0
56 : 0000_0000 0x00 0
57 : 0000_1110 0x0E 14
58 : 0001_0000 0x10 16
59 : 0000_0000 0x00 0
60 : 0000_0001 0x01 1
61 : 0101_0001 0x51 81 Q
62 : 1000_0000 0x80 128
63 : 0000_0000 0x00 0
64 : 0000_0000 0x00 0
65 : 0010_1010 0x2A 42 *
66 : 0011_0000 0x30 48 0
67 : 1100_0000 0xC0 192
68 : 0000_1100 0x0C 12
69 : 0000_0000 0x00 0
70 : 0000_0010 0x02 2
71 : 0000_0000 0x00 0
72 : 0000_0001 0x01 1
73 : 0000_0000 0x00 0
74 : 0000_0000 0x00 0
75 : 0010_1010 0x2A 42 *
76 : 0011_0000 0x30 48 0
77 : 0000_0000 0x00 0
78 : 0000_1010 0x0A 10
79 : 0000_0011 0x03 3
80 : 0110_1110 0x6E 110 n
81 : 0111_0011 0x73 115 s
82 : 0011_0001 0x31 49 1
83 : 0000_0011 0x03 3
84 : 0111_1000 0x78 120 x
85 : 0111_1001 0x79 121 y
86 : 0111_1010 0x7A 122 z
87 : 1100_0000 0xC0 192
88 : 0001_0000 0x10 16
89 : 1100_0000 0xC0 192
90 : 0000_1100 0x0C 12
91 : 0000_0000 0x00 0
92 : 0000_0010 0x02 2
93 : 0000_0000 0x00 0
94 : 0000_0001 0x01 1
95 : 0000_0000 0x00 0
96 : 0000_0000 0x00 0
97 : 0010_1010 0x2A 42 *
98 : 0011_0000 0x30 48 0
99 : 0000_0000 0x00 0
100 : 0000_0110 0x06 6
101 : 0000_0011 0x03 3
102 : 0110_1110 0x6E 110 n
103 : 0111_0011 0x73 115 s
104 : 0011_0010 0x32 50 2
105 : 1100_0000 0xC0 192
106 : 0000_1100 0x0C 12
107 : 1100_0000 0xC0 192
108 : 0100_1111 0x4F 79 O
109 : 0000_0000 0x00 0
110 : 0000_0001 0x01 1
111 : 0000_0000 0x00 0
112 : 0000_0001 0x01 1
113 : 0000_0000 0x00 0
114 : 0000_0000 0x00 0
115 : 0010_1010 0x2A 42 *
116 : 0011_0000 0x30 48 0
117 : 0000_0000 0x00 0
118 : 0000_0100 0x04 4
119 : 0000_1100 0x0C 12
120 : 0010_0010 0x22 34 "
121 : 0011_1000 0x38 56 8
122 : 0100_1110 0x4E 78 N
123 : 1100_0000 0xC0 192
124 : 0110_0101 0x65 101 e
125 : 0000_0000 0x00 0
126 : 0000_0001 0x01 1
127 : 0000_0000 0x00 0
128 : 0000_0001 0x01 1
129 : 0000_0000 0x00 0
130 : 0000_0000 0x00 0
131 : 0010_1010 0x2A 42 *
132 : 0011_0000 0x30 48 0
133 : 0000_0000 0x00 0
134 : 0000_0100 0x04 4
135 : 0100_1100 0x4C 76 L
136 : 0011_0110 0x36 54 6
137 : 0010_0000 0x20 32
138 : 0000_1010 0x0A 10
|;
chk_exp(\$response,\$exptext);
## test 53 check domain A
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'bar.com',T_A,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0001 0x01 1
8 : 0000_0000 0x00 0
9 : 0000_0010 0x02 2
10 : 0000_0000 0x00 0
11 : 0000_0010 0x02 2
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 0000_0001 0x01 1
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
25 : 1100_0000 0xC0 192
26 : 0000_1100 0x0C 12
27 : 0000_0000 0x00 0
28 : 0000_0001 0x01 1
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0000 0x00 0
33 : 0010_1010 0x2A 42 *
34 : 0011_0000 0x30 48 0
35 : 0000_0000 0x00 0
36 : 0000_0100 0x04 4
37 : 1100_0000 0xC0 192
38 : 1010_1000 0xA8 168
39 : 0110_0011 0x63 99 c
40 : 0110_0100 0x64 100 d
41 : 1100_0000 0xC0 192
42 : 0000_1100 0x0C 12
43 : 0000_0000 0x00 0
44 : 0000_0010 0x02 2
45 : 0000_0000 0x00 0
46 : 0000_0001 0x01 1
47 : 0000_0000 0x00 0
48 : 0000_0000 0x00 0
49 : 0010_1010 0x2A 42 *
50 : 0011_0000 0x30 48 0
51 : 0000_0000 0x00 0
52 : 0000_1010 0x0A 10
53 : 0000_0011 0x03 3
54 : 0110_1110 0x6E 110 n
55 : 0111_0011 0x73 115 s
56 : 0011_0001 0x31 49 1
57 : 0000_0011 0x03 3
58 : 0111_1000 0x78 120 x
59 : 0111_1001 0x79 121 y
60 : 0111_1010 0x7A 122 z
61 : 1100_0000 0xC0 192
62 : 0001_0000 0x10 16
63 : 1100_0000 0xC0 192
64 : 0000_1100 0x0C 12
65 : 0000_0000 0x00 0
66 : 0000_0010 0x02 2
67 : 0000_0000 0x00 0
68 : 0000_0001 0x01 1
69 : 0000_0000 0x00 0
70 : 0000_0000 0x00 0
71 : 0010_1010 0x2A 42 *
72 : 0011_0000 0x30 48 0
73 : 0000_0000 0x00 0
74 : 0000_0110 0x06 6
75 : 0000_0011 0x03 3
76 : 0110_1110 0x6E 110 n
77 : 0111_0011 0x73 115 s
78 : 0011_0010 0x32 50 2
79 : 1100_0000 0xC0 192
80 : 0000_1100 0x0C 12
81 : 1100_0000 0xC0 192
82 : 0011_0101 0x35 53 5
83 : 0000_0000 0x00 0
84 : 0000_0001 0x01 1
85 : 0000_0000 0x00 0
86 : 0000_0001 0x01 1
87 : 0000_0000 0x00 0
88 : 0000_0000 0x00 0
89 : 0010_1010 0x2A 42 *
90 : 0011_0000 0x30 48 0
91 : 0000_0000 0x00 0
92 : 0000_0100 0x04 4
93 : 0000_1100 0x0C 12
94 : 0010_0010 0x22 34 "
95 : 0011_1000 0x38 56 8
96 : 0100_1110 0x4E 78 N
97 : 1100_0000 0xC0 192
98 : 0100_1011 0x4B 75 K
99 : 0000_0000 0x00 0
100 : 0000_0001 0x01 1
101 : 0000_0000 0x00 0
102 : 0000_0001 0x01 1
103 : 0000_0000 0x00 0
104 : 0000_0000 0x00 0
105 : 0010_1010 0x2A 42 *
106 : 0011_0000 0x30 48 0
107 : 0000_0000 0x00 0
108 : 0000_0100 0x04 4
109 : 0100_1100 0x4C 76 L
110 : 0011_0110 0x36 54 6
111 : 0010_0000 0x20 32
112 : 0000_1010 0x0A 10
|;
chk_exp(\$response,\$exptext);
## test 54 set up additional nameserver pointing to local ip, zonename
print "failed to set ns3 name to zonename\nnot "
unless &{"${TCTEST}::t_cmdline"}('n',$zonename);
&ok();
## test 55
print "failed to set ns3 IP to localip\nnot "
unless &{"${TCTEST}::t_cmdline"}('a',$localip);
&ok();
## test 56 check domain A with domain added as ns server
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'bar.com',T_A,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0001 0x01 1
8 : 0000_0000 0x00 0
9 : 0000_0011 0x03 3
10 : 0000_0000 0x00 0
11 : 0000_0010 0x02 2
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 0000_0001 0x01 1
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
25 : 1100_0000 0xC0 192
26 : 0000_1100 0x0C 12
27 : 0000_0000 0x00 0
28 : 0000_0001 0x01 1
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0000 0x00 0
33 : 0010_1010 0x2A 42 *
34 : 0011_0000 0x30 48 0
35 : 0000_0000 0x00 0
36 : 0000_0100 0x04 4
37 : 1100_0000 0xC0 192
38 : 1010_1000 0xA8 168
39 : 0110_0011 0x63 99 c
40 : 0110_0100 0x64 100 d
41 : 1100_0000 0xC0 192
42 : 0000_1100 0x0C 12
43 : 0000_0000 0x00 0
44 : 0000_0010 0x02 2
45 : 0000_0000 0x00 0
46 : 0000_0001 0x01 1
47 : 0000_0000 0x00 0
48 : 0000_0000 0x00 0
49 : 0010_1010 0x2A 42 *
50 : 0011_0000 0x30 48 0
51 : 0000_0000 0x00 0
52 : 0000_1010 0x0A 10
53 : 0000_0011 0x03 3
54 : 0110_1110 0x6E 110 n
55 : 0111_0011 0x73 115 s
56 : 0011_0001 0x31 49 1
57 : 0000_0011 0x03 3
58 : 0111_1000 0x78 120 x
59 : 0111_1001 0x79 121 y
60 : 0111_1010 0x7A 122 z
61 : 1100_0000 0xC0 192
62 : 0001_0000 0x10 16
63 : 1100_0000 0xC0 192
64 : 0000_1100 0x0C 12
65 : 0000_0000 0x00 0
66 : 0000_0010 0x02 2
67 : 0000_0000 0x00 0
68 : 0000_0001 0x01 1
69 : 0000_0000 0x00 0
70 : 0000_0000 0x00 0
71 : 0010_1010 0x2A 42 *
72 : 0011_0000 0x30 48 0
73 : 0000_0000 0x00 0
74 : 0000_0110 0x06 6
75 : 0000_0011 0x03 3
76 : 0110_1110 0x6E 110 n
77 : 0111_0011 0x73 115 s
78 : 0011_0010 0x32 50 2
79 : 1100_0000 0xC0 192
80 : 0000_1100 0x0C 12
81 : 1100_0000 0xC0 192
82 : 0000_1100 0x0C 12
83 : 0000_0000 0x00 0
84 : 0000_0010 0x02 2
85 : 0000_0000 0x00 0
86 : 0000_0001 0x01 1
87 : 0000_0000 0x00 0
88 : 0000_0000 0x00 0
89 : 0010_1010 0x2A 42 *
90 : 0011_0000 0x30 48 0
91 : 0000_0000 0x00 0
92 : 0000_0010 0x02 2
93 : 1100_0000 0xC0 192
94 : 0000_1100 0x0C 12
95 : 1100_0000 0xC0 192
96 : 0011_0101 0x35 53 5
97 : 0000_0000 0x00 0
98 : 0000_0001 0x01 1
99 : 0000_0000 0x00 0
100 : 0000_0001 0x01 1
101 : 0000_0000 0x00 0
102 : 0000_0000 0x00 0
103 : 0010_1010 0x2A 42 *
104 : 0011_0000 0x30 48 0
105 : 0000_0000 0x00 0
106 : 0000_0100 0x04 4
107 : 0000_1100 0x0C 12
108 : 0010_0010 0x22 34 "
109 : 0011_1000 0x38 56 8
110 : 0100_1110 0x4E 78 N
111 : 1100_0000 0xC0 192
112 : 0100_1011 0x4B 75 K
113 : 0000_0000 0x00 0
114 : 0000_0001 0x01 1
115 : 0000_0000 0x00 0
116 : 0000_0001 0x01 1
117 : 0000_0000 0x00 0
118 : 0000_0000 0x00 0
119 : 0010_1010 0x2A 42 *
120 : 0011_0000 0x30 48 0
121 : 0000_0000 0x00 0
122 : 0000_0100 0x04 4
123 : 0100_1100 0x4C 76 L
124 : 0011_0110 0x36 54 6
125 : 0010_0000 0x20 32
126 : 0000_1010 0x0A 10
|;
chk_exp(\$response,\$exptext);
## test 57 set local_name = something new
print "failed to set local name\nnot "
unless &{"${TCTEST}::t_cmdline"}('L','localhost.'.$zonename);
&ok();
## test 58 check domain A with local name != zone name
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'bar.com',T_A,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0000 0x00 0
8 : 0000_0000 0x00 0
9 : 0000_0001 0x01 1
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 0000_0001 0x01 1
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
25 : 1100_0000 0xC0 192
26 : 0000_1100 0x0C 12
27 : 0000_0000 0x00 0
28 : 0000_0110 0x06 6
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0000 0x00 0
33 : 0000_0000 0x00 0
34 : 0000_0000 0x00 0
35 : 0000_0000 0x00 0
36 : 0010_1000 0x28 40 (
37 : 0000_1001 0x09 9
38 : 0110_1100 0x6C 108 l
39 : 0110_1111 0x6F 111 o
40 : 0110_0011 0x63 99 c
41 : 0110_0001 0x61 97 a
42 : 0110_1100 0x6C 108 l
43 : 0110_1000 0x68 104 h
44 : 0110_1111 0x6F 111 o
45 : 0111_0011 0x73 115 s
46 : 0111_0100 0x74 116 t
47 : 1100_0000 0xC0 192
48 : 0000_1100 0x0C 12
49 : 0000_0101 0x05 5
50 : 0110_1000 0x68 104 h
51 : 0111_0101 0x75 117 u
52 : 0110_1101 0x6D 109 m
53 : 0110_0001 0x61 97 a
54 : 0110_1110 0x6E 110 n
55 : 1100_0000 0xC0 192
56 : 0000_1100 0x0C 12
57 : 0000_0111 0x07 7
58 : 0101_1011 0x5B 91 [
59 : 1100_0011 0xC3 195
60 : 0111_0001 0x71 113 q
61 : 0000_0000 0x00 0
62 : 0000_0000 0x00 0
63 : 1010_1000 0xA8 168
64 : 1100_0000 0xC0 192
65 : 0000_0000 0x00 0
66 : 0000_0000 0x00 0
67 : 0000_1110 0x0E 14
68 : 0001_0000 0x10 16
69 : 0000_0000 0x00 0
70 : 0000_0001 0x01 1
71 : 0101_0001 0x51 81 Q
72 : 1000_0000 0x80 128
73 : 0000_0000 0x00 0
74 : 0000_0000 0x00 0
75 : 0010_1010 0x2A 42 *
76 : 0011_0000 0x30 48 0
|;
chk_exp(\$response,\$exptext);
## test 59 check domain NS records
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'bar.com',T_NS,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0011 0x03 3
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0011 0x03 3
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 0000_0010 0x02 2
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
25 : 1100_0000 0xC0 192
26 : 0000_1100 0x0C 12
27 : 0000_0000 0x00 0
28 : 0000_0010 0x02 2
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0000 0x00 0
33 : 0010_1010 0x2A 42 *
34 : 0011_0000 0x30 48 0
35 : 0000_0000 0x00 0
36 : 0000_1010 0x0A 10
37 : 0000_0011 0x03 3
38 : 0110_1110 0x6E 110 n
39 : 0111_0011 0x73 115 s
40 : 0011_0001 0x31 49 1
41 : 0000_0011 0x03 3
42 : 0111_1000 0x78 120 x
43 : 0111_1001 0x79 121 y
44 : 0111_1010 0x7A 122 z
45 : 1100_0000 0xC0 192
46 : 0001_0000 0x10 16
47 : 1100_0000 0xC0 192
48 : 0000_1100 0x0C 12
49 : 0000_0000 0x00 0
50 : 0000_0010 0x02 2
51 : 0000_0000 0x00 0
52 : 0000_0001 0x01 1
53 : 0000_0000 0x00 0
54 : 0000_0000 0x00 0
55 : 0010_1010 0x2A 42 *
56 : 0011_0000 0x30 48 0
57 : 0000_0000 0x00 0
58 : 0000_0110 0x06 6
59 : 0000_0011 0x03 3
60 : 0110_1110 0x6E 110 n
61 : 0111_0011 0x73 115 s
62 : 0011_0010 0x32 50 2
63 : 1100_0000 0xC0 192
64 : 0000_1100 0x0C 12
65 : 1100_0000 0xC0 192
66 : 0000_1100 0x0C 12
67 : 0000_0000 0x00 0
68 : 0000_0010 0x02 2
69 : 0000_0000 0x00 0
70 : 0000_0001 0x01 1
71 : 0000_0000 0x00 0
72 : 0000_0000 0x00 0
73 : 0010_1010 0x2A 42 *
74 : 0011_0000 0x30 48 0
75 : 0000_0000 0x00 0
76 : 0000_0010 0x02 2
77 : 1100_0000 0xC0 192
78 : 0000_1100 0x0C 12
79 : 1100_0000 0xC0 192
80 : 0010_0101 0x25 37 %
81 : 0000_0000 0x00 0
82 : 0000_0001 0x01 1
83 : 0000_0000 0x00 0
84 : 0000_0001 0x01 1
85 : 0000_0000 0x00 0
86 : 0000_0000 0x00 0
87 : 0010_1010 0x2A 42 *
88 : 0011_0000 0x30 48 0
89 : 0000_0000 0x00 0
90 : 0000_0100 0x04 4
91 : 0000_1100 0x0C 12
92 : 0010_0010 0x22 34 "
93 : 0011_1000 0x38 56 8
94 : 0100_1110 0x4E 78 N
95 : 1100_0000 0xC0 192
96 : 0011_1011 0x3B 59 ;
97 : 0000_0000 0x00 0
98 : 0000_0001 0x01 1
99 : 0000_0000 0x00 0
100 : 0000_0001 0x01 1
101 : 0000_0000 0x00 0
102 : 0000_0000 0x00 0
103 : 0010_1010 0x2A 42 *
104 : 0011_0000 0x30 48 0
105 : 0000_0000 0x00 0
106 : 0000_0100 0x04 4
107 : 0100_1100 0x4C 76 L
108 : 0011_0110 0x36 54 6
109 : 0010_0000 0x20 32
110 : 0000_1010 0x0A 10
111 : 1100_0000 0xC0 192
112 : 0000_1100 0x0C 12
113 : 0000_0000 0x00 0
114 : 0000_0001 0x01 1
115 : 0000_0000 0x00 0
116 : 0000_0001 0x01 1
117 : 0000_0000 0x00 0
118 : 0000_0000 0x00 0
119 : 0010_1010 0x2A 42 *
120 : 0011_0000 0x30 48 0
121 : 0000_0000 0x00 0
122 : 0000_0100 0x04 4
123 : 1100_0000 0xC0 192
124 : 1010_1000 0xA8 168
125 : 0110_0011 0x63 99 c
126 : 0110_0100 0x64 100 d
|;
chk_exp(\$response,\$exptext);
## test 60 check domain MX records
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'bar.com',T_MX,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0010 0x02 2
8 : 0000_0000 0x00 0
9 : 0000_0011 0x03 3
10 : 0000_0000 0x00 0
11 : 0000_0101 0x05 5
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 0000_1111 0x0F 15
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
25 : 1100_0000 0xC0 192
26 : 0000_1100 0x0C 12
27 : 0000_0000 0x00 0
28 : 0000_1111 0x0F 15
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0000 0x00 0
33 : 0010_1010 0x2A 42 *
34 : 0011_0000 0x30 48 0
35 : 0000_0000 0x00 0
36 : 0000_0100 0x04 4
37 : 0000_0000 0x00 0
38 : 0011_0010 0x32 50 2
39 : 1100_0000 0xC0 192
40 : 0000_1100 0x0C 12
41 : 1100_0000 0xC0 192
42 : 0000_1100 0x0C 12
43 : 0000_0000 0x00 0
44 : 0000_1111 0x0F 15
45 : 0000_0000 0x00 0
46 : 0000_0001 0x01 1
47 : 0000_0000 0x00 0
48 : 0000_0000 0x00 0
49 : 0010_1010 0x2A 42 *
50 : 0011_0000 0x30 48 0
51 : 0000_0000 0x00 0
52 : 0000_0111 0x07 7
53 : 0000_0000 0x00 0
54 : 0000_1010 0x0A 10
55 : 0000_0010 0x02 2
56 : 0110_1101 0x6D 109 m
57 : 0111_1000 0x78 120 x
58 : 1100_0000 0xC0 192
59 : 0000_1100 0x0C 12
60 : 1100_0000 0xC0 192
61 : 0000_1100 0x0C 12
62 : 0000_0000 0x00 0
63 : 0000_0010 0x02 2
64 : 0000_0000 0x00 0
65 : 0000_0001 0x01 1
66 : 0000_0000 0x00 0
67 : 0000_0000 0x00 0
68 : 0010_1010 0x2A 42 *
69 : 0011_0000 0x30 48 0
70 : 0000_0000 0x00 0
71 : 0000_1010 0x0A 10
72 : 0000_0011 0x03 3
73 : 0110_1110 0x6E 110 n
74 : 0111_0011 0x73 115 s
75 : 0011_0001 0x31 49 1
76 : 0000_0011 0x03 3
77 : 0111_1000 0x78 120 x
78 : 0111_1001 0x79 121 y
79 : 0111_1010 0x7A 122 z
80 : 1100_0000 0xC0 192
81 : 0001_0000 0x10 16
82 : 1100_0000 0xC0 192
83 : 0000_1100 0x0C 12
84 : 0000_0000 0x00 0
85 : 0000_0010 0x02 2
86 : 0000_0000 0x00 0
87 : 0000_0001 0x01 1
88 : 0000_0000 0x00 0
89 : 0000_0000 0x00 0
90 : 0010_1010 0x2A 42 *
91 : 0011_0000 0x30 48 0
92 : 0000_0000 0x00 0
93 : 0000_0110 0x06 6
94 : 0000_0011 0x03 3
95 : 0110_1110 0x6E 110 n
96 : 0111_0011 0x73 115 s
97 : 0011_0010 0x32 50 2
98 : 1100_0000 0xC0 192
99 : 0000_1100 0x0C 12
100 : 1100_0000 0xC0 192
101 : 0000_1100 0x0C 12
102 : 0000_0000 0x00 0
103 : 0000_0010 0x02 2
104 : 0000_0000 0x00 0
105 : 0000_0001 0x01 1
106 : 0000_0000 0x00 0
107 : 0000_0000 0x00 0
108 : 0010_1010 0x2A 42 *
109 : 0011_0000 0x30 48 0
110 : 0000_0000 0x00 0
111 : 0000_0010 0x02 2
112 : 1100_0000 0xC0 192
113 : 0000_1100 0x0C 12
114 : 1100_0000 0xC0 192
115 : 0100_1000 0x48 72 H
116 : 0000_0000 0x00 0
117 : 0000_0001 0x01 1
118 : 0000_0000 0x00 0
119 : 0000_0001 0x01 1
120 : 0000_0000 0x00 0
121 : 0000_0000 0x00 0
122 : 0010_1010 0x2A 42 *
123 : 0011_0000 0x30 48 0
124 : 0000_0000 0x00 0
125 : 0000_0100 0x04 4
126 : 0000_1100 0x0C 12
127 : 0010_0010 0x22 34 "
128 : 0011_1000 0x38 56 8
129 : 0100_1110 0x4E 78 N
130 : 1100_0000 0xC0 192
131 : 0101_1110 0x5E 94 ^
132 : 0000_0000 0x00 0
133 : 0000_0001 0x01 1
134 : 0000_0000 0x00 0
135 : 0000_0001 0x01 1
136 : 0000_0000 0x00 0
137 : 0000_0000 0x00 0
138 : 0010_1010 0x2A 42 *
139 : 0011_0000 0x30 48 0
140 : 0000_0000 0x00 0
141 : 0000_0100 0x04 4
142 : 0100_1100 0x4C 76 L
143 : 0011_0110 0x36 54 6
144 : 0010_0000 0x20 32
145 : 0000_1010 0x0A 10
146 : 1100_0000 0xC0 192
147 : 0000_1100 0x0C 12
148 : 0000_0000 0x00 0
149 : 0000_0001 0x01 1
150 : 0000_0000 0x00 0
151 : 0000_0001 0x01 1
152 : 0000_0000 0x00 0
153 : 0000_0000 0x00 0
154 : 0010_1010 0x2A 42 *
155 : 0011_0000 0x30 48 0
156 : 0000_0000 0x00 0
157 : 0000_0100 0x04 4
158 : 0000_0001 0x01 1
159 : 0000_0010 0x02 2
160 : 0000_0011 0x03 3
161 : 0000_0100 0x04 4
162 : 1100_0000 0xC0 192
163 : 0011_0111 0x37 55 7
164 : 0000_0000 0x00 0
165 : 0000_0001 0x01 1
166 : 0000_0000 0x00 0
167 : 0000_0001 0x01 1
168 : 0000_0000 0x00 0
169 : 0000_0000 0x00 0
170 : 0010_1010 0x2A 42 *
171 : 0011_0000 0x30 48 0
172 : 0000_0000 0x00 0
173 : 0000_0100 0x04 4
174 : 0110_0101 0x65 101 e
175 : 1100_1010 0xCA 202
176 : 0110_0111 0x67 103 g
177 : 0010_1100 0x2C 44 ,
178 : 1100_0000 0xC0 192
179 : 0000_1100 0x0C 12
180 : 0000_0000 0x00 0
181 : 0000_0001 0x01 1
182 : 0000_0000 0x00 0
183 : 0000_0001 0x01 1
184 : 0000_0000 0x00 0
185 : 0000_0000 0x00 0
186 : 0010_1010 0x2A 42 *
187 : 0011_0000 0x30 48 0
188 : 0000_0000 0x00 0
189 : 0000_0100 0x04 4
190 : 1100_0000 0xC0 192
191 : 1010_1000 0xA8 168
192 : 0110_0011 0x63 99 c
193 : 0110_0100 0x64 100 d
|;
chk_exp(\$response,\$exptext);
## test 61 check domain ANY records
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'bar.com',T_ANY,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0110 0x06 6
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0101 0x05 5
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 1111_1111 0xFF 255
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
25 : 1100_0000 0xC0 192
26 : 0000_1100 0x0C 12
27 : 0000_0000 0x00 0
28 : 0000_0110 0x06 6
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0000 0x00 0
33 : 0000_0000 0x00 0
34 : 0000_0000 0x00 0
35 : 0000_0000 0x00 0
36 : 0010_1000 0x28 40 (
37 : 0000_1001 0x09 9
38 : 0110_1100 0x6C 108 l
39 : 0110_1111 0x6F 111 o
40 : 0110_0011 0x63 99 c
41 : 0110_0001 0x61 97 a
42 : 0110_1100 0x6C 108 l
43 : 0110_1000 0x68 104 h
44 : 0110_1111 0x6F 111 o
45 : 0111_0011 0x73 115 s
46 : 0111_0100 0x74 116 t
47 : 1100_0000 0xC0 192
48 : 0000_1100 0x0C 12
49 : 0000_0101 0x05 5
50 : 0110_1000 0x68 104 h
51 : 0111_0101 0x75 117 u
52 : 0110_1101 0x6D 109 m
53 : 0110_0001 0x61 97 a
54 : 0110_1110 0x6E 110 n
55 : 1100_0000 0xC0 192
56 : 0000_1100 0x0C 12
57 : 0000_0111 0x07 7
58 : 0101_1011 0x5B 91 [
59 : 1100_0011 0xC3 195
60 : 0111_0001 0x71 113 q
61 : 0000_0000 0x00 0
62 : 0000_0000 0x00 0
63 : 1010_1000 0xA8 168
64 : 1100_0000 0xC0 192
65 : 0000_0000 0x00 0
66 : 0000_0000 0x00 0
67 : 0000_1110 0x0E 14
68 : 0001_0000 0x10 16
69 : 0000_0000 0x00 0
70 : 0000_0001 0x01 1
71 : 0101_0001 0x51 81 Q
72 : 1000_0000 0x80 128
73 : 0000_0000 0x00 0
74 : 0000_0000 0x00 0
75 : 0010_1010 0x2A 42 *
76 : 0011_0000 0x30 48 0
77 : 1100_0000 0xC0 192
78 : 0000_1100 0x0C 12
79 : 0000_0000 0x00 0
80 : 0000_0010 0x02 2
81 : 0000_0000 0x00 0
82 : 0000_0001 0x01 1
83 : 0000_0000 0x00 0
84 : 0000_0000 0x00 0
85 : 0010_1010 0x2A 42 *
86 : 0011_0000 0x30 48 0
87 : 0000_0000 0x00 0
88 : 0000_1010 0x0A 10
89 : 0000_0011 0x03 3
90 : 0110_1110 0x6E 110 n
91 : 0111_0011 0x73 115 s
92 : 0011_0001 0x31 49 1
93 : 0000_0011 0x03 3
94 : 0111_1000 0x78 120 x
95 : 0111_1001 0x79 121 y
96 : 0111_1010 0x7A 122 z
97 : 1100_0000 0xC0 192
98 : 0001_0000 0x10 16
99 : 1100_0000 0xC0 192
100 : 0000_1100 0x0C 12
101 : 0000_0000 0x00 0
102 : 0000_0010 0x02 2
103 : 0000_0000 0x00 0
104 : 0000_0001 0x01 1
105 : 0000_0000 0x00 0
106 : 0000_0000 0x00 0
107 : 0010_1010 0x2A 42 *
108 : 0011_0000 0x30 48 0
109 : 0000_0000 0x00 0
110 : 0000_0110 0x06 6
111 : 0000_0011 0x03 3
112 : 0110_1110 0x6E 110 n
113 : 0111_0011 0x73 115 s
114 : 0011_0010 0x32 50 2
115 : 1100_0000 0xC0 192
116 : 0000_1100 0x0C 12
117 : 1100_0000 0xC0 192
118 : 0000_1100 0x0C 12
119 : 0000_0000 0x00 0
120 : 0000_0010 0x02 2
121 : 0000_0000 0x00 0
122 : 0000_0001 0x01 1
123 : 0000_0000 0x00 0
124 : 0000_0000 0x00 0
125 : 0010_1010 0x2A 42 *
126 : 0011_0000 0x30 48 0
127 : 0000_0000 0x00 0
128 : 0000_0010 0x02 2
129 : 1100_0000 0xC0 192
130 : 0000_1100 0x0C 12
131 : 1100_0000 0xC0 192
132 : 0000_1100 0x0C 12
133 : 0000_0000 0x00 0
134 : 0000_1111 0x0F 15
135 : 0000_0000 0x00 0
136 : 0000_0001 0x01 1
137 : 0000_0000 0x00 0
138 : 0000_0000 0x00 0
139 : 0010_1010 0x2A 42 *
140 : 0011_0000 0x30 48 0
141 : 0000_0000 0x00 0
142 : 0000_0100 0x04 4
143 : 0000_0000 0x00 0
144 : 0011_0010 0x32 50 2
145 : 1100_0000 0xC0 192
146 : 0000_1100 0x0C 12
147 : 1100_0000 0xC0 192
148 : 0000_1100 0x0C 12
149 : 0000_0000 0x00 0
150 : 0000_1111 0x0F 15
151 : 0000_0000 0x00 0
152 : 0000_0001 0x01 1
153 : 0000_0000 0x00 0
154 : 0000_0000 0x00 0
155 : 0010_1010 0x2A 42 *
156 : 0011_0000 0x30 48 0
157 : 0000_0000 0x00 0
158 : 0000_0111 0x07 7
159 : 0000_0000 0x00 0
160 : 0000_1010 0x0A 10
161 : 0000_0010 0x02 2
162 : 0110_1101 0x6D 109 m
163 : 0111_1000 0x78 120 x
164 : 1100_0000 0xC0 192
165 : 0000_1100 0x0C 12
166 : 1100_0000 0xC0 192
167 : 0101_1001 0x59 89 Y
168 : 0000_0000 0x00 0
169 : 0000_0001 0x01 1
170 : 0000_0000 0x00 0
171 : 0000_0001 0x01 1
172 : 0000_0000 0x00 0
173 : 0000_0000 0x00 0
174 : 0010_1010 0x2A 42 *
175 : 0011_0000 0x30 48 0
176 : 0000_0000 0x00 0
177 : 0000_0100 0x04 4
178 : 0000_1100 0x0C 12
179 : 0010_0010 0x22 34 "
180 : 0011_1000 0x38 56 8
181 : 0100_1110 0x4E 78 N
182 : 1100_0000 0xC0 192
183 : 0110_1111 0x6F 111 o
184 : 0000_0000 0x00 0
185 : 0000_0001 0x01 1
186 : 0000_0000 0x00 0
187 : 0000_0001 0x01 1
188 : 0000_0000 0x00 0
189 : 0000_0000 0x00 0
190 : 0010_1010 0x2A 42 *
191 : 0011_0000 0x30 48 0
192 : 0000_0000 0x00 0
193 : 0000_0100 0x04 4
194 : 0100_1100 0x4C 76 L
195 : 0011_0110 0x36 54 6
196 : 0010_0000 0x20 32
197 : 0000_1010 0x0A 10
198 : 1100_0000 0xC0 192
199 : 0000_1100 0x0C 12
200 : 0000_0000 0x00 0
201 : 0000_0001 0x01 1
202 : 0000_0000 0x00 0
203 : 0000_0001 0x01 1
204 : 0000_0000 0x00 0
205 : 0000_0000 0x00 0
206 : 0010_1010 0x2A 42 *
207 : 0011_0000 0x30 48 0
208 : 0000_0000 0x00 0
209 : 0000_0100 0x04 4
210 : 0000_0001 0x01 1
211 : 0000_0010 0x02 2
212 : 0000_0011 0x03 3
213 : 0000_0100 0x04 4
214 : 1100_0000 0xC0 192
215 : 1010_0001 0xA1 161
216 : 0000_0000 0x00 0
217 : 0000_0001 0x01 1
218 : 0000_0000 0x00 0
219 : 0000_0001 0x01 1
220 : 0000_0000 0x00 0
221 : 0000_0000 0x00 0
222 : 0010_1010 0x2A 42 *
223 : 0011_0000 0x30 48 0
224 : 0000_0000 0x00 0
225 : 0000_0100 0x04 4
226 : 0110_0101 0x65 101 e
227 : 1100_1010 0xCA 202
228 : 0110_0111 0x67 103 g
229 : 0010_1100 0x2C 44 ,
230 : 1100_0000 0xC0 192
231 : 0000_1100 0x0C 12
232 : 0000_0000 0x00 0
233 : 0000_0001 0x01 1
234 : 0000_0000 0x00 0
235 : 0000_0001 0x01 1
236 : 0000_0000 0x00 0
237 : 0000_0000 0x00 0
238 : 0010_1010 0x2A 42 *
239 : 0011_0000 0x30 48 0
240 : 0000_0000 0x00 0
241 : 0000_0100 0x04 4
242 : 1100_0000 0xC0 192
243 : 1010_1000 0xA8 168
244 : 0110_0011 0x63 99 c
245 : 0110_0100 0x64 100 d
|;
chk_exp(\$response,\$exptext);
## test 62 set local_name = something new
print "failed to set local name\nnot "
unless &{"${TCTEST}::t_cmdline"}('L',$zonename);
&ok();
## test 63 check domain ANY records with zone = local
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'bar.com',T_ANY,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0111 0x07 7
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0011 0x03 3
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 1111_1111 0xFF 255
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
25 : 1100_0000 0xC0 192
26 : 0000_1100 0x0C 12
27 : 0000_0000 0x00 0
28 : 0000_0001 0x01 1
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0000 0x00 0
33 : 0010_1010 0x2A 42 *
34 : 0011_0000 0x30 48 0
35 : 0000_0000 0x00 0
36 : 0000_0100 0x04 4
37 : 1100_0000 0xC0 192
38 : 1010_1000 0xA8 168
39 : 0110_0011 0x63 99 c
40 : 0110_0100 0x64 100 d
41 : 1100_0000 0xC0 192
42 : 0000_1100 0x0C 12
43 : 0000_0000 0x00 0
44 : 0000_0110 0x06 6
45 : 0000_0000 0x00 0
46 : 0000_0001 0x01 1
47 : 0000_0000 0x00 0
48 : 0000_0000 0x00 0
49 : 0000_0000 0x00 0
50 : 0000_0000 0x00 0
51 : 0000_0000 0x00 0
52 : 0001_1110 0x1E 30
53 : 1100_0000 0xC0 192
54 : 0000_1100 0x0C 12
55 : 0000_0101 0x05 5
56 : 0110_1000 0x68 104 h
57 : 0111_0101 0x75 117 u
58 : 0110_1101 0x6D 109 m
59 : 0110_0001 0x61 97 a
60 : 0110_1110 0x6E 110 n
61 : 1100_0000 0xC0 192
62 : 0000_1100 0x0C 12
63 : 0000_0111 0x07 7
64 : 0101_1011 0x5B 91 [
65 : 1100_0011 0xC3 195
66 : 0111_0001 0x71 113 q
67 : 0000_0000 0x00 0
68 : 0000_0000 0x00 0
69 : 1010_1000 0xA8 168
70 : 1100_0000 0xC0 192
71 : 0000_0000 0x00 0
72 : 0000_0000 0x00 0
73 : 0000_1110 0x0E 14
74 : 0001_0000 0x10 16
75 : 0000_0000 0x00 0
76 : 0000_0001 0x01 1
77 : 0101_0001 0x51 81 Q
78 : 1000_0000 0x80 128
79 : 0000_0000 0x00 0
80 : 0000_0000 0x00 0
81 : 0010_1010 0x2A 42 *
82 : 0011_0000 0x30 48 0
83 : 1100_0000 0xC0 192
84 : 0000_1100 0x0C 12
85 : 0000_0000 0x00 0
86 : 0000_0010 0x02 2
87 : 0000_0000 0x00 0
88 : 0000_0001 0x01 1
89 : 0000_0000 0x00 0
90 : 0000_0000 0x00 0
91 : 0010_1010 0x2A 42 *
92 : 0011_0000 0x30 48 0
93 : 0000_0000 0x00 0
94 : 0000_1010 0x0A 10
95 : 0000_0011 0x03 3
96 : 0110_1110 0x6E 110 n
97 : 0111_0011 0x73 115 s
98 : 0011_0001 0x31 49 1
99 : 0000_0011 0x03 3
100 : 0111_1000 0x78 120 x
101 : 0111_1001 0x79 121 y
102 : 0111_1010 0x7A 122 z
103 : 1100_0000 0xC0 192
104 : 0001_0000 0x10 16
105 : 1100_0000 0xC0 192
106 : 0000_1100 0x0C 12
107 : 0000_0000 0x00 0
108 : 0000_0010 0x02 2
109 : 0000_0000 0x00 0
110 : 0000_0001 0x01 1
111 : 0000_0000 0x00 0
112 : 0000_0000 0x00 0
113 : 0010_1010 0x2A 42 *
114 : 0011_0000 0x30 48 0
115 : 0000_0000 0x00 0
116 : 0000_0110 0x06 6
117 : 0000_0011 0x03 3
118 : 0110_1110 0x6E 110 n
119 : 0111_0011 0x73 115 s
120 : 0011_0010 0x32 50 2
121 : 1100_0000 0xC0 192
122 : 0000_1100 0x0C 12
123 : 1100_0000 0xC0 192
124 : 0000_1100 0x0C 12
125 : 0000_0000 0x00 0
126 : 0000_0010 0x02 2
127 : 0000_0000 0x00 0
128 : 0000_0001 0x01 1
129 : 0000_0000 0x00 0
130 : 0000_0000 0x00 0
131 : 0010_1010 0x2A 42 *
132 : 0011_0000 0x30 48 0
133 : 0000_0000 0x00 0
134 : 0000_0010 0x02 2
135 : 1100_0000 0xC0 192
136 : 0000_1100 0x0C 12
137 : 1100_0000 0xC0 192
138 : 0000_1100 0x0C 12
139 : 0000_0000 0x00 0
140 : 0000_1111 0x0F 15
141 : 0000_0000 0x00 0
142 : 0000_0001 0x01 1
143 : 0000_0000 0x00 0
144 : 0000_0000 0x00 0
145 : 0010_1010 0x2A 42 *
146 : 0011_0000 0x30 48 0
147 : 0000_0000 0x00 0
148 : 0000_0100 0x04 4
149 : 0000_0000 0x00 0
150 : 0011_0010 0x32 50 2
151 : 1100_0000 0xC0 192
152 : 0000_1100 0x0C 12
153 : 1100_0000 0xC0 192
154 : 0000_1100 0x0C 12
155 : 0000_0000 0x00 0
156 : 0000_1111 0x0F 15
157 : 0000_0000 0x00 0
158 : 0000_0001 0x01 1
159 : 0000_0000 0x00 0
160 : 0000_0000 0x00 0
161 : 0010_1010 0x2A 42 *
162 : 0011_0000 0x30 48 0
163 : 0000_0000 0x00 0
164 : 0000_0111 0x07 7
165 : 0000_0000 0x00 0
166 : 0000_1010 0x0A 10
167 : 0000_0010 0x02 2
168 : 0110_1101 0x6D 109 m
169 : 0111_1000 0x78 120 x
170 : 1100_0000 0xC0 192
171 : 0000_1100 0x0C 12
172 : 1100_0000 0xC0 192
173 : 0101_1111 0x5F 95 _
174 : 0000_0000 0x00 0
175 : 0000_0001 0x01 1
176 : 0000_0000 0x00 0
177 : 0000_0001 0x01 1
178 : 0000_0000 0x00 0
179 : 0000_0000 0x00 0
180 : 0010_1010 0x2A 42 *
181 : 0011_0000 0x30 48 0
182 : 0000_0000 0x00 0
183 : 0000_0100 0x04 4
184 : 0000_1100 0x0C 12
185 : 0010_0010 0x22 34 "
186 : 0011_1000 0x38 56 8
187 : 0100_1110 0x4E 78 N
188 : 1100_0000 0xC0 192
189 : 0111_0101 0x75 117 u
190 : 0000_0000 0x00 0
191 : 0000_0001 0x01 1
192 : 0000_0000 0x00 0
193 : 0000_0001 0x01 1
194 : 0000_0000 0x00 0
195 : 0000_0000 0x00 0
196 : 0010_1010 0x2A 42 *
197 : 0011_0000 0x30 48 0
198 : 0000_0000 0x00 0
199 : 0000_0100 0x04 4
200 : 0100_1100 0x4C 76 L
201 : 0011_0110 0x36 54 6
202 : 0010_0000 0x20 32
203 : 0000_1010 0x0A 10
204 : 1100_0000 0xC0 192
205 : 1010_0111 0xA7 167
206 : 0000_0000 0x00 0
207 : 0000_0001 0x01 1
208 : 0000_0000 0x00 0
209 : 0000_0001 0x01 1
210 : 0000_0000 0x00 0
211 : 0000_0000 0x00 0
212 : 0010_1010 0x2A 42 *
213 : 0011_0000 0x30 48 0
214 : 0000_0000 0x00 0
215 : 0000_0100 0x04 4
216 : 0110_0101 0x65 101 e
217 : 1100_1010 0xCA 202
218 : 0110_0111 0x67 103 g
219 : 0010_1100 0x2C 44 ,
|;
chk_exp(\$response,\$exptext);
## test 64 check attempted AXFR using udp
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'bar.com',T_AXFR,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0110 0x86 134
3 : 0000_0001 0x01 1
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0000 0x00 0
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 1111_1100 0xFC 252
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
|;
chk_exp(\$response,\$exptext);
## test 65 set AXFR block to 1
print "failed to set local name\nnot "
unless &{"${TCTEST}::t_cmdline"}('b',1);
&ok();
## test 66 check attempted AXFR while blocked, should be refused
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'bar.com',T_AXFR,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0101 0x05 5
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0000 0x00 0
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 1111_1100 0xFC 252
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
|;
chk_exp(\$response,\$exptext);
## test 67 set AXFR block to 0
print "failed to set local name\nnot "
unless &{"${TCTEST}::t_cmdline"}('b',0);
&ok();
## test 68 set local_name = something new
print "failed to set local name\nnot "
unless &{"${TCTEST}::t_cmdline"}('L','localhost.'.$zonename);
&ok();
## test 69 check unsupported TYPE for auth only return
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'bar.com',T_NULL,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0100 0x04 4
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0000 0x00 0
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 0000_1010 0x0A 10
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
25 : 1100_0000 0xC0 192
26 : 0000_1100 0x0C 12
27 : 0000_0000 0x00 0
28 : 0000_0110 0x06 6
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0000 0x00 0
33 : 0000_0000 0x00 0
34 : 0000_0000 0x00 0
35 : 0000_0000 0x00 0
36 : 0010_1000 0x28 40 (
37 : 0000_1001 0x09 9
38 : 0110_1100 0x6C 108 l
39 : 0110_1111 0x6F 111 o
40 : 0110_0011 0x63 99 c
41 : 0110_0001 0x61 97 a
42 : 0110_1100 0x6C 108 l
43 : 0110_1000 0x68 104 h
44 : 0110_1111 0x6F 111 o
45 : 0111_0011 0x73 115 s
46 : 0111_0100 0x74 116 t
47 : 1100_0000 0xC0 192
48 : 0000_1100 0x0C 12
49 : 0000_0101 0x05 5
50 : 0110_1000 0x68 104 h
51 : 0111_0101 0x75 117 u
52 : 0110_1101 0x6D 109 m
53 : 0110_0001 0x61 97 a
54 : 0110_1110 0x6E 110 n
55 : 1100_0000 0xC0 192
56 : 0000_1100 0x0C 12
57 : 0000_0111 0x07 7
58 : 0101_1011 0x5B 91 [
59 : 1100_0011 0xC3 195
60 : 0111_0001 0x71 113 q
61 : 0000_0000 0x00 0
62 : 0000_0000 0x00 0
63 : 1010_1000 0xA8 168
64 : 1100_0000 0xC0 192
65 : 0000_0000 0x00 0
66 : 0000_0000 0x00 0
67 : 0000_1110 0x0E 14
68 : 0001_0000 0x10 16
69 : 0000_0000 0x00 0
70 : 0000_0001 0x01 1
71 : 0101_0001 0x51 81 Q
72 : 1000_0000 0x80 128
73 : 0000_0000 0x00 0
74 : 0000_0000 0x00 0
75 : 0010_1010 0x2A 42 *
76 : 0011_0000 0x30 48 0
|;
chk_exp(\$response,\$exptext);
########################################################
# checks complete for zone = question except for AXFR
########################################################
## test 70 check A record, known host
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'mx.bar.com',T_A,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0001 0x01 1
8 : 0000_0000 0x00 0
9 : 0000_0011 0x03 3
10 : 0000_0000 0x00 0
11 : 0000_0011 0x03 3
12 : 0000_0010 0x02 2
13 : 0110_1101 0x6D 109 m
14 : 0111_1000 0x78 120 x
15 : 0000_0011 0x03 3
16 : 0110_0010 0x62 98 b
17 : 0110_0001 0x61 97 a
18 : 0111_0010 0x72 114 r
19 : 0000_0011 0x03 3
20 : 0110_0011 0x63 99 c
21 : 0110_1111 0x6F 111 o
22 : 0110_1101 0x6D 109 m
23 : 0000_0000 0x00 0
24 : 0000_0000 0x00 0
25 : 0000_0001 0x01 1
26 : 0000_0000 0x00 0
27 : 0000_0001 0x01 1
28 : 1100_0000 0xC0 192
29 : 0000_1100 0x0C 12
30 : 0000_0000 0x00 0
31 : 0000_0001 0x01 1
32 : 0000_0000 0x00 0
33 : 0000_0001 0x01 1
34 : 0000_0000 0x00 0
35 : 0000_0000 0x00 0
36 : 0010_1010 0x2A 42 *
37 : 0011_0000 0x30 48 0
38 : 0000_0000 0x00 0
39 : 0000_0100 0x04 4
40 : 0110_0101 0x65 101 e
41 : 1100_1010 0xCA 202
42 : 0110_0111 0x67 103 g
43 : 0010_1100 0x2C 44 ,
44 : 1100_0000 0xC0 192
45 : 0000_1111 0x0F 15
46 : 0000_0000 0x00 0
47 : 0000_0010 0x02 2
48 : 0000_0000 0x00 0
49 : 0000_0001 0x01 1
50 : 0000_0000 0x00 0
51 : 0000_0000 0x00 0
52 : 0010_1010 0x2A 42 *
53 : 0011_0000 0x30 48 0
54 : 0000_0000 0x00 0
55 : 0000_1010 0x0A 10
56 : 0000_0011 0x03 3
57 : 0110_1110 0x6E 110 n
58 : 0111_0011 0x73 115 s
59 : 0011_0001 0x31 49 1
60 : 0000_0011 0x03 3
61 : 0111_1000 0x78 120 x
62 : 0111_1001 0x79 121 y
63 : 0111_1010 0x7A 122 z
64 : 1100_0000 0xC0 192
65 : 0001_0011 0x13 19
66 : 1100_0000 0xC0 192
67 : 0000_1111 0x0F 15
68 : 0000_0000 0x00 0
69 : 0000_0010 0x02 2
70 : 0000_0000 0x00 0
71 : 0000_0001 0x01 1
72 : 0000_0000 0x00 0
73 : 0000_0000 0x00 0
74 : 0010_1010 0x2A 42 *
75 : 0011_0000 0x30 48 0
76 : 0000_0000 0x00 0
77 : 0000_0110 0x06 6
78 : 0000_0011 0x03 3
79 : 0110_1110 0x6E 110 n
80 : 0111_0011 0x73 115 s
81 : 0011_0010 0x32 50 2
82 : 1100_0000 0xC0 192
83 : 0000_1111 0x0F 15
84 : 1100_0000 0xC0 192
85 : 0000_1111 0x0F 15
86 : 0000_0000 0x00 0
87 : 0000_0010 0x02 2
88 : 0000_0000 0x00 0
89 : 0000_0001 0x01 1
90 : 0000_0000 0x00 0
91 : 0000_0000 0x00 0
92 : 0010_1010 0x2A 42 *
93 : 0011_0000 0x30 48 0
94 : 0000_0000 0x00 0
95 : 0000_0010 0x02 2
96 : 1100_0000 0xC0 192
97 : 0000_1111 0x0F 15
98 : 1100_0000 0xC0 192
99 : 0011_1000 0x38 56 8
100 : 0000_0000 0x00 0
101 : 0000_0001 0x01 1
102 : 0000_0000 0x00 0
103 : 0000_0001 0x01 1
104 : 0000_0000 0x00 0
105 : 0000_0000 0x00 0
106 : 0010_1010 0x2A 42 *
107 : 0011_0000 0x30 48 0
108 : 0000_0000 0x00 0
109 : 0000_0100 0x04 4
110 : 0000_1100 0x0C 12
111 : 0010_0010 0x22 34 "
112 : 0011_1000 0x38 56 8
113 : 0100_1110 0x4E 78 N
114 : 1100_0000 0xC0 192
115 : 0100_1110 0x4E 78 N
116 : 0000_0000 0x00 0
117 : 0000_0001 0x01 1
118 : 0000_0000 0x00 0
119 : 0000_0001 0x01 1
120 : 0000_0000 0x00 0
121 : 0000_0000 0x00 0
122 : 0010_1010 0x2A 42 *
123 : 0011_0000 0x30 48 0
124 : 0000_0000 0x00 0
125 : 0000_0100 0x04 4
126 : 0100_1100 0x4C 76 L
127 : 0011_0110 0x36 54 6
128 : 0010_0000 0x20 32
129 : 0000_1010 0x0A 10
130 : 1100_0000 0xC0 192
131 : 0000_1111 0x0F 15
132 : 0000_0000 0x00 0
133 : 0000_0001 0x01 1
134 : 0000_0000 0x00 0
135 : 0000_0001 0x01 1
136 : 0000_0000 0x00 0
137 : 0000_0000 0x00 0
138 : 0010_1010 0x2A 42 *
139 : 0011_0000 0x30 48 0
140 : 0000_0000 0x00 0
141 : 0000_0100 0x04 4
142 : 1100_0000 0xC0 192
143 : 1010_1000 0xA8 168
144 : 0110_0011 0x63 99 c
145 : 0110_0100 0x64 100 d
|;
chk_exp(\$response,\$exptext);
## test 71 check A record, unknown host
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'unknown.bar.com',T_A,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0000 0x00 0
8 : 0000_0000 0x00 0
9 : 0000_0001 0x01 1
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0111 0x07 7
13 : 0111_0101 0x75 117 u
14 : 0110_1110 0x6E 110 n
15 : 0110_1011 0x6B 107 k
16 : 0110_1110 0x6E 110 n
17 : 0110_1111 0x6F 111 o
18 : 0111_0111 0x77 119 w
19 : 0110_1110 0x6E 110 n
20 : 0000_0011 0x03 3
21 : 0110_0010 0x62 98 b
22 : 0110_0001 0x61 97 a
23 : 0111_0010 0x72 114 r
24 : 0000_0011 0x03 3
25 : 0110_0011 0x63 99 c
26 : 0110_1111 0x6F 111 o
27 : 0110_1101 0x6D 109 m
28 : 0000_0000 0x00 0
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0001 0x01 1
33 : 1100_0000 0xC0 192
34 : 0001_0100 0x14 20
35 : 0000_0000 0x00 0
36 : 0000_0110 0x06 6
37 : 0000_0000 0x00 0
38 : 0000_0001 0x01 1
39 : 0000_0000 0x00 0
40 : 0000_0000 0x00 0
41 : 0000_0000 0x00 0
42 : 0000_0000 0x00 0
43 : 0000_0000 0x00 0
44 : 0010_1000 0x28 40 (
45 : 0000_1001 0x09 9
46 : 0110_1100 0x6C 108 l
47 : 0110_1111 0x6F 111 o
48 : 0110_0011 0x63 99 c
49 : 0110_0001 0x61 97 a
50 : 0110_1100 0x6C 108 l
51 : 0110_1000 0x68 104 h
52 : 0110_1111 0x6F 111 o
53 : 0111_0011 0x73 115 s
54 : 0111_0100 0x74 116 t
55 : 1100_0000 0xC0 192
56 : 0001_0100 0x14 20
57 : 0000_0101 0x05 5
58 : 0110_1000 0x68 104 h
59 : 0111_0101 0x75 117 u
60 : 0110_1101 0x6D 109 m
61 : 0110_0001 0x61 97 a
62 : 0110_1110 0x6E 110 n
63 : 1100_0000 0xC0 192
64 : 0001_0100 0x14 20
65 : 0000_0111 0x07 7
66 : 0101_1011 0x5B 91 [
67 : 1100_0011 0xC3 195
68 : 0111_0001 0x71 113 q
69 : 0000_0000 0x00 0
70 : 0000_0000 0x00 0
71 : 1010_1000 0xA8 168
72 : 1100_0000 0xC0 192
73 : 0000_0000 0x00 0
74 : 0000_0000 0x00 0
75 : 0000_1110 0x0E 14
76 : 0001_0000 0x10 16
77 : 0000_0000 0x00 0
78 : 0000_0001 0x01 1
79 : 0101_0001 0x51 81 Q
80 : 1000_0000 0x80 128
81 : 0000_0000 0x00 0
82 : 0000_0000 0x00 0
83 : 0010_1010 0x2A 42 *
84 : 0011_0000 0x30 48 0
|;
chk_exp(\$response,\$exptext);
## test 72 check NOT A record, known host
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'mx.bar.com',T_NS,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0000 0x00 0
8 : 0000_0000 0x00 0
9 : 0000_0001 0x01 1
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0010 0x02 2
13 : 0110_1101 0x6D 109 m
14 : 0111_1000 0x78 120 x
15 : 0000_0011 0x03 3
16 : 0110_0010 0x62 98 b
17 : 0110_0001 0x61 97 a
18 : 0111_0010 0x72 114 r
19 : 0000_0011 0x03 3
20 : 0110_0011 0x63 99 c
21 : 0110_1111 0x6F 111 o
22 : 0110_1101 0x6D 109 m
23 : 0000_0000 0x00 0
24 : 0000_0000 0x00 0
25 : 0000_0010 0x02 2
26 : 0000_0000 0x00 0
27 : 0000_0001 0x01 1
28 : 1100_0000 0xC0 192
29 : 0000_1111 0x0F 15
30 : 0000_0000 0x00 0
31 : 0000_0110 0x06 6
32 : 0000_0000 0x00 0
33 : 0000_0001 0x01 1
34 : 0000_0000 0x00 0
35 : 0000_0000 0x00 0
36 : 0000_0000 0x00 0
37 : 0000_0000 0x00 0
38 : 0000_0000 0x00 0
39 : 0010_1000 0x28 40 (
40 : 0000_1001 0x09 9
41 : 0110_1100 0x6C 108 l
42 : 0110_1111 0x6F 111 o
43 : 0110_0011 0x63 99 c
44 : 0110_0001 0x61 97 a
45 : 0110_1100 0x6C 108 l
46 : 0110_1000 0x68 104 h
47 : 0110_1111 0x6F 111 o
48 : 0111_0011 0x73 115 s
49 : 0111_0100 0x74 116 t
50 : 1100_0000 0xC0 192
51 : 0000_1111 0x0F 15
52 : 0000_0101 0x05 5
53 : 0110_1000 0x68 104 h
54 : 0111_0101 0x75 117 u
55 : 0110_1101 0x6D 109 m
56 : 0110_0001 0x61 97 a
57 : 0110_1110 0x6E 110 n
58 : 1100_0000 0xC0 192
59 : 0000_1111 0x0F 15
60 : 0000_0111 0x07 7
61 : 0101_1011 0x5B 91 [
62 : 1100_0011 0xC3 195
63 : 0111_0001 0x71 113 q
64 : 0000_0000 0x00 0
65 : 0000_0000 0x00 0
66 : 1010_1000 0xA8 168
67 : 1100_0000 0xC0 192
68 : 0000_0000 0x00 0
69 : 0000_0000 0x00 0
70 : 0000_1110 0x0E 14
71 : 0001_0000 0x10 16
72 : 0000_0000 0x00 0
73 : 0000_0001 0x01 1
74 : 0101_0001 0x51 81 Q
75 : 1000_0000 0x80 128
76 : 0000_0000 0x00 0
77 : 0000_0000 0x00 0
78 : 0010_1010 0x2A 42 *
79 : 0011_0000 0x30 48 0
|;
chk_exp(\$response,\$exptext);
## test 73 set default error response
print "failed to set contact name\nnot "
unless &{"${TCTEST}::t_cmdline"}('e','Error: your mail server has been BLACKHOLED. See http://blackhole.spamcannibal.com');
&ok();
## test 74 check unknown numeric A record
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'1.2.3.4.bar.com',T_A,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0000 0x00 0
8 : 0000_0000 0x00 0
9 : 0000_0001 0x01 1
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0001 0x01 1
13 : 0011_0001 0x31 49 1
14 : 0000_0001 0x01 1
15 : 0011_0010 0x32 50 2
16 : 0000_0001 0x01 1
17 : 0011_0011 0x33 51 3
18 : 0000_0001 0x01 1
19 : 0011_0100 0x34 52 4
20 : 0000_0011 0x03 3
21 : 0110_0010 0x62 98 b
22 : 0110_0001 0x61 97 a
23 : 0111_0010 0x72 114 r
24 : 0000_0011 0x03 3
25 : 0110_0011 0x63 99 c
26 : 0110_1111 0x6F 111 o
27 : 0110_1101 0x6D 109 m
28 : 0000_0000 0x00 0
29 : 0000_0000 0x00 0
30 : 0000_0010 0x02 1
31 : 0000_0000 0x00 0
32 : 0000_0001 0x01 1
33 : 1100_0000 0xC0 192
34 : 0001_0100 0x14 20
35 : 0000_0000 0x00 0
36 : 0000_0110 0x06 6
37 : 0000_0000 0x00 0
38 : 0000_0001 0x01 1
39 : 0000_0000 0x00 0
40 : 0000_0000 0x00 0
41 : 0000_0000 0x00 0
42 : 0000_0000 0x00 0
43 : 0000_0000 0x00 0
44 : 0010_1000 0x28 40 (
45 : 0000_1001 0x09 9
46 : 0110_1100 0x6C 108 l
47 : 0110_1111 0x6F 111 o
48 : 0110_0011 0x63 99 c
49 : 0110_0001 0x61 97 a
50 : 0110_1100 0x6C 108 l
51 : 0110_1000 0x68 104 h
52 : 0110_1111 0x6F 111 o
53 : 0111_0011 0x73 115 s
54 : 0111_0100 0x74 116 t
55 : 1100_0000 0xC0 192
56 : 0001_0100 0x14 20
57 : 0000_0101 0x05 5
58 : 0110_1000 0x68 104 h
59 : 0111_0101 0x75 117 u
60 : 0110_1101 0x6D 109 m
61 : 0110_0001 0x61 97 a
62 : 0110_1110 0x6E 110 n
63 : 1100_0000 0xC0 192
64 : 0001_0100 0x14 20
65 : 0000_0111 0x07 7
66 : 0101_1011 0x5B 91 [
67 : 1100_0011 0xC3 195
68 : 0111_0001 0x71 113 q
69 : 0000_0000 0x00 0
70 : 0000_0000 0x00 0
71 : 1010_1000 0xA8 168
72 : 1100_0000 0xC0 192
73 : 0000_0000 0x00 0
74 : 0000_0000 0x00 0
75 : 0000_1110 0x0E 14
76 : 0001_0000 0x10 16
77 : 0000_0000 0x00 0
78 : 0000_0001 0x01 1
79 : 0101_0001 0x51 81 Q
80 : 1000_0000 0x80 128
81 : 0000_0000 0x00 0
82 : 0000_0000 0x00 0
83 : 0010_1010 0x2A 42 *
84 : 0011_0000 0x30 48 0
|;
chk_exp(\$response,\$exptext);
## test 75 insert known IP in database
print "failed to set known IP 4.3.2.1 in database\nnot "
if $ipt->put('tarpit',inet_aton("4.3.2.1"),123451234);
&ok();
## test 76 check known numeric A record
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'1.2.3.4.bar.com',T_A,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0001 0x01 1
8 : 0000_0000 0x00 0
9 : 0000_0011 0x03 3
10 : 0000_0000 0x00 0
11 : 0000_0011 0x03 3
12 : 0000_0001 0x01 1
13 : 0011_0001 0x31 49 1
14 : 0000_0001 0x01 1
15 : 0011_0010 0x32 50 2
16 : 0000_0001 0x01 1
17 : 0011_0011 0x33 51 3
18 : 0000_0001 0x01 1
19 : 0011_0100 0x34 52 4
20 : 0000_0011 0x03 3
21 : 0110_0010 0x62 98 b
22 : 0110_0001 0x61 97 a
23 : 0111_0010 0x72 114 r
24 : 0000_0011 0x03 3
25 : 0110_0011 0x63 99 c
26 : 0110_1111 0x6F 111 o
27 : 0110_1101 0x6D 109 m
28 : 0000_0000 0x00 0
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0001 0x01 1
33 : 1100_0000 0xC0 192
34 : 0000_1100 0x0C 12
35 : 0000_0000 0x00 0
36 : 0000_0001 0x01 1
37 : 0000_0000 0x00 0
38 : 0000_0001 0x01 1
39 : 0000_0000 0x00 0
40 : 0000_0000 0x00 0
41 : 0010_1010 0x2A 42 *
42 : 0011_0000 0x30 48 0
43 : 0000_0000 0x00 0
44 : 0000_0100 0x04 4
45 : 0111_1111 0x7F 127
46 : 0000_0000 0x00 0
47 : 0000_0000 0x00 0
48 : 0000_0003 0x03 3
49 : 1100_0000 0xC0 192
50 : 0001_0100 0x14 20
51 : 0000_0000 0x00 0
52 : 0000_0010 0x02 2
53 : 0000_0000 0x00 0
54 : 0000_0001 0x01 1
55 : 0000_0000 0x00 0
56 : 0000_0000 0x00 0
57 : 0010_1010 0x2A 42 *
58 : 0011_0000 0x30 48 0
59 : 0000_0000 0x00 0
60 : 0000_1010 0x0A 10
61 : 0000_0011 0x03 3
62 : 0110_1110 0x6E 110 n
63 : 0111_0011 0x73 115 s
64 : 0011_0001 0x31 49 1
65 : 0000_0011 0x03 3
66 : 0111_1000 0x78 120 x
67 : 0111_1001 0x79 121 y
68 : 0111_1010 0x7A 122 z
69 : 1100_0000 0xC0 192
70 : 0001_1000 0x18 24
71 : 1100_0000 0xC0 192
72 : 0001_0100 0x14 20
73 : 0000_0000 0x00 0
74 : 0000_0010 0x02 2
75 : 0000_0000 0x00 0
76 : 0000_0001 0x01 1
77 : 0000_0000 0x00 0
78 : 0000_0000 0x00 0
79 : 0010_1010 0x2A 42 *
80 : 0011_0000 0x30 48 0
81 : 0000_0000 0x00 0
82 : 0000_0110 0x06 6
83 : 0000_0011 0x03 3
84 : 0110_1110 0x6E 110 n
85 : 0111_0011 0x73 115 s
86 : 0011_0010 0x32 50 2
87 : 1100_0000 0xC0 192
88 : 0001_0100 0x14 20
89 : 1100_0000 0xC0 192
90 : 0001_0100 0x14 20
91 : 0000_0000 0x00 0
92 : 0000_0010 0x02 2
93 : 0000_0000 0x00 0
94 : 0000_0001 0x01 1
95 : 0000_0000 0x00 0
96 : 0000_0000 0x00 0
97 : 0010_1010 0x2A 42 *
98 : 0011_0000 0x30 48 0
99 : 0000_0000 0x00 0
100 : 0000_0010 0x02 2
101 : 1100_0000 0xC0 192
102 : 0001_0100 0x14 20
103 : 1100_0000 0xC0 192
104 : 0011_1101 0x3D 61 =
105 : 0000_0000 0x00 0
106 : 0000_0001 0x01 1
107 : 0000_0000 0x00 0
108 : 0000_0001 0x01 1
109 : 0000_0000 0x00 0
110 : 0000_0000 0x00 0
111 : 0010_1010 0x2A 42 *
112 : 0011_0000 0x30 48 0
113 : 0000_0000 0x00 0
114 : 0000_0100 0x04 4
115 : 0000_1100 0x0C 12
116 : 0010_0010 0x22 34 "
117 : 0011_1000 0x38 56 8
118 : 0100_1110 0x4E 78 N
119 : 1100_0000 0xC0 192
120 : 0101_0011 0x53 83 S
121 : 0000_0000 0x00 0
122 : 0000_0001 0x01 1
123 : 0000_0000 0x00 0
124 : 0000_0001 0x01 1
125 : 0000_0000 0x00 0
126 : 0000_0000 0x00 0
127 : 0010_1010 0x2A 42 *
128 : 0011_0000 0x30 48 0
129 : 0000_0000 0x00 0
130 : 0000_0100 0x04 4
131 : 0100_1100 0x4C 76 L
132 : 0011_0110 0x36 54 6
133 : 0010_0000 0x20 32
134 : 0000_1010 0x0A 10
135 : 1100_0000 0xC0 192
136 : 0001_0100 0x14 20
137 : 0000_0000 0x00 0
138 : 0000_0001 0x01 1
139 : 0000_0000 0x00 0
140 : 0000_0001 0x01 1
141 : 0000_0000 0x00 0
142 : 0000_0000 0x00 0
143 : 0010_1010 0x2A 42 *
144 : 0011_0000 0x30 48 0
145 : 0000_0000 0x00 0
146 : 0000_0100 0x04 4
147 : 1100_0000 0xC0 192
148 : 1010_1000 0xA8 168
149 : 0110_0011 0x63 99 c
150 : 0110_0100 0x64 100 d
|;
chk_exp(\$response,\$exptext);
## test 77 check known numeric TXT record
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'1.2.3.4.bar.com',T_TXT,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0001 0x01 1
8 : 0000_0000 0x00 0
9 : 0000_0011 0x03 3
10 : 0000_0000 0x00 0
11 : 0000_0011 0x03 3
12 : 0000_0001 0x01 1
13 : 0011_0001 0x31 49 1
14 : 0000_0001 0x01 1
15 : 0011_0010 0x32 50 2
16 : 0000_0001 0x01 1
17 : 0011_0011 0x33 51 3
18 : 0000_0001 0x01 1
19 : 0011_0100 0x34 52 4
20 : 0000_0011 0x03 3
21 : 0110_0010 0x62 98 b
22 : 0110_0001 0x61 97 a
23 : 0111_0010 0x72 114 r
24 : 0000_0011 0x03 3
25 : 0110_0011 0x63 99 c
26 : 0110_1111 0x6F 111 o
27 : 0110_1101 0x6D 109 m
28 : 0000_0000 0x00 0
29 : 0000_0000 0x00 0
30 : 0001_0000 0x10 16
31 : 0000_0000 0x00 0
32 : 0000_0001 0x01 1
33 : 1100_0000 0xC0 192
34 : 0000_1100 0x0C 12
35 : 0000_0000 0x00 0
36 : 0001_0000 0x10 16
37 : 0000_0000 0x00 0
38 : 0000_0001 0x01 1
39 : 0000_0000 0x00 0
40 : 0000_0000 0x00 0
41 : 0010_1010 0x2A 42 *
42 : 0011_0000 0x30 48 0
43 : 0000_0000 0x00 0
44 : 0101_0011 0x53 83 S
45 : 0101_0010 0x52 82 R
46 : 0100_0101 0x45 69 E
47 : 0111_0010 0x72 114 r
48 : 0111_0010 0x72 114 r
49 : 0110_1111 0x6F 111 o
50 : 0111_0010 0x72 114 r
51 : 0011_1010 0x3A 58 :
52 : 0010_0000 0x20 32
53 : 0111_1001 0x79 121 y
54 : 0110_1111 0x6F 111 o
55 : 0111_0101 0x75 117 u
56 : 0111_0010 0x72 114 r
57 : 0010_0000 0x20 32
58 : 0110_1101 0x6D 109 m
59 : 0110_0001 0x61 97 a
60 : 0110_1001 0x69 105 i
61 : 0110_1100 0x6C 108 l
62 : 0010_0000 0x20 32
63 : 0111_0011 0x73 115 s
64 : 0110_0101 0x65 101 e
65 : 0111_0010 0x72 114 r
66 : 0111_0110 0x76 118 v
67 : 0110_0101 0x65 101 e
68 : 0111_0010 0x72 114 r
69 : 0010_0000 0x20 32
70 : 0110_1000 0x68 104 h
71 : 0110_0001 0x61 97 a
72 : 0111_0011 0x73 115 s
73 : 0010_0000 0x20 32
74 : 0110_0010 0x62 98 b
75 : 0110_0101 0x65 101 e
76 : 0110_0101 0x65 101 e
77 : 0110_1110 0x6E 110 n
78 : 0010_0000 0x20 32
79 : 0100_0010 0x42 66 B
80 : 0100_1100 0x4C 76 L
81 : 0100_0001 0x41 65 A
82 : 0100_0011 0x43 67 C
83 : 0100_1011 0x4B 75 K
84 : 0100_1000 0x48 72 H
85 : 0100_1111 0x4F 79 O
86 : 0100_1100 0x4C 76 L
87 : 0100_0101 0x45 69 E
88 : 0100_0100 0x44 68 D
89 : 0010_1110 0x2E 46 .
90 : 0010_0000 0x20 32
91 : 0101_0011 0x53 83 S
92 : 0110_0101 0x65 101 e
93 : 0110_0101 0x65 101 e
94 : 0010_0000 0x20 32
95 : 0110_1000 0x68 104 h
96 : 0111_0100 0x74 116 t
97 : 0111_0100 0x74 116 t
98 : 0111_0000 0x70 112 p
99 : 0011_1010 0x3A 58 :
100 : 0010_1111 0x2F 47 /
101 : 0010_1111 0x2F 47 /
102 : 0110_0010 0x62 98 b
103 : 0110_1100 0x6C 108 l
104 : 0110_0001 0x61 97 a
105 : 0110_0011 0x63 99 c
106 : 0110_1011 0x6B 107 k
107 : 0110_1000 0x68 104 h
108 : 0110_1111 0x6F 111 o
109 : 0110_1100 0x6C 108 l
110 : 0110_0101 0x65 101 e
111 : 0010_1110 0x2E 46 .
112 : 0111_0011 0x73 115 s
113 : 0111_0000 0x70 112 p
114 : 0110_0001 0x61 97 a
115 : 0110_1101 0x6D 109 m
116 : 0110_0011 0x63 99 c
117 : 0110_0001 0x61 97 a
118 : 0110_1110 0x6E 110 n
119 : 0110_1110 0x6E 110 n
120 : 0110_1001 0x69 105 i
121 : 0110_0010 0x62 98 b
122 : 0110_0001 0x61 97 a
123 : 0110_1100 0x6C 108 l
124 : 0010_1110 0x2E 46 .
125 : 0110_0011 0x63 99 c
126 : 0110_1111 0x6F 111 o
127 : 0110_1101 0x6D 109 m
128 : 1100_0000 0xC0 192
129 : 0001_0100 0x14 20
130 : 0000_0000 0x00 0
131 : 0000_0010 0x02 2
132 : 0000_0000 0x00 0
133 : 0000_0001 0x01 1
134 : 0000_0000 0x00 0
135 : 0000_0000 0x00 0
136 : 0010_1010 0x2A 42 *
137 : 0011_0000 0x30 48 0
138 : 0000_0000 0x00 0
139 : 0000_1010 0x0A 10
140 : 0000_0011 0x03 3
141 : 0110_1110 0x6E 110 n
142 : 0111_0011 0x73 115 s
143 : 0011_0001 0x31 49 1
144 : 0000_0011 0x03 3
145 : 0111_1000 0x78 120 x
146 : 0111_1001 0x79 121 y
147 : 0111_1010 0x7A 122 z
148 : 1100_0000 0xC0 192
149 : 0001_1000 0x18 24
150 : 1100_0000 0xC0 192
151 : 0001_0100 0x14 20
152 : 0000_0000 0x00 0
153 : 0000_0010 0x02 2
154 : 0000_0000 0x00 0
155 : 0000_0001 0x01 1
156 : 0000_0000 0x00 0
157 : 0000_0000 0x00 0
158 : 0010_1010 0x2A 42 *
159 : 0011_0000 0x30 48 0
160 : 0000_0000 0x00 0
161 : 0000_0110 0x06 6
162 : 0000_0011 0x03 3
163 : 0110_1110 0x6E 110 n
164 : 0111_0011 0x73 115 s
165 : 0011_0010 0x32 50 2
166 : 1100_0000 0xC0 192
167 : 0001_0100 0x14 20
168 : 1100_0000 0xC0 192
169 : 0001_0100 0x14 20
170 : 0000_0000 0x00 0
171 : 0000_0010 0x02 2
172 : 0000_0000 0x00 0
173 : 0000_0001 0x01 1
174 : 0000_0000 0x00 0
175 : 0000_0000 0x00 0
176 : 0010_1010 0x2A 42 *
177 : 0011_0000 0x30 48 0
178 : 0000_0000 0x00 0
179 : 0000_0010 0x02 2
180 : 1100_0000 0xC0 192
181 : 0001_0100 0x14 20
182 : 1100_0000 0xC0 192
183 : 1000_1100 0x8C 140
184 : 0000_0000 0x00 0
185 : 0000_0001 0x01 1
186 : 0000_0000 0x00 0
187 : 0000_0001 0x01 1
188 : 0000_0000 0x00 0
189 : 0000_0000 0x00 0
190 : 0010_1010 0x2A 42 *
191 : 0011_0000 0x30 48 0
192 : 0000_0000 0x00 0
193 : 0000_0100 0x04 4
194 : 0000_1100 0x0C 12
195 : 0010_0010 0x22 34 "
196 : 0011_1000 0x38 56 8
197 : 0100_1110 0x4E 78 N
198 : 1100_0000 0xC0 192
199 : 1010_0010 0xA2 162
200 : 0000_0000 0x00 0
201 : 0000_0001 0x01 1
202 : 0000_0000 0x00 0
203 : 0000_0001 0x01 1
204 : 0000_0000 0x00 0
205 : 0000_0000 0x00 0
206 : 0010_1010 0x2A 42 *
207 : 0011_0000 0x30 48 0
208 : 0000_0000 0x00 0
209 : 0000_0100 0x04 4
210 : 0100_1100 0x4C 76 L
211 : 0011_0110 0x36 54 6
212 : 0010_0000 0x20 32
213 : 0000_1010 0x0A 10
214 : 1100_0000 0xC0 192
215 : 0001_0100 0x14 20
216 : 0000_0000 0x00 0
217 : 0000_0001 0x01 1
218 : 0000_0000 0x00 0
219 : 0000_0001 0x01 1
220 : 0000_0000 0x00 0
221 : 0000_0000 0x00 0
222 : 0010_1010 0x2A 42 *
223 : 0011_0000 0x30 48 0
224 : 0000_0000 0x00 0
225 : 0000_0100 0x04 4
226 : 1100_0000 0xC0 192
227 : 1010_1000 0xA8 168
228 : 0110_0011 0x63 99 c
229 : 0110_0100 0x64 100 d
|;
chk_exp(\$response,\$exptext);
## test 78 check known numeric ANY records
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'1.2.3.4.bar.com',T_ANY,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0010 0x02 2
8 : 0000_0000 0x00 0
9 : 0000_0011 0x03 3
10 : 0000_0000 0x00 0
11 : 0000_0011 0x03 3
12 : 0000_0001 0x01 1
13 : 0011_0001 0x31 49 1
14 : 0000_0001 0x01 1
15 : 0011_0010 0x32 50 2
16 : 0000_0001 0x01 1
17 : 0011_0011 0x33 51 3
18 : 0000_0001 0x01 1
19 : 0011_0100 0x34 52 4
20 : 0000_0011 0x03 3
21 : 0110_0010 0x62 98 b
22 : 0110_0001 0x61 97 a
23 : 0111_0010 0x72 114 r
24 : 0000_0011 0x03 3
25 : 0110_0011 0x63 99 c
26 : 0110_1111 0x6F 111 o
27 : 0110_1101 0x6D 109 m
28 : 0000_0000 0x00 0
29 : 0000_0000 0x00 0
30 : 1111_1111 0xFF 255
31 : 0000_0000 0x00 0
32 : 0000_0001 0x01 1
33 : 1100_0000 0xC0 192
34 : 0000_1100 0x0C 12
35 : 0000_0000 0x00 0
36 : 0000_0001 0x01 1
37 : 0000_0000 0x00 0
38 : 0000_0001 0x01 1
39 : 0000_0000 0x00 0
40 : 0000_0000 0x00 0
41 : 0010_1010 0x2A 42 *
42 : 0011_0000 0x30 48 0
43 : 0000_0000 0x00 0
44 : 0000_0100 0x04 4
45 : 0111_1111 0x7F 127
46 : 0000_0000 0x00 0
47 : 0000_0000 0x00 0
48 : 0000_0003 0x03 3
49 : 1100_0000 0xC0 192
50 : 0000_1100 0x0C 12
51 : 0000_0000 0x00 0
52 : 0001_0000 0x10 16
53 : 0000_0000 0x00 0
54 : 0000_0001 0x01 1
55 : 0000_0000 0x00 0
56 : 0000_0000 0x00 0
57 : 0010_1010 0x2A 42 *
58 : 0011_0000 0x30 48 0
59 : 0000_0000 0x00 0
60 : 0101_0011 0x53 83 S
61 : 0101_0010 0x52 82 R
62 : 0100_0101 0x45 69 E
63 : 0111_0010 0x72 114 r
64 : 0111_0010 0x72 114 r
65 : 0110_1111 0x6F 111 o
66 : 0111_0010 0x72 114 r
67 : 0011_1010 0x3A 58 :
68 : 0010_0000 0x20 32
69 : 0111_1001 0x79 121 y
70 : 0110_1111 0x6F 111 o
71 : 0111_0101 0x75 117 u
72 : 0111_0010 0x72 114 r
73 : 0010_0000 0x20 32
74 : 0110_1101 0x6D 109 m
75 : 0110_0001 0x61 97 a
76 : 0110_1001 0x69 105 i
77 : 0110_1100 0x6C 108 l
78 : 0010_0000 0x20 32
79 : 0111_0011 0x73 115 s
80 : 0110_0101 0x65 101 e
81 : 0111_0010 0x72 114 r
82 : 0111_0110 0x76 118 v
83 : 0110_0101 0x65 101 e
84 : 0111_0010 0x72 114 r
85 : 0010_0000 0x20 32
86 : 0110_1000 0x68 104 h
87 : 0110_0001 0x61 97 a
88 : 0111_0011 0x73 115 s
89 : 0010_0000 0x20 32
90 : 0110_0010 0x62 98 b
91 : 0110_0101 0x65 101 e
92 : 0110_0101 0x65 101 e
93 : 0110_1110 0x6E 110 n
94 : 0010_0000 0x20 32
95 : 0100_0010 0x42 66 B
96 : 0100_1100 0x4C 76 L
97 : 0100_0001 0x41 65 A
98 : 0100_0011 0x43 67 C
99 : 0100_1011 0x4B 75 K
100 : 0100_1000 0x48 72 H
101 : 0100_1111 0x4F 79 O
102 : 0100_1100 0x4C 76 L
103 : 0100_0101 0x45 69 E
104 : 0100_0100 0x44 68 D
105 : 0010_1110 0x2E 46 .
106 : 0010_0000 0x20 32
107 : 0101_0011 0x53 83 S
108 : 0110_0101 0x65 101 e
109 : 0110_0101 0x65 101 e
110 : 0010_0000 0x20 32
111 : 0110_1000 0x68 104 h
112 : 0111_0100 0x74 116 t
113 : 0111_0100 0x74 116 t
114 : 0111_0000 0x70 112 p
115 : 0011_1010 0x3A 58 :
116 : 0010_1111 0x2F 47 /
117 : 0010_1111 0x2F 47 /
118 : 0110_0010 0x62 98 b
119 : 0110_1100 0x6C 108 l
120 : 0110_0001 0x61 97 a
121 : 0110_0011 0x63 99 c
122 : 0110_1011 0x6B 107 k
123 : 0110_1000 0x68 104 h
124 : 0110_1111 0x6F 111 o
125 : 0110_1100 0x6C 108 l
126 : 0110_0101 0x65 101 e
127 : 0010_1110 0x2E 46 .
128 : 0111_0011 0x73 115 s
129 : 0111_0000 0x70 112 p
130 : 0110_0001 0x61 97 a
131 : 0110_1101 0x6D 109 m
132 : 0110_0011 0x63 99 c
133 : 0110_0001 0x61 97 a
134 : 0110_1110 0x6E 110 n
135 : 0110_1110 0x6E 110 n
136 : 0110_1001 0x69 105 i
137 : 0110_0010 0x62 98 b
138 : 0110_0001 0x61 97 a
139 : 0110_1100 0x6C 108 l
140 : 0010_1110 0x2E 46 .
141 : 0110_0011 0x63 99 c
142 : 0110_1111 0x6F 111 o
143 : 0110_1101 0x6D 109 m
144 : 1100_0000 0xC0 192
145 : 0001_0100 0x14 20
146 : 0000_0000 0x00 0
147 : 0000_0010 0x02 2
148 : 0000_0000 0x00 0
149 : 0000_0001 0x01 1
150 : 0000_0000 0x00 0
151 : 0000_0000 0x00 0
152 : 0010_1010 0x2A 42 *
153 : 0011_0000 0x30 48 0
154 : 0000_0000 0x00 0
155 : 0000_1010 0x0A 10
156 : 0000_0011 0x03 3
157 : 0110_1110 0x6E 110 n
158 : 0111_0011 0x73 115 s
159 : 0011_0001 0x31 49 1
160 : 0000_0011 0x03 3
161 : 0111_1000 0x78 120 x
162 : 0111_1001 0x79 121 y
163 : 0111_1010 0x7A 122 z
164 : 1100_0000 0xC0 192
165 : 0001_1000 0x18 24
166 : 1100_0000 0xC0 192
167 : 0001_0100 0x14 20
168 : 0000_0000 0x00 0
169 : 0000_0010 0x02 2
170 : 0000_0000 0x00 0
171 : 0000_0001 0x01 1
172 : 0000_0000 0x00 0
173 : 0000_0000 0x00 0
174 : 0010_1010 0x2A 42 *
175 : 0011_0000 0x30 48 0
176 : 0000_0000 0x00 0
177 : 0000_0110 0x06 6
178 : 0000_0011 0x03 3
179 : 0110_1110 0x6E 110 n
180 : 0111_0011 0x73 115 s
181 : 0011_0010 0x32 50 2
182 : 1100_0000 0xC0 192
183 : 0001_0100 0x14 20
184 : 1100_0000 0xC0 192
185 : 0001_0100 0x14 20
186 : 0000_0000 0x00 0
187 : 0000_0010 0x02 2
188 : 0000_0000 0x00 0
189 : 0000_0001 0x01 1
190 : 0000_0000 0x00 0
191 : 0000_0000 0x00 0
192 : 0010_1010 0x2A 42 *
193 : 0011_0000 0x30 48 0
194 : 0000_0000 0x00 0
195 : 0000_0010 0x02 2
196 : 1100_0000 0xC0 192
197 : 0001_0100 0x14 20
198 : 1100_0000 0xC0 192
199 : 1001_1100 0x9C 156
200 : 0000_0000 0x00 0
201 : 0000_0001 0x01 1
202 : 0000_0000 0x00 0
203 : 0000_0001 0x01 1
204 : 0000_0000 0x00 0
205 : 0000_0000 0x00 0
206 : 0010_1010 0x2A 42 *
207 : 0011_0000 0x30 48 0
208 : 0000_0000 0x00 0
209 : 0000_0100 0x04 4
210 : 0000_1100 0x0C 12
211 : 0010_0010 0x22 34 "
212 : 0011_1000 0x38 56 8
213 : 0100_1110 0x4E 78 N
214 : 1100_0000 0xC0 192
215 : 1011_0010 0xB2 178
216 : 0000_0000 0x00 0
217 : 0000_0001 0x01 1
218 : 0000_0000 0x00 0
219 : 0000_0001 0x01 1
220 : 0000_0000 0x00 0
221 : 0000_0000 0x00 0
222 : 0010_1010 0x2A 42 *
223 : 0011_0000 0x30 48 0
224 : 0000_0000 0x00 0
225 : 0000_0100 0x04 4
226 : 0100_1100 0x4C 76 L
227 : 0011_0110 0x36 54 6
228 : 0010_0000 0x20 32
229 : 0000_1010 0x0A 10
230 : 1100_0000 0xC0 192
231 : 0001_0100 0x14 20
232 : 0000_0000 0x00 0
233 : 0000_0001 0x01 1
234 : 0000_0000 0x00 0
235 : 0000_0001 0x01 1
236 : 0000_0000 0x00 0
237 : 0000_0000 0x00 0
238 : 0010_1010 0x2A 42 *
239 : 0011_0000 0x30 48 0
240 : 0000_0000 0x00 0
241 : 0000_0100 0x04 4
242 : 1100_0000 0xC0 192
243 : 1010_1000 0xA8 168
244 : 0110_0011 0x63 99 c
245 : 0110_0100 0x64 100 d
|;
chk_exp(\$response,\$exptext);
## test 79 check invalid numeric record
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'1.2.3.bar.com',T_ANY,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0000 0x00 0
8 : 0000_0000 0x00 0
9 : 0000_0001 0x01 1
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0001 0x01 1
13 : 0011_0001 0x31 49 1
14 : 0000_0001 0x01 1
15 : 0011_0010 0x32 50 2
16 : 0000_0001 0x01 1
17 : 0011_0011 0x33 51 3
18 : 0000_0011 0x03 3
19 : 0110_0010 0x62 98 b
20 : 0110_0001 0x61 97 a
21 : 0111_0010 0x72 114 r
22 : 0000_0011 0x03 3
23 : 0110_0011 0x63 99 c
24 : 0110_1111 0x6F 111 o
25 : 0110_1101 0x6D 109 m
26 : 0000_0000 0x00 0
27 : 0000_0000 0x00 0
28 : 1111_1111 0xFF 255
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 1100_0000 0xC0 192
32 : 0001_0010 0x12 18
33 : 0000_0000 0x00 0
34 : 0000_0110 0x06 6
35 : 0000_0000 0x00 0
36 : 0000_0001 0x01 1
37 : 0000_0000 0x00 0
38 : 0000_0000 0x00 0
39 : 0000_0000 0x00 0
40 : 0000_0000 0x00 0
41 : 0000_0000 0x00 0
42 : 0010_1000 0x28 40 (
43 : 0000_1001 0x09 9
44 : 0110_1100 0x6C 108 l
45 : 0110_1111 0x6F 111 o
46 : 0110_0011 0x63 99 c
47 : 0110_0001 0x61 97 a
48 : 0110_1100 0x6C 108 l
49 : 0110_1000 0x68 104 h
50 : 0110_1111 0x6F 111 o
51 : 0111_0011 0x73 115 s
52 : 0111_0100 0x74 116 t
53 : 1100_0000 0xC0 192
54 : 0001_0010 0x12 18
55 : 0000_0101 0x05 5
56 : 0110_1000 0x68 104 h
57 : 0111_0101 0x75 117 u
58 : 0110_1101 0x6D 109 m
59 : 0110_0001 0x61 97 a
60 : 0110_1110 0x6E 110 n
61 : 1100_0000 0xC0 192
62 : 0001_0010 0x12 18
63 : 0000_0111 0x07 7
64 : 0101_1011 0x5B 91 [
65 : 1100_0011 0xC3 195
66 : 0111_0001 0x71 113 q
67 : 0000_0000 0x00 0
68 : 0000_0000 0x00 0
69 : 1010_1000 0xA8 168
70 : 1100_0000 0xC0 192
71 : 0000_0000 0x00 0
72 : 0000_0000 0x00 0
73 : 0000_1110 0x0E 14
74 : 0001_0000 0x10 16
75 : 0000_0000 0x00 0
76 : 0000_0001 0x01 1
77 : 0101_0001 0x51 81 Q
78 : 1000_0000 0x80 128
79 : 0000_0000 0x00 0
80 : 0000_0000 0x00 0
81 : 0010_1010 0x2A 42 *
82 : 0011_0000 0x30 48 0
|;
chk_exp(\$response,\$exptext);
## test 80 insert alternate text record
print "failed to set known IP 4.3.2.1 in database\nnot "
if $ipt->put('rblcontrib',inet_aton("4.3.2.1"),inet_aton('127.0.0.2')."\0Alternate Error: from another RBL\0");
&ok();
## test 81 check ANY records with dbtext present
# enable promiscious reporting
&{"${TCTEST}::t_cmdline"}('P',1);
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'1.2.3.4.bar.com',T_ANY,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0010 0x02 2
8 : 0000_0000 0x00 0
9 : 0000_0011 0x03 3
10 : 0000_0000 0x00 0
11 : 0000_0011 0x03 3
12 : 0000_0001 0x01 1
13 : 0011_0001 0x31 49 1
14 : 0000_0001 0x01 1
15 : 0011_0010 0x32 50 2
16 : 0000_0001 0x01 1
17 : 0011_0011 0x33 51 3
18 : 0000_0001 0x01 1
19 : 0011_0100 0x34 52 4
20 : 0000_0011 0x03 3
21 : 0110_0010 0x62 98 b
22 : 0110_0001 0x61 97 a
23 : 0111_0010 0x72 114 r
24 : 0000_0011 0x03 3
25 : 0110_0011 0x63 99 c
26 : 0110_1111 0x6F 111 o
27 : 0110_1101 0x6D 109 m
28 : 0000_0000 0x00 0
29 : 0000_0000 0x00 0
30 : 1111_1111 0xFF 255
31 : 0000_0000 0x00 0
32 : 0000_0001 0x01 1
33 : 1100_0000 0xC0 192
34 : 0000_1100 0x0C 12
35 : 0000_0000 0x00 0
36 : 0000_0001 0x01 1
37 : 0000_0000 0x00 0
38 : 0000_0001 0x01 1
39 : 0000_0000 0x00 0
40 : 0000_0000 0x00 0
41 : 0010_1010 0x2A 42 *
42 : 0011_0000 0x30 48 0
43 : 0000_0000 0x00 0
44 : 0000_0100 0x04 4
45 : 0111_1111 0x7F 127
46 : 0000_0000 0x00 0
47 : 0000_0000 0x00 0
48 : 0000_0010 0x02 2
49 : 1100_0000 0xC0 192
50 : 0000_1100 0x0C 12
51 : 0000_0000 0x00 0
52 : 0001_0000 0x10 16
53 : 0000_0000 0x00 0
54 : 0000_0001 0x01 1
55 : 0000_0000 0x00 0
56 : 0000_0000 0x00 0
57 : 0010_1010 0x2A 42 *
58 : 0011_0000 0x30 48 0
59 : 0000_0000 0x00 0
60 : 0010_0010 0x22 34 "
61 : 0010_0001 0x21 33 !
62 : 0100_0001 0x41 65 A
63 : 0110_1100 0x6C 108 l
64 : 0111_0100 0x74 116 t
65 : 0110_0101 0x65 101 e
66 : 0111_0010 0x72 114 r
67 : 0110_1110 0x6E 110 n
68 : 0110_0001 0x61 97 a
69 : 0111_0100 0x74 116 t
70 : 0110_0101 0x65 101 e
71 : 0010_0000 0x20 32
72 : 0100_0101 0x45 69 E
73 : 0111_0010 0x72 114 r
74 : 0111_0010 0x72 114 r
75 : 0110_1111 0x6F 111 o
76 : 0111_0010 0x72 114 r
77 : 0011_1010 0x3A 58 :
78 : 0010_0000 0x20 32
79 : 0110_0110 0x66 102 f
80 : 0111_0010 0x72 114 r
81 : 0110_1111 0x6F 111 o
82 : 0110_1101 0x6D 109 m
83 : 0010_0000 0x20 32
84 : 0110_0001 0x61 97 a
85 : 0110_1110 0x6E 110 n
86 : 0110_1111 0x6F 111 o
87 : 0111_0100 0x74 116 t
88 : 0110_1000 0x68 104 h
89 : 0110_0101 0x65 101 e
90 : 0111_0010 0x72 114 r
91 : 0010_0000 0x20 32
92 : 0101_0010 0x52 82 R
93 : 0100_0010 0x42 66 B
94 : 0100_1100 0x4C 76 L
95 : 1100_0000 0xC0 192
96 : 0001_0100 0x14 20
97 : 0000_0000 0x00 0
98 : 0000_0010 0x02 2
99 : 0000_0000 0x00 0
100 : 0000_0001 0x01 1
101 : 0000_0000 0x00 0
102 : 0000_0000 0x00 0
103 : 0010_1010 0x2A 42 *
104 : 0011_0000 0x30 48 0
105 : 0000_0000 0x00 0
106 : 0000_1010 0x0A 10
107 : 0000_0011 0x03 3
108 : 0110_1110 0x6E 110 n
109 : 0111_0011 0x73 115 s
110 : 0011_0001 0x31 49 1
111 : 0000_0011 0x03 3
112 : 0111_1000 0x78 120 x
113 : 0111_1001 0x79 121 y
114 : 0111_1010 0x7A 122 z
115 : 1100_0000 0xC0 192
116 : 0001_1000 0x18 24
117 : 1100_0000 0xC0 192
118 : 0001_0100 0x14 20
119 : 0000_0000 0x00 0
120 : 0000_0010 0x02 2
121 : 0000_0000 0x00 0
122 : 0000_0001 0x01 1
123 : 0000_0000 0x00 0
124 : 0000_0000 0x00 0
125 : 0010_1010 0x2A 42 *
126 : 0011_0000 0x30 48 0
127 : 0000_0000 0x00 0
128 : 0000_0110 0x06 6
129 : 0000_0011 0x03 3
130 : 0110_1110 0x6E 110 n
131 : 0111_0011 0x73 115 s
132 : 0011_0010 0x32 50 2
133 : 1100_0000 0xC0 192
134 : 0001_0100 0x14 20
135 : 1100_0000 0xC0 192
136 : 0001_0100 0x14 20
137 : 0000_0000 0x00 0
138 : 0000_0010 0x02 2
139 : 0000_0000 0x00 0
140 : 0000_0001 0x01 1
141 : 0000_0000 0x00 0
142 : 0000_0000 0x00 0
143 : 0010_1010 0x2A 42 *
144 : 0011_0000 0x30 48 0
145 : 0000_0000 0x00 0
146 : 0000_0010 0x02 2
147 : 1100_0000 0xC0 192
148 : 0001_0100 0x14 20
149 : 1100_0000 0xC0 192
150 : 0110_1011 0x6B 107 k
151 : 0000_0000 0x00 0
152 : 0000_0001 0x01 1
153 : 0000_0000 0x00 0
154 : 0000_0001 0x01 1
155 : 0000_0000 0x00 0
156 : 0000_0000 0x00 0
157 : 0010_1010 0x2A 42 *
158 : 0011_0000 0x30 48 0
159 : 0000_0000 0x00 0
160 : 0000_0100 0x04 4
161 : 0000_1100 0x0C 12
162 : 0010_0010 0x22 34 "
163 : 0011_1000 0x38 56 8
164 : 0100_1110 0x4E 78 N
165 : 1100_0000 0xC0 192
166 : 1000_0001 0x81 129
167 : 0000_0000 0x00 0
168 : 0000_0001 0x01 1
169 : 0000_0000 0x00 0
170 : 0000_0001 0x01 1
171 : 0000_0000 0x00 0
172 : 0000_0000 0x00 0
173 : 0010_1010 0x2A 42 *
174 : 0011_0000 0x30 48 0
175 : 0000_0000 0x00 0
176 : 0000_0100 0x04 4
177 : 0100_1100 0x4C 76 L
178 : 0011_0110 0x36 54 6
179 : 0010_0000 0x20 32
180 : 0000_1010 0x0A 10
181 : 1100_0000 0xC0 192
182 : 0001_0100 0x14 20
183 : 0000_0000 0x00 0
184 : 0000_0001 0x01 1
185 : 0000_0000 0x00 0
186 : 0000_0001 0x01 1
187 : 0000_0000 0x00 0
188 : 0000_0000 0x00 0
189 : 0010_1010 0x2A 42 *
190 : 0011_0000 0x30 48 0
191 : 0000_0000 0x00 0
192 : 0000_0100 0x04 4
193 : 1100_0000 0xC0 192
194 : 1010_1000 0xA8 168
195 : 0110_0011 0x63 99 c
196 : 0110_0100 0x64 100 d
|;
chk_exp(\$response,\$exptext);
##################################################################
## Everything checked except zone transfer and TCP mode stuff
##################################################################
## test 82, repeat 76 but with 127.0.0.2 response
## check known numeric A record using tcp mode
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'1.2.3.4.bar.com',T_A,C_IN);
($rv,$response) = dialog($buffer,$len,0,1); # read, +tcp
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0001 0x01 1
8 : 0000_0000 0x00 0
9 : 0000_0011 0x03 3
10 : 0000_0000 0x00 0
11 : 0000_0011 0x03 3
12 : 0000_0001 0x01 1
13 : 0011_0001 0x31 49 1
14 : 0000_0001 0x01 1
15 : 0011_0010 0x32 50 2
16 : 0000_0001 0x01 1
17 : 0011_0011 0x33 51 3
18 : 0000_0001 0x01 1
19 : 0011_0100 0x34 52 4
20 : 0000_0011 0x03 3
21 : 0110_0010 0x62 98 b
22 : 0110_0001 0x61 97 a
23 : 0111_0010 0x72 114 r
24 : 0000_0011 0x03 3
25 : 0110_0011 0x63 99 c
26 : 0110_1111 0x6F 111 o
27 : 0110_1101 0x6D 109 m
28 : 0000_0000 0x00 0
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0001 0x01 1
33 : 1100_0000 0xC0 192
34 : 0000_1100 0x0C 12
35 : 0000_0000 0x00 0
36 : 0000_0001 0x01 1
37 : 0000_0000 0x00 0
38 : 0000_0001 0x01 1
39 : 0000_0000 0x00 0
40 : 0000_0000 0x00 0
41 : 0010_1010 0x2A 42 *
42 : 0011_0000 0x30 48 0
43 : 0000_0000 0x00 0
44 : 0000_0100 0x04 4
45 : 0111_1111 0x7F 127
46 : 0000_0000 0x00 0
47 : 0000_0000 0x00 0
48 : 0000_0001 0x01 2
49 : 1100_0000 0xC0 192
50 : 0001_0100 0x14 20
51 : 0000_0000 0x00 0
52 : 0000_0010 0x02 2
53 : 0000_0000 0x00 0
54 : 0000_0001 0x01 1
55 : 0000_0000 0x00 0
56 : 0000_0000 0x00 0
57 : 0010_1010 0x2A 42 *
58 : 0011_0000 0x30 48 0
59 : 0000_0000 0x00 0
60 : 0000_1010 0x0A 10
61 : 0000_0011 0x03 3
62 : 0110_1110 0x6E 110 n
63 : 0111_0011 0x73 115 s
64 : 0011_0001 0x31 49 1
65 : 0000_0011 0x03 3
66 : 0111_1000 0x78 120 x
67 : 0111_1001 0x79 121 y
68 : 0111_1010 0x7A 122 z
69 : 1100_0000 0xC0 192
70 : 0001_1000 0x18 24
71 : 1100_0000 0xC0 192
72 : 0001_0100 0x14 20
73 : 0000_0000 0x00 0
74 : 0000_0010 0x02 2
75 : 0000_0000 0x00 0
76 : 0000_0001 0x01 1
77 : 0000_0000 0x00 0
78 : 0000_0000 0x00 0
79 : 0010_1010 0x2A 42 *
80 : 0011_0000 0x30 48 0
81 : 0000_0000 0x00 0
82 : 0000_0110 0x06 6
83 : 0000_0011 0x03 3
84 : 0110_1110 0x6E 110 n
85 : 0111_0011 0x73 115 s
86 : 0011_0010 0x32 50 2
87 : 1100_0000 0xC0 192
88 : 0001_0100 0x14 20
89 : 1100_0000 0xC0 192
90 : 0001_0100 0x14 20
91 : 0000_0000 0x00 0
92 : 0000_0010 0x02 2
93 : 0000_0000 0x00 0
94 : 0000_0001 0x01 1
95 : 0000_0000 0x00 0
96 : 0000_0000 0x00 0
97 : 0010_1010 0x2A 42 *
98 : 0011_0000 0x30 48 0
99 : 0000_0000 0x00 0
100 : 0000_0010 0x02 2
101 : 1100_0000 0xC0 192
102 : 0001_0100 0x14 20
103 : 1100_0000 0xC0 192
104 : 0011_1101 0x3D 61 =
105 : 0000_0000 0x00 0
106 : 0000_0001 0x01 1
107 : 0000_0000 0x00 0
108 : 0000_0001 0x01 1
109 : 0000_0000 0x00 0
110 : 0000_0000 0x00 0
111 : 0010_1010 0x2A 42 *
112 : 0011_0000 0x30 48 0
113 : 0000_0000 0x00 0
114 : 0000_0100 0x04 4
115 : 0000_1100 0x0C 12
116 : 0010_0010 0x22 34 "
117 : 0011_1000 0x38 56 8
118 : 0100_1110 0x4E 78 N
119 : 1100_0000 0xC0 192
120 : 0101_0011 0x53 83 S
121 : 0000_0000 0x00 0
122 : 0000_0001 0x01 1
123 : 0000_0000 0x00 0
124 : 0000_0001 0x01 1
125 : 0000_0000 0x00 0
126 : 0000_0000 0x00 0
127 : 0010_1010 0x2A 42 *
128 : 0011_0000 0x30 48 0
129 : 0000_0000 0x00 0
130 : 0000_0100 0x04 4
131 : 0100_1100 0x4C 76 L
132 : 0011_0110 0x36 54 6
133 : 0010_0000 0x20 32
134 : 0000_1010 0x0A 10
135 : 1100_0000 0xC0 192
136 : 0001_0100 0x14 20
137 : 0000_0000 0x00 0
138 : 0000_0001 0x01 1
139 : 0000_0000 0x00 0
140 : 0000_0001 0x01 1
141 : 0000_0000 0x00 0
142 : 0000_0000 0x00 0
143 : 0010_1010 0x2A 42 *
144 : 0011_0000 0x30 48 0
145 : 0000_0000 0x00 0
146 : 0000_0100 0x04 4
147 : 1100_0000 0xC0 192
148 : 1010_1000 0xA8 168
149 : 0110_0011 0x63 99 c
150 : 0110_0100 0x64 100 d
|;
chk_exp(\$response,\$exptext);
################################################################
# begin zone transfer testing
################################################################
## NOTES: on $istcp and $tcpmode
# Setting $istcp true forces TCP mode in the ns.c
# $istcp is used as a counter by "dialog", above, to
# determine how many buffers to collect before returning.
# Get it wrong and the routine will fail
#
# $tcpmode tells ns.c how to process the requests (TCP or UDP)
# and specifically how to process AXFR requests so we can test
# all of the program branches.
#
# tcpmode = 0 use UDP
# tcpmode = 1 use TCP, AXFR in one message if possible
# tcpmode = 2 use TCP, AXFR in two messages. The first message contains
# all overhead records, SOA, NS, MX and local host stuff
# The second message contains all numeric A & TXT records
# or as many as will fit.
# tcpmode >= 3 The first record is the same as tcpmode 2. Each additional
# record contains an A + TXT record pair for a particular
# numeric record, with the last record containing only the SOA
## test 83 insert another known IP in database
print "failed to set known IP 86.87.88.89 in database\nnot "
if $ipt->put('tarpit',inet_aton("86.87.88.89"),123455555);
&ok();
## test 84-87
## check known numeric A record using tcp mode
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'bar.com',T_AXFR,C_IN);
#print_buf(\$buffer);
my $istcp = 4; # expect 4 packets
my $tcpmode = 3;
($rv,my @response) = dialog($buffer,$len,0,$istcp,$tcpmode); # read, +tcp
#print_buf(\$response[0]); print "\n";
# test 84
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_1010 0x0A 10
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 1111_1100 0xFC 252
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
25 : 1100_0000 0xC0 192
26 : 0000_1100 0x0C 12
27 : 0000_0000 0x00 0
28 : 0000_0110 0x06 6
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0000 0x00 0
33 : 0000_0000 0x00 0
34 : 0000_0000 0x00 0
35 : 0000_0000 0x00 0
36 : 0010_1000 0x28 40 (
37 : 0000_1001 0x09 9
38 : 0110_1100 0x6C 108 l
39 : 0110_1111 0x6F 111 o
40 : 0110_0011 0x63 99 c
41 : 0110_0001 0x61 97 a
42 : 0110_1100 0x6C 108 l
43 : 0110_1000 0x68 104 h
44 : 0110_1111 0x6F 111 o
45 : 0111_0011 0x73 115 s
46 : 0111_0100 0x74 116 t
47 : 1100_0000 0xC0 192
48 : 0000_1100 0x0C 12
49 : 0000_0101 0x05 5
50 : 0110_1000 0x68 104 h
51 : 0111_0101 0x75 117 u
52 : 0110_1101 0x6D 109 m
53 : 0110_0001 0x61 97 a
54 : 0110_1110 0x6E 110 n
55 : 1100_0000 0xC0 192
56 : 0000_1100 0x0C 12
57 : 0000_0111 0x07 7
58 : 0101_1011 0x5B 91 [
59 : 1100_0011 0xC3 195
60 : 0111_0001 0x71 113 q
61 : 0000_0000 0x00 0
62 : 0000_0000 0x00 0
63 : 1010_1000 0xA8 168
64 : 1100_0000 0xC0 192
65 : 0000_0000 0x00 0
66 : 0000_0000 0x00 0
67 : 0000_1110 0x0E 14
68 : 0001_0000 0x10 16
69 : 0000_0000 0x00 0
70 : 0000_0001 0x01 1
71 : 0101_0001 0x51 81 Q
72 : 1000_0000 0x80 128
73 : 0000_0000 0x00 0
74 : 0000_0000 0x00 0
75 : 0010_1010 0x2A 42 *
76 : 0011_0000 0x30 48 0
77 : 1100_0000 0xC0 192
78 : 0000_1100 0x0C 12
79 : 0000_0000 0x00 0
80 : 0000_0010 0x02 2
81 : 0000_0000 0x00 0
82 : 0000_0001 0x01 1
83 : 0000_0000 0x00 0
84 : 0000_0000 0x00 0
85 : 0010_1010 0x2A 42 *
86 : 0011_0000 0x30 48 0
87 : 0000_0000 0x00 0
88 : 0000_1010 0x0A 10
89 : 0000_0011 0x03 3
90 : 0110_1110 0x6E 110 n
91 : 0111_0011 0x73 115 s
92 : 0011_0001 0x31 49 1
93 : 0000_0011 0x03 3
94 : 0111_1000 0x78 120 x
95 : 0111_1001 0x79 121 y
96 : 0111_1010 0x7A 122 z
97 : 1100_0000 0xC0 192
98 : 0001_0000 0x10 16
99 : 1100_0000 0xC0 192
100 : 0000_1100 0x0C 12
101 : 0000_0000 0x00 0
102 : 0000_0010 0x02 2
103 : 0000_0000 0x00 0
104 : 0000_0001 0x01 1
105 : 0000_0000 0x00 0
106 : 0000_0000 0x00 0
107 : 0010_1010 0x2A 42 *
108 : 0011_0000 0x30 48 0
109 : 0000_0000 0x00 0
110 : 0000_0110 0x06 6
111 : 0000_0011 0x03 3
112 : 0110_1110 0x6E 110 n
113 : 0111_0011 0x73 115 s
114 : 0011_0010 0x32 50 2
115 : 1100_0000 0xC0 192
116 : 0000_1100 0x0C 12
117 : 1100_0000 0xC0 192
118 : 0000_1100 0x0C 12
119 : 0000_0000 0x00 0
120 : 0000_0010 0x02 2
121 : 0000_0000 0x00 0
122 : 0000_0001 0x01 1
123 : 0000_0000 0x00 0
124 : 0000_0000 0x00 0
125 : 0010_1010 0x2A 42 *
126 : 0011_0000 0x30 48 0
127 : 0000_0000 0x00 0
128 : 0000_0010 0x02 2
129 : 1100_0000 0xC0 192
130 : 0000_1100 0x0C 12
131 : 1100_0000 0xC0 192
132 : 0000_1100 0x0C 12
133 : 0000_0000 0x00 0
134 : 0000_1111 0x0F 15
135 : 0000_0000 0x00 0
136 : 0000_0001 0x01 1
137 : 0000_0000 0x00 0
138 : 0000_0000 0x00 0
139 : 0010_1010 0x2A 42 *
140 : 0011_0000 0x30 48 0
141 : 0000_0000 0x00 0
142 : 0000_0100 0x04 4
143 : 0000_0000 0x00 0
144 : 0011_0010 0x32 50 2
145 : 1100_0000 0xC0 192
146 : 0000_1100 0x0C 12
147 : 1100_0000 0xC0 192
148 : 0000_1100 0x0C 12
149 : 0000_0000 0x00 0
150 : 0000_1111 0x0F 15
151 : 0000_0000 0x00 0
152 : 0000_0001 0x01 1
153 : 0000_0000 0x00 0
154 : 0000_0000 0x00 0
155 : 0010_1010 0x2A 42 *
156 : 0011_0000 0x30 48 0
157 : 0000_0000 0x00 0
158 : 0000_0111 0x07 7
159 : 0000_0000 0x00 0
160 : 0000_1010 0x0A 10
161 : 0000_0010 0x02 2
162 : 0110_1101 0x6D 109 m
163 : 0111_1000 0x78 120 x
164 : 1100_0000 0xC0 192
165 : 0000_1100 0x0C 12
166 : 1100_0000 0xC0 192
167 : 0110_1111 0x6F 111 o
168 : 0000_0000 0x00 0
169 : 0000_0001 0x01 1
170 : 0000_0000 0x00 0
171 : 0000_0001 0x01 1
172 : 0000_0000 0x00 0
173 : 0000_0000 0x00 0
174 : 0010_1010 0x2A 42 *
175 : 0011_0000 0x30 48 0
176 : 0000_0000 0x00 0
177 : 0000_0100 0x04 4
178 : 0100_1100 0x4C 76 L
179 : 0011_0110 0x36 54 6
180 : 0010_0000 0x20 32
181 : 0000_1010 0x0A 10
182 : 1100_0000 0xC0 192
183 : 0000_1100 0x0C 12
184 : 0000_0000 0x00 0
185 : 0000_0001 0x01 1
186 : 0000_0000 0x00 0
187 : 0000_0001 0x01 1
188 : 0000_0000 0x00 0
189 : 0000_0000 0x00 0
190 : 0010_1010 0x2A 42 *
191 : 0011_0000 0x30 48 0
192 : 0000_0000 0x00 0
193 : 0000_0100 0x04 4
194 : 0000_0001 0x01 1
195 : 0000_0010 0x02 2
196 : 0000_0011 0x03 3
197 : 0000_0100 0x04 4
198 : 1100_0000 0xC0 192
199 : 1010_0001 0xA1 161
200 : 0000_0000 0x00 0
201 : 0000_0001 0x01 1
202 : 0000_0000 0x00 0
203 : 0000_0001 0x01 1
204 : 0000_0000 0x00 0
205 : 0000_0000 0x00 0
206 : 0010_1010 0x2A 42 *
207 : 0011_0000 0x30 48 0
208 : 0000_0000 0x00 0
209 : 0000_0100 0x04 4
210 : 0110_0101 0x65 101 e
211 : 1100_1010 0xCA 202
212 : 0110_0111 0x67 103 g
213 : 0010_1100 0x2C 44 ,
214 : 1100_0000 0xC0 192
215 : 0000_1100 0x0C 12
216 : 0000_0000 0x00 0
217 : 0000_0001 0x01 1
218 : 0000_0000 0x00 0
219 : 0000_0001 0x01 1
220 : 0000_0000 0x00 0
221 : 0000_0000 0x00 0
222 : 0010_1010 0x2A 42 *
223 : 0011_0000 0x30 48 0
224 : 0000_0000 0x00 0
225 : 0000_0100 0x04 4
226 : 1100_0000 0xC0 192
227 : 1010_1000 0xA8 168
228 : 0110_0011 0x63 99 c
229 : 0110_0100 0x64 100 d
|;
chk_exp(\$response[0],\$exptext);
#print_buf(\$response[1]); print "\n";
# test 85
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0000 0x00 0
6 : 0000_0000 0x00 0
7 : 0000_0010 0x02 2
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0001 0x01 1
13 : 0011_0001 0x31 49 1
14 : 0000_0001 0x01 1
15 : 0011_0010 0x32 50 2
16 : 0000_0001 0x01 1
17 : 0011_0011 0x33 51 3
18 : 0000_0001 0x01 1
19 : 0011_0100 0x34 52 4
20 : 0000_0011 0x03 3
21 : 0110_0010 0x62 98 b
22 : 0110_0001 0x61 97 a
23 : 0111_0010 0x72 114 r
24 : 0000_0011 0x03 3
25 : 0110_0011 0x63 99 c
26 : 0110_1111 0x6F 111 o
27 : 0110_1101 0x6D 109 m
28 : 0000_0000 0x00 0
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0001 0x01 1
33 : 0000_0000 0x00 0
34 : 0000_0000 0x00 0
35 : 0010_1010 0x2A 42 *
36 : 0011_0000 0x30 48 0
37 : 0000_0000 0x00 0
38 : 0000_0100 0x04 4
39 : 0111_1111 0x7F 127
40 : 0000_0000 0x00 0
41 : 0000_0000 0x00 0
42 : 0000_0010 0x02 2
43 : 1100_0000 0xC0 192
44 : 0000_1100 0x0C 12
45 : 0000_0000 0x00 0
46 : 0001_0000 0x10 16
47 : 0000_0000 0x00 0
48 : 0000_0001 0x01 1
49 : 0000_0000 0x00 0
50 : 0000_0000 0x00 0
51 : 0010_1010 0x2A 42 *
52 : 0011_0000 0x30 48 0
53 : 0000_0000 0x00 0
54 : 0010_0010 0x22 34 "
55 : 0010_0001 0x21 33 !
56 : 0100_0001 0x41 65 A
57 : 0110_1100 0x6C 108 l
58 : 0111_0100 0x74 116 t
59 : 0110_0101 0x65 101 e
60 : 0111_0010 0x72 114 r
61 : 0110_1110 0x6E 110 n
62 : 0110_0001 0x61 97 a
63 : 0111_0100 0x74 116 t
64 : 0110_0101 0x65 101 e
65 : 0010_0000 0x20 32
66 : 0100_0101 0x45 69 E
67 : 0111_0010 0x72 114 r
68 : 0111_0010 0x72 114 r
69 : 0110_1111 0x6F 111 o
70 : 0111_0010 0x72 114 r
71 : 0011_1010 0x3A 58 :
72 : 0010_0000 0x20 32
73 : 0110_0110 0x66 102 f
74 : 0111_0010 0x72 114 r
75 : 0110_1111 0x6F 111 o
76 : 0110_1101 0x6D 109 m
77 : 0010_0000 0x20 32
78 : 0110_0001 0x61 97 a
79 : 0110_1110 0x6E 110 n
80 : 0110_1111 0x6F 111 o
81 : 0111_0100 0x74 116 t
82 : 0110_1000 0x68 104 h
83 : 0110_0101 0x65 101 e
84 : 0111_0010 0x72 114 r
85 : 0010_0000 0x20 32
86 : 0101_0010 0x52 82 R
87 : 0100_0010 0x42 66 B
88 : 0100_1100 0x4C 76 L
|;
chk_exp(\$response[1],\$exptext);
#print_buf(\$response[2]); print "\n";
# test 86
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0000 0x00 0
6 : 0000_0000 0x00 0
7 : 0000_0010 0x02 2
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0010 0x02 2
13 : 0011_1000 0x38 56 8
14 : 0011_1001 0x39 57 9
15 : 0000_0010 0x02 2
16 : 0011_1000 0x38 56 8
17 : 0011_1000 0x38 56 8
18 : 0000_0010 0x02 2
19 : 0011_1000 0x38 56 8
20 : 0011_0111 0x37 55 7
21 : 0000_0010 0x02 2
22 : 0011_1000 0x38 56 8
23 : 0011_0110 0x36 54 6
24 : 0000_0011 0x03 3
25 : 0110_0010 0x62 98 b
26 : 0110_0001 0x61 97 a
27 : 0111_0010 0x72 114 r
28 : 0000_0011 0x03 3
29 : 0110_0011 0x63 99 c
30 : 0110_1111 0x6F 111 o
31 : 0110_1101 0x6D 109 m
32 : 0000_0000 0x00 0
33 : 0000_0000 0x00 0
34 : 0000_0001 0x01 1
35 : 0000_0000 0x00 0
36 : 0000_0001 0x01 1
37 : 0000_0000 0x00 0
38 : 0000_0000 0x00 0
39 : 0010_1010 0x2A 42 *
40 : 0011_0000 0x30 48 0
41 : 0000_0000 0x00 0
42 : 0000_0100 0x04 4
43 : 0111_1111 0x7F 127
44 : 0000_0000 0x00 0
45 : 0000_0000 0x00 0
46 : 0000_0003 0x03 3
47 : 1100_0000 0xC0 192
48 : 0000_1100 0x0C 12
49 : 0000_0000 0x00 0
50 : 0001_0000 0x10 16
51 : 0000_0000 0x00 0
52 : 0000_0001 0x01 1
53 : 0000_0000 0x00 0
54 : 0000_0000 0x00 0
55 : 0010_1010 0x2A 42 *
56 : 0011_0000 0x30 48 0
57 : 0000_0000 0x00 0
58 : 0101_0011 0x53 83 S
59 : 0101_0010 0x52 82 R
60 : 0100_0101 0x45 69 E
61 : 0111_0010 0x72 114 r
62 : 0111_0010 0x72 114 r
63 : 0110_1111 0x6F 111 o
64 : 0111_0010 0x72 114 r
65 : 0011_1010 0x3A 58 :
66 : 0010_0000 0x20 32
67 : 0111_1001 0x79 121 y
68 : 0110_1111 0x6F 111 o
69 : 0111_0101 0x75 117 u
70 : 0111_0010 0x72 114 r
71 : 0010_0000 0x20 32
72 : 0110_1101 0x6D 109 m
73 : 0110_0001 0x61 97 a
74 : 0110_1001 0x69 105 i
75 : 0110_1100 0x6C 108 l
76 : 0010_0000 0x20 32
77 : 0111_0011 0x73 115 s
78 : 0110_0101 0x65 101 e
79 : 0111_0010 0x72 114 r
80 : 0111_0110 0x76 118 v
81 : 0110_0101 0x65 101 e
82 : 0111_0010 0x72 114 r
83 : 0010_0000 0x20 32
84 : 0110_1000 0x68 104 h
85 : 0110_0001 0x61 97 a
86 : 0111_0011 0x73 115 s
87 : 0010_0000 0x20 32
88 : 0110_0010 0x62 98 b
89 : 0110_0101 0x65 101 e
90 : 0110_0101 0x65 101 e
91 : 0110_1110 0x6E 110 n
92 : 0010_0000 0x20 32
93 : 0100_0010 0x42 66 B
94 : 0100_1100 0x4C 76 L
95 : 0100_0001 0x41 65 A
96 : 0100_0011 0x43 67 C
97 : 0100_1011 0x4B 75 K
98 : 0100_1000 0x48 72 H
99 : 0100_1111 0x4F 79 O
100 : 0100_1100 0x4C 76 L
101 : 0100_0101 0x45 69 E
102 : 0100_0100 0x44 68 D
103 : 0010_1110 0x2E 46 .
104 : 0010_0000 0x20 32
105 : 0101_0011 0x53 83 S
106 : 0110_0101 0x65 101 e
107 : 0110_0101 0x65 101 e
108 : 0010_0000 0x20 32
109 : 0110_1000 0x68 104 h
110 : 0111_0100 0x74 116 t
111 : 0111_0100 0x74 116 t
112 : 0111_0000 0x70 112 p
113 : 0011_1010 0x3A 58 :
114 : 0010_1111 0x2F 47 /
115 : 0010_1111 0x2F 47 /
116 : 0110_0010 0x62 98 b
117 : 0110_1100 0x6C 108 l
118 : 0110_0001 0x61 97 a
119 : 0110_0011 0x63 99 c
120 : 0110_1011 0x6B 107 k
121 : 0110_1000 0x68 104 h
122 : 0110_1111 0x6F 111 o
123 : 0110_1100 0x6C 108 l
124 : 0110_0101 0x65 101 e
125 : 0010_1110 0x2E 46 .
126 : 0111_0011 0x73 115 s
127 : 0111_0000 0x70 112 p
128 : 0110_0001 0x61 97 a
129 : 0110_1101 0x6D 109 m
130 : 0110_0011 0x63 99 c
131 : 0110_0001 0x61 97 a
132 : 0110_1110 0x6E 110 n
133 : 0110_1110 0x6E 110 n
134 : 0110_1001 0x69 105 i
135 : 0110_0010 0x62 98 b
136 : 0110_0001 0x61 97 a
137 : 0110_1100 0x6C 108 l
138 : 0010_1110 0x2E 46 .
139 : 0110_0011 0x63 99 c
140 : 0110_1111 0x6F 111 o
141 : 0110_1101 0x6D 109 m
|;
chk_exp(\$response[2],\$exptext);
#print_buf(\$response[3]); print "\n";
# test 87
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0000 0x00 0
6 : 0000_0000 0x00 0
7 : 0000_0001 0x01 1
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 0000_0110 0x06 6
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
25 : 0000_0000 0x00 0
26 : 0000_0000 0x00 0
27 : 0000_0000 0x00 0
28 : 0000_0000 0x00 0
29 : 0000_0000 0x00 0
30 : 0010_1000 0x28 40 (
31 : 0000_1001 0x09 9
32 : 0110_1100 0x6C 108 l
33 : 0110_1111 0x6F 111 o
34 : 0110_0011 0x63 99 c
35 : 0110_0001 0x61 97 a
36 : 0110_1100 0x6C 108 l
37 : 0110_1000 0x68 104 h
38 : 0110_1111 0x6F 111 o
39 : 0111_0011 0x73 115 s
40 : 0111_0100 0x74 116 t
41 : 1100_0000 0xC0 192
42 : 0000_1100 0x0C 12
43 : 0000_0101 0x05 5
44 : 0110_1000 0x68 104 h
45 : 0111_0101 0x75 117 u
46 : 0110_1101 0x6D 109 m
47 : 0110_0001 0x61 97 a
48 : 0110_1110 0x6E 110 n
49 : 1100_0000 0xC0 192
50 : 0000_1100 0x0C 12
51 : 0000_0111 0x07 7
52 : 0101_1011 0x5B 91 [
53 : 1100_0011 0xC3 195
54 : 0111_0001 0x71 113 q
55 : 0000_0000 0x00 0
56 : 0000_0000 0x00 0
57 : 1010_1000 0xA8 168
58 : 1100_0000 0xC0 192
59 : 0000_0000 0x00 0
60 : 0000_0000 0x00 0
61 : 0000_1110 0x0E 14
62 : 0001_0000 0x10 16
63 : 0000_0000 0x00 0
64 : 0000_0001 0x01 1
65 : 0101_0001 0x51 81 Q
66 : 1000_0000 0x80 128
67 : 0000_0000 0x00 0
68 : 0000_0000 0x00 0
69 : 0010_1010 0x2A 42 *
70 : 0011_0000 0x30 48 0
|;
chk_exp(\$response[3],\$exptext);
## test 88-89 # test with one split, 2 packets for AXFR
## check known numeric A record using tcp mode
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'bar.com',T_AXFR,C_IN);
#print_buf(\$buffer);
$istcp = 2; # expect 2 packets
$tcpmode = 2;
($rv,@response) = dialog($buffer,$len,0,$istcp,$tcpmode); # read, +tcp
#print_buf(\$response[0]); print "\n";
# test 88
# should be the same as packet[0] above
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_1010 0x0A 10
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 1111_1100 0xFC 252
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
25 : 1100_0000 0xC0 192
26 : 0000_1100 0x0C 12
27 : 0000_0000 0x00 0
28 : 0000_0110 0x06 6
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0000 0x00 0
33 : 0000_0000 0x00 0
34 : 0000_0000 0x00 0
35 : 0000_0000 0x00 0
36 : 0010_1000 0x28 40 (
37 : 0000_1001 0x09 9
38 : 0110_1100 0x6C 108 l
39 : 0110_1111 0x6F 111 o
40 : 0110_0011 0x63 99 c
41 : 0110_0001 0x61 97 a
42 : 0110_1100 0x6C 108 l
43 : 0110_1000 0x68 104 h
44 : 0110_1111 0x6F 111 o
45 : 0111_0011 0x73 115 s
46 : 0111_0100 0x74 116 t
47 : 1100_0000 0xC0 192
48 : 0000_1100 0x0C 12
49 : 0000_0101 0x05 5
50 : 0110_1000 0x68 104 h
51 : 0111_0101 0x75 117 u
52 : 0110_1101 0x6D 109 m
53 : 0110_0001 0x61 97 a
54 : 0110_1110 0x6E 110 n
55 : 1100_0000 0xC0 192
56 : 0000_1100 0x0C 12
57 : 0000_0111 0x07 7
58 : 0101_1011 0x5B 91 [
59 : 1100_0011 0xC3 195
60 : 0111_0001 0x71 113 q
61 : 0000_0000 0x00 0
62 : 0000_0000 0x00 0
63 : 1010_1000 0xA8 168
64 : 1100_0000 0xC0 192
65 : 0000_0000 0x00 0
66 : 0000_0000 0x00 0
67 : 0000_1110 0x0E 14
68 : 0001_0000 0x10 16
69 : 0000_0000 0x00 0
70 : 0000_0001 0x01 1
71 : 0101_0001 0x51 81 Q
72 : 1000_0000 0x80 128
73 : 0000_0000 0x00 0
74 : 0000_0000 0x00 0
75 : 0010_1010 0x2A 42 *
76 : 0011_0000 0x30 48 0
77 : 1100_0000 0xC0 192
78 : 0000_1100 0x0C 12
79 : 0000_0000 0x00 0
80 : 0000_0010 0x02 2
81 : 0000_0000 0x00 0
82 : 0000_0001 0x01 1
83 : 0000_0000 0x00 0
84 : 0000_0000 0x00 0
85 : 0010_1010 0x2A 42 *
86 : 0011_0000 0x30 48 0
87 : 0000_0000 0x00 0
88 : 0000_1010 0x0A 10
89 : 0000_0011 0x03 3
90 : 0110_1110 0x6E 110 n
91 : 0111_0011 0x73 115 s
92 : 0011_0001 0x31 49 1
93 : 0000_0011 0x03 3
94 : 0111_1000 0x78 120 x
95 : 0111_1001 0x79 121 y
96 : 0111_1010 0x7A 122 z
97 : 1100_0000 0xC0 192
98 : 0001_0000 0x10 16
99 : 1100_0000 0xC0 192
100 : 0000_1100 0x0C 12
101 : 0000_0000 0x00 0
102 : 0000_0010 0x02 2
103 : 0000_0000 0x00 0
104 : 0000_0001 0x01 1
105 : 0000_0000 0x00 0
106 : 0000_0000 0x00 0
107 : 0010_1010 0x2A 42 *
108 : 0011_0000 0x30 48 0
109 : 0000_0000 0x00 0
110 : 0000_0110 0x06 6
111 : 0000_0011 0x03 3
112 : 0110_1110 0x6E 110 n
113 : 0111_0011 0x73 115 s
114 : 0011_0010 0x32 50 2
115 : 1100_0000 0xC0 192
116 : 0000_1100 0x0C 12
117 : 1100_0000 0xC0 192
118 : 0000_1100 0x0C 12
119 : 0000_0000 0x00 0
120 : 0000_0010 0x02 2
121 : 0000_0000 0x00 0
122 : 0000_0001 0x01 1
123 : 0000_0000 0x00 0
124 : 0000_0000 0x00 0
125 : 0010_1010 0x2A 42 *
126 : 0011_0000 0x30 48 0
127 : 0000_0000 0x00 0
128 : 0000_0010 0x02 2
129 : 1100_0000 0xC0 192
130 : 0000_1100 0x0C 12
131 : 1100_0000 0xC0 192
132 : 0000_1100 0x0C 12
133 : 0000_0000 0x00 0
134 : 0000_1111 0x0F 15
135 : 0000_0000 0x00 0
136 : 0000_0001 0x01 1
137 : 0000_0000 0x00 0
138 : 0000_0000 0x00 0
139 : 0010_1010 0x2A 42 *
140 : 0011_0000 0x30 48 0
141 : 0000_0000 0x00 0
142 : 0000_0100 0x04 4
143 : 0000_0000 0x00 0
144 : 0011_0010 0x32 50 2
145 : 1100_0000 0xC0 192
146 : 0000_1100 0x0C 12
147 : 1100_0000 0xC0 192
148 : 0000_1100 0x0C 12
149 : 0000_0000 0x00 0
150 : 0000_1111 0x0F 15
151 : 0000_0000 0x00 0
152 : 0000_0001 0x01 1
153 : 0000_0000 0x00 0
154 : 0000_0000 0x00 0
155 : 0010_1010 0x2A 42 *
156 : 0011_0000 0x30 48 0
157 : 0000_0000 0x00 0
158 : 0000_0111 0x07 7
159 : 0000_0000 0x00 0
160 : 0000_1010 0x0A 10
161 : 0000_0010 0x02 2
162 : 0110_1101 0x6D 109 m
163 : 0111_1000 0x78 120 x
164 : 1100_0000 0xC0 192
165 : 0000_1100 0x0C 12
166 : 1100_0000 0xC0 192
167 : 0110_1111 0x6F 111 o
168 : 0000_0000 0x00 0
169 : 0000_0001 0x01 1
170 : 0000_0000 0x00 0
171 : 0000_0001 0x01 1
172 : 0000_0000 0x00 0
173 : 0000_0000 0x00 0
174 : 0010_1010 0x2A 42 *
175 : 0011_0000 0x30 48 0
176 : 0000_0000 0x00 0
177 : 0000_0100 0x04 4
178 : 0100_1100 0x4C 76 L
179 : 0011_0110 0x36 54 6
180 : 0010_0000 0x20 32
181 : 0000_1010 0x0A 10
182 : 1100_0000 0xC0 192
183 : 0000_1100 0x0C 12
184 : 0000_0000 0x00 0
185 : 0000_0001 0x01 1
186 : 0000_0000 0x00 0
187 : 0000_0001 0x01 1
188 : 0000_0000 0x00 0
189 : 0000_0000 0x00 0
190 : 0010_1010 0x2A 42 *
191 : 0011_0000 0x30 48 0
192 : 0000_0000 0x00 0
193 : 0000_0100 0x04 4
194 : 0000_0001 0x01 1
195 : 0000_0010 0x02 2
196 : 0000_0011 0x03 3
197 : 0000_0100 0x04 4
198 : 1100_0000 0xC0 192
199 : 1010_0001 0xA1 161
200 : 0000_0000 0x00 0
201 : 0000_0001 0x01 1
202 : 0000_0000 0x00 0
203 : 0000_0001 0x01 1
204 : 0000_0000 0x00 0
205 : 0000_0000 0x00 0
206 : 0010_1010 0x2A 42 *
207 : 0011_0000 0x30 48 0
208 : 0000_0000 0x00 0
209 : 0000_0100 0x04 4
210 : 0110_0101 0x65 101 e
211 : 1100_1010 0xCA 202
212 : 0110_0111 0x67 103 g
213 : 0010_1100 0x2C 44 ,
214 : 1100_0000 0xC0 192
215 : 0000_1100 0x0C 12
216 : 0000_0000 0x00 0
217 : 0000_0001 0x01 1
218 : 0000_0000 0x00 0
219 : 0000_0001 0x01 1
220 : 0000_0000 0x00 0
221 : 0000_0000 0x00 0
222 : 0010_1010 0x2A 42 *
223 : 0011_0000 0x30 48 0
224 : 0000_0000 0x00 0
225 : 0000_0100 0x04 4
226 : 1100_0000 0xC0 192
227 : 1010_1000 0xA8 168
228 : 0110_0011 0x63 99 c
229 : 0110_0100 0x64 100 d
|;
chk_exp(\$response[0],\$exptext);
#print_buf(\$response[1]); print "\n";
# test 89
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0000 0x00 0
6 : 0000_0000 0x00 0
7 : 0000_0101 0x05 5
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0001 0x01 1
13 : 0011_0001 0x31 49 1
14 : 0000_0001 0x01 1
15 : 0011_0010 0x32 50 2
16 : 0000_0001 0x01 1
17 : 0011_0011 0x33 51 3
18 : 0000_0001 0x01 1
19 : 0011_0100 0x34 52 4
20 : 0000_0011 0x03 3
21 : 0110_0010 0x62 98 b
22 : 0110_0001 0x61 97 a
23 : 0111_0010 0x72 114 r
24 : 0000_0011 0x03 3
25 : 0110_0011 0x63 99 c
26 : 0110_1111 0x6F 111 o
27 : 0110_1101 0x6D 109 m
28 : 0000_0000 0x00 0
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0001 0x01 1
33 : 0000_0000 0x00 0
34 : 0000_0000 0x00 0
35 : 0010_1010 0x2A 42 *
36 : 0011_0000 0x30 48 0
37 : 0000_0000 0x00 0
38 : 0000_0100 0x04 4
39 : 0111_1111 0x7F 127
40 : 0000_0000 0x00 0
41 : 0000_0000 0x00 0
42 : 0000_0010 0x02 2
43 : 1100_0000 0xC0 192
44 : 0000_1100 0x0C 12
45 : 0000_0000 0x00 0
46 : 0001_0000 0x10 16
47 : 0000_0000 0x00 0
48 : 0000_0001 0x01 1
49 : 0000_0000 0x00 0
50 : 0000_0000 0x00 0
51 : 0010_1010 0x2A 42 *
52 : 0011_0000 0x30 48 0
53 : 0000_0000 0x00 0
54 : 0010_0010 0x22 34 "
55 : 0010_0001 0x21 33 !
56 : 0100_0001 0x41 65 A
57 : 0110_1100 0x6C 108 l
58 : 0111_0100 0x74 116 t
59 : 0110_0101 0x65 101 e
60 : 0111_0010 0x72 114 r
61 : 0110_1110 0x6E 110 n
62 : 0110_0001 0x61 97 a
63 : 0111_0100 0x74 116 t
64 : 0110_0101 0x65 101 e
65 : 0010_0000 0x20 32
66 : 0100_0101 0x45 69 E
67 : 0111_0010 0x72 114 r
68 : 0111_0010 0x72 114 r
69 : 0110_1111 0x6F 111 o
70 : 0111_0010 0x72 114 r
71 : 0011_1010 0x3A 58 :
72 : 0010_0000 0x20 32
73 : 0110_0110 0x66 102 f
74 : 0111_0010 0x72 114 r
75 : 0110_1111 0x6F 111 o
76 : 0110_1101 0x6D 109 m
77 : 0010_0000 0x20 32
78 : 0110_0001 0x61 97 a
79 : 0110_1110 0x6E 110 n
80 : 0110_1111 0x6F 111 o
81 : 0111_0100 0x74 116 t
82 : 0110_1000 0x68 104 h
83 : 0110_0101 0x65 101 e
84 : 0111_0010 0x72 114 r
85 : 0010_0000 0x20 32
86 : 0101_0010 0x52 82 R
87 : 0100_0010 0x42 66 B
88 : 0100_1100 0x4C 76 L
89 : 0000_0010 0x02 2
90 : 0011_1000 0x38 56 8
91 : 0011_1001 0x39 57 9
92 : 0000_0010 0x02 2
93 : 0011_1000 0x38 56 8
94 : 0011_1000 0x38 56 8
95 : 0000_0010 0x02 2
96 : 0011_1000 0x38 56 8
97 : 0011_0111 0x37 55 7
98 : 0000_0010 0x02 2
99 : 0011_1000 0x38 56 8
100 : 0011_0110 0x36 54 6
101 : 1100_0000 0xC0 192
102 : 0001_0100 0x14 20
103 : 0000_0000 0x00 0
104 : 0000_0001 0x01 1
105 : 0000_0000 0x00 0
106 : 0000_0001 0x01 1
107 : 0000_0000 0x00 0
108 : 0000_0000 0x00 0
109 : 0010_1010 0x2A 42 *
110 : 0011_0000 0x30 48 0
111 : 0000_0000 0x00 0
112 : 0000_0100 0x04 4
113 : 0111_1111 0x7F 127
114 : 0000_0000 0x00 0
115 : 0000_0000 0x00 0
116 : 0000_0003 0x03 3
117 : 1100_0000 0xC0 192
118 : 0101_1001 0x59 89 Y
119 : 0000_0000 0x00 0
120 : 0001_0000 0x10 16
121 : 0000_0000 0x00 0
122 : 0000_0001 0x01 1
123 : 0000_0000 0x00 0
124 : 0000_0000 0x00 0
125 : 0010_1010 0x2A 42 *
126 : 0011_0000 0x30 48 0
127 : 0000_0000 0x00 0
128 : 0101_0011 0x53 83 S
129 : 0101_0010 0x52 82 R
130 : 0100_0101 0x45 69 E
131 : 0111_0010 0x72 114 r
132 : 0111_0010 0x72 114 r
133 : 0110_1111 0x6F 111 o
134 : 0111_0010 0x72 114 r
135 : 0011_1010 0x3A 58 :
136 : 0010_0000 0x20 32
137 : 0111_1001 0x79 121 y
138 : 0110_1111 0x6F 111 o
139 : 0111_0101 0x75 117 u
140 : 0111_0010 0x72 114 r
141 : 0010_0000 0x20 32
142 : 0110_1101 0x6D 109 m
143 : 0110_0001 0x61 97 a
144 : 0110_1001 0x69 105 i
145 : 0110_1100 0x6C 108 l
146 : 0010_0000 0x20 32
147 : 0111_0011 0x73 115 s
148 : 0110_0101 0x65 101 e
149 : 0111_0010 0x72 114 r
150 : 0111_0110 0x76 118 v
151 : 0110_0101 0x65 101 e
152 : 0111_0010 0x72 114 r
153 : 0010_0000 0x20 32
154 : 0110_1000 0x68 104 h
155 : 0110_0001 0x61 97 a
156 : 0111_0011 0x73 115 s
157 : 0010_0000 0x20 32
158 : 0110_0010 0x62 98 b
159 : 0110_0101 0x65 101 e
160 : 0110_0101 0x65 101 e
161 : 0110_1110 0x6E 110 n
162 : 0010_0000 0x20 32
163 : 0100_0010 0x42 66 B
164 : 0100_1100 0x4C 76 L
165 : 0100_0001 0x41 65 A
166 : 0100_0011 0x43 67 C
167 : 0100_1011 0x4B 75 K
168 : 0100_1000 0x48 72 H
169 : 0100_1111 0x4F 79 O
170 : 0100_1100 0x4C 76 L
171 : 0100_0101 0x45 69 E
172 : 0100_0100 0x44 68 D
173 : 0010_1110 0x2E 46 .
174 : 0010_0000 0x20 32
175 : 0101_0011 0x53 83 S
176 : 0110_0101 0x65 101 e
177 : 0110_0101 0x65 101 e
178 : 0010_0000 0x20 32
179 : 0110_1000 0x68 104 h
180 : 0111_0100 0x74 116 t
181 : 0111_0100 0x74 116 t
182 : 0111_0000 0x70 112 p
183 : 0011_1010 0x3A 58 :
184 : 0010_1111 0x2F 47 /
185 : 0010_1111 0x2F 47 /
186 : 0110_0010 0x62 98 b
187 : 0110_1100 0x6C 108 l
188 : 0110_0001 0x61 97 a
189 : 0110_0011 0x63 99 c
190 : 0110_1011 0x6B 107 k
191 : 0110_1000 0x68 104 h
192 : 0110_1111 0x6F 111 o
193 : 0110_1100 0x6C 108 l
194 : 0110_0101 0x65 101 e
195 : 0010_1110 0x2E 46 .
196 : 0111_0011 0x73 115 s
197 : 0111_0000 0x70 112 p
198 : 0110_0001 0x61 97 a
199 : 0110_1101 0x6D 109 m
200 : 0110_0011 0x63 99 c
201 : 0110_0001 0x61 97 a
202 : 0110_1110 0x6E 110 n
203 : 0110_1110 0x6E 110 n
204 : 0110_1001 0x69 105 i
205 : 0110_0010 0x62 98 b
206 : 0110_0001 0x61 97 a
207 : 0110_1100 0x6C 108 l
208 : 0010_1110 0x2E 46 .
209 : 0110_0011 0x63 99 c
210 : 0110_1111 0x6F 111 o
211 : 0110_1101 0x6D 109 m
212 : 1100_0000 0xC0 192
213 : 0001_0100 0x14 20
214 : 0000_0000 0x00 0
215 : 0000_0110 0x06 6
216 : 0000_0000 0x00 0
217 : 0000_0001 0x01 1
218 : 0000_0000 0x00 0
219 : 0000_0000 0x00 0
220 : 0000_0000 0x00 0
221 : 0000_0000 0x00 0
222 : 0000_0000 0x00 0
223 : 0010_1000 0x28 40 (
224 : 0000_1001 0x09 9
225 : 0110_1100 0x6C 108 l
226 : 0110_1111 0x6F 111 o
227 : 0110_0011 0x63 99 c
228 : 0110_0001 0x61 97 a
229 : 0110_1100 0x6C 108 l
230 : 0110_1000 0x68 104 h
231 : 0110_1111 0x6F 111 o
232 : 0111_0011 0x73 115 s
233 : 0111_0100 0x74 116 t
234 : 1100_0000 0xC0 192
235 : 0001_0100 0x14 20
236 : 0000_0101 0x05 5
237 : 0110_1000 0x68 104 h
238 : 0111_0101 0x75 117 u
239 : 0110_1101 0x6D 109 m
240 : 0110_0001 0x61 97 a
241 : 0110_1110 0x6E 110 n
242 : 1100_0000 0xC0 192
243 : 0001_0100 0x14 20
244 : 0000_0111 0x07 7
245 : 0101_1011 0x5B 91 [
246 : 1100_0011 0xC3 195
247 : 0111_0001 0x71 113 q
248 : 0000_0000 0x00 0
249 : 0000_0000 0x00 0
250 : 1010_1000 0xA8 168
251 : 1100_0000 0xC0 192
252 : 0000_0000 0x00 0
253 : 0000_0000 0x00 0
254 : 0000_1110 0x0E 14
255 : 0001_0000 0x10 16
256 : 0000_0000 0x00 0
257 : 0000_0001 0x01 1
258 : 0101_0001 0x51 81 Q
259 : 1000_0000 0x80 128
260 : 0000_0000 0x00 0
261 : 0000_0000 0x00 0
262 : 0010_1010 0x2A 42 *
263 : 0011_0000 0x30 48 0
|;
chk_exp(\$response[1],\$exptext);
## test 90 # test with single packet for AXFR, normal mode
## check known numeric A record using tcp mode
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'bar.com',T_AXFR,C_IN);
#print_buf(\$buffer);
$istcp = 1; # expect 1 packet
$tcpmode = 1;
($rv,@response) = dialog($buffer,$len,0,$istcp,$tcpmode); # read, +tcp
#print_buf(\$response[0]); print "\n";
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_1111 0x0F 15
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 1111_1100 0xFC 252
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
25 : 1100_0000 0xC0 192
26 : 0000_1100 0x0C 12
27 : 0000_0000 0x00 0
28 : 0000_0110 0x06 6
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0000 0x00 0
33 : 0000_0000 0x00 0
34 : 0000_0000 0x00 0
35 : 0000_0000 0x00 0
36 : 0010_1000 0x28 40 (
37 : 0000_1001 0x09 9
38 : 0110_1100 0x6C 108 l
39 : 0110_1111 0x6F 111 o
40 : 0110_0011 0x63 99 c
41 : 0110_0001 0x61 97 a
42 : 0110_1100 0x6C 108 l
43 : 0110_1000 0x68 104 h
44 : 0110_1111 0x6F 111 o
45 : 0111_0011 0x73 115 s
46 : 0111_0100 0x74 116 t
47 : 1100_0000 0xC0 192
48 : 0000_1100 0x0C 12
49 : 0000_0101 0x05 5
50 : 0110_1000 0x68 104 h
51 : 0111_0101 0x75 117 u
52 : 0110_1101 0x6D 109 m
53 : 0110_0001 0x61 97 a
54 : 0110_1110 0x6E 110 n
55 : 1100_0000 0xC0 192
56 : 0000_1100 0x0C 12
57 : 0000_0111 0x07 7
58 : 0101_1011 0x5B 91 [
59 : 1100_0011 0xC3 195
60 : 0111_0001 0x71 113 q
61 : 0000_0000 0x00 0
62 : 0000_0000 0x00 0
63 : 1010_1000 0xA8 168
64 : 1100_0000 0xC0 192
65 : 0000_0000 0x00 0
66 : 0000_0000 0x00 0
67 : 0000_1110 0x0E 14
68 : 0001_0000 0x10 16
69 : 0000_0000 0x00 0
70 : 0000_0001 0x01 1
71 : 0101_0001 0x51 81 Q
72 : 1000_0000 0x80 128
73 : 0000_0000 0x00 0
74 : 0000_0000 0x00 0
75 : 0010_1010 0x2A 42 *
76 : 0011_0000 0x30 48 0
77 : 1100_0000 0xC0 192
78 : 0000_1100 0x0C 12
79 : 0000_0000 0x00 0
80 : 0000_0010 0x02 2
81 : 0000_0000 0x00 0
82 : 0000_0001 0x01 1
83 : 0000_0000 0x00 0
84 : 0000_0000 0x00 0
85 : 0010_1010 0x2A 42 *
86 : 0011_0000 0x30 48 0
87 : 0000_0000 0x00 0
88 : 0000_1010 0x0A 10
89 : 0000_0011 0x03 3
90 : 0110_1110 0x6E 110 n
91 : 0111_0011 0x73 115 s
92 : 0011_0001 0x31 49 1
93 : 0000_0011 0x03 3
94 : 0111_1000 0x78 120 x
95 : 0111_1001 0x79 121 y
96 : 0111_1010 0x7A 122 z
97 : 1100_0000 0xC0 192
98 : 0001_0000 0x10 16
99 : 1100_0000 0xC0 192
100 : 0000_1100 0x0C 12
101 : 0000_0000 0x00 0
102 : 0000_0010 0x02 2
103 : 0000_0000 0x00 0
104 : 0000_0001 0x01 1
105 : 0000_0000 0x00 0
106 : 0000_0000 0x00 0
107 : 0010_1010 0x2A 42 *
108 : 0011_0000 0x30 48 0
109 : 0000_0000 0x00 0
110 : 0000_0110 0x06 6
111 : 0000_0011 0x03 3
112 : 0110_1110 0x6E 110 n
113 : 0111_0011 0x73 115 s
114 : 0011_0010 0x32 50 2
115 : 1100_0000 0xC0 192
116 : 0000_1100 0x0C 12
117 : 1100_0000 0xC0 192
118 : 0000_1100 0x0C 12
119 : 0000_0000 0x00 0
120 : 0000_0010 0x02 2
121 : 0000_0000 0x00 0
122 : 0000_0001 0x01 1
123 : 0000_0000 0x00 0
124 : 0000_0000 0x00 0
125 : 0010_1010 0x2A 42 *
126 : 0011_0000 0x30 48 0
127 : 0000_0000 0x00 0
128 : 0000_0010 0x02 2
129 : 1100_0000 0xC0 192
130 : 0000_1100 0x0C 12
131 : 1100_0000 0xC0 192
132 : 0000_1100 0x0C 12
133 : 0000_0000 0x00 0
134 : 0000_1111 0x0F 15
135 : 0000_0000 0x00 0
136 : 0000_0001 0x01 1
137 : 0000_0000 0x00 0
138 : 0000_0000 0x00 0
139 : 0010_1010 0x2A 42 *
140 : 0011_0000 0x30 48 0
141 : 0000_0000 0x00 0
142 : 0000_0100 0x04 4
143 : 0000_0000 0x00 0
144 : 0011_0010 0x32 50 2
145 : 1100_0000 0xC0 192
146 : 0000_1100 0x0C 12
147 : 1100_0000 0xC0 192
148 : 0000_1100 0x0C 12
149 : 0000_0000 0x00 0
150 : 0000_1111 0x0F 15
151 : 0000_0000 0x00 0
152 : 0000_0001 0x01 1
153 : 0000_0000 0x00 0
154 : 0000_0000 0x00 0
155 : 0010_1010 0x2A 42 *
156 : 0011_0000 0x30 48 0
157 : 0000_0000 0x00 0
158 : 0000_0111 0x07 7
159 : 0000_0000 0x00 0
160 : 0000_1010 0x0A 10
161 : 0000_0010 0x02 2
162 : 0110_1101 0x6D 109 m
163 : 0111_1000 0x78 120 x
164 : 1100_0000 0xC0 192
165 : 0000_1100 0x0C 12
166 : 1100_0000 0xC0 192
167 : 0110_1111 0x6F 111 o
168 : 0000_0000 0x00 0
169 : 0000_0001 0x01 1
170 : 0000_0000 0x00 0
171 : 0000_0001 0x01 1
172 : 0000_0000 0x00 0
173 : 0000_0000 0x00 0
174 : 0010_1010 0x2A 42 *
175 : 0011_0000 0x30 48 0
176 : 0000_0000 0x00 0
177 : 0000_0100 0x04 4
178 : 0100_1100 0x4C 76 L
179 : 0011_0110 0x36 54 6
180 : 0010_0000 0x20 32
181 : 0000_1010 0x0A 10
182 : 1100_0000 0xC0 192
183 : 0000_1100 0x0C 12
184 : 0000_0000 0x00 0
185 : 0000_0001 0x01 1
186 : 0000_0000 0x00 0
187 : 0000_0001 0x01 1
188 : 0000_0000 0x00 0
189 : 0000_0000 0x00 0
190 : 0010_1010 0x2A 42 *
191 : 0011_0000 0x30 48 0
192 : 0000_0000 0x00 0
193 : 0000_0100 0x04 4
194 : 0000_0001 0x01 1
195 : 0000_0010 0x02 2
196 : 0000_0011 0x03 3
197 : 0000_0100 0x04 4
198 : 1100_0000 0xC0 192
199 : 1010_0001 0xA1 161
200 : 0000_0000 0x00 0
201 : 0000_0001 0x01 1
202 : 0000_0000 0x00 0
203 : 0000_0001 0x01 1
204 : 0000_0000 0x00 0
205 : 0000_0000 0x00 0
206 : 0010_1010 0x2A 42 *
207 : 0011_0000 0x30 48 0
208 : 0000_0000 0x00 0
209 : 0000_0100 0x04 4
210 : 0110_0101 0x65 101 e
211 : 1100_1010 0xCA 202
212 : 0110_0111 0x67 103 g
213 : 0010_1100 0x2C 44 ,
214 : 1100_0000 0xC0 192
215 : 0000_1100 0x0C 12
216 : 0000_0000 0x00 0
217 : 0000_0001 0x01 1
218 : 0000_0000 0x00 0
219 : 0000_0001 0x01 1
220 : 0000_0000 0x00 0
221 : 0000_0000 0x00 0
222 : 0010_1010 0x2A 42 *
223 : 0011_0000 0x30 48 0
224 : 0000_0000 0x00 0
225 : 0000_0100 0x04 4
226 : 1100_0000 0xC0 192
227 : 1010_1000 0xA8 168
228 : 0110_0011 0x63 99 c
229 : 0110_0100 0x64 100 d
230 : 0000_0001 0x01 1
231 : 0011_0001 0x31 49 1
232 : 0000_0001 0x01 1
233 : 0011_0010 0x32 50 2
234 : 0000_0001 0x01 1
235 : 0011_0011 0x33 51 3
236 : 0000_0001 0x01 1
237 : 0011_0100 0x34 52 4
238 : 1100_0000 0xC0 192
239 : 0000_1100 0x0C 12
240 : 0000_0000 0x00 0
241 : 0000_0001 0x01 1
242 : 0000_0000 0x00 0
243 : 0000_0001 0x01 1
244 : 0000_0000 0x00 0
245 : 0000_0000 0x00 0
246 : 0010_1010 0x2A 42 *
247 : 0011_0000 0x30 48 0
248 : 0000_0000 0x00 0
249 : 0000_0100 0x04 4
250 : 0111_1111 0x7F 127
251 : 0000_0000 0x00 0
252 : 0000_0000 0x00 0
253 : 0000_0010 0x02 2
254 : 1100_0000 0xC0 192
255 : 1110_0110 0xE6 230
256 : 0000_0000 0x00 0
257 : 0001_0000 0x10 16
258 : 0000_0000 0x00 0
259 : 0000_0001 0x01 1
260 : 0000_0000 0x00 0
261 : 0000_0000 0x00 0
262 : 0010_1010 0x2A 42 *
263 : 0011_0000 0x30 48 0
264 : 0000_0000 0x00 0
265 : 0010_0010 0x22 34 "
266 : 0010_0001 0x21 33 !
267 : 0100_0001 0x41 65 A
268 : 0110_1100 0x6C 108 l
269 : 0111_0100 0x74 116 t
270 : 0110_0101 0x65 101 e
271 : 0111_0010 0x72 114 r
272 : 0110_1110 0x6E 110 n
273 : 0110_0001 0x61 97 a
274 : 0111_0100 0x74 116 t
275 : 0110_0101 0x65 101 e
276 : 0010_0000 0x20 32
277 : 0100_0101 0x45 69 E
278 : 0111_0010 0x72 114 r
279 : 0111_0010 0x72 114 r
280 : 0110_1111 0x6F 111 o
281 : 0111_0010 0x72 114 r
282 : 0011_1010 0x3A 58 :
283 : 0010_0000 0x20 32
284 : 0110_0110 0x66 102 f
285 : 0111_0010 0x72 114 r
286 : 0110_1111 0x6F 111 o
287 : 0110_1101 0x6D 109 m
288 : 0010_0000 0x20 32
289 : 0110_0001 0x61 97 a
290 : 0110_1110 0x6E 110 n
291 : 0110_1111 0x6F 111 o
292 : 0111_0100 0x74 116 t
293 : 0110_1000 0x68 104 h
294 : 0110_0101 0x65 101 e
295 : 0111_0010 0x72 114 r
296 : 0010_0000 0x20 32
297 : 0101_0010 0x52 82 R
298 : 0100_0010 0x42 66 B
299 : 0100_1100 0x4C 76 L
300 : 0000_0010 0x02 2
301 : 0011_1000 0x38 56 8
302 : 0011_1001 0x39 57 9
303 : 0000_0010 0x02 2
304 : 0011_1000 0x38 56 8
305 : 0011_1000 0x38 56 8
306 : 0000_0010 0x02 2
307 : 0011_1000 0x38 56 8
308 : 0011_0111 0x37 55 7
309 : 0000_0010 0x02 2
310 : 0011_1000 0x38 56 8
311 : 0011_0110 0x36 54 6
312 : 1100_0000 0xC0 192
313 : 0000_1100 0x0C 12
314 : 0000_0000 0x00 0
315 : 0000_0001 0x01 1
316 : 0000_0000 0x00 0
317 : 0000_0001 0x01 1
318 : 0000_0000 0x00 0
319 : 0000_0000 0x00 0
320 : 0010_1010 0x2A 42 *
321 : 0011_0000 0x30 48 0
322 : 0000_0000 0x00 0
323 : 0000_0100 0x04 4
324 : 0111_1111 0x7F 127
325 : 0000_0000 0x00 0
326 : 0000_0000 0x00 0
327 : 0000_0003 0x03 3
328 : 1100_0001 0xC1 193
329 : 0010_1100 0x2C 44 ,
330 : 0000_0000 0x00 0
331 : 0001_0000 0x10 16
332 : 0000_0000 0x00 0
333 : 0000_0001 0x01 1
334 : 0000_0000 0x00 0
335 : 0000_0000 0x00 0
336 : 0010_1010 0x2A 42 *
337 : 0011_0000 0x30 48 0
338 : 0000_0000 0x00 0
339 : 0101_0011 0x53 83 S
340 : 0101_0010 0x52 82 R
341 : 0100_0101 0x45 69 E
342 : 0111_0010 0x72 114 r
343 : 0111_0010 0x72 114 r
344 : 0110_1111 0x6F 111 o
345 : 0111_0010 0x72 114 r
346 : 0011_1010 0x3A 58 :
347 : 0010_0000 0x20 32
348 : 0111_1001 0x79 121 y
349 : 0110_1111 0x6F 111 o
350 : 0111_0101 0x75 117 u
351 : 0111_0010 0x72 114 r
352 : 0010_0000 0x20 32
353 : 0110_1101 0x6D 109 m
354 : 0110_0001 0x61 97 a
355 : 0110_1001 0x69 105 i
356 : 0110_1100 0x6C 108 l
357 : 0010_0000 0x20 32
358 : 0111_0011 0x73 115 s
359 : 0110_0101 0x65 101 e
360 : 0111_0010 0x72 114 r
361 : 0111_0110 0x76 118 v
362 : 0110_0101 0x65 101 e
363 : 0111_0010 0x72 114 r
364 : 0010_0000 0x20 32
365 : 0110_1000 0x68 104 h
366 : 0110_0001 0x61 97 a
367 : 0111_0011 0x73 115 s
368 : 0010_0000 0x20 32
369 : 0110_0010 0x62 98 b
370 : 0110_0101 0x65 101 e
371 : 0110_0101 0x65 101 e
372 : 0110_1110 0x6E 110 n
373 : 0010_0000 0x20 32
374 : 0100_0010 0x42 66 B
375 : 0100_1100 0x4C 76 L
376 : 0100_0001 0x41 65 A
377 : 0100_0011 0x43 67 C
378 : 0100_1011 0x4B 75 K
379 : 0100_1000 0x48 72 H
380 : 0100_1111 0x4F 79 O
381 : 0100_1100 0x4C 76 L
382 : 0100_0101 0x45 69 E
383 : 0100_0100 0x44 68 D
384 : 0010_1110 0x2E 46 .
385 : 0010_0000 0x20 32
386 : 0101_0011 0x53 83 S
387 : 0110_0101 0x65 101 e
388 : 0110_0101 0x65 101 e
389 : 0010_0000 0x20 32
390 : 0110_1000 0x68 104 h
391 : 0111_0100 0x74 116 t
392 : 0111_0100 0x74 116 t
393 : 0111_0000 0x70 112 p
394 : 0011_1010 0x3A 58 :
395 : 0010_1111 0x2F 47 /
396 : 0010_1111 0x2F 47 /
397 : 0110_0010 0x62 98 b
398 : 0110_1100 0x6C 108 l
399 : 0110_0001 0x61 97 a
400 : 0110_0011 0x63 99 c
401 : 0110_1011 0x6B 107 k
402 : 0110_1000 0x68 104 h
403 : 0110_1111 0x6F 111 o
404 : 0110_1100 0x6C 108 l
405 : 0110_0101 0x65 101 e
406 : 0010_1110 0x2E 46 .
407 : 0111_0011 0x73 115 s
408 : 0111_0000 0x70 112 p
409 : 0110_0001 0x61 97 a
410 : 0110_1101 0x6D 109 m
411 : 0110_0011 0x63 99 c
412 : 0110_0001 0x61 97 a
413 : 0110_1110 0x6E 110 n
414 : 0110_1110 0x6E 110 n
415 : 0110_1001 0x69 105 i
416 : 0110_0010 0x62 98 b
417 : 0110_0001 0x61 97 a
418 : 0110_1100 0x6C 108 l
419 : 0010_1110 0x2E 46 .
420 : 0110_0011 0x63 99 c
421 : 0110_1111 0x6F 111 o
422 : 0110_1101 0x6D 109 m
423 : 1100_0000 0xC0 192
424 : 0000_1100 0x0C 12
425 : 0000_0000 0x00 0
426 : 0000_0110 0x06 6
427 : 0000_0000 0x00 0
428 : 0000_0001 0x01 1
429 : 0000_0000 0x00 0
430 : 0000_0000 0x00 0
431 : 0000_0000 0x00 0
432 : 0000_0000 0x00 0
433 : 0000_0000 0x00 0
434 : 0001_1000 0x18 24
435 : 1100_0000 0xC0 192
436 : 0010_0101 0x25 37 %
437 : 1100_0000 0xC0 192
438 : 0011_0001 0x31 49 1
439 : 0000_0111 0x07 7
440 : 0101_1011 0x5B 91 [
441 : 1100_0011 0xC3 195
442 : 0111_0001 0x71 113 q
443 : 0000_0000 0x00 0
444 : 0000_0000 0x00 0
445 : 1010_1000 0xA8 168
446 : 1100_0000 0xC0 192
447 : 0000_0000 0x00 0
448 : 0000_0000 0x00 0
449 : 0000_1110 0x0E 14
450 : 0001_0000 0x10 16
451 : 0000_0000 0x00 0
452 : 0000_0001 0x01 1
453 : 0101_0001 0x51 81 Q
454 : 1000_0000 0x80 128
455 : 0000_0000 0x00 0
456 : 0000_0000 0x00 0
457 : 0010_1010 0x2A 42 *
458 : 0011_0000 0x30 48 0
|;
chk_exp(\$response[0],\$exptext);
## test 91 set AXFR block to 1
print "failed to set local name\nnot "
unless &{"${TCTEST}::t_cmdline"}('b',1);
&ok();
## test 92 check attempted IXFR while blocked, should be refused
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,0,0, # one question
);
$len = $put->Question(\$buffer,$len,'bar.com',T_IXFR,C_IN);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0101 0x05 5
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0000 0x00 0
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 1111_1011 0xFB 251
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
|;
chk_exp(\$response,\$exptext);
## test 93 set AXFR block to 0
print "failed to set local name\nnot "
unless &{"${TCTEST}::t_cmdline"}('b',0);
&ok();
# serial is 123454321 from test 50
## test 94 check IXFR no transfer, should get SOA
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,1,0, # one question, one authority record
);
($len,my @dnptrs) = $put->Question(\$buffer,$len,'bar.com',T_IXFR,C_IN);
($len,@dnptrs) = $put->SOA(\$buffer,$len,\@dnptrs,'bar.com',1234,
'unused.bar.com','notused.bar.com',123454321,1,2,3,4);
#print_buf(\$buffer);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0001 0x01 1
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 1111_1011 0xFB 251
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
25 : 1100_0000 0xC0 192
26 : 0000_1100 0x0C 12
27 : 0000_0000 0x00 0
28 : 0000_0110 0x06 6
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0000 0x00 0
33 : 0000_0000 0x00 0
34 : 0000_0000 0x00 0
35 : 0000_0000 0x00 0
36 : 0010_1000 0x28 40 (
37 : 0000_1001 0x09 9
38 : 0110_1100 0x6C 108 l
39 : 0110_1111 0x6F 111 o
40 : 0110_0011 0x63 99 c
41 : 0110_0001 0x61 97 a
42 : 0110_1100 0x6C 108 l
43 : 0110_1000 0x68 104 h
44 : 0110_1111 0x6F 111 o
45 : 0111_0011 0x73 115 s
46 : 0111_0100 0x74 116 t
47 : 1100_0000 0xC0 192
48 : 0000_1100 0x0C 12
49 : 0000_0101 0x05 5
50 : 0110_1000 0x68 104 h
51 : 0111_0101 0x75 117 u
52 : 0110_1101 0x6D 109 m
53 : 0110_0001 0x61 97 a
54 : 0110_1110 0x6E 110 n
55 : 1100_0000 0xC0 192
56 : 0000_1100 0x0C 12
57 : 0000_0111 0x07 7
58 : 0101_1011 0x5B 91 [
59 : 1100_0011 0xC3 195
60 : 0111_0001 0x71 113 q
61 : 0000_0000 0x00 0
62 : 0000_0000 0x00 0
63 : 1010_1000 0xA8 168
64 : 1100_0000 0xC0 192
65 : 0000_0000 0x00 0
66 : 0000_0000 0x00 0
67 : 0000_1110 0x0E 14
68 : 0001_0000 0x10 16
69 : 0000_0000 0x00 0
70 : 0000_0001 0x01 1
71 : 0101_0001 0x51 81 Q
72 : 1000_0000 0x80 128
73 : 0000_0000 0x00 0
74 : 0000_0000 0x00 0
75 : 0010_1010 0x2A 42 *
76 : 0011_0000 0x30 48 0
|;
chk_exp(\$response,\$exptext);
## test 95 check IXFR no transfer, should get SOA, serial > server serial
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,1,0, # one question, one authority record
);
($len,@dnptrs) = $put->Question(\$buffer,$len,'bar.com',T_IXFR,C_IN);
($len,@dnptrs) = $put->SOA(\$buffer,$len,\@dnptrs,'bar.com',1234,
'unused.bar.com','notused.bar.com',123454322,1,2,3,4);
#print_buf(\$buffer);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
chk_exp(\$response,\$exptext);
## test 96 check IXFR no transfer, should get TC & FORMERR, but UDP
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,1,0, # one question, one authority record
);
($len,@dnptrs) = $put->Question(\$buffer,$len,'bar.com',T_IXFR,C_IN);
($len,@dnptrs) = $put->SOA(\$buffer,$len,\@dnptrs,'bar.com',1234,
'unused.bar.com','notused.bar.com',123454320,1,2,3,4);
#print_buf(\$buffer);
($rv,$response) = dialog($buffer,$len);
#print_head(\$response);
#print_buf(\$buffer);
#print_buf(\$response);
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0110 0x86 134
3 : 0000_0001 0x01 1
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0000 0x00 0
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 1111_1011 0xFB 251
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
|;
chk_exp(\$response,\$exptext);
## test 97 # test with single packet for IXFR, normal mode
## check known numeric A record using tcp mode
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,1,0, # one question
);
($len,@dnptrs) = $put->Question(\$buffer,$len,'bar.com',T_IXFR,C_IN);
($len,@dnptrs) = $put->SOA(\$buffer,$len,\@dnptrs,'bar.com',1234,
'unused.bar.com','notused.bar.com',123454320,1,2,3,4);
#print_buf(\$buffer);
$istcp = 1; # expect 1 packet
$tcpmode = 1;
($rv,@response) = dialog($buffer,$len,0,$istcp,$tcpmode); # read, +tcp
#print_buf(\$response[0]); print "\n";
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_1111 0x0F 15
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 1111_1011 0xFB 251
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
25 : 1100_0000 0xC0 192
26 : 0000_1100 0x0C 12
27 : 0000_0000 0x00 0
28 : 0000_0110 0x06 6
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0000 0x00 0
33 : 0000_0000 0x00 0
34 : 0000_0000 0x00 0
35 : 0000_0000 0x00 0
36 : 0010_1000 0x28 40 (
37 : 0000_1001 0x09 9
38 : 0110_1100 0x6C 108 l
39 : 0110_1111 0x6F 111 o
40 : 0110_0011 0x63 99 c
41 : 0110_0001 0x61 97 a
42 : 0110_1100 0x6C 108 l
43 : 0110_1000 0x68 104 h
44 : 0110_1111 0x6F 111 o
45 : 0111_0011 0x73 115 s
46 : 0111_0100 0x74 116 t
47 : 1100_0000 0xC0 192
48 : 0000_1100 0x0C 12
49 : 0000_0101 0x05 5
50 : 0110_1000 0x68 104 h
51 : 0111_0101 0x75 117 u
52 : 0110_1101 0x6D 109 m
53 : 0110_0001 0x61 97 a
54 : 0110_1110 0x6E 110 n
55 : 1100_0000 0xC0 192
56 : 0000_1100 0x0C 12
57 : 0000_0111 0x07 7
58 : 0101_1011 0x5B 91 [
59 : 1100_0011 0xC3 195
60 : 0111_0001 0x71 113 q
61 : 0000_0000 0x00 0
62 : 0000_0000 0x00 0
63 : 1010_1000 0xA8 168
64 : 1100_0000 0xC0 192
65 : 0000_0000 0x00 0
66 : 0000_0000 0x00 0
67 : 0000_1110 0x0E 14
68 : 0001_0000 0x10 16
69 : 0000_0000 0x00 0
70 : 0000_0001 0x01 1
71 : 0101_0001 0x51 81 Q
72 : 1000_0000 0x80 128
73 : 0000_0000 0x00 0
74 : 0000_0000 0x00 0
75 : 0010_1010 0x2A 42 *
76 : 0011_0000 0x30 48 0
77 : 1100_0000 0xC0 192
78 : 0000_1100 0x0C 12
79 : 0000_0000 0x00 0
80 : 0000_0010 0x02 2
81 : 0000_0000 0x00 0
82 : 0000_0001 0x01 1
83 : 0000_0000 0x00 0
84 : 0000_0000 0x00 0
85 : 0010_1010 0x2A 42 *
86 : 0011_0000 0x30 48 0
87 : 0000_0000 0x00 0
88 : 0000_1010 0x0A 10
89 : 0000_0011 0x03 3
90 : 0110_1110 0x6E 110 n
91 : 0111_0011 0x73 115 s
92 : 0011_0001 0x31 49 1
93 : 0000_0011 0x03 3
94 : 0111_1000 0x78 120 x
95 : 0111_1001 0x79 121 y
96 : 0111_1010 0x7A 122 z
97 : 1100_0000 0xC0 192
98 : 0001_0000 0x10 16
99 : 1100_0000 0xC0 192
100 : 0000_1100 0x0C 12
101 : 0000_0000 0x00 0
102 : 0000_0010 0x02 2
103 : 0000_0000 0x00 0
104 : 0000_0001 0x01 1
105 : 0000_0000 0x00 0
106 : 0000_0000 0x00 0
107 : 0010_1010 0x2A 42 *
108 : 0011_0000 0x30 48 0
109 : 0000_0000 0x00 0
110 : 0000_0110 0x06 6
111 : 0000_0011 0x03 3
112 : 0110_1110 0x6E 110 n
113 : 0111_0011 0x73 115 s
114 : 0011_0010 0x32 50 2
115 : 1100_0000 0xC0 192
116 : 0000_1100 0x0C 12
117 : 1100_0000 0xC0 192
118 : 0000_1100 0x0C 12
119 : 0000_0000 0x00 0
120 : 0000_0010 0x02 2
121 : 0000_0000 0x00 0
122 : 0000_0001 0x01 1
123 : 0000_0000 0x00 0
124 : 0000_0000 0x00 0
125 : 0010_1010 0x2A 42 *
126 : 0011_0000 0x30 48 0
127 : 0000_0000 0x00 0
128 : 0000_0010 0x02 2
129 : 1100_0000 0xC0 192
130 : 0000_1100 0x0C 12
131 : 1100_0000 0xC0 192
132 : 0000_1100 0x0C 12
133 : 0000_0000 0x00 0
134 : 0000_1111 0x0F 15
135 : 0000_0000 0x00 0
136 : 0000_0001 0x01 1
137 : 0000_0000 0x00 0
138 : 0000_0000 0x00 0
139 : 0010_1010 0x2A 42 *
140 : 0011_0000 0x30 48 0
141 : 0000_0000 0x00 0
142 : 0000_0100 0x04 4
143 : 0000_0000 0x00 0
144 : 0011_0010 0x32 50 2
145 : 1100_0000 0xC0 192
146 : 0000_1100 0x0C 12
147 : 1100_0000 0xC0 192
148 : 0000_1100 0x0C 12
149 : 0000_0000 0x00 0
150 : 0000_1111 0x0F 15
151 : 0000_0000 0x00 0
152 : 0000_0001 0x01 1
153 : 0000_0000 0x00 0
154 : 0000_0000 0x00 0
155 : 0010_1010 0x2A 42 *
156 : 0011_0000 0x30 48 0
157 : 0000_0000 0x00 0
158 : 0000_0111 0x07 7
159 : 0000_0000 0x00 0
160 : 0000_1010 0x0A 10
161 : 0000_0010 0x02 2
162 : 0110_1101 0x6D 109 m
163 : 0111_1000 0x78 120 x
164 : 1100_0000 0xC0 192
165 : 0000_1100 0x0C 12
166 : 1100_0000 0xC0 192
167 : 0110_1111 0x6F 111 o
168 : 0000_0000 0x00 0
169 : 0000_0001 0x01 1
170 : 0000_0000 0x00 0
171 : 0000_0001 0x01 1
172 : 0000_0000 0x00 0
173 : 0000_0000 0x00 0
174 : 0010_1010 0x2A 42 *
175 : 0011_0000 0x30 48 0
176 : 0000_0000 0x00 0
177 : 0000_0100 0x04 4
178 : 0100_1100 0x4C 76 L
179 : 0011_0110 0x36 54 6
180 : 0010_0000 0x20 32
181 : 0000_1010 0x0A 10
182 : 1100_0000 0xC0 192
183 : 0000_1100 0x0C 12
184 : 0000_0000 0x00 0
185 : 0000_0001 0x01 1
186 : 0000_0000 0x00 0
187 : 0000_0001 0x01 1
188 : 0000_0000 0x00 0
189 : 0000_0000 0x00 0
190 : 0010_1010 0x2A 42 *
191 : 0011_0000 0x30 48 0
192 : 0000_0000 0x00 0
193 : 0000_0100 0x04 4
194 : 0000_0001 0x01 1
195 : 0000_0010 0x02 2
196 : 0000_0011 0x03 3
197 : 0000_0100 0x04 4
198 : 1100_0000 0xC0 192
199 : 1010_0001 0xA1 161
200 : 0000_0000 0x00 0
201 : 0000_0001 0x01 1
202 : 0000_0000 0x00 0
203 : 0000_0001 0x01 1
204 : 0000_0000 0x00 0
205 : 0000_0000 0x00 0
206 : 0010_1010 0x2A 42 *
207 : 0011_0000 0x30 48 0
208 : 0000_0000 0x00 0
209 : 0000_0100 0x04 4
210 : 0110_0101 0x65 101 e
211 : 1100_1010 0xCA 202
212 : 0110_0111 0x67 103 g
213 : 0010_1100 0x2C 44 ,
214 : 1100_0000 0xC0 192
215 : 0000_1100 0x0C 12
216 : 0000_0000 0x00 0
217 : 0000_0001 0x01 1
218 : 0000_0000 0x00 0
219 : 0000_0001 0x01 1
220 : 0000_0000 0x00 0
221 : 0000_0000 0x00 0
222 : 0010_1010 0x2A 42 *
223 : 0011_0000 0x30 48 0
224 : 0000_0000 0x00 0
225 : 0000_0100 0x04 4
226 : 1100_0000 0xC0 192
227 : 1010_1000 0xA8 168
228 : 0110_0011 0x63 99 c
229 : 0110_0100 0x64 100 d
230 : 0000_0001 0x01 1
231 : 0011_0001 0x31 49 1
232 : 0000_0001 0x01 1
233 : 0011_0010 0x32 50 2
234 : 0000_0001 0x01 1
235 : 0011_0011 0x33 51 3
236 : 0000_0001 0x01 1
237 : 0011_0100 0x34 52 4
238 : 1100_0000 0xC0 192
239 : 0000_1100 0x0C 12
240 : 0000_0000 0x00 0
241 : 0000_0001 0x01 1
242 : 0000_0000 0x00 0
243 : 0000_0001 0x01 1
244 : 0000_0000 0x00 0
245 : 0000_0000 0x00 0
246 : 0010_1010 0x2A 42 *
247 : 0011_0000 0x30 48 0
248 : 0000_0000 0x00 0
249 : 0000_0100 0x04 4
250 : 0111_1111 0x7F 127
251 : 0000_0000 0x00 0
252 : 0000_0000 0x00 0
253 : 0000_0010 0x02 2
254 : 1100_0000 0xC0 192
255 : 1110_0110 0xE6 230
256 : 0000_0000 0x00 0
257 : 0001_0000 0x10 16
258 : 0000_0000 0x00 0
259 : 0000_0001 0x01 1
260 : 0000_0000 0x00 0
261 : 0000_0000 0x00 0
262 : 0010_1010 0x2A 42 *
263 : 0011_0000 0x30 48 0
264 : 0000_0000 0x00 0
265 : 0010_0010 0x22 34 "
266 : 0010_0001 0x21 33 !
267 : 0100_0001 0x41 65 A
268 : 0110_1100 0x6C 108 l
269 : 0111_0100 0x74 116 t
270 : 0110_0101 0x65 101 e
271 : 0111_0010 0x72 114 r
272 : 0110_1110 0x6E 110 n
273 : 0110_0001 0x61 97 a
274 : 0111_0100 0x74 116 t
275 : 0110_0101 0x65 101 e
276 : 0010_0000 0x20 32
277 : 0100_0101 0x45 69 E
278 : 0111_0010 0x72 114 r
279 : 0111_0010 0x72 114 r
280 : 0110_1111 0x6F 111 o
281 : 0111_0010 0x72 114 r
282 : 0011_1010 0x3A 58 :
283 : 0010_0000 0x20 32
284 : 0110_0110 0x66 102 f
285 : 0111_0010 0x72 114 r
286 : 0110_1111 0x6F 111 o
287 : 0110_1101 0x6D 109 m
288 : 0010_0000 0x20 32
289 : 0110_0001 0x61 97 a
290 : 0110_1110 0x6E 110 n
291 : 0110_1111 0x6F 111 o
292 : 0111_0100 0x74 116 t
293 : 0110_1000 0x68 104 h
294 : 0110_0101 0x65 101 e
295 : 0111_0010 0x72 114 r
296 : 0010_0000 0x20 32
297 : 0101_0010 0x52 82 R
298 : 0100_0010 0x42 66 B
299 : 0100_1100 0x4C 76 L
300 : 0000_0010 0x02 2
301 : 0011_1000 0x38 56 8
302 : 0011_1001 0x39 57 9
303 : 0000_0010 0x02 2
304 : 0011_1000 0x38 56 8
305 : 0011_1000 0x38 56 8
306 : 0000_0010 0x02 2
307 : 0011_1000 0x38 56 8
308 : 0011_0111 0x37 55 7
309 : 0000_0010 0x02 2
310 : 0011_1000 0x38 56 8
311 : 0011_0110 0x36 54 6
312 : 1100_0000 0xC0 192
313 : 0000_1100 0x0C 12
314 : 0000_0000 0x00 0
315 : 0000_0001 0x01 1
316 : 0000_0000 0x00 0
317 : 0000_0001 0x01 1
318 : 0000_0000 0x00 0
319 : 0000_0000 0x00 0
320 : 0010_1010 0x2A 42 *
321 : 0011_0000 0x30 48 0
322 : 0000_0000 0x00 0
323 : 0000_0100 0x04 4
324 : 0111_1111 0x7F 127
325 : 0000_0000 0x00 0
326 : 0000_0000 0x00 0
327 : 0000_0003 0x03 3
328 : 1100_0001 0xC1 193
329 : 0010_1100 0x2C 44 ,
330 : 0000_0000 0x00 0
331 : 0001_0000 0x10 16
332 : 0000_0000 0x00 0
333 : 0000_0001 0x01 1
334 : 0000_0000 0x00 0
335 : 0000_0000 0x00 0
336 : 0010_1010 0x2A 42 *
337 : 0011_0000 0x30 48 0
338 : 0000_0000 0x00 0
339 : 0101_0011 0x53 83 S
340 : 0101_0010 0x52 82 R
341 : 0100_0101 0x45 69 E
342 : 0111_0010 0x72 114 r
343 : 0111_0010 0x72 114 r
344 : 0110_1111 0x6F 111 o
345 : 0111_0010 0x72 114 r
346 : 0011_1010 0x3A 58 :
347 : 0010_0000 0x20 32
348 : 0111_1001 0x79 121 y
349 : 0110_1111 0x6F 111 o
350 : 0111_0101 0x75 117 u
351 : 0111_0010 0x72 114 r
352 : 0010_0000 0x20 32
353 : 0110_1101 0x6D 109 m
354 : 0110_0001 0x61 97 a
355 : 0110_1001 0x69 105 i
356 : 0110_1100 0x6C 108 l
357 : 0010_0000 0x20 32
358 : 0111_0011 0x73 115 s
359 : 0110_0101 0x65 101 e
360 : 0111_0010 0x72 114 r
361 : 0111_0110 0x76 118 v
362 : 0110_0101 0x65 101 e
363 : 0111_0010 0x72 114 r
364 : 0010_0000 0x20 32
365 : 0110_1000 0x68 104 h
366 : 0110_0001 0x61 97 a
367 : 0111_0011 0x73 115 s
368 : 0010_0000 0x20 32
369 : 0110_0010 0x62 98 b
370 : 0110_0101 0x65 101 e
371 : 0110_0101 0x65 101 e
372 : 0110_1110 0x6E 110 n
373 : 0010_0000 0x20 32
374 : 0100_0010 0x42 66 B
375 : 0100_1100 0x4C 76 L
376 : 0100_0001 0x41 65 A
377 : 0100_0011 0x43 67 C
378 : 0100_1011 0x4B 75 K
379 : 0100_1000 0x48 72 H
380 : 0100_1111 0x4F 79 O
381 : 0100_1100 0x4C 76 L
382 : 0100_0101 0x45 69 E
383 : 0100_0100 0x44 68 D
384 : 0010_1110 0x2E 46 .
385 : 0010_0000 0x20 32
386 : 0101_0011 0x53 83 S
387 : 0110_0101 0x65 101 e
388 : 0110_0101 0x65 101 e
389 : 0010_0000 0x20 32
390 : 0110_1000 0x68 104 h
391 : 0111_0100 0x74 116 t
392 : 0111_0100 0x74 116 t
393 : 0111_0000 0x70 112 p
394 : 0011_1010 0x3A 58 :
395 : 0010_1111 0x2F 47 /
396 : 0010_1111 0x2F 47 /
397 : 0110_0010 0x62 98 b
398 : 0110_1100 0x6C 108 l
399 : 0110_0001 0x61 97 a
400 : 0110_0011 0x63 99 c
401 : 0110_1011 0x6B 107 k
402 : 0110_1000 0x68 104 h
403 : 0110_1111 0x6F 111 o
404 : 0110_1100 0x6C 108 l
405 : 0110_0101 0x65 101 e
406 : 0010_1110 0x2E 46 .
407 : 0111_0011 0x73 115 s
408 : 0111_0000 0x70 112 p
409 : 0110_0001 0x61 97 a
410 : 0110_1101 0x6D 109 m
411 : 0110_0011 0x63 99 c
412 : 0110_0001 0x61 97 a
413 : 0110_1110 0x6E 110 n
414 : 0110_1110 0x6E 110 n
415 : 0110_1001 0x69 105 i
416 : 0110_0010 0x62 98 b
417 : 0110_0001 0x61 97 a
418 : 0110_1100 0x6C 108 l
419 : 0010_1110 0x2E 46 .
420 : 0110_0011 0x63 99 c
421 : 0110_1111 0x6F 111 o
422 : 0110_1101 0x6D 109 m
423 : 1100_0000 0xC0 192
424 : 0000_1100 0x0C 12
425 : 0000_0000 0x00 0
426 : 0000_0110 0x06 6
427 : 0000_0000 0x00 0
428 : 0000_0001 0x01 1
429 : 0000_0000 0x00 0
430 : 0000_0000 0x00 0
431 : 0000_0000 0x00 0
432 : 0000_0000 0x00 0
433 : 0000_0000 0x00 0
434 : 0001_1000 0x18 24
435 : 1100_0000 0xC0 192
436 : 0010_0101 0x25 37 %
437 : 1100_0000 0xC0 192
438 : 0011_0001 0x31 49 1
439 : 0000_0111 0x07 7
440 : 0101_1011 0x5B 91 [
441 : 1100_0011 0xC3 195
442 : 0111_0001 0x71 113 q
443 : 0000_0000 0x00 0
444 : 0000_0000 0x00 0
445 : 1010_1000 0xA8 168
446 : 1100_0000 0xC0 192
447 : 0000_0000 0x00 0
448 : 0000_0000 0x00 0
449 : 0000_1110 0x0E 14
450 : 0001_0000 0x10 16
451 : 0000_0000 0x00 0
452 : 0000_0001 0x01 1
453 : 0101_0001 0x51 81 Q
454 : 1000_0000 0x80 128
455 : 0000_0000 0x00 0
456 : 0000_0000 0x00 0
457 : 0010_1010 0x2A 42 *
458 : 0011_0000 0x30 48 0
|;
chk_exp(\$response[0],\$exptext);
## test 98 check for append of ip address to TXT record
&{"${TCTEST}::t_set_qflag"}(1); # set question mark flag
## repeat test 97 check known numeric A record using tcp mode
$len = newhead(\$buffer,
12345,
BITS_QUERY, # opcode
1,0,1,0, # one question
);
($len,@dnptrs) = $put->Question(\$buffer,$len,'bar.com',T_IXFR,C_IN);
($len,@dnptrs) = $put->SOA(\$buffer,$len,\@dnptrs,'bar.com',1234,
'unused.bar.com','notused.bar.com',123454320,1,2,3,4);
#print_buf(\$buffer);
$istcp = 1; # expect 1 packet
$tcpmode = 1;
($rv,@response) = dialog($buffer,$len,0,$istcp,$tcpmode); # read, +tcp
#print_buf(\$response[0]); print "\n";
$exptext = q|
0 : 0011_0000 0x30 48 0
1 : 0011_1001 0x39 57 9
2 : 1000_0100 0x84 132
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_1111 0x0F 15
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0011 0x03 3
13 : 0110_0010 0x62 98 b
14 : 0110_0001 0x61 97 a
15 : 0111_0010 0x72 114 r
16 : 0000_0011 0x03 3
17 : 0110_0011 0x63 99 c
18 : 0110_1111 0x6F 111 o
19 : 0110_1101 0x6D 109 m
20 : 0000_0000 0x00 0
21 : 0000_0000 0x00 0
22 : 1111_1011 0xFB 251
23 : 0000_0000 0x00 0
24 : 0000_0001 0x01 1
25 : 1100_0000 0xC0 192
26 : 0000_1100 0x0C 12
27 : 0000_0000 0x00 0
28 : 0000_0110 0x06 6
29 : 0000_0000 0x00 0
30 : 0000_0001 0x01 1
31 : 0000_0000 0x00 0
32 : 0000_0000 0x00 0
33 : 0000_0000 0x00 0
34 : 0000_0000 0x00 0
35 : 0000_0000 0x00 0
36 : 0010_1000 0x28 40 (
37 : 0000_1001 0x09 9
38 : 0110_1100 0x6C 108 l
39 : 0110_1111 0x6F 111 o
40 : 0110_0011 0x63 99 c
41 : 0110_0001 0x61 97 a
42 : 0110_1100 0x6C 108 l
43 : 0110_1000 0x68 104 h
44 : 0110_1111 0x6F 111 o
45 : 0111_0011 0x73 115 s
46 : 0111_0100 0x74 116 t
47 : 1100_0000 0xC0 192
48 : 0000_1100 0x0C 12
49 : 0000_0101 0x05 5
50 : 0110_1000 0x68 104 h
51 : 0111_0101 0x75 117 u
52 : 0110_1101 0x6D 109 m
53 : 0110_0001 0x61 97 a
54 : 0110_1110 0x6E 110 n
55 : 1100_0000 0xC0 192
56 : 0000_1100 0x0C 12
57 : 0000_0111 0x07 7
58 : 0101_1011 0x5B 91 [
59 : 1100_0011 0xC3 195
60 : 0111_0001 0x71 113 q
61 : 0000_0000 0x00 0
62 : 0000_0000 0x00 0
63 : 1010_1000 0xA8 168
64 : 1100_0000 0xC0 192
65 : 0000_0000 0x00 0
66 : 0000_0000 0x00 0
67 : 0000_1110 0x0E 14
68 : 0001_0000 0x10 16
69 : 0000_0000 0x00 0
70 : 0000_0001 0x01 1
71 : 0101_0001 0x51 81 Q
72 : 1000_0000 0x80 128
73 : 0000_0000 0x00 0
74 : 0000_0000 0x00 0
75 : 0010_1010 0x2A 42 *
76 : 0011_0000 0x30 48 0
77 : 1100_0000 0xC0 192
78 : 0000_1100 0x0C 12
79 : 0000_0000 0x00 0
80 : 0000_0010 0x02 2
81 : 0000_0000 0x00 0
82 : 0000_0001 0x01 1
83 : 0000_0000 0x00 0
84 : 0000_0000 0x00 0
85 : 0010_1010 0x2A 42 *
86 : 0011_0000 0x30 48 0
87 : 0000_0000 0x00 0
88 : 0000_1010 0x0A 10
89 : 0000_0011 0x03 3
90 : 0110_1110 0x6E 110 n
91 : 0111_0011 0x73 115 s
92 : 0011_0001 0x31 49 1
93 : 0000_0011 0x03 3
94 : 0111_1000 0x78 120 x
95 : 0111_1001 0x79 121 y
96 : 0111_1010 0x7A 122 z
97 : 1100_0000 0xC0 192
98 : 0001_0000 0x10 16
99 : 1100_0000 0xC0 192
100 : 0000_1100 0x0C 12
101 : 0000_0000 0x00 0
102 : 0000_0010 0x02 2
103 : 0000_0000 0x00 0
104 : 0000_0001 0x01 1
105 : 0000_0000 0x00 0
106 : 0000_0000 0x00 0
107 : 0010_1010 0x2A 42 *
108 : 0011_0000 0x30 48 0
109 : 0000_0000 0x00 0
110 : 0000_0110 0x06 6
111 : 0000_0011 0x03 3
112 : 0110_1110 0x6E 110 n
113 : 0111_0011 0x73 115 s
114 : 0011_0010 0x32 50 2
115 : 1100_0000 0xC0 192
116 : 0000_1100 0x0C 12
117 : 1100_0000 0xC0 192
118 : 0000_1100 0x0C 12
119 : 0000_0000 0x00 0
120 : 0000_0010 0x02 2
121 : 0000_0000 0x00 0
122 : 0000_0001 0x01 1
123 : 0000_0000 0x00 0
124 : 0000_0000 0x00 0
125 : 0010_1010 0x2A 42 *
126 : 0011_0000 0x30 48 0
127 : 0000_0000 0x00 0
128 : 0000_0010 0x02 2
129 : 1100_0000 0xC0 192
130 : 0000_1100 0x0C 12
131 : 1100_0000 0xC0 192
132 : 0000_1100 0x0C 12
133 : 0000_0000 0x00 0
134 : 0000_1111 0x0F 15
135 : 0000_0000 0x00 0
136 : 0000_0001 0x01 1
137 : 0000_0000 0x00 0
138 : 0000_0000 0x00 0
139 : 0010_1010 0x2A 42 *
140 : 0011_0000 0x30 48 0
141 : 0000_0000 0x00 0
142 : 0000_0100 0x04 4
143 : 0000_0000 0x00 0
144 : 0011_0010 0x32 50 2
145 : 1100_0000 0xC0 192
146 : 0000_1100 0x0C 12
147 : 1100_0000 0xC0 192
148 : 0000_1100 0x0C 12
149 : 0000_0000 0x00 0
150 : 0000_1111 0x0F 15
151 : 0000_0000 0x00 0
152 : 0000_0001 0x01 1
153 : 0000_0000 0x00 0
154 : 0000_0000 0x00 0
155 : 0010_1010 0x2A 42 *
156 : 0011_0000 0x30 48 0
157 : 0000_0000 0x00 0
158 : 0000_0111 0x07 7
159 : 0000_0000 0x00 0
160 : 0000_1010 0x0A 10
161 : 0000_0010 0x02 2
162 : 0110_1101 0x6D 109 m
163 : 0111_1000 0x78 120 x
164 : 1100_0000 0xC0 192
165 : 0000_1100 0x0C 12
166 : 1100_0000 0xC0 192
167 : 0110_1111 0x6F 111 o
168 : 0000_0000 0x00 0
169 : 0000_0001 0x01 1
170 : 0000_0000 0x00 0
171 : 0000_0001 0x01 1
172 : 0000_0000 0x00 0
173 : 0000_0000 0x00 0
174 : 0010_1010 0x2A 42 *
175 : 0011_0000 0x30 48 0
176 : 0000_0000 0x00 0
177 : 0000_0100 0x04 4
178 : 0100_1100 0x4C 76 L
179 : 0011_0110 0x36 54 6
180 : 0010_0000 0x20 32
181 : 0000_1010 0x0A 10
182 : 1100_0000 0xC0 192
183 : 0000_1100 0x0C 12
184 : 0000_0000 0x00 0
185 : 0000_0001 0x01 1
186 : 0000_0000 0x00 0
187 : 0000_0001 0x01 1
188 : 0000_0000 0x00 0
189 : 0000_0000 0x00 0
190 : 0010_1010 0x2A 42 *
191 : 0011_0000 0x30 48 0
192 : 0000_0000 0x00 0
193 : 0000_0100 0x04 4
194 : 0000_0001 0x01 1
195 : 0000_0010 0x02 2
196 : 0000_0011 0x03 3
197 : 0000_0100 0x04 4
198 : 1100_0000 0xC0 192
199 : 1010_0001 0xA1 161
200 : 0000_0000 0x00 0
201 : 0000_0001 0x01 1
202 : 0000_0000 0x00 0
203 : 0000_0001 0x01 1
204 : 0000_0000 0x00 0
205 : 0000_0000 0x00 0
206 : 0010_1010 0x2A 42 *
207 : 0011_0000 0x30 48 0
208 : 0000_0000 0x00 0
209 : 0000_0100 0x04 4
210 : 0110_0101 0x65 101 e
211 : 1100_1010 0xCA 202
212 : 0110_0111 0x67 103 g
213 : 0010_1100 0x2C 44 ,
214 : 1100_0000 0xC0 192
215 : 0000_1100 0x0C 12
216 : 0000_0000 0x00 0
217 : 0000_0001 0x01 1
218 : 0000_0000 0x00 0
219 : 0000_0001 0x01 1
220 : 0000_0000 0x00 0
221 : 0000_0000 0x00 0
222 : 0010_1010 0x2A 42 *
223 : 0011_0000 0x30 48 0
224 : 0000_0000 0x00 0
225 : 0000_0100 0x04 4
226 : 1100_0000 0xC0 192
227 : 1010_1000 0xA8 168
228 : 0110_0011 0x63 99 c
229 : 0110_0100 0x64 100 d
230 : 0000_0001 0x01 1
231 : 0011_0001 0x31 49 1
232 : 0000_0001 0x01 1
233 : 0011_0010 0x32 50 2
234 : 0000_0001 0x01 1
235 : 0011_0011 0x33 51 3
236 : 0000_0001 0x01 1
237 : 0011_0100 0x34 52 4
238 : 1100_0000 0xC0 192
239 : 0000_1100 0x0C 12
240 : 0000_0000 0x00 0
241 : 0000_0001 0x01 1
242 : 0000_0000 0x00 0
243 : 0000_0001 0x01 1
244 : 0000_0000 0x00 0
245 : 0000_0000 0x00 0
246 : 0010_1010 0x2A 42 *
247 : 0011_0000 0x30 48 0
248 : 0000_0000 0x00 0
249 : 0000_0100 0x04 4
250 : 0111_1111 0x7F 127
251 : 0000_0000 0x00 0
252 : 0000_0000 0x00 0
253 : 0000_0010 0x02 2
254 : 1100_0000 0xC0 192
255 : 1110_0110 0xE6 230
256 : 0000_0000 0x00 0
257 : 0001_0000 0x10 16
258 : 0000_0000 0x00 0
259 : 0000_0001 0x01 1
260 : 0000_0000 0x00 0
261 : 0000_0000 0x00 0
262 : 0010_1010 0x2A 42 *
263 : 0011_0000 0x30 48 0
264 : 0000_0000 0x00 0
265 : 0010_0010 0x22 34 "
266 : 0010_0001 0x21 33 !
267 : 0100_0001 0x41 65 A
268 : 0110_1100 0x6C 108 l
269 : 0111_0100 0x74 116 t
270 : 0110_0101 0x65 101 e
271 : 0111_0010 0x72 114 r
272 : 0110_1110 0x6E 110 n
273 : 0110_0001 0x61 97 a
274 : 0111_0100 0x74 116 t
275 : 0110_0101 0x65 101 e
276 : 0010_0000 0x20 32
277 : 0100_0101 0x45 69 E
278 : 0111_0010 0x72 114 r
279 : 0111_0010 0x72 114 r
280 : 0110_1111 0x6F 111 o
281 : 0111_0010 0x72 114 r
282 : 0011_1010 0x3A 58 :
283 : 0010_0000 0x20 32
284 : 0110_0110 0x66 102 f
285 : 0111_0010 0x72 114 r
286 : 0110_1111 0x6F 111 o
287 : 0110_1101 0x6D 109 m
288 : 0010_0000 0x20 32
289 : 0110_0001 0x61 97 a
290 : 0110_1110 0x6E 110 n
291 : 0110_1111 0x6F 111 o
292 : 0111_0100 0x74 116 t
293 : 0110_1000 0x68 104 h
294 : 0110_0101 0x65 101 e
295 : 0111_0010 0x72 114 r
296 : 0010_0000 0x20 32
297 : 0101_0010 0x52 82 R
298 : 0100_0010 0x42 66 B
299 : 0100_1100 0x4C 76 L
300 : 0000_0010 0x02 2
301 : 0011_1000 0x38 56 8
302 : 0011_1001 0x39 57 9
303 : 0000_0010 0x02 2
304 : 0011_1000 0x38 56 8
305 : 0011_1000 0x38 56 8
306 : 0000_0010 0x02 2
307 : 0011_1000 0x38 56 8
308 : 0011_0111 0x37 55 7
309 : 0000_0010 0x02 2
310 : 0011_1000 0x38 56 8
311 : 0011_0110 0x36 54 6
312 : 1100_0000 0xC0 192
313 : 0000_1100 0x0C 12
314 : 0000_0000 0x00 0
315 : 0000_0001 0x01 1
316 : 0000_0000 0x00 0
317 : 0000_0001 0x01 1
318 : 0000_0000 0x00 0
319 : 0000_0000 0x00 0
320 : 0010_1010 0x2A 42 *
321 : 0011_0000 0x30 48 0
322 : 0000_0000 0x00 0
323 : 0000_0100 0x04 4
324 : 0111_1111 0x7F 127
325 : 0000_0000 0x00 0
326 : 0000_0000 0x00 0
327 : 0000_0011 0x03 3
328 : 1100_0001 0xC1 193
329 : 0010_1100 0x2C 44 ,
330 : 0000_0000 0x00 0
331 : 0001_0000 0x10 16
332 : 0000_0000 0x00 0
333 : 0000_0001 0x01 1
334 : 0000_0000 0x00 0
335 : 0000_0000 0x00 0
336 : 0010_1010 0x2A 42 *
337 : 0011_0000 0x30 48 0
338 : 0000_0000 0x00 0
339 : 0101_1110 0x5E 94 ^
340 : 0101_1101 0x5D 93 ]
341 : 0100_0101 0x45 69 E
342 : 0111_0010 0x72 114 r
343 : 0111_0010 0x72 114 r
344 : 0110_1111 0x6F 111 o
345 : 0111_0010 0x72 114 r
346 : 0011_1010 0x3A 58 :
347 : 0010_0000 0x20 32
348 : 0111_1001 0x79 121 y
349 : 0110_1111 0x6F 111 o
350 : 0111_0101 0x75 117 u
351 : 0111_0010 0x72 114 r
352 : 0010_0000 0x20 32
353 : 0110_1101 0x6D 109 m
354 : 0110_0001 0x61 97 a
355 : 0110_1001 0x69 105 i
356 : 0110_1100 0x6C 108 l
357 : 0010_0000 0x20 32
358 : 0111_0011 0x73 115 s
359 : 0110_0101 0x65 101 e
360 : 0111_0010 0x72 114 r
361 : 0111_0110 0x76 118 v
362 : 0110_0101 0x65 101 e
363 : 0111_0010 0x72 114 r
364 : 0010_0000 0x20 32
365 : 0110_1000 0x68 104 h
366 : 0110_0001 0x61 97 a
367 : 0111_0011 0x73 115 s
368 : 0010_0000 0x20 32
369 : 0110_0010 0x62 98 b
370 : 0110_0101 0x65 101 e
371 : 0110_0101 0x65 101 e
372 : 0110_1110 0x6E 110 n
373 : 0010_0000 0x20 32
374 : 0100_0010 0x42 66 B
375 : 0100_1100 0x4C 76 L
376 : 0100_0001 0x41 65 A
377 : 0100_0011 0x43 67 C
378 : 0100_1011 0x4B 75 K
379 : 0100_1000 0x48 72 H
380 : 0100_1111 0x4F 79 O
381 : 0100_1100 0x4C 76 L
382 : 0100_0101 0x45 69 E
383 : 0100_0100 0x44 68 D
384 : 0010_1110 0x2E 46 .
385 : 0010_0000 0x20 32
386 : 0101_0011 0x53 83 S
387 : 0110_0101 0x65 101 e
388 : 0110_0101 0x65 101 e
389 : 0010_0000 0x20 32
390 : 0110_1000 0x68 104 h
391 : 0111_0100 0x74 116 t
392 : 0111_0100 0x74 116 t
393 : 0111_0000 0x70 112 p
394 : 0011_1010 0x3A 58 :
395 : 0010_1111 0x2F 47 /
396 : 0010_1111 0x2F 47 /
397 : 0110_0010 0x62 98 b
398 : 0110_1100 0x6C 108 l
399 : 0110_0001 0x61 97 a
400 : 0110_0011 0x63 99 c
401 : 0110_1011 0x6B 107 k
402 : 0110_1000 0x68 104 h
403 : 0110_1111 0x6F 111 o
404 : 0110_1100 0x6C 108 l
405 : 0110_0101 0x65 101 e
406 : 0010_1110 0x2E 46 .
407 : 0111_0011 0x73 115 s
408 : 0111_0000 0x70 112 p
409 : 0110_0001 0x61 97 a
410 : 0110_1101 0x6D 109 m
411 : 0110_0011 0x63 99 c
412 : 0110_0001 0x61 97 a
413 : 0110_1110 0x6E 110 n
414 : 0110_1110 0x6E 110 n
415 : 0110_1001 0x69 105 i
416 : 0110_0010 0x62 98 b
417 : 0110_0001 0x61 97 a
418 : 0110_1100 0x6C 108 l
419 : 0010_1110 0x2E 46 .
420 : 0110_0011 0x63 99 c
421 : 0110_1111 0x6F 111 o
422 : 0110_1101 0x6D 109 m
423 : 0011_1000 0x38 56 8
424 : 0011_0110 0x36 54 6
425 : 0010_1110 0x2E 46 .
426 : 0011_1000 0x38 56 8
427 : 0011_0111 0x37 55 7
428 : 0010_1110 0x2E 46 .
429 : 0011_1000 0x38 56 8
430 : 0011_1000 0x38 56 8
431 : 0010_1110 0x2E 46 .
432 : 0011_1000 0x38 56 8
433 : 0011_1001 0x39 57 9
434 : 1100_0000 0xC0 192
435 : 0000_1100 0x0C 12
436 : 0000_0000 0x00 0
437 : 0000_0110 0x06 6
438 : 0000_0000 0x00 0
439 : 0000_0001 0x01 1
440 : 0000_0000 0x00 0
441 : 0000_0000 0x00 0
442 : 0000_0000 0x00 0
443 : 0000_0000 0x00 0
444 : 0000_0000 0x00 0
445 : 0001_1000 0x18 24
446 : 1100_0000 0xC0 192
447 : 0010_0101 0x25 37 %
448 : 1100_0000 0xC0 192
449 : 0011_0001 0x31 49 1
450 : 0000_0111 0x07 7
451 : 0101_1011 0x5B 91 [
452 : 1100_0011 0xC3 195
453 : 0111_0001 0x71 113 q
454 : 0000_0000 0x00 0
455 : 0000_0000 0x00 0
456 : 1010_1000 0xA8 168
457 : 1100_0000 0xC0 192
458 : 0000_0000 0x00 0
459 : 0000_0000 0x00 0
460 : 0000_1110 0x0E 14
461 : 0001_0000 0x10 16
462 : 0000_0000 0x00 0
463 : 0000_0001 0x01 1
464 : 0101_0001 0x51 81 Q
465 : 1000_0000 0x80 128
466 : 0000_0000 0x00 0
467 : 0000_0000 0x00 0
468 : 0010_1010 0x2A 42 *
469 : 0011_0000 0x30 48 0
|;
chk_exp(\$response[0],\$exptext);
$ipt->closedb;
&{"${TCTEST}::t_close"}();