Skip to main content

Representing DNS Messages in JSON
draft-hoffman-dns-in-json-16

Revision differences

Document history

Date Rev. By Action
2018-07-23
16 (System) RFC Editor state changed to AUTH48-DONE from AUTH48
2018-07-16
16 (System) RFC Editor state changed to AUTH48 from RFC-EDITOR
2018-06-26
16 (System) RFC Editor state changed to RFC-EDITOR from EDIT
2018-05-15
16 (System) IANA Action state changed to RFC-Ed-Ack from Waiting on RFC Editor
2018-05-15
16 (System) IANA Action state changed to Waiting on RFC Editor from Waiting on Authors
2018-05-14
16 (System) IANA Action state changed to Waiting on Authors from In Progress
2018-05-14
16 (System) IANA Action state changed to In Progress
2018-05-14
16 (System) RFC Editor state changed to EDIT
2018-05-14
16 (System) IESG state changed to RFC Ed Queue from Approved-announcement sent
2018-05-14
16 (System) Announcement was received by RFC Editor
2018-05-14
16 Amy Vezza IESG state changed to Approved-announcement sent from Approved-announcement to be sent
2018-05-14
16 Amy Vezza IESG has approved the document
2018-05-14
16 Amy Vezza Closed "Approve" ballot
2018-05-14
16 Amy Vezza Ballot approval text was generated
2018-05-14
16 Alexey Melnikov RFC Editor Note was changed
2018-05-14
16 Alexey Melnikov RFC Editor Note for ballot was generated
2018-05-14
16 Alexey Melnikov RFC Editor Note for ballot was generated
2018-05-14
16 Alexey Melnikov IESG state changed to Approved-announcement to be sent from Approved-announcement to be sent::Point Raised - writeup needed
2018-05-13
16 Alexey Melnikov Intended Status changed to Informational from Experimental
2018-05-12
16 Paul Hoffman New version available: draft-hoffman-dns-in-json-16.txt
2018-05-12
16 (System) New version approved
2018-05-12
16 (System) Request for posting confirmation emailed to previous authors: Paul Hoffman
2018-05-12
16 Paul Hoffman Uploaded new revision
2018-05-10
15 Cindy Morgan IESG state changed to Approved-announcement to be sent::Point Raised - writeup needed from IESG Evaluation
2018-05-10
15 Ignas Bagdonas [Ballot Position Update] New position, No Objection, has been recorded for Ignas Bagdonas
2018-05-10
15 Suresh Krishnan [Ballot Position Update] New position, No Objection, has been recorded for Suresh Krishnan
2018-05-09
15 Terry Manderson [Ballot Position Update] New position, No Objection, has been recorded for Terry Manderson
2018-05-09
15 Ben Campbell [Ballot comment]
Thanks for a well-written document. My only question is, what is the nature of the experiment?
2018-05-09
15 Ben Campbell [Ballot Position Update] New position, No Objection, has been recorded for Ben Campbell
2018-05-09
15 Alissa Cooper [Ballot Position Update] New position, No Objection, has been recorded for Alissa Cooper
2018-05-09
15 Spencer Dawkins [Ballot comment]
I wanted to thank the authors for including the design background in Section 1.1. I found that helpful.
2018-05-09
15 Spencer Dawkins [Ballot Position Update] New position, No Objection, has been recorded for Spencer Dawkins
2018-05-09
15 Martin Vigoureux [Ballot Position Update] New position, No Objection, has been recorded for Martin Vigoureux
2018-05-09
15 Benjamin Kaduk
[Ballot comment]
For the "compressedFOO" elements, are we confident that the "length
in the message" text is sufficiently unambiguous?

It sounds like fields whose value …
[Ballot comment]
For the "compressedFOO" elements, are we confident that the "length
in the message" text is sufficiently unambiguous?

It sounds like fields whose value is an integer but whose value can
be greater than 2**16 (e.g., TTL) can use the full flexibility of
JSON numeric encoding, including exponent and fractional part.  Just
double checking that that's the intent, as it does not seem to be
explicitly stated anywhere.

In Section 6, I think there may be a singular/plural mismatch in
"For example, private DNS systems such as those described in
[I-D.dulaunoy-dnsop-passive-dns-cof] covers just DNS responses."
2018-05-09
15 Benjamin Kaduk [Ballot Position Update] New position, No Objection, has been recorded for Benjamin Kaduk
2018-05-09
15 Alvaro Retana [Ballot Position Update] New position, No Objection, has been recorded for Alvaro Retana
2018-05-09
15 Deborah Brungard [Ballot Position Update] New position, No Objection, has been recorded for Deborah Brungard
2018-05-08
15 Adam Roach
[Ballot comment]
Thanks for taking the time to make this document easy to read. I have a handful
of comments. The first two are conflicts …
[Ballot comment]
Thanks for taking the time to make this document easy to read. I have a handful
of comments. The first two are conflicts between this document and existing
documents, and really need to be resolved prior to publication. The remaining
comments are simple clarifications and/or nits.

---------------------------------------------------------------------------

§1.1:

>  o  The encoding for the DNS object is ASCII as described in
>    [RFC0020].  This is done to prevent an attempt to use a different
>    encoding such as UTF-8 for octets in names or data.

RFC 8259 §8.1:

>  JSON text exchanged between systems that are not part of a closed
>  ecosystem MUST be encoded using UTF-8 [RFC3629].

I believe what you mean to say here is that the JSON representation of the
objects described in this document is limited to the UTF-8 codepoints from
U+0000 to U+007F. This has an impact in §2.6 as well.


---------------------------------------------------------------------------

§2.2:

>  o  TTL - Integer whose value is 0 to 4294967295

RFC 1035 §2.3.4:

> TTL            positive values of a signed 32 bit number.
                                      ^^^^^^

RFC 1035 §3.2.1:

> TTL            a 32 bit signed integer that specifies the time interval
                          ^^^^^^

If the intention is to replicate the format defined by RFC 1035, then
this document should define a range of -2147483648 to 2147483647.

---------------------------------------------------------------------------

§2.3:

>  o  rdataAAAA - IPv6 address, such as "fe80::a65e:60ff:fed6:8aaf"

For avoidance of doubt regarding encoding, I would recommend that this
document cite and require the use of the format described in RFC 5952.

---------------------------------------------------------------------------

§2.6:

>  o  If the member name does not end in "HEX", the value is a domain
>    name encoded as ASCII.  Non-ASCII octets in the domain name are
>    expressed using JSON's escaping rules.  Periods indicate
>    separation between labels.

For avoidance of doubt, this should probably indicate that the values greater
than U+007F represent literal on-the-wire bytes, rather than allowing any
implication that U-labels are allowed.

---------------------------------------------------------------------------

§10:

>  Many
>  people on the dnsoverhttp mailing list also contributed very useful
>  ideas (even though this list is not a WG and this work might not even
>  be used by the eventual DNS-over-HTTPS work).

I'm just flagging this as it appears to be somewhat dated. Feel free to update
if you are so inclined.
2018-05-08
15 Adam Roach [Ballot Position Update] New position, No Objection, has been recorded for Adam Roach
2018-05-06
15 Eric Rescorla [Ballot Position Update] New position, No Objection, has been recorded for Eric Rescorla
2018-05-04
15 Warren Kumari
[Ballot comment]
Rich version of this review at: https://mozphab-ietf.devsvcdev.mozaws.net/D3056

  "o  If the member name does not end in "HEX", the value is a domain …
[Ballot comment]
Rich version of this review at: https://mozphab-ietf.devsvcdev.mozaws.net/D3056

  "o  If the member name does not end in "HEX", the value is a domain
      name encoded as ASCII.  Non-ASCII octets in the domain name are
      expressed using JSON's escaping rules.  Periods indicate
      separation between labels."

How does this deal with labels that contain periods?
This is sadly common in "attack" or "hand-rolled" queries and is something that people might really want to log/use this for.

I could see:
A: MUST use HEX for names which have embedded periods
B: some discussion on escaping these
C: something else!


[ Note: First time using Mozilla's Phabricator system for review - still learning its tagging, etc system. ]
2018-05-04
15 Warren Kumari [Ballot Position Update] New position, No Objection, has been recorded for Warren Kumari
2018-05-04
15 Mirja Kühlewind [Ballot comment]
I guess this doc could also be informational. Otherwise, what's the experiment or the criteria to move to Proposed Standard?
2018-05-04
15 Mirja Kühlewind [Ballot Position Update] New position, No Objection, has been recorded for Mirja Kühlewind
2018-05-04
15 Stewart Bryant Request for Telechat review by GENART Completed: Ready. Reviewer: Stewart Bryant. Sent review to list.
2018-05-03
15 Jean Mahoney Request for Telechat review by GENART is assigned to Stewart Bryant
2018-05-03
15 Jean Mahoney Request for Telechat review by GENART is assigned to Stewart Bryant
2018-04-30
15 Amanda Baber IANA Review state changed to IANA OK - Actions Needed from Version Changed - Review Needed
2018-04-28
15 (System) IANA Review state changed to Version Changed - Review Needed from IANA OK - Actions Needed
2018-04-28
15 Paul Hoffman New version available: draft-hoffman-dns-in-json-15.txt
2018-04-28
15 (System) New version approved
2018-04-28
15 (System) Request for posting confirmation emailed to previous authors: Paul Hoffman
2018-04-28
15 Paul Hoffman Uploaded new revision
2018-04-26
14 Tero Kivinen Request for Last Call review by SECDIR Completed: Has Issues. Reviewer: Watson Ladd.
2018-04-24
14 Magnus Westerlund Request for Last Call review by TSVART Completed: Ready with Issues. Reviewer: Magnus Westerlund. Sent review to list.
2018-04-23
14 Alexey Melnikov IESG state changed to IESG Evaluation from Waiting for Writeup
2018-04-23
14 Alexey Melnikov Changed consensus to Yes from Unknown
2018-04-23
14 Alexey Melnikov Ballot has been issued
2018-04-23
14 Alexey Melnikov [Ballot Position Update] New position, Yes, has been recorded for Alexey Melnikov
2018-04-23
14 Alexey Melnikov Created "Approve" ballot
2018-04-23
14 Alexey Melnikov Ballot writeup was changed
2018-04-20
14 Shwetha Bhandari Request for Last Call review by OPSDIR Completed: Ready. Reviewer: Shwetha Bhandari. Sent review to list.
2018-04-20
14 (System) IESG state changed to Waiting for Writeup from In Last Call
2018-04-19
14 (System) IANA Review state changed to IANA OK - Actions Needed from IANA - Review Needed
2018-04-19
14 Sabrina Tanamal
(Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs:

The IANA Services Operator has completed its review of draft-hoffman-dns-in-json-13. If any part of this review is inaccurate, please let …
(Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs:

The IANA Services Operator has completed its review of draft-hoffman-dns-in-json-13. If any part of this review is inaccurate, please let us know.

The IANA Services Operator understands that, upon approval of this document, there is a single action which we must complete.

In the application registry on the Media Type registry page located at:

https://www.iana.org/assignments/media-types/

a single, new media type is to be registered as follows:

Name: dns+json
Template: [ TBD-at-Registration ]
Reference: [ RFC-to-be ]

The IANA Services Operator understands that this is the only action required to be completed upon approval of this document.

Note:  The actions requested in this document will not be completed until the document has been approved for publication as an RFC. This message is meant only to confirm the list of actions that will be performed.


Thank you,

Sabrina Tanamal
Senior IANA Services Specialist
2018-04-18
14 Paul Hoffman New version available: draft-hoffman-dns-in-json-14.txt
2018-04-18
14 (System) New version approved
2018-04-18
14 (System) Request for posting confirmation emailed to previous authors: Paul Hoffman
2018-04-18
14 Paul Hoffman Uploaded new revision
2018-04-16
13 Stewart Bryant Request for Last Call review by GENART Completed: Ready. Reviewer: Stewart Bryant. Sent review to list.
2018-04-08
13 Alexey Melnikov Placed on agenda for telechat - 2018-05-10
2018-04-04
13 Magnus Westerlund Request for Last Call review by TSVART is assigned to Magnus Westerlund
2018-04-04
13 Magnus Westerlund Request for Last Call review by TSVART is assigned to Magnus Westerlund
2018-03-29
13 Jean Mahoney Request for Last Call review by GENART is assigned to Stewart Bryant
2018-03-29
13 Jean Mahoney Request for Last Call review by GENART is assigned to Stewart Bryant
2018-03-29
13 Tero Kivinen Request for Last Call review by SECDIR is assigned to Watson Ladd
2018-03-29
13 Tero Kivinen Request for Last Call review by SECDIR is assigned to Watson Ladd
2018-03-26
13 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Shwetha Bhandari
2018-03-26
13 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Shwetha Bhandari
2018-03-23
13 Amy Vezza IANA Review state changed to IANA - Review Needed
2018-03-23
13 Amy Vezza
The following Last Call announcement was sent out (ends 2018-04-20):

From: The IESG
To: IETF-Announce
CC: linuxwolf+ietf@outer-planes.net, alexey.melnikov@isode.com, draft-hoffman-dns-in-json@ietf.org, Matthew Miller
Reply-To: …
The following Last Call announcement was sent out (ends 2018-04-20):

From: The IESG
To: IETF-Announce
CC: linuxwolf+ietf@outer-planes.net, alexey.melnikov@isode.com, draft-hoffman-dns-in-json@ietf.org, Matthew Miller
Reply-To: ietf@ietf.org
Sender:
Subject: Last Call:  (Representing DNS Messages in JSON) to Experimental RFC


The IESG has received a request from an individual submitter to consider the
following document: - 'Representing DNS Messages in JSON'
  as Experimental RFC

The IESG plans to make a decision in the next few weeks, and solicits final
comments on this action. Please send substantive comments to the
ietf@ietf.org mailing lists by 2018-04-20. Exceptionally, comments may be
sent to iesg@ietf.org instead. In either case, please retain the beginning of
the Subject line to allow automated sorting.

Abstract


  Some applications use DNS messages, or parts of DNS messages, as
  data.  For example, a system that captures DNS queries and responses
  might want to be able to easily search those without having to decode
  the messages each time.  Another example is a system that puts
  together DNS queries and responses from message parts.  This document
  describes a general format for DNS message data in JSON.  Specific
  profiles of this document can be described in other documents for
  specific applications and usage scenarios.




The file can be obtained via
https://datatracker.ietf.org/doc/draft-hoffman-dns-in-json/

IESG discussion can be tracked via
https://datatracker.ietf.org/doc/draft-hoffman-dns-in-json/ballot/


No IPR declarations have been submitted directly on this I-D.




2018-03-23
13 Amy Vezza IESG state changed to In Last Call from Last Call Requested
2018-03-23
13 Alexey Melnikov Last call was requested
2018-03-23
13 Alexey Melnikov Last call announcement was generated
2018-03-23
13 Alexey Melnikov Ballot approval text was generated
2018-03-23
13 Alexey Melnikov Ballot writeup was generated
2018-03-23
13 Alexey Melnikov IESG state changed to Last Call Requested from AD Evaluation::AD Followup
2018-03-18
13 Alexey Melnikov IESG state changed to AD Evaluation::AD Followup from AD Evaluation::External Party
2018-03-13
13 Matthew Miller
# SUMMARY

The document shepherd is Matthew Miller.  The responsible Area Director is Alexey Melnikov.

This document defines a mapping of DNS messages into JSON; …
# SUMMARY

The document shepherd is Matthew Miller.  The responsible Area Director is Alexey Melnikov.

This document defines a mapping of DNS messages into JSON; it allows for conversion to and from the DNS binary message format.  It defines the expected JSON syntax for the common properties within a DNS message, a mechanism for encoding binary data without representation, and a common mechanism to specify a query/response pair.  The data format allows for future extensibility, such as additional type-specific values.

# REVIEW AND CONSENSUS

This document received reviews from those versed in the DNS and applications with little controversy.  There have been some comments made on its generic nature; the document explicitly states it provides a mapping without opinions, and applications of this data format are allowed and encouraged to constrain it for their needs.

## REFERENCES

The reference to RFC 7159 is now obsoleted by RFC 8259, but there are no issues with updating this reference.

This document contains a number of references to expired internet-drafts.  Such references are purely informational, and provide some additional context and insights into the development of this document.

## IANA REGISTRY ACTIONS

This document registers a new media type of "application/dns+json"; it is clear and meets the requirements from RFC 6838.  As this document is only expressing already existing DNS parameters into a new format, no other actions by IANA are necessary.

## INTELLECTUAL PROPERTY

The author has confirmed their adherence to BCP 78/79; there are no IPR disclosures currently on this document, and the author has indicated they are not aware of any such claims that can be made.
2017-10-21
13 Paul Hoffman New version available: draft-hoffman-dns-in-json-13.txt
2017-10-21
13 (System) New version approved
2017-10-21
13 (System) Request for posting confirmation emailed to previous authors: Paul Hoffman
2017-10-21
13 Paul Hoffman Uploaded new revision
2017-05-08
12 Paul Hoffman New version available: draft-hoffman-dns-in-json-12.txt
2017-05-08
12 (System) New version approved
2017-05-08
12 (System) Request for posting confirmation emailed to previous authors: Paul Hoffman
2017-05-08
12 Paul Hoffman Uploaded new revision
2017-04-17
11 Alexey Melnikov Waiting for the shepherding write-up.
2017-04-17
11 Alexey Melnikov IESG state changed to AD Evaluation::External Party from Publication Requested
2017-04-17
11 Alexey Melnikov Notification list changed to Matthew Miller <linuxwolf+ietf@outer-planes.net>
2017-04-17
11 Alexey Melnikov Document shepherd changed to Matthew A. Miller
2017-04-17
11 Alexey Melnikov Notification list changed to Matthew Miller <linuxwolf+ietf@outer-planes.net>
2017-04-17
11 Alexey Melnikov Document shepherd changed to Matthew A. Miller
2017-03-27
11 Alexey Melnikov IETF WG state changed to Submitted to IESG for Publication
2017-03-27
11 Alexey Melnikov IESG state changed to Publication Requested from AD is watching
2017-03-20
11 Alexey Melnikov Assigned to Applications and Real-Time Area
2017-03-20
11 Alexey Melnikov Responsible AD changed to Alexey Melnikov
2017-03-20
11 Alexey Melnikov Intended Status changed to Experimental
2017-03-20
11 Alexey Melnikov IESG process started in state AD is watching
2017-03-20
11 Alexey Melnikov Stream changed to IETF from None
2017-03-11
11 Paul Hoffman New version available: draft-hoffman-dns-in-json-11.txt
2017-03-11
11 (System) New version approved
2017-03-11
11 (System) Request for posting confirmation emailed to previous authors: Paul Hoffman
2017-03-11
11 Paul Hoffman Uploaded new revision
2016-10-31
10 Paul Hoffman New version available: draft-hoffman-dns-in-json-10.txt
2016-10-31
10 (System) New version approved
2016-10-31
10 (System) Request for posting confirmation emailed to previous authors: "Paul Hoffman"
2016-10-31
10 Paul Hoffman Uploaded new revision
2016-10-04
09 Paul Hoffman New version available: draft-hoffman-dns-in-json-09.txt
2016-10-04
09 (System) New version approved
2016-10-04
09 (System) Request for posting confirmation emailed to previous authors: "Paul Hoffman"
2016-10-04
09 Paul Hoffman Uploaded new revision
2016-09-21
08 Paul Hoffman New version available: draft-hoffman-dns-in-json-08.txt
2016-09-21
08 Paul Hoffman New version approved
2016-09-21
08 Paul Hoffman Request for posting confirmation emailed to previous authors: none-chairs@ietf.org, "Paul E. Hoffman"
2016-09-21
08 (System) Uploaded new revision
2016-09-03
07 Paul Hoffman New version available: draft-hoffman-dns-in-json-07.txt
2016-03-07
06 Paul Hoffman New version available: draft-hoffman-dns-in-json-06.txt
2015-09-08
05 Paul Hoffman New version available: draft-hoffman-dns-in-json-05.txt
2015-08-24
04 Paul Hoffman New version available: draft-hoffman-dns-in-json-04.txt
2015-04-27
03 Paul Hoffman New version available: draft-hoffman-dns-in-json-03.txt
2014-10-26
02 Paul Hoffman New version available: draft-hoffman-dns-in-json-02.txt
2014-09-01
01 Paul Hoffman New version available: draft-hoffman-dns-in-json-01.txt
2014-08-20
00 Paul Hoffman New version available: draft-hoffman-dns-in-json-00.txt