mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04:00
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:
parent
30d4e3ee89
commit
00db079f79
5 changed files with 42 additions and 0 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue