Subject: Re: name server without root cache

From: [email-masked]
Date: Sat, 06 Apr 2002 12:43:28 +1000

> At Fri, 05 Apr 2002 17:10:07 +1000, Mark Andrews wrote:
> >
> > NODATA is independent of AA.  It's the lack of referral and soa
> > that makes the response a NODATA.
> 
> My point is that RFC 1035 doesn't say that.  You're reading semantics
> into that response form that simply aren't in RFC 1035.

	Explain how a recursive server is supposed to reconstruct a
	nodata response at the end of a cname chain when the
	authoritative server doesn't return a SOA in the authority
	section.

		aa=0 rd=1 ra=1 qr=1 ancount=1+ nscount=0 rcode=0

	and with SOA 

		aa=0 rd=1 ra=1 qr=1 ancount=1+ nscount=1 rcode=0

> SOAs in the
> Authority section are optional in RFC 1035, and, the behavior of
> certain widely deployed software notwithstanding, there is nothing in
> RFC 1035 that requires a name server either to know where the root is
> or to supply a referal if it doesn't know.

	SOA are optional.  But you can only tell the difference between
	a nodata response and a referral by looking at the authority
	section and interperting the contents there.

	If you don't know what the root servers are then you can't
	give a non-error answer.

> So I think you're telling me that RFC 2308 changes the semantics.  If
> so, and if the WG agrees with that change, it should be made explicit.
> 
> --
> to unsubscribe send a message to [email-masked] with
> the word 'unsubscribe' in a single line as the message text body.
> archive: <http://ops.ietf.org/lists/namedroppers/>
--
Mark Andrews, Internet Software Consortium
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: [email-masked]

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

---

From: Rob Austein <[email-masked]>
Date: Sat, 06 Apr 2002 14:25:22 -0500

> 		aa=0 rd=1 ra=1 qr=1 ancount=1+ nscount=1 rcode=0

Neither of which is the response form I was talking about, since
ANCOUNT is nonzero.

In the case you show here, one infers the absence of the desired RRset
by the presence of the CNAME RRs (which, I assume, are what
"ancount=1+" indicates) combined with RCODE=0, RA=1, RD=1, and the
absence of any RRs matching QTYPE at the end of the chain.

> 	SOA are optional.

At least we agree on something today. :)

>       But you can only tell the difference between a nodata response
>       and a referral by looking at the authority section and
>       interperting the contents there.

You might be able to convince me of that for responses with RD=1 and
RA=1, although I'm still skeptical as to the practical value of such a
distinction.  Responses with RD=1 and RA=1 don't ordinarily contain
referrals anyway, so why do you care?  But I digress.

I don't think your reasoning applies to responses with RA=0 or RD=0.
For the nonrecursive cases, you can get back an answer, a referral, an
error, or an empty RCODE=0 response indicating that you have asked a
server that has nothing useful to tell you about the question you
asked.  You keep claiming that the last case is "bogus", or an
"error", by which I assume you mean a protocol violation.  I disagree.

> 	If you don't know what the root servers are then you can't

Sorry, I still say that it's a legal response in the non-recursive
case.