--- /dev/null
+{
+ "version": 2,
+ "Logging": {
+ "loggers": [{
+ "severity": "DEBUG",
+ "name": "*",
+ "debuglevel": 99
+ }]
+ },
+ "Auth": {
+ "listen_on": [{
+ "port": 47806,
+ "address": "127.0.0.1"
+ }]
+ },
+ "data_sources": {
+ "classes": {
+ "IN": [
+ {
+ "type": "MasterFiles",
+ "cache-enable": true,
+ "params": {
+ "example.org": "data/example.org",
+ "example.com": "data/example.com-broken"
+ }
+ }
+ ]
+ }
+ },
+ "Boss": {
+ "components": {
+ "b10-auth": { "kind": "needed", "special": "auth" },
+ "b10-cmdctl": { "special": "cmdctl", "kind": "needed" }
+ }
+ }
+}
--- /dev/null
+example.com. 3600 IN SOA ns1.example.com. admin.example.com. 1234 3600 1800 2419200 7200
+example.com. 3600 IN NS ns1.example.com.
+example.com. 3600 IN NS ns2.example.com.
+example.com. 3600 IN MX 10 mail.example.com.
+www.example.com. 3600 IN A 192.0.2.1
+ns1.example.com. 3600 IN A 192.0.2.3
+ns2.example.com. 3600 IN A 192.0.2.4
+shell.example.com. 3600 IN SSHFP # this is clearly broken
--- /dev/null
+Feature: Authoritative DNS server with a bad zone
+ This feature set is for testing the execution of the b10-auth
+ component when one zone is broken, whereas others are fine. In this
+ case, b10-auth should not reject the data source, but reject the bad
+ zone only and serve the good zones anyway.
+
+ Scenario: Bad zone
+ Given I have bind10 running with configuration auth/auth_badzone.config
+ And wait for bind10 stderr message BIND10_STARTED_CC
+ And wait for bind10 stderr message CMDCTL_STARTED
+ And wait for bind10 stderr message AUTH_SERVER_STARTED
+
+ bind10 module Auth should be running
+ And bind10 module Resolver should not be running
+
+ A query for www.example.org should have rcode NOERROR
+ The last query response should have flags qr aa rd
+ The last query response should have ancount 1
+ The last query response should have nscount 2
+ The last query response should have adcount 2
+
+ The answer section of the last query response should be
+ """
+ www.example.org. 3600 IN A 192.0.2.1
+ """
+ The authority section of the last query response should be
+ """
+ example.org. 3600 IN NS ns1.example.org.
+ example.org. 3600 IN NS ns2.example.org.
+ """
+ The additional section of the last query response should be
+ """
+ ns1.example.org. 3600 IN A 192.0.2.3
+ ns2.example.org. 3600 IN A 192.0.2.4
+ """
+
+ A query for www.example.com should have rcode REFUSED
"configurations/bindctl/bindctl.config"],
["configurations/auth/auth_basic.config.orig",
"configurations/auth/auth_basic.config"],
+ ["configurations/auth/auth_badzone.config.orig",
+ "configurations/auth/auth_badzone.config"],
["configurations/resolver/resolver_basic.config.orig",
"configurations/resolver/resolver_basic.config"],
["configurations/multi_instance/multi_auth.config.orig",