Add system test for forward only grafted zone with synth-from-dnssec
We are grafting on an unsigned zone "example.internal" where the higher
zone (".") is signed and would otherwise cause named to synthesise a
NXDOMAIN for example.internal. We prime the cache by performing a
lookup for "internal" and then lookup "example.internal".
(cherry picked from commit 8af5d0ad68)
This commit is contained in:
@@ -14,6 +14,7 @@ $TTL 3600
|
||||
@ NS ns1
|
||||
ns1 A 10.53.0.1
|
||||
example NS ns1.example
|
||||
fun NS ns1.example
|
||||
ns1.example A 10.53.0.1
|
||||
dnamed NS ns1.dnamed
|
||||
ns1.dnamed A 10.53.0.1
|
||||
|
||||
16
bin/tests/system/synthfromdnssec/ns2/example.internal.db
Normal file
16
bin/tests/system/synthfromdnssec/ns2/example.internal.db
Normal file
@@ -0,0 +1,16 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 3600
|
||||
@ SOA ns2 hostmaster 1 3600 1200 604800 3600
|
||||
@ NS ns2
|
||||
@ A 1.2.3.4
|
||||
ns2 A 10.53.0.2
|
||||
@@ -44,4 +44,9 @@ zone "." {
|
||||
file "root.hints";
|
||||
};
|
||||
|
||||
zone "example.internal" {
|
||||
type primary;
|
||||
file "example.internal.db";
|
||||
};
|
||||
|
||||
include "../ns1/trusted.conf";
|
||||
|
||||
@@ -25,6 +25,7 @@ options {
|
||||
notify no;
|
||||
dnssec-validation yes;
|
||||
synth-from-dnssec yes;
|
||||
validate-except { example.internal; };
|
||||
};
|
||||
|
||||
key rndc_key {
|
||||
@@ -45,4 +46,10 @@ zone "." {
|
||||
file "root.hints";
|
||||
};
|
||||
|
||||
zone "example.internal" {
|
||||
type forward;
|
||||
forward only;
|
||||
forwarders { 10.53.0.2; };
|
||||
};
|
||||
|
||||
include "../ns1/trusted.conf";
|
||||
|
||||
@@ -870,6 +870,19 @@ n=$((n+1))
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
status=$((status+ret))
|
||||
|
||||
echo_i "check synth-from-dnssec with grafted zone (forward only) ($n)"
|
||||
ret=0
|
||||
#prime cache with NXDOMAIN NSEC covering 'fun' to 'minimal'
|
||||
dig_with_opts internal @10.53.0.5 > dig.out.ns5-1.test$n || ret=1
|
||||
grep "status: NXDOMAIN" dig.out.ns5-1.test$n >/dev/null || ret=1
|
||||
grep '^fun\..*NSEC.minimal\. ' dig.out.ns5-1.test$n >/dev/null || ret=1
|
||||
#perform lookup in grafted zone
|
||||
dig_with_opts example.internal @10.53.0.5 > dig.out.ns5-2.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.ns5-2.test$n >/dev/null || ret=1
|
||||
grep '^example\.internal\..*A.1.2.3.4$' dig.out.ns5-2.test$n >/dev/null || ret=1
|
||||
n=$((n+1))
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
status=$((status+ret))
|
||||
|
||||
echo_i "exit status: $status"
|
||||
[ $status -eq 0 ] || exit 1
|
||||
|
||||
Reference in New Issue
Block a user