diff --git a/bin/tests/system/nsupdate/tests.sh b/bin/tests/system/nsupdate/tests.sh index f7a1a4ee4e..e3c642e172 100755 --- a/bin/tests/system/nsupdate/tests.sh +++ b/bin/tests/system/nsupdate/tests.sh @@ -310,7 +310,10 @@ then { $PERL update_test.pl -s 10.53.0.1 -p ${PORT} update.nil. || ret=1 } | cat_i - grep "updating zone 'update.nil/IN': too many NSEC3 iterations (151)" ns1/named.run > /dev/null || ret=1 + if $PERL -e 'use Net::DNS; die "Net::DNS too old ($Net::DNS::VERSION < 1.01)" if ($Net::DNS::VERSION < 1.01)' > /dev/null + then + grep "updating zone 'update.nil/IN': too many NSEC3 iterations (151)" ns1/named.run > /dev/null || ret=1 + fi [ $ret -eq 1 ] && { echo_i "failed"; status=1; } else echo_i "The second part of this test requires the Net::DNS library." >&2 diff --git a/bin/tests/system/nsupdate/update_test.pl b/bin/tests/system/nsupdate/update_test.pl index fd6a5425aa..720a6b89ff 100644 --- a/bin/tests/system/nsupdate/update_test.pl +++ b/bin/tests/system/nsupdate/update_test.pl @@ -410,9 +410,13 @@ test("NOERROR", ["update", rr_add("u.$zone 300 NS ns.u.$zone")]); test("NOERROR", ["update", rr_del("u.$zone NS ns.u.$zone")]); -section("Excessive NSEC3PARAM iterations"); -test("REFUSED", ["update", rr_add("$zone 300 NSEC3PARAM 1 0 151 -")]); -test("NOERROR", ["update", rr_add("$zone 300 NSEC3PARAM 1 0 150 -")]); +if ($Net::DNS::VERSION < 1.01) { + print "skipped Excessive NSEC3PARAM iterations; Net::DNS too old.\n"; +} else { + section("Excessive NSEC3PARAM iterations"); + test("REFUSED", ["update", rr_add("$zone 300 NSEC3PARAM 1 0 151 -")]); + test("NOERROR", ["update", rr_add("$zone 300 NSEC3PARAM 1 0 150 -")]); +} if ($failures) { print "$failures tests failed.\n";