c. If at some label, a match is impossible (i.e., the
corresponding label does not exist), look to see whether the
last label matched has a DNAME record.
... text on what to do for an exact DNAME application...
If there was no DNAME record, look to see if the "*" label
exists.
The impact of "* DNAME" would only be felt in two ways.
One is if the QNAME had a "*" in the middle of it, running across the
* DNAME along the way. In this case, it's not a wild card
(synthesis) situation.
The other way is if the QTYPE is "DNAME" or "ANY" and the QNAME leads
to a source of synthesis.
Thinking of the latter I have to question the elided text from the quote above:
If a DNAME record exists at that point, copy that record into
the answer section. If substitution of its <target> for its
<owner> in QNAME would overflow the legal size for a <domain-
name>, set RCODE to YXDOMAIN [DNSUPD] and exit; otherwise
perform the substitution and continue. If the query was not
extended [EDNS0] with a Version indicating understanding of the
DNAME record, the server SHOULD synthesize a CNAME record as
described above and include it in the answer section. Go back
to step 1.
What if the QTYPE was DNAME? Why continue? Why include the CNAME if
it's the DNAME I want?
Once again, I find so many holes with RFC 2672...how do you clarify
it? (Yes, I know that DNAME's "work." But I am beginning to think
that there are too many rough edges in the definition - what makes
rough edges acceptable here but not in other applications?)
-

