[DNSOP] draft-ietf-dnsop-refuse-any: points from 神明達哉

Joe Abley <jabley@hopcount.ca> Tue, 25 July 2017 20:53 UTC

Return-Path: <jabley@hopcount.ca>
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 E718D131F0E for <dnsop@ietfa.amsl.com>; Tue, 25 Jul 2017 13:53:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.79
X-Spam-Level:
X-Spam-Status: No, score=-1.79 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, RP_MATCHES_RCVD=-0.001, T_DKIM_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=fail (1024-bit key) reason="fail (OpenSSL error: data too large for key size)" header.d=automagic.org
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 Ej330_8_ysvr for <dnsop@ietfa.amsl.com>; Tue, 25 Jul 2017 13:53:39 -0700 (PDT)
Received: from mail.hopcount.ca (mail.hopcount.ca [67.215.197.156]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BC3C1131EFC for <dnsop@ietf.org>; Tue, 25 Jul 2017 13:53:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=simple/simple; d=automagic.org ; s=hopcount; h=To:Cc:Date:Message-Id:Subject:Mime-Version: Content-Transfer-Encoding:Content-Type:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=Q60no94Ndy5d5yZOecV6Kr/Uee8Y+zl8b3affHH1SEA=; b=UGMhautxkdTIbDeEjMKKl4cl4T 8V22rbTDUsgIYkBt5eXu2eGQyrlKNvRQ2hjcqpDBCIUzbupPSUy7HkVkeYiqb9l8+7W/G/8nGziUo JiiGHgdSCnsXROyrbn+aHwF/AA1XfPIlS+a3ipXGQoErtd+rjNDSsKutx9y50QILh+oBw2rpAFGow 1QTrWYaikPP3JiHJLIgYQzGSZQ/Hndtei8KiV0U02i1CjEO4UPAgZasq72mogdH6gbYapWaWP0CPp ewE82QF+jS8Z9Y7TZIH9VP+JFAnEOg/BtBbexMnoBvYLGmQJjl82XwHtnvBOMZVjpd/vn6juaYqSf lxLwDRUA==;
Received: from [2607:f2c0:101:202:8013:ad3e:5316:1b92] (helo=node-131fee54bx1ng9lsb6.ipv6.teksavvy.com) by mail.hopcount.ca with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.89 (FreeBSD)) (envelope-from <jabley@hopcount.ca>) id 1da6pN-000DZc-1D; Tue, 25 Jul 2017 20:53:13 +0000
From: Joe Abley <jabley@hopcount.ca>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
Message-Id: <08EEC562-8BD2-4485-9D7D-73665CF94EC5@hopcount.ca>
Date: Tue, 25 Jul 2017 16:53:12 -0400
To: dnsop@ietf.org
X-Mailer: Apple Mail (2.3273)
X-SA-Exim-Connect-IP: 2607:f2c0:101:202:8013:ad3e:5316:1b92
X-SA-Exim-Mail-From: jabley@hopcount.ca
X-SA-Exim-Scanned: No (on mail.hopcount.ca); SAEximRunCond expanded to false
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/faH5QBaUGuDdE0gCI0sXIqs77fA>
Subject: [DNSOP] draft-ietf-dnsop-refuse-any: points from 神明達哉
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, 25 Jul 2017 20:53:41 -0000

JINMEI-san, all,

With reference to:

  https://mailarchive.ietf.org/arch/msg/dnsop/zy86pvg139PaKFXo-BO6SPUfh3k

> I've reviewed the 04 version.  I still do not think it's ready to move
> forward as it still abuses HINFO.  I understand some other people
> don't care about this point, and some others may even love the idea
> (those who are using it right now).  But I've also seen yet some other
> people have the same concern, so it shouldn't be only me.  I don't
> think we have a clear consensus on this point yet.

The draft at present doesn't require an implementer to abuse HINFO; it provides options to avoid doing so whilst still meeting the described objectives of the proposal. Since abusing HINFO is not mandatory, I presume you are objecting to the proposal sanctioning such shenanigans at all.

If I have that right (please correct me if I'm wrong) I don't think I am the right person to make the call, being just a lowly document scribe. If this remains a concern for you, I suggest that we defer that question to our chairs and ask them to gauge consensus. My own personal views of pragmatism vs. elegance shouldn't enter into it; this is a working group document.

> To be hopefully a bit more productive, I have a specific counter
> proposal: remove the mandatory text about the use of HINFO, e.g.,
> 
> - remove this bullet from section 4
>    2.  A DNS responder can return a synthesised HINFO resource record.
>        See Section 6 for discussion of the use of HINFO.
> - remove ', in which case...' from Section 4.2
>    If there is no CNAME present at the owner name matching the QNAME,
>    the resource record returned in the response MAY instead be
>    synthesised, in which case a single HINFO resource record SHOULD be
>    returned.
> 
> In fact, in terms of externally observable behavior, synthesizing
> HINFO is just one form of "selecting one RRset of the QNAME"; the
> HINFO is added and immediately removed at the time of answering the
> ANY query, so in that sense we don't have to bother to mention it with
> normative keywords.

This text suggests that my interpretation above is wrong, and what you are objecting to is just the way that the HINFO approach is described. I think the specification is more clear if we spell out the whole synth-HINFO approach in its entirety and don't try to subsume it into the "return a subset of { RRSets that there } u { RRSets that we just synthesised }".

Again, I am not entirely confident that I understand your concern, so both my reactions above might be nonsense. Please try again if it seems that I don't understand your point.

> Regarding the choice of HINFO in case of synthesizing, it may make
> sense to specify a particular type as part of normative spec if many
> other implementations are going to implement it.  But, as Section 8
> explains two major general purpose open source implementations, NSD
> and BIND 9, seem to only support the "subset" approach.  I suspect
> it's actually not feasible for those generic implementations to
> hardcode HINFO as long as their users could also use that type as
> "real zone data".  Some special purpose implementation with full
> control on what it configures, like in the case of Cloudflare, may
> freely explore the approach of synthesizing HINFO at their discretion.
> But I don't think it necessarily has to be a part of normative part of
> this spec, at least at this moment.

I am not sure I understand the benefit of not including it, given that it is observable behaviour for a large number of domains today (even if that is so due to the volume of domains hosted at a single operator). I think we do better service to operators and implementors by describing what is implemented. As you point out, Cloudflare's implementation may be less general-purpose than BIND9 or NSD, and that might be a reason for the implementation choices to be different. Cloudflare is unlikely to be the last non-general implementation, however, so perhaps the mechanism most appropriate there will be relevant to others.

> I've also noticed a couple of other points I raised in my previous
> review (
> https://www.ietf.org/mail-archive/web/dnsop/current/msg18746.html
> )
> were not yet addressed.  These are (section numbers are for 03):
> 
> - Section 3
> 
>    1.  A DNS responder can choose to select one or subset of RRSets at
>        the QNAME.
> 
>   'one or subset of RRSets' sounds a bit awkward to me

I agree. Perhaps "One or more of the RRSets at a QNAME". "... or a subset" seems wrong, actually; since some vestigial fragment of a set theory lecture in the depths of my pre-history is telling me that the empty set is always a valid subset.

> - Section 4
> 
>    A DNS responder which receives an ANY query MAY decline to provide a
>    conventional response, or MAY instead send a response with a single
>    RRSet in the answer section.
> 
>   "a single RRSet" doesn't seem to be fully consistent of "one or
>   subset of RRSets" stated in the preceding section (see the previous
>   bullet).

Agreed. That should be made consistent.


Joe