Re: [DNSOP] NXDOMAINs as in RFC 1034

Mukund Sivaraman <muks@mukund.org> Tue, 29 May 2018 05:45 UTC

Return-Path: <muks@mukund.org>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E419C12E884 for <dnsop@ietfa.amsl.com>; Mon, 28 May 2018 22:45:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QSwC--6m48SH for <dnsop@ietfa.amsl.com>; Mon, 28 May 2018 22:45:08 -0700 (PDT)
Received: from mail.banu.com (mail.banu.com [46.4.129.225]) by ietfa.amsl.com (Postfix) with ESMTP id BAED712E888 for <dnsop@ietf.org>; Mon, 28 May 2018 22:45:08 -0700 (PDT)
Received: from jurassic (unknown [49.203.220.123]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.banu.com (Postfix) with ESMTPSA id 4115832C0924; Tue, 29 May 2018 05:45:07 +0000 (UTC)
Date: Tue, 29 May 2018 11:15:03 +0530
From: Mukund Sivaraman <muks@mukund.org>
To: Shumon Huque <shuque@gmail.com>
Cc: "dnsop@ietf.org WG" <dnsop@ietf.org>
Message-ID: <20180529054503.GA8413@jurassic>
References: <20180528181236.GB26171@jurassic> <CAHPuVdX8D38XfB98gRuBYr+Vn9v_j_5rxY12R+AF0Cyz04Ggag@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CAHPuVdX8D38XfB98gRuBYr+Vn9v_j_5rxY12R+AF0Cyz04Ggag@mail.gmail.com>
User-Agent: Mutt/1.9.2 (2017-12-15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/L8VjWgVkDo-S6vKYPYn_lfRLJKs>
Subject: Re: [DNSOP] NXDOMAINs as in RFC 1034
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsop>, <mailto:dnsop-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop/>
List-Post: <mailto:dnsop@ietf.org>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsop>, <mailto:dnsop-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 29 May 2018 05:45:11 -0000

Hi Shumon

On Mon, May 28, 2018 at 09:46:08PM -0400, Shumon Huque wrote:
> Yes, I agree with all of this. As you say, the tree structure of the domain
> name
> space implies the very interpretation of NXDOMAIN that RFC 8020 attempted
> to clarify more explicitly.
> 
> As for ambiguities in RFC 1034, the text in 8020 that mentions this issue:
> 
>   "This is due to an ambiguity in
>    [RFC1034] that failed to distinguish Empty Non-Terminal (ENT) names
>    ([RFC7719]) from nonexistent names (Section 3.1)."
> 
> came directly from Vixie et. al's resimprove draft (Section 3), which was
> RFC 8020's
> starting point. Personally, I did not find any ambiguities in RFC 1034 with
> respect
> to how DNS servers should respond to empty non-terminals, but clearly a
> number
> of implementations did not do the right thing, so the topic likely did
> deserve some
> clarification. Also, if I recall correctly, RFC 1034 does not explicitly
> mention empty
> non-terminals - they did not have a definitional term at that time although
> the concept
> was surely known.

RFC 1034 states in 3.1 "The domain system makes no distinctions between
the uses of the interior nodes and leaves, and this memo uses the term
"node" to refer to both."

Then, it states in 3.6 "A domain name identifies a node.  Each node has
a set of resource information, which may be empty."

(Note that names are not the item considered here, nodes are.)

The above describes that any leaf and/or interior nodes may be empty.
It does not mention the word "terminal" which is a more modern DNS word,
but it's clear that it refers to leaf nodes, and ENTs are empty interior
nodes. They have to exist for them to be interior nodes.

I agree clarification is good, and so RFC 8020++.. however note the
point Vixie makes - NXDOMAINs for ENTs have never been correct in the
DNS. RFC 8020 clarifies it, but the implementations which return
NXDOMAINs are broken against RFC 1034 onwards.

		Mukund