3083. [bug] NOTIFY messages were not being sent when generating
a NSEC3 chain incrementally. [RT #23702]
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
3083. [bug] NOTIFY messages were not being sent when generating
|
||||
a NSEC3 chain incrementally. [RT #23702]
|
||||
|
||||
3081. [bug] Failure of DNAME substitution did not return
|
||||
YXDOMAIN. [RT #23591]
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: named.conf,v 1.30.268.4 2010/11/16 01:21:49 marka Exp $ */
|
||||
/* $Id: named.conf,v 1.30.268.5 2011/03/21 01:08:12 marka Exp $ */
|
||||
|
||||
// NS2
|
||||
|
||||
@@ -33,6 +33,7 @@ options {
|
||||
notify yes;
|
||||
dnssec-enable yes;
|
||||
dnssec-validation yes;
|
||||
notify-delay 1;
|
||||
};
|
||||
|
||||
zone "." {
|
||||
@@ -95,4 +96,10 @@ zone "algroll" {
|
||||
file "algroll.db.signed";
|
||||
};
|
||||
|
||||
zone "nsec3chain-test" {
|
||||
type master;
|
||||
file "nsec3chain-test.db.signed";
|
||||
allow-update {any;};
|
||||
};
|
||||
|
||||
include "trusted.conf";
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: sign.sh,v 1.35.32.11 2011/02/28 14:28:00 fdupont Exp $
|
||||
# $Id: sign.sh,v 1.35.32.12 2011/03/21 01:08:12 marka Exp $
|
||||
|
||||
SYSTEMTESTTOP=../..
|
||||
. $SYSTEMTESTTOP/conf.sh
|
||||
@@ -161,3 +161,21 @@ keynew2=`$KEYGEN -q -r $RANDFILE -a RSASHA256 -b 1024 -n zone $zone`
|
||||
cat $infile $keynew1.key $keynew2.key >$zonefile
|
||||
|
||||
$SIGNER -P -r $RANDFILE -o $zone -k $keyold1 -k $keynew1 $zonefile $keyold1 $keyold2 $keynew1 $keynew2 > /dev/null
|
||||
|
||||
#
|
||||
#
|
||||
#
|
||||
zone=nsec3chain-test
|
||||
zonefile=nsec3chain-test.db.signed
|
||||
|
||||
cat > $zonefile << EOF
|
||||
@ 10 SOA ns2 hostmaster 0 3600 1200 864000 1200
|
||||
@ 10 NS ns2
|
||||
@ 10 NS ns3
|
||||
ns2 10 A 10.53.0.2
|
||||
ns3 10 A 10.53.0.3
|
||||
EOF
|
||||
awk 'END { for (i = 0; i < 1000; i++)
|
||||
print "host" i, 10, "NS", "ns.elsewhere"; }' < /dev/null >> $zonefile
|
||||
k=`$KEYGEN -q -r $RANDFILE -a RSASHA256 -b 1024 -n zone -fk $zone`
|
||||
k=`$KEYGEN -q -r $RANDFILE -a RSASHA256 -b 1024 -n zone $zone`
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: named.conf,v 1.35.32.9 2011/02/28 14:28:00 fdupont Exp $ */
|
||||
/* $Id: named.conf,v 1.35.32.10 2011/03/21 01:08:12 marka Exp $ */
|
||||
|
||||
// NS3
|
||||
|
||||
@@ -207,4 +207,10 @@ zone "ttlpatch.example" {
|
||||
file "ttlpatch.example.db.patched";
|
||||
};
|
||||
|
||||
zone "nsec3chain-test" {
|
||||
type slave;
|
||||
file "nsec3chain-test.bk";
|
||||
masters { 10.53.0.2; };
|
||||
};
|
||||
|
||||
include "trusted.conf";
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: tests.sh,v 1.55.32.23 2011/03/01 16:47:13 smann Exp $
|
||||
# $Id: tests.sh,v 1.55.32.24 2011/03/21 01:08:11 marka Exp $
|
||||
|
||||
SYSTEMTESTTOP=..
|
||||
. $SYSTEMTESTTOP/conf.sh
|
||||
@@ -1173,5 +1173,35 @@ n=`expr $n + 1`
|
||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:check that NOTIFY is sent at the end of NSEC3 chain generation ($n)"
|
||||
ret=0
|
||||
(
|
||||
echo zone nsec3chain-test
|
||||
echo server 10.53.0.2 5300
|
||||
grep DNSKEY ns2/Knsec3chain-test.*.key |
|
||||
sed -e 's/.*://' -e 's/^/update add /' -e 's/IN/300 IN/'
|
||||
echo update add nsec3chain-test. 0 nsec3param 1 0 1 -
|
||||
echo send
|
||||
) | $NSUPDATE
|
||||
for i in 1 2 3 4 5 6 7 8 9
|
||||
do
|
||||
$DIG $DIGOPTS nsec3param nsec3chain-test @10.53.0.2 > dig.out.ns2.test$n || ret=1
|
||||
if grep "ANSWER: 2," dig.out.ns2.test$n >/dev/null
|
||||
then
|
||||
break;
|
||||
fi
|
||||
echo "I:sleeping ...."
|
||||
sleep 3
|
||||
done;
|
||||
grep "ANSWER: 2," dig.out.ns2.test$n > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo "I:nsec3 chain generation not complete"; fi
|
||||
sleep 3
|
||||
$DIG $DIGOPTS +noauth +nodnssec soa nsec3chain-test @10.53.0.2 > dig.out.ns2.test$n || ret=1
|
||||
$DIG $DIGOPTS +noauth +nodnssec soa nsec3chain-test @10.53.0.3 > dig.out.ns3.test$n || ret=1
|
||||
$PERL ../digcomp.pl dig.out.ns2.test$n dig.out.ns3.test$n || ret=1
|
||||
n=`expr $n + 1`
|
||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:exit status: $status"
|
||||
exit $status
|
||||
|
||||
+2
-1
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: zone.c,v 1.540.2.51 2011/03/17 05:30:21 marka Exp $ */
|
||||
/* $Id: zone.c,v 1.540.2.52 2011/03/21 01:08:12 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -6243,6 +6243,7 @@ zone_nsec3chain(dns_zone_t *zone) {
|
||||
|
||||
LOCK_ZONE(zone);
|
||||
zone_needdump(zone, DNS_DUMP_DELAY);
|
||||
DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_NEEDNOTIFY);
|
||||
UNLOCK_ZONE(zone);
|
||||
|
||||
done:
|
||||
|
||||
Reference in New Issue
Block a user