[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Q-10: Reaction to "Silly" NXT's



I have to admit that my head hurts from recent travels and this thread. Here is how I would summarize this, not to squash other's input, but to allow others to check against what I am thinking.

Look at the header: is the response code NXDOMAIN or NOERROR? Is the AA bit set?

Look at the answer section: this is a bit more convoluted

1) Find the sequence of SNAME (search names) appearing in the answer section. SNAME #1 ought to be QNAME. If there are multiple SNAMEs, then the transition from SNAME #i to SNAME #i+1 has to occur via CNAMEs or DNAMEs. In any case, we need to identify SNAME#n - which is the last name searched. Let's call it TNAME. (QNAME and SNAME appear in RFC 1034. Olafur and I agreed on TNAME.)

It's common that QNAME = TNAME.

If the QNAME != TNAME, there is a penultimate SNAME, SNAME#n-1, that is significant if there are wild card synthesized answers.

If the answer section is empty, there is no penultimate SNAME, QNAME = SNAME#1 = TNAME.

Note that the owner of any DNAME is not a member of the SNAME list, but the "on-the-fly CNAME"'s owner is. (A knowledgeable resolver will discard the CNAME and regenerate it on its own as it that is needed it verify the on-the-fly one anyway, a check is then unnecessary.) The DNAME is only needed to validate the on-the-fly CNAME.

2) Determine if TNAME owns data requested and if the data is the result of a wild card synthesis.

3) Any NXT found in the answer section has no special meaning to DNS.

Look at the authority section:

1) There will NEVER, NEVER, NEVER be more than two NXT's that are appropriate here.

2) If no wild card synthesized records appear in the answer section, there will NEVER be more than one NXT that is appropriate.

3) If there is a wild card synthesized record, then one NXT MUST span the penultimate SNAME in the list. I.e., the NXT's owner name < SNAME#n-1 < NXT's RDATA next name.

4) The (other) NXT that appears MUST be one of three:

4a) The NXT spans the TNAME - and NXDOMAIN is the return code and an AA bit of 1.

4b) The owner of the NXT is equal to the TNAME and demonstrates that QTYPE is absent with a return code of NOERROR and an AA bit of 1. (And that there is no data corresponding to TNAME, QTYPE in the answer section.)

4c) The owner of the NXT is an ancestor of QNAME and demonstrates that an NS is present at the owner name and that no DS is present - and AA bit is 0. (This is a referral or out-of-server CNAME.)

5) It is possible (common?) that no NXT appears.

Any NXT appearing here that does not conform to the rules in 3 or 4 is an error, I would recommend that the reply message MUST be discarded and the resolver continue to wait for a "sane" response.

Because of the "on-the-fly" CNAME, the DNAMEs in the answer section can be forgotten once the CNAME is validated.

--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Edward Lewis +1-703-227-9854
ARIN Research Engineer

Okay, okay, the previous sig wasn't all that good...

--
to unsubscribe send a message to namedroppers-request@ops.ietf.org with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/namedroppers/>