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

Re: axfr-clarify's fraudulent claims of consensus



> Josh Littlefield writes:
> > RFC1034 clearly states that the answer section "carries RRs which
> > directly answer the query."  I don't see how anyone could conclude
> > that AXFR clients should look for zone RRs anywhere else.
> 
> There is overwhelming consensus that (in the absence of extended
> behavior requested by the client) the AXFR _server_ must leave the
> additional section and authority section empty. It must put the data
> into the answer section. All existing servers work this way---and must
> do so for interoperability.
> 
> There are several perfectly valid parsing strategies for the client.
> In particular, my software uses the simple strategy
> 
>    while there are records left
>       read a record

	Which can only be found by adding up the three fields in
	the header (number of answer  records (which bind uses),
	number of records in the authority section and number of
	records in the additional section).  You can't use the DNS
	message length as too many implementations get it wrong and
	leave a couple of bytes between the end of the messages as
	discovered by processing the records and the end of the
	data that is read.  You have discovered this havn't you?
 
> while BIND 9 uses the slightly more complicated strategy

	BIND has always used the simple strategy of reading the
	number from the header then processing that number of
	records after skipping any questions, again read from
	the header.
 
>    while there are records left in the answer section
>       read a record

	Let me see if I have your logic right,
	
	Simple:
	Read the number of questions then skip them. Read three
	numbers, add them up, then read this number of records.
	
	Complicated:
	Read the number of questions then skip them. Read one
	number then read this number of records.

	I think you have the labels the wrong way around.

> Both strategies work, since servers put all records into the answer
> section. Neither strategy creates any interoperability problems.

	There is different behaviour.  That is enough reason in and
	of itself to clarify the issue.

	I don't think anyone envisioned someone that would process
	records outside of the answer section as answers.

> There is certainly _not_ consensus on telling the _client_ to use the
> BIND 9 strategy. Furthermore, any such statement (whether ``MUST'' or
> ``SHOULD'') would blatantly violate RFC 2119, section 6.
> 
> This is about the tenth time that I have had to point out the blazingly
> obvious fact that constraining _server_ behavior is not the same as
> constraining _client_ behavior.

	
--
Mark Andrews, Internet Software Consortium
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: Mark.Andrews@isc.org