Jump to first page
 -74
Proving Non-existence of a wildcard (2)
uf.      SOA  É
u*.f A
ue.f  A É
u*.e.f. A É
ud.e.f A É
u*.d.e.f. A É
uc.d.e.f A É
u*.c.d.e.f. A É
ub.c.d.e.f    A É
u*.b.c.d.e.f A
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 NXT  a
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.
If  B.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
a       A
a      NXT a.b
a.b    A
a.b   NXT a.c
a.c   A
a.c   NXT a.b.c
a.b.c    A
a.b.c   NXT @

QNAME: d.b.c QTYPE A

a.b.c.foo    NXT foo        (proofs that d.b.c does not exist)
a.c.foo       NXT a.b.c.foo   (proofs that *.b.c does not exist)
a.b.foo   NXT  a.c.foo         (proofs that *.c does not exit)
foo   NXT  a.foo            (proofs that * does not exist)

Bind9.3s20020722 does not optimize for that yet.