Re: [dnsext] BADVER/FORMERR

Dick Franks <rwfranks@acm.org> Tue, 15 November 2011 18:33 UTC

Return-Path: <rwfranks@gmail.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 860B911E80A6 for <dnsext@ietfa.amsl.com>; Tue, 15 Nov 2011 10:33:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.977
X-Spam-Level:
X-Spam-Status: No, score=-102.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1, 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 YixFleO61gqT for <dnsext@ietfa.amsl.com>; Tue, 15 Nov 2011 10:33:21 -0800 (PST)
Received: from mail-yw0-f44.google.com (mail-yw0-f44.google.com [209.85.213.44]) by ietfa.amsl.com (Postfix) with ESMTP id 99A4E11E80A3 for <dnsext@ietf.org>; Tue, 15 Nov 2011 10:33:18 -0800 (PST)
Received: by ywt34 with SMTP id 34so6688718ywt.31 for <dnsext@ietf.org>; Tue, 15 Nov 2011 10:33:18 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :content-transfer-encoding; bh=b2pY87aVdNPBrnm4NilU1Vr7N34uzete/tKZ3MQFScs=; b=GFjHY5WBylTWspsOjnbsJkzNx9rXDUNLOR/ZoXitPXuhven2yBH/ae3UqQoOU91BRW /Wj5yZA9+uriZ3LqVh5ayXDVHuhWTPkM/bxzGMaBwlP+kt1FvJcxiwhRGeEVKv5owjux I2vE+Tg7jr+hoLhC69rXRhBEX4K1NxH+TT2R4=
Received: by 10.224.189.129 with SMTP id de1mr18907725qab.18.1321381998103; Tue, 15 Nov 2011 10:33:18 -0800 (PST)
MIME-Version: 1.0
Sender: rwfranks@gmail.com
Received: by 10.229.2.195 with HTTP; Tue, 15 Nov 2011 10:32:57 -0800 (PST)
In-Reply-To: <E4B39520-1B7B-4383-8D0F-C0B26E3DE49F@nominet.org.uk>
References: <20111111025007.B689B17061FA@drugs.dv.isc.org> <20111114222302.F0159171B01D@drugs.dv.isc.org> <CAKW6Ri7Am5DjrYx+F_6FDE4-+Rh2+WuAptY6QyNNwtpOkbAcdw@mail.gmail.com> <E4B39520-1B7B-4383-8D0F-C0B26E3DE49F@nominet.org.uk>
From: Dick Franks <rwfranks@acm.org>
Date: Tue, 15 Nov 2011 18:32:57 +0000
X-Google-Sender-Auth: mP9g7PHjVGpioFXgXQka32K3SqU
Message-ID: <CAKW6Ri5nsoeDaM66CMteY=MRBa0oZdUyxxFEiyjr-bSgypgrEw@mail.gmail.com>
To: Ray Bellis <Ray.Bellis@nominet.org.uk>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Cc: dnsext <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: Tue, 15 Nov 2011 18:33:22 -0000

On 15 November 2011 05:55, Ray Bellis <Ray.Bellis@nominet.org.uk> wrote:
>
> Actually, it's vague in RFC 1035.
>
RFC1035 (warts and all) is, until someone feels brave enough to
rewrite it, the base specification.

The question section is defined to be a list of question items. If the
intention had been to require exactly one question, it would have been
specified in the same way as the header, and QDCOUNT eliminated
entirely.


> RFC 1034 is quite specific about "_the_ query name" (singular) in the context of standard query processing (see e.g. §3.7)
>
RFC1034  §3.7 is not relevant here.  The concept of "standard query
processing" is meaningless if the question section is empty.


> I therefore interpret that parenthetical comment as applying to other OPCODE values than "QUERY".  For example IQUERY does (did) use QDCOUNT == 0.
>
I would interpret it as a non-normative comment (usually!).
RFC1035 §4.1.2 is describing the structure of the question section in
general, not QUERY in particular.
Unless there is an obscure RFC lurking somewhere which specifically
forbids an empty question section, then RFC1035 wins and a whole
worldful of implementations are non-compliant.


> The semantics for QDCOUNT != 1 are not defined for "QUERY" so (IMHO) FORMERR is appropriate.
>
The semantics for QDCOUNT > 1 are certainly not defined for QUERY.

Part of Mark A's argument is that the semantics for QDCOUNT = 0 should
be considered well defined because no standard query processing is
involved if there is no question to process.

Furthermore, he noted that an empty question section is (trivially)
parsable, and cites three plausible scenarios where such a query might
be useful.


--Dick