$ORIGIN yes.dspublish.ns2-4.
good NS ns9.good
ns9.good A 10.53.0.9
+
+$ORIGIN no.dspublish.ns2-4.
+good NS ns9.good
+ns9.good A 10.53.0.9
good NS ns9.good
ns9.good A 10.53.0.9
+$ORIGIN no.dspublish.ns2.
+good NS ns9.good
+ns9.good A 10.53.0.9
+
$ORIGIN explicit.dsremoved.ns2.
still-there NS ns9.still-there
ns9.still-there A 10.53.0.9
$ORIGIN yes.dsremoved.ns5-7.
good NS ns9.good
ns9.good A 10.53.0.9
+
+$ORIGIN no.dsremoved.ns5-7.
+good NS ns9.good
+ns9.good A 10.53.0.9
resolver NS ns9.resolver
ns9.good A 10.53.0.9
ns9.resolver A 10.53.0.9
+
+$ORIGIN no.dsremoved.ns5.
+good NS ns9.good
+ns9.good A 10.53.0.9
$ORIGIN yes.dspublish.ns2-4.
good NS ns9.good
ns9.good A 10.53.0.9
+
+$ORIGIN no.dspublish.ns2-4.
+good NS ns9.good
+ns9.good A 10.53.0.9
good NS ns9.good
ns9.good A 10.53.0.9
+$ORIGIN no.dspublish.ns2.
+good NS ns9.good
+ns9.good A 10.53.0.9
+
$ORIGIN explicit.dsremoved.ns2.
still-there NS ns9.still-there
ns9.still-there A 10.53.0.9
$ORIGIN yes.dsremoved.ns5-7.
good NS ns9.good
ns9.good A 10.53.0.9
+
+$ORIGIN no.dsremoved.ns5-7.
+good NS ns9.good
+ns9.good A 10.53.0.9
resolver NS ns9.resolver
ns9.good A 10.53.0.9
ns9.resolver A 10.53.0.9
+
+$ORIGIN no.dsremoved.ns5.
+good NS ns9.good
+ns9.good A 10.53.0.9
checkds yes;
};
+/* Same as above, but with checkds disabled. */
+zone "good.no.dspublish.ns2" {
+ type primary;
+ file "good.no.dspublish.ns2.db";
+ inline-signing yes;
+ dnssec-policy "default";
+ checkds no;
+};
+
/*
* 1. Enabling DNSSEC
* 1.1 - With one parental agent
checkds yes;
};
+zone "good.no.dspublish.ns2-4" {
+ type primary;
+ file "good.no.dspublish.ns2-4.db";
+ inline-signing yes;
+ dnssec-policy "default";
+ checkds no;
+};
+
/*
* 1. Enabling DNSSEC
* 1.2 - With multiple parental agent
checkds yes;
};
+zone "good.no.dsremoved.ns5" {
+ type primary;
+ file "good.no.dsremoved.ns5.db";
+ inline-signing yes;
+ dnssec-policy "insecure";
+ checkds no;
+};
+
/*
* 2. Going insecure
* 2.1 - With one parental agent
checkds yes;
};
+zone "good.no.dsremoved.ns5-7" {
+ type primary;
+ file "good.no.dsremoved.ns5-7.db";
+ inline-signing yes;
+ dnssec-policy "insecure";
+ checkds no;
+};
+
/*
* 2. Going insecure
* 2.2. - With multiple parental agents
Y="now-1y"
# DS Publication.
-for checkds in explicit yes
+for checkds in explicit yes no
do
for zn in \
good.${checkds}.dspublish.ns2 \
done
# DS Withdrawal.
-for checkds in explicit yes
+for checkds in explicit yes no
do
for zn in \
good.${checkds}.dsremoved.ns5 \
def test_checkds_dswithdrawn(named_port):
checkds_dswithdrawn(named_port, "explicit")
checkds_dswithdrawn(named_port, "yes")
+
+
+def test_checkds_no(named_port):
+ # We create resolver instances that will be used to send queries.
+ server = dns.resolver.Resolver()
+ server.nameservers = ["10.53.0.9"]
+ server.port = named_port
+
+ parent = dns.resolver.Resolver()
+ parent.nameservers = ["10.53.0.2"]
+ parent.port = named_port
+
+ zone_check(server, "good.no.dspublish.ns2.")
+ keystate_check(parent, "good.no.dspublish.ns2.", "!DSPublish")
+
+ zone_check(server, "good.no.dspublish.ns2-4.")
+ keystate_check(parent, "good.no.dspublish.ns2-4.", "!DSPublish")
+
+ zone_check(server, "good.no.dsremoved.ns5.")
+ keystate_check(parent, "good.no.dsremoved.ns5.", "!DSRemoved")
+
+ zone_check(server, "good.no.dsremoved.ns5-7.")
+ keystate_check(parent, "good.no.dsremoved.ns5-7.", "!DSRemoved")