Re: [DNSOP] Self-describing RTYPE in the DNS, draft-levine-dnsextlang (was DNS-in-JSON draft)

"John R Levine" <johnl@taugh.com> Tue, 06 September 2016 19:40 UTC

Return-Path: <johnl@taugh.com>
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 7EC1312B42D for <dnsop@ietfa.amsl.com>; Tue, 6 Sep 2016 12:40:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Level:
X-Spam-Status: No, score=-2.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1536-bit key) header.d=iecc.com header.b=QdWuW2rk; dkim=pass (1536-bit key) header.d=taugh.com header.b=oofxLutn
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 HbeG4GAMoHFf for <dnsop@ietfa.amsl.com>; Tue, 6 Sep 2016 12:40:08 -0700 (PDT)
Received: from miucha.iecc.com (abusenet-1-pt.tunnel.tserv4.nyc4.ipv6.he.net [IPv6:2001:470:1f06:1126::2]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0041B12B416 for <dnsop@ietf.org>; Tue, 6 Sep 2016 12:40:07 -0700 (PDT)
Received: (qmail 23816 invoked from network); 6 Sep 2016 19:40:05 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=simple; d=iecc.com; h=date:message-id:from:to:cc:subject:in-reply-to:references:mime-version:content-type:user-agent; s=5d07.57cf1b95.k1609; bh=kSIEfS9RgiE88PN2AekWnABPTl9QDBurP0cdGB6eFxU=; b=QdWuW2rkPaJQkFnVhvLgEcgSBnuxTw9e/S4yav1VlfikmVjc70FkUV8XT44DzVP6bjerfnfmNmxllFROP4CHWXR3O7rO/3OP0BcQYzCaqE0Va5scrc1NYgDeFIyt5FapA9oOy9bnBJBBzwLLNYMN1iLlbtM46eGIIjOrvZeU/OJVxQI3s5d1S/o8nnfBLhUQgrv7LR2+d+hfpoJHryd1jexqcWTRfUJh0dZjhG8ML6RV9pv/hUfdqsVUWJgRePjz
DKIM-Signature: v=1; a=rsa-sha256; c=simple; d=taugh.com; h=date:message-id:from:to:cc:subject:in-reply-to:references:mime-version:content-type:user-agent; s=5d07.57cf1b95.k1609; bh=kSIEfS9RgiE88PN2AekWnABPTl9QDBurP0cdGB6eFxU=; b=oofxLutnlMsaon77flEU/oau18qQ9P/RMf80tJwgV2DygZ162uLFQamkpghHVfKrmljGk4aE7lHMDOKFPEm/M+mla4qSgMGWjr0oSaoOoygDqkvLy99VHd4UMYECEQ4wIiyb1M5b9sUCfxpyFr6/vCptHGFRN4ALj1gRxMSrt8z6et8mPYbBHN8c0dPMWrhxMboBAfBtT41P5tb4TR4oyRCxDGIj1reXevNf9CTWS76MS6G7CZ2FaFBE38+qJkyA
Received: from localhost ([IPv6:2001:470:1f07:1126::78:696d:6170]) by imap.iecc.com ([IPv6:2001:470:1f07:1126::78:696d:6170]) with ESMTPS (TLS1.0/X.509/SHA1) via TCP6; 06 Sep 2016 19:40:05 -0000
Date: Tue, 06 Sep 2016 15:40:06 -0400
Message-ID: <alpine.OSX.2.11.1609061525250.25637@ary.lan>
From: John R Levine <johnl@taugh.com>
To: Tony Finch <dot@dotat.at>
In-Reply-To: <alpine.DEB.2.11.1609061951560.4488@grey.csi.cam.ac.uk>
References: <20160905154737.5a1c67e5@pallas.home.time-travellers.org> <20160905163800.23620.qmail@ary.lan> <20160906123610.741452e4@pallas.home.time-travellers.org> <alpine.OSX.2.11.1609061217270.24706@ary.lan> <alpine.DEB.2.11.1609061951560.4488@grey.csi.cam.ac.uk>
User-Agent: Alpine 2.11 (OSX 23 2013-08-11)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"; format="flowed"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/3r0uD7CftgCodC8toYI0kmLMjfo>
Cc: dnsop@ietf.org
Subject: Re: [DNSOP] Self-describing RTYPE in the DNS, draft-levine-dnsextlang (was DNS-in-JSON draft)
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.17
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, 06 Sep 2016 19:40:09 -0000

> When I looked at this in 2012 I concluded that the best approach would be
> to keep the generic language REALLY simple, and that RDATA with special
> needs would have to have a custom-coded parser/serializer.

I'm close to that.  If a field is odd but it's a minor variant of 
something else, such as the hex fields with optional hyphens or dots, it's 
easy enough to include.  Or if it seems like it might be useful in the 
future, like a trailing list of domain names which could show up in 
something like CLONE, might as well.

Beyond that, I don't think anyone will ever reuse the odd arithmetic in 
LOC or the data-dependent formats in IPSECKEY, so if I do anything for 
them, it'll be something like Z[LOC] or Z[IPSECKEY] meaning do the 
appropriate special hackery for that record type.

Not sure what to do with the type bit maps in NSEC.  They're reused in 
NSEC3, and both records are certainly in active use.

>> see if I run into unexpected problems.  It took about 15 minutes to realize
>> that it needs to let you name the fields as well as describe them, if you want
>> to refer to the fields from other code.
>
> Yes! And field names are really crucial if you want to be able to
> auto-generate user interfaces from the abstract syntax, because you can
> use the field names as a key for localization and for help text.

That's the main change in -08.

R's,
John