Re: [dnsoverhttp] JSON DNS Suggestions
Zach Lym <zachlym@indolering.com> Tue, 15 November 2016 21:06 UTC
Return-Path: <indolering@gmail.com>
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 540341294F4 for <dnsoverhttp@ietfa.amsl.com>; Tue, 15 Nov 2016 13:06:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.399
X-Spam-Level:
X-Spam-Status: No, score=-2.399 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.199, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 b8bAMgRmYyLI for <dnsoverhttp@ietfa.amsl.com>; Tue, 15 Nov 2016 13:06:51 -0800 (PST)
Received: from mail-yw0-x232.google.com (mail-yw0-x232.google.com [IPv6:2607:f8b0:4002:c05::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9E56312955E for <dnsoverhttp@ietf.org>; Tue, 15 Nov 2016 13:06:51 -0800 (PST)
Received: by mail-yw0-x232.google.com with SMTP id r204so111886402ywb.0 for <dnsoverhttp@ietf.org>; Tue, 15 Nov 2016 13:06:51 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to; bh=8SWQdnm0PEJvqmN7+tH6HHv5XBZ6vcsUbU8hbiw61WM=; b=S/dvi217IGhvgRBQ7TUAAKfL6ELBzC4wO3N+/RInwWmUX3mJiiAa6ODQvDI3XIU5Ge 6zkzNqoICVDce+CffF7lBPN1U+W/PoafYvg5QD9vC7kU4ML9Qc18carfpCxfgkPnwBDs 2+QdNerVoWMnJIdgDb+9Ar54OHfDVyTqB90vWWNFA4uCm81tRA1hDdio+wsW86X46FrL LWbGs8O86sRSXjIhdTHyoCl+rDoYjU2uj7YjXgmp/Ef/PfWOWLh0RDBSMTvpeXVyXA/c GlC3T9yK+Un+upmJC5AaN9+czTEgfe9g0rWLQZ58P65/rjzN3fGgokc+EuMEi4sWkbxd K+Ag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to; bh=8SWQdnm0PEJvqmN7+tH6HHv5XBZ6vcsUbU8hbiw61WM=; b=eiPVUJeICbm7AUgdbaV1jcB0c9o3adx0ANOFvVzglvxc8UCJac+Da1v9hF3/l1/dVa jBkWDr9bRSFHZxNtOz5w6LYdyXBihaeCZh8YgqlTJoWzlyvHdZAUSPQ2aZUeJen03X3A fBcmbPASiDGYD+GYCkXZ0Kygrx/osXuGv1CGiWEwKY83f1c4AYG8+e9uQj02GqsGXUvm KbnA1BOPFkNY2mRcHbL95jeWEBhqWPB8PhMq9a4WzkOryHTVsezVkvtVuGQvnH+wDYNl Rtkz9oSj4hHi3pel9+CdwqO0YkpuIF7MpjJ648gyGc9ik6/t2kbsmrpX3uYsrFmsyt8M rQQw==
X-Gm-Message-State: ABUngvdSCxxDu4zDmzoaQwX/CUkRxdE2Um53hfkUmXLxden9yA8X9LFz0euaPlTLElkDovoNyzjBiGjocVXeEw==
X-Received: by 10.129.169.138 with SMTP id g132mr21386869ywh.196.1479244010553; Tue, 15 Nov 2016 13:06:50 -0800 (PST)
MIME-Version: 1.0
Sender: indolering@gmail.com
Received: by 10.37.170.39 with HTTP; Tue, 15 Nov 2016 13:06:09 -0800 (PST)
In-Reply-To: <F6ED335F-7F64-4A73-86C4-8F83534B88D1@icann.org>
References: <CABWuLVfrPMZc-ChZHrFuO5OU_EnZtQMjjHijg_DU2znGr+cwuQ@mail.gmail.com> <F6ED335F-7F64-4A73-86C4-8F83534B88D1@icann.org>
From: Zach Lym <zachlym@indolering.com>
Date: Tue, 15 Nov 2016 13:06:09 -0800
X-Google-Sender-Auth: HD1l3pbgUaBSKPiYVhG79AB4DcE
Message-ID: <CABWuLVeyVedAc==xBQD0taDGvVrSxWvDBimCxuLhTNhhnSWBAQ@mail.gmail.com>
To: "dnsoverhttp@ietf.org" <dnsoverhttp@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c003a08c9078305415d55c3"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsoverhttp/Nx6dDdpO6zbOiKZTnnFKFNRYpSI>
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: Tue, 15 Nov 2016 21:06:53 -0000
> > > 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. :-) > The best standards tend to codify existing norms (WHAT-WG) or were formed as the result of a competition (AES, SHA, etc). A list of public APIs that represent DNS records in JSON is the best proxy I can come up with. Granted, being popular doesn't equate to being the "best" choice, but it's more than just a pile 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. > None of the APIs in the aforementioned list uppercase the field names ... uppercase keywords died out with B&W terminals. Dismiss this as bike shedding if you like, but I'm not going to let you paint that bike shed neon pink ; ) > * Uppercase text values for `type` ("A", "CNAME", etc) > > That's already there in section 2.2. > I was advocating for the string representation by default, you have TYPE as an integer and TYPEname as a string. Going back to that list, the only provider that accepts integers at all is Google and even they support both strings and ints. > * 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. > Ahh, I was confused and I misspoke! Why should have both qname/qtype/qclass in the message body AND a question array? I'm not against getting rid of the question array, but I don't understand why we are doing both.... > 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. > Yes and while I agree with the reasoning, the implementation is problematic. The current scheme requires a different rdata field for every record type. Yet for most records, you keep the space delimited text form. When you look at real-world implementations, most just use space delimited rdata values. The two that do split fields from rdata tend to do so for MX and SRV records. Having a single representation for rdata lets one use a generic algorithm for all records. Making record-specific fields optional allows applications to make use of them when it suites them. > I'm fairly ignorant of the server side of things, feel free to educate me > : ) > > There is hopefully nothing server-specifc here! > For example, I generally don't care about stuff like the HEX representation. > 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 If I created one, would you use it? I prefer to break issues down into single tickets instead of marathon emails. Thanks, -Zach Lym
- [dnsoverhttp] JSON DNS Suggestions Zach Lym
- Re: [dnsoverhttp] JSON DNS Suggestions Paul Hoffman
- Re: [dnsoverhttp] JSON DNS Suggestions Zach Lym