Re: [dnsoverhttp] JSON DNS Suggestions

Paul Hoffman <paul.hoffman@icann.org> Sun, 13 November 2016 10:54 UTC

Return-Path: <paul.hoffman@icann.org>
X-Original-To: dnsoverhttp@ietfa.amsl.com
Delivered-To: dnsoverhttp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E80D81296CD for <dnsoverhttp@ietfa.amsl.com>; Sun, 13 Nov 2016 02:54:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.698
X-Spam-Level:
X-Spam-Status: No, score=-5.698 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-1.497, 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 r8GmgT2pfcjf for <dnsoverhttp@ietfa.amsl.com>; Sun, 13 Nov 2016 02:54:38 -0800 (PST)
Received: from out.west.pexch112.icann.org (pfe112-ca-2.pexch112.icann.org [64.78.40.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6066F1294D0 for <dnsoverhttp@ietf.org>; Sun, 13 Nov 2016 02:54:38 -0800 (PST)
Received: from PMBX112-W1-CA-1.pexch112.icann.org (64.78.40.21) by PMBX112-W1-CA-2.pexch112.icann.org (64.78.40.23) with Microsoft SMTP Server (TLS) id 15.0.1178.4; Sun, 13 Nov 2016 02:54:35 -0800
Received: from PMBX112-W1-CA-1.pexch112.icann.org ([64.78.40.21]) by PMBX112-W1-CA-1.PEXCH112.ICANN.ORG ([64.78.40.21]) with mapi id 15.00.1178.000; Sun, 13 Nov 2016 02:54:35 -0800
From: Paul Hoffman <paul.hoffman@icann.org>
To: Zach Lym <zachlym@indolering.com>
Thread-Topic: [dnsoverhttp] JSON DNS Suggestions
Thread-Index: AQHSPFkETnGhhXr8cEqtk6Xnq8yJjKDXRgyA
Date: Sun, 13 Nov 2016 10:54:34 +0000
Message-ID: <F6ED335F-7F64-4A73-86C4-8F83534B88D1@icann.org>
References: <CABWuLVfrPMZc-ChZHrFuO5OU_EnZtQMjjHijg_DU2znGr+cwuQ@mail.gmail.com>
In-Reply-To: <CABWuLVfrPMZc-ChZHrFuO5OU_EnZtQMjjHijg_DU2znGr+cwuQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [192.0.32.234]
Content-Type: multipart/signed; boundary="Apple-Mail=_A743A116-0841-4986-9DC2-2B989193AC37"; protocol="application/pkcs7-signature"; micalg="sha1"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsoverhttp/bPbhddZLzHYgnvnCVv_fTkM3dh4>
Cc: "dnsoverhttp@ietf.org" <dnsoverhttp@ietf.org>
Subject: Re: [dnsoverhttp] JSON DNS Suggestions
X-BeenThere: dnsoverhttp@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Discussion of DNS over HTTP <dnsoverhttp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsoverhttp>, <mailto:dnsoverhttp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsoverhttp/>
List-Post: <mailto:dnsoverhttp@ietf.org>
List-Help: <mailto:dnsoverhttp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsoverhttp>, <mailto:dnsoverhttp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 13 Nov 2016 10:54:40 -0000

On Nov 12, 2016, at 5:19 AM, Zach Lym <zachlym@indolering.com> wrote:
> My apologies, I'm not very skilled with mailing lists but I wanted to pickup on the thread Martin started earlier.

No problem, and thanks for the review!

> While at EasyDNS, I created a library to translate between popular REST DNS APIs.  The syntax suggested by the current proposal is very different from what I found in the wild[0].

This list shows that lots of developers have lots of preferences. :-)

>  I would like to propose the following changes to bring the spec:
> 
> * Lowercase fields (`name`, `ttl`, etc)

I painted the bike shed this way to match RFC 1035.

> * Uppercase text values for `type` ("A", "CNAME", etc)

That's already there in section 2.2.

> * Array of RR objects for `question` and `answer` (no alternate "qname" field)

One of the design goals for this format was the ability to specify invalid queries and responses so that it can be used to encapsulate some of the crap we see on the wire.

> I'm also a bit concerned about parsing the "Specific RDATA Field Members" (`rdataA` and friends).  The proliferation of record types has led most APIs to stuffing everything (pref, prio, weight, port, etc) into the rdata field.  I think it would be best to require a space delimited rdata field and *optional* record-specific fields.  I can write a polygot library to split out such fields for client side developers.

This sounds reasonable, but I added that in at the request of others on this mailing list.

> I'm fairly ignorant of the server side of things, feel free to educate me : )

There is hopefully nothing server-specifc here!

> P.S. Is there a Github repo for the DNS JSON spec?

Not yet, given that it is not clear what its home will be.

--Paul Hoffman