1; config options 2server: 3 hide-identity: no 4 hide-version: no 5 identity: "test-identity" 6 version: "test-version" 7 rrset-roundrobin: no 8 9 ; implicit transparent zone should not block id.server 10 local-data: "mydata.server. CH A 10.11.12.13" 11 local-data: "myd2.server. CH A 10.11.12.14" 12 local-data: 'myd3.server. CH TXT "a text record"' 13 ; together implicit CH top domain .server is created transparent. 14 15 ; static zone 16 local-zone: "local" static 17 local-data: "local SOA nobody nobody 1 2 3 4 5" 18 local-data: "serv.local. A 20.30.40.50" 19 ; multiple RRs in this RRset. 20 local-data: "bla.bla.local. A 20.30.40.51" 21 local-data: "bla.bla.local. A 20.30.40.52" 22 local-data: "bla.bla.local. A 20.30.40.53" 23 24 ; static zone (no soa) 25 local-zone: "noso.local" static 26 local-data: "bla.bla.noso.local AAAA 2001::2" 27 28 ; deny zone (no answer) 29 local-zone: "deny.top." deny 30 31 ; refuse zone (error) 32 local-zone: "refuse.top." refuse 33 34 ; redirect zone 35 local-zone: "redirect.top." redirect 36 local-data: "redirect.top. A 20.30.40.54" 37 38 ; null zone 39 local-zone: "null.top." always_null 40 41 ; create implicit data in the IN domain as well 42 local-data: "a.a.implicit. A 20.30.41.50" 43 local-data: "b.a.implicit. A 20.30.42.50" 44 local-data: "b.b.implicit. A 20.30.43.50" 45 local-data: "b.c.implicit. A 20.30.45.50" 46 local-data: "c.c.implicit. A 20.30.44.50" 47 48 ; create implicit data in the ANY domain 49 ; this should inherit the local_zone_type of the already configured 50 ; zone 'refuse.top.' and not be transparent 51 local-data: "refuse.top. ANY TXT implicit_non_transparent" 52 53stub-zone: 54 name: "refuse.top" 55 stub-addr: 1.2.3.4 56 57CONFIG_END 58SCENARIO_BEGIN Test local data queries 59 60RANGE_BEGIN 0 100 61 ADDRESS 1.2.3.4 62; This entry should never be queried 63ENTRY_BEGIN 64MATCH opcode qtype qname 65ADJUST copy_id 66REPLY QR NOERROR 67SECTION QUESTION 68www.refuse.top. IN A 69SECTION ANSWER 70www.refuse.top. IN A 5.5.5.5 71ENTRY_END 72RANGE_END 73 74; id.server. 75STEP 1 QUERY 76ENTRY_BEGIN 77SECTION QUESTION 78id.server. CH TXT 79ENTRY_END 80STEP 2 CHECK_ANSWER 81ENTRY_BEGIN 82MATCH all 83REPLY QR RA 84SECTION QUESTION 85id.server. CH TXT 86SECTION ANSWER 87id.server. 0 CH TXT "test-identity" 88ENTRY_END 89 90; mydata.server. 91STEP 3 QUERY 92ENTRY_BEGIN 93SECTION QUESTION 94mydata.server. CH A 95ENTRY_END 96STEP 4 CHECK_ANSWER 97ENTRY_BEGIN 98MATCH all 99REPLY QR RA AA 100SECTION QUESTION 101mydata.server. CH A 102SECTION ANSWER 103mydata.server. 3600 CH A 10.11.12.13 104ENTRY_END 105 106; nodata with SOA 107STEP 5 QUERY 108ENTRY_BEGIN 109SECTION QUESTION 110local. IN A 111ENTRY_END 112STEP 6 CHECK_ANSWER 113ENTRY_BEGIN 114MATCH all ttl 115REPLY QR RA AA 116SECTION QUESTION 117local. IN A 118SECTION AUTHORITY 119local. 5 IN SOA nobody nobody 1 2 3 4 5 120ENTRY_END 121 122; positive SOA 123STEP 7 QUERY 124ENTRY_BEGIN 125SECTION QUESTION 126local. IN SOA 127ENTRY_END 128STEP 8 CHECK_ANSWER 129ENTRY_BEGIN 130MATCH all ttl 131REPLY QR RA AA 132SECTION QUESTION 133local. IN SOA 134SECTION ANSWER 135local. 3600 IN SOA nobody nobody 1 2 3 4 5 136ENTRY_END 137 138; positive subdomain 139STEP 9 QUERY 140ENTRY_BEGIN 141SECTION QUESTION 142serv.local. IN A 143ENTRY_END 144STEP 10 CHECK_ANSWER 145ENTRY_BEGIN 146MATCH all 147REPLY QR RA AA 148SECTION QUESTION 149serv.local. IN A 150SECTION ANSWER 151serv.local. IN A 20.30.40.50 152ENTRY_END 153 154; no such type 155STEP 11 QUERY 156ENTRY_BEGIN 157SECTION QUESTION 158serv.local. IN MX 159ENTRY_END 160STEP 12 CHECK_ANSWER 161ENTRY_BEGIN 162MATCH all ttl 163REPLY QR RA AA 164SECTION QUESTION 165serv.local. IN MX 166SECTION AUTHORITY 167local. 5 IN SOA nobody nobody 1 2 3 4 5 168ENTRY_END 169 170; no such type, empty nonterminal 171STEP 13 QUERY 172ENTRY_BEGIN 173SECTION QUESTION 174bla.local. IN MX 175ENTRY_END 176STEP 14 CHECK_ANSWER 177ENTRY_BEGIN 178MATCH all ttl 179REPLY QR RA AA 180SECTION QUESTION 181bla.local. IN MX 182SECTION AUTHORITY 183local. 5 IN SOA nobody nobody 1 2 3 4 5 184ENTRY_END 185 186; nxdomain with SOA 187STEP 15 QUERY 188ENTRY_BEGIN 189SECTION QUESTION 190doing.local. IN MX 191ENTRY_END 192STEP 16 CHECK_ANSWER 193ENTRY_BEGIN 194MATCH all ttl 195REPLY QR RA AA NXDOMAIN 196SECTION QUESTION 197doing.local. IN MX 198SECTION AUTHORITY 199local. 5 IN SOA nobody nobody 1 2 3 4 5 200ENTRY_END 201 202; nxdomain without SOA 203STEP 17 QUERY 204ENTRY_BEGIN 205SECTION QUESTION 206doing.noso.local. IN MX 207ENTRY_END 208STEP 18 CHECK_ANSWER 209ENTRY_BEGIN 210MATCH all 211REPLY QR RA AA NXDOMAIN 212SECTION QUESTION 213doing.noso.local. IN MX 214ENTRY_END 215 216; positive multiple RR 217STEP 19 QUERY 218ENTRY_BEGIN 219SECTION QUESTION 220bla.bla.local. IN A 221ENTRY_END 222STEP 20 CHECK_ANSWER 223ENTRY_BEGIN 224MATCH all 225REPLY QR RA AA 226SECTION QUESTION 227bla.bla.local. IN A 228SECTION ANSWER 229bla.bla.local. IN A 20.30.40.51 230bla.bla.local. IN A 20.30.40.52 231bla.bla.local. IN A 20.30.40.53 232ENTRY_END 233 234; second implicit transparent zone. 235STEP 21 QUERY 236ENTRY_BEGIN 237SECTION QUESTION 238b.b.implicit. IN A 239ENTRY_END 240STEP 22 CHECK_ANSWER 241ENTRY_BEGIN 242MATCH all 243REPLY QR RA AA 244SECTION QUESTION 245b.b.implicit. IN A 246SECTION ANSWER 247b.b.implicit. 3600 IN A 20.30.43.50 248ENTRY_END 249 250; localhost A default 251STEP 30 QUERY 252ENTRY_BEGIN 253SECTION QUESTION 254localhost. IN A 255ENTRY_END 256STEP 31 CHECK_ANSWER 257ENTRY_BEGIN 258MATCH all 259REPLY QR RA AA 260SECTION QUESTION 261localhost. IN A 262SECTION ANSWER 263localhost. 10800 IN A 127.0.0.1 264ENTRY_END 265 266; localhost AAAA default 267STEP 32 QUERY 268ENTRY_BEGIN 269SECTION QUESTION 270localhost. IN AAAA 271ENTRY_END 272STEP 33 CHECK_ANSWER 273ENTRY_BEGIN 274MATCH all 275REPLY QR RA AA 276SECTION QUESTION 277localhost. IN AAAA 278SECTION ANSWER 279localhost. 10800 IN AAAA ::1 280ENTRY_END 281 282; localhost A reverse default 283STEP 34 QUERY 284ENTRY_BEGIN 285SECTION QUESTION 2861.0.0.127.in-addr.arpa. IN PTR 287ENTRY_END 288STEP 35 CHECK_ANSWER 289ENTRY_BEGIN 290MATCH all 291REPLY QR RA AA 292SECTION QUESTION 2931.0.0.127.in-addr.arpa. IN PTR 294SECTION ANSWER 2951.0.0.127.in-addr.arpa. 10800 IN PTR localhost. 296ENTRY_END 297 298; localhost AAAA reverse default 299STEP 36 QUERY 300ENTRY_BEGIN 301SECTION QUESTION 3021.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa. IN PTR 303ENTRY_END 304STEP 37 CHECK_ANSWER 305ENTRY_BEGIN 306MATCH all 307REPLY QR RA AA 308SECTION QUESTION 3091.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa. IN PTR 310SECTION ANSWER 3111.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa. 10800 IN PTR localhost. 312ENTRY_END 313 314; blocked AS112 reverse default 315STEP 38 QUERY 316ENTRY_BEGIN 317SECTION QUESTION 3181.0.0.10.in-addr.arpa. IN PTR 319ENTRY_END 320STEP 39 CHECK_ANSWER 321ENTRY_BEGIN 322MATCH all 323REPLY QR RA AA NXDOMAIN 324SECTION QUESTION 3251.0.0.10.in-addr.arpa. IN PTR 326SECTION AUTHORITY 32710.in-addr.arpa. 10800 IN SOA localhost. nobody.invalid. 1 3600 1200 604800 10800 328ENTRY_END 329 330; refuse zone 331STEP 40 QUERY 332ENTRY_BEGIN 333SECTION QUESTION 334www.refuse.top. IN A 335ENTRY_END 336STEP 41 CHECK_ANSWER 337ENTRY_BEGIN 338MATCH all 339REPLY QR RA AA REFUSED 340SECTION QUESTION 341www.refuse.top. IN A 342ENTRY_END 343 344; deny zone 345STEP 42 QUERY 346ENTRY_BEGIN 347SECTION QUESTION 348www.deny.top. IN A 349ENTRY_END 350; no answer is checked at exit of testbound. 351 352; redirect zone apex 353STEP 50 QUERY 354ENTRY_BEGIN 355SECTION QUESTION 356redirect.top. IN A 357ENTRY_END 358STEP 51 CHECK_ANSWER 359ENTRY_BEGIN 360MATCH all 361REPLY QR RA AA NOERROR 362SECTION QUESTION 363redirect.top. IN A 364SECTION ANSWER 365redirect.top. IN A 20.30.40.54 366ENTRY_END 367 368; redirect zone 369STEP 52 QUERY 370ENTRY_BEGIN 371SECTION QUESTION 372www.redirect.top. IN A 373ENTRY_END 374STEP 53 CHECK_ANSWER 375ENTRY_BEGIN 376MATCH all 377REPLY QR RA AA NOERROR 378SECTION QUESTION 379www.redirect.top. IN A 380SECTION ANSWER 381www.redirect.top. IN A 20.30.40.54 382ENTRY_END 383 384; always_null zone 385STEP 60 QUERY 386ENTRY_BEGIN 387SECTION QUESTION 388null.top. IN A 389ENTRY_END 390STEP 61 CHECK_ANSWER 391ENTRY_BEGIN 392MATCH all 393REPLY QR RA AA NOERROR 394SECTION QUESTION 395null.top. IN A 396SECTION ANSWER 397null.top. IN A 0.0.0.0 398ENTRY_END 399 400; always_null zone AAAA 401STEP 62 QUERY 402ENTRY_BEGIN 403SECTION QUESTION 404foo.null.top. IN AAAA 405ENTRY_END 406STEP 63 CHECK_ANSWER 407ENTRY_BEGIN 408MATCH all 409REPLY QR RA AA NOERROR 410SECTION QUESTION 411foo.null.top. IN AAAA 412SECTION ANSWER 413foo.null.top. IN AAAA ::0 414ENTRY_END 415 416; refuse zone for implicit local-data with CLASS != IN 417STEP 64 QUERY 418ENTRY_BEGIN 419SECTION QUESTION 420refuse.top. ANY TXT 421ENTRY_END 422STEP 65 CHECK_ANSWER 423ENTRY_BEGIN 424MATCH all 425REPLY QR RA AA NOERROR 426SECTION QUESTION 427refuse.top. ANY TXT 428SECTION ANSWER 429refuse.top. ANY TXT implicit_non_transparent 430ENTRY_END 431 432; refuse zone for implicit local-data with CLASS != IN 433STEP 66 QUERY 434ENTRY_BEGIN 435REPLY RD 436SECTION QUESTION 437www.refuse.top. ANY A 438ENTRY_END 439STEP 67 CHECK_ANSWER 440ENTRY_BEGIN 441MATCH all 442REPLY QR RA RD AA REFUSED 443SECTION QUESTION 444www.refuse.top. ANY A 445ENTRY_END 446 447SCENARIO_END 448