Re: [dnsext] BADVER/FORMERR
Olafur Gudmundsson <ogud@ogud.com> Sun, 13 November 2011 03:58 UTC
Return-Path: <ogud@ogud.com>
X-Original-To: dnsext@ietfa.amsl.com
Delivered-To: dnsext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2B1F321F84D4 for <dnsext@ietfa.amsl.com>; Sat, 12 Nov 2011 19:58:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.299
X-Spam-Level:
X-Spam-Status: No, score=-106.299 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, J_CHICKENPOX_57=0.6, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mWsh-oNkZl5E for <dnsext@ietfa.amsl.com>; Sat, 12 Nov 2011 19:58:14 -0800 (PST)
Received: from stora.ogud.com (stora.ogud.com [66.92.146.20]) by ietfa.amsl.com (Postfix) with ESMTP id 608C01F0C3F for <dnsext@ietf.org>; Sat, 12 Nov 2011 19:58:14 -0800 (PST)
Received: from [IPv6:::1] (nyttbox.md.ogud.com [10.20.30.4]) by stora.ogud.com (8.14.4/8.14.4) with ESMTP id pAD3w9g4019949; Sat, 12 Nov 2011 22:58:10 -0500 (EST) (envelope-from ogud@ogud.com)
Message-ID: <4EBF4046.5070708@ogud.com>
Date: Sat, 12 Nov 2011 22:57:58 -0500
From: Olafur Gudmundsson <ogud@ogud.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20111105 Thunderbird/8.0
MIME-Version: 1.0
To: Mark Andrews <marka@isc.org>
References: <20111111025007.B689B17061FA@drugs.dv.isc.org> <4EBEC277.7070306@ogud.com> <20111112221405.861341712639@drugs.dv.isc.org>
In-Reply-To: <20111112221405.861341712639@drugs.dv.isc.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.72 on 10.20.30.4
Cc: dnsext@ietf.org
Subject: Re: [dnsext] BADVER/FORMERR
X-BeenThere: dnsext@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: DNS Extensions working group discussion list <dnsext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsext>, <mailto:dnsext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dnsext>
List-Post: <mailto:dnsext@ietf.org>
List-Help: <mailto:dnsext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsext>, <mailto:dnsext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 13 Nov 2011 03:58:15 -0000
On 12/11/2011 17:14, Mark Andrews wrote: > In message<4EBEC277.7070306@ogud.com>, Olafur Gudmundsson writes: >> On 10/11/2011 21:50, Mark Andrews wrote: >>> >>> I was looking for a good way to test for EDNS support and hacked >>> dig to send out a empty question section when the EDNS version was >>> set to 255 and got what I believe to be incorrect responses from K >>> and L. EDNS version processing is supposed to take precedence over >>> examining the query section as the EDNS version can influence the >>> interpretion of the question section. I believe the correct response >>> should be BADVERS. Adding a question elicited BADVERS. >>> >>> Do others agree with my interpretion of rcode precedence? >>> >> >> <no hat> >> Formerr is perfectly valid return code. >> It is the first error you detect and you can stop processing >> right then. >> (This assumes that the QR=0) >> >> Reasoning: You sent a question that is not a real question >> I see nothing in ENDS0 rfcs that say you need to look into the >> opt record if the DNS packet is malformed, QR=0 and QDCOUNT=0 >> is malformed packet IMHO. > > Even if FORMERR is returned, the response is also missing the OPT > record which is required to be sent by EDNS aware servers. If you > can't parse the packet to get to the OPT record then a 12 octet > FORMERR is appropriate. This packet is parsable. > > VERSION Indicates the implementation level of whoever sets > it. Full conformance with this specification is > indicated by version "0." Requestors are encouraged > to set this to the lowest implemented level capable > of expressing a transaction, to minimize the > responder and network load of discovering the > greatest common implementation level between > requestor and responder. A requestor's version > numbering strategy should ideally be a run time > configuration option. > > If a responder does not implement the VERSION level > of the request, then it answers with RCODE=BADVERS. > All responses will be limited in format to the > VERSION level of the request, but the VERSION of each > response will be the highest implementation level of > the responder. In this way a requestor will learn > the implementation level of a responder as a side > effect of every response, including error responses, > including RCODE=BADVERS. > <no-hat> #1 I can reason that it is OK to stop parsing a packet after an format error is detected . The text above does not clearly support your interpretation nor mine. (I might even be tempted to say, randomly dropping the packet is also acceptable). Sending Refused is also in contention, but not helpful. #2 From your original message you seemed to be asking about the error code, not if the missing OPT record was appropriate. Strictly speaking given how narrow the error reporting channel in DNS is either interpretation is acceptable i.e. First Error detected or Most Significant error, responders should be ready to handle both. But at the same time I understand your desire to have an easy way to detect the ENDS0 version. Olafur
- [dnsext] BADVER/FORMERR Mark Andrews
- Re: [dnsext] BADVER/FORMERR Ray Bellis
- Re: [dnsext] BADVER/FORMERR Mark Andrews
- Re: [dnsext] BADVER/FORMERR Ray Bellis
- Re: [dnsext] BADVER/FORMERR David Conrad
- Re: [dnsext] BADVER/FORMERR Ray Bellis
- Re: [dnsext] BADVER/FORMERR Florian Weimer
- Re: [dnsext] BADVER/FORMERR Olafur Gudmundsson
- Re: [dnsext] BADVER/FORMERR Mark Andrews
- Re: [dnsext] BADVER/FORMERR Olafur Gudmundsson
- Re: [dnsext] BADVER/FORMERR Marc Lampo
- Re: [dnsext] BADVER/FORMERR Mark Andrews
- Re: [dnsext] BADVER/FORMERR Dick Franks
- Re: [dnsext] BADVER/FORMERR Ray Bellis
- Re: [dnsext] BADVER/FORMERR Dick Franks
- Re: [dnsext] BADVER/FORMERR Marc Lampo
- Re: [dnsext] BADVER/FORMERR Mark Andrews
- Re: [dnsext] BADVER/FORMERR Michael Sheldon
- Re: [dnsext] BADVER/FORMERR Mark Andrews
- [dnsext] Tao and Re: BADVER/FORMERR Edward Lewis
- Re: [dnsext] Tao and Re: BADVER/FORMERR David Conrad
- Re: [dnsext] BADVER/FORMERR Johan Ihrén
- Re: [dnsext] BADVER/FORMERR Ray Bellis
- Re: [dnsext] Tao and Re: BADVER/FORMERR Dick Franks