bin/tests/system/xfer/ans5/badkeydata
bin/tests/system/xfer/ans5/badmessageid
bin/tests/system/xfer/ans5/goodaxfr
+ bin/tests/system/xfer/ans5/ixfrnotimp
bin/tests/system/xfer/ans5/partial
bin/tests/system/xfer/ans5/soamismatch
bin/tests/system/xfer/ans5/unknownkey
# pattern, only this data will be signed. Currently, this is only
# done for TCP.
#
+# /pattern NOTIMP <key> <key_data>/
+# /pattern NOTIMP/
+#
+# Return a NOTIMP response
+#
# /pattern bad-id <key> <key_data>/
# /pattern bad-id/
#
if ("$qname $qtype" =~ /$dbtype/) {
$count_these++;
my $a;
+ my $done = 0;
foreach $a (@{$r->{answer}}) {
$packet->push("answer", $a);
}
+ if (defined($key_name) && $key_name eq "NOTIMP") {
+ $packet->header->rcode('NOTIMP');
+ $key_name = $key_data;
+ ($key_data, $tname) = split(/ /,$tname);
+ $done = 1;
+ }
if (defined($key_name) && $key_name eq "bad-id") {
$packet->header->id(($id+50)%0xffff);
$key_name = $key_data;
- ($key_data, $tname) = split(/ /,$tname)
+ ($key_data, $tname) = split(/ /,$tname);
}
if (defined($key_name) && defined($key_data)) {
my $tsig;
}
#$packet->print;
push(@results,$packet->data);
+ last if ($done);
if ($tname eq "") {
$tname = $qname;
}
--- /dev/null
+/SOA tsig_key LSAnCU+Z/
+nil. 300 SOA ns.nil. root.nil. 2 300 300 604800 300
+/IXFR NOTIMP tsig_key LSAnCU+Z/
+/AXFR tsig_key LSAnCU+Z/
+nil. 300 SOA ns.nil. root.nil. 2 300 300 604800 300
+/AXFR tsig_key LSAnCU+Z/
+nil. 300 NS ns.nil.
+nil. 300 TXT "IXFR NOTIMP"
+a.nil. 60 A 10.0.0.61
+/AXFR tsig_key LSAnCU+Z/
+nil. 300 SOA ns.nil. root.nil. 2 300 300 604800 300
status=$((status+1))
}
+n=$((n+1))
+echo_i "handle IXFR NOTIMP ($n)"
+
+sendcmd < ans5/ixfrnotimp
+
+$RNDCCMD 10.53.0.4 refresh nil | sed 's/^/ns4 /' | cat_i
+
+sleep 2
+
+nextpart ns4/named.run | grep "zone nil/IN: requesting IXFR from 10.53.0.5" > /dev/null || {
+ echo_i "failed: expected status was not logged"
+ status=$((status+1))
+}
+
+$DIGCMD nil. TXT | grep 'IXFR NOTIMP' >/dev/null || {
+ echo_i "failed"
+ status=$((status+1))
+}
+
n=$((n+1))
echo_i "unsigned transfer ($n)"