We have to prove that all these wildcards are NOT in
the zone
These are the NXT RRs and what
they proof.
b.c.d.e.f NXT f
(no *.b.c.d.e.f nor a.b.c.d.e.f)
c.d.e.f NXT b.c.d.e.f
(no *.c.d.e.f.)
d.e.f. NXT c.d.e.f.
(no *.d.e.f.)
e.F NXT d.e.f.
(no *.e.f.)
f. NXT e.f.
(no *.f)
In this case you will only have to return
b.c.d.e.f NXTa
Since it already proves that there is no
closer match for the wildcard.
b.c.d.e.f cancels *.f, *.e.f, *.d.e.f , etc.
É it is because
of this rule.
IfB.X and *.X appear in the zone with
origin X then a query for Z.X would return the wildcard data. The wildcard
answer would not apply for question for B.X, A.B.X or X.
One more
example:
$origin foo.
@SOA
NXT a
aA
aNXT a.b
a.b A
a.bNXT a.c
a.cA
a.cNXT a.b.c
a.b.c A
a.b.cNXT @
QNAME: d.b.c QTYPE A
a.b.c.foo NXT foo(proofs
that d.b.c does not exist)
a.c.fooNXT a.b.c.foo(proofs
that *.b.c does not exist)