Paul, At 2016-09-05 10:21:40 -0700 "Paul Hoffman" <paul.hoff...@vpnc.org> wrote:
> On 5 Sep 2016, at 0:47, Shane Kerr wrote: > > > First, it seems like it might be nice to have a way to express RDATA > > in > > DNS presentation format. The document is very clear that no way is > > provided for this, but it seems like it would be really, really > > useful. > > If it useful for a particular application for particular RDATA, that > application could easily specify a format in its profile. If that > catches on, I could update this document with a collection of those. But > I don't want to start now by specifying the formats I would want myself. Hm... I guess I don't see why the DNS-in-JSON draft can't simply say that the formats are those documented in the RFC for any particular RTYPE? Each RTYPE has a defined format, right? > > Next, is compressedNAME likely to be useful? I'm not arguing strongly > > against it, but since it involves pointers and those are not going to > > be useful with a JSON object, I don't really see much point. > > I doubt they will be that useful, but a receiver might want to know > which names in a message were compressed and which were not. I admit > that it would be clearer for that receiver to just look through the > message or section binary fields. Maybe it could be a value that describes something like this: "compressedNAME": { "isCompressed": "yes", "length": 7 } The "length" would be the compressed length. The uncompressed length can be found by looking at the name. > > I don't see any mention of whether things like TYPEname and CLASSname > > are case-sensitive and if they are not which case they should be. My > > recommendation would be to make them case-insensitive, although not > > every field can be so having to tag each might be a bit much? > > Well, this brought up an ugly problem. The name in the IANA registry for > class 1 is "Internet (IN)". Chaos and Hesiod are similarly bad. I'm > going to change the definition of the class names to be 'String whose > value is "IN", "CH", "HS", or has the format in {{RFC3597}}'. I don't > think I really need to add to TYPEs that the name is case-sensitive, > since it says "from the IANA RR TYPEs registry". Makes sense. Stupid DNS classes. :) Can you explicitly say that TYPEs are case-INsensitive then? It might save some poor coder at some point, since programming languages generally default to case-sensitive comparisons... > > It occurs to me that maybe we want an option to have arrays of RRset > > instead of arrays of RRs? > > > > "answerRRsets": [ { "NAME": "example.com", > > "TYPE": 1, "CLASS": 1, "TTL": 3600, > > "RR": [ { "RDLENGTH": 4, "RDATA*": "C0000201" > > }, > > { "RDLENGTH": 4, "RDATA*": "CB007181" > > } > > ] > > } > > ] > > > > It's not super important, but it would save me having to build RRset > > in > > my applications. (With the RRs only I have to loop through the entire > > section and only when done can I know that I have gotten a complete > > RRset.) > > Instead of a new "answerRRsets", how about if I invent an "RRset" object > and the change the definitions of the various sections to "answerRRs -- > Array of zero or more resource records or RRset objects in the Answer > section"? That way you can mix and match records and RRsets. Sounds good! -- Shane
pgp1KrGeLNJCg.pgp
Description: OpenPGP digital signature
_______________________________________________ DNSOP mailing list DNSOP@ietf.org https://www.ietf.org/mailman/listinfo/dnsop