RFC Errata
RFC 8427, "Representing DNS Messages in JSON", July 2018
Source of RFC: IETF - NON WORKING GROUPArea Assignment: art
Errata ID: 5437
Status: Held for Document Update
Type: Technical
Publication Format(s) : TEXT
Reported By: Richard Gibson
Date Reported: 2018-07-24
Held for Document Update by: Barry Leiba
Date Held: 2020-11-25
Section 2 says:
2.1. Message Object Members o compressedQNAME - Object that describes the name with two optional values: "isCompressed" (with a value of 0 for no and 1 for yes) and "length" (with an integer giving the length in the message) 2.2. Resource Record Object Members o compressedNAME - Object that describes the name with two optional values: "isCompressed" (with a value of 0 for no and 1 for yes) and "length" (with an integer giving the length in the message)
It should say:
2.1. Message Object Members o compressedQNAME - Object that describes the name with two optional values: "isCompressed" (with a value of 0 for no and 1 for yes) and "length" (an integer giving the count of octets of the name in the message, including but not following compression pointers) 2.2. Resource Record Object Members o compressedNAME - Object that describes the name with two optional values: "isCompressed" (with a value of 0 for no and 1 for yes) and "length" (an integer giving the count of octets of the name in the message, including but not following compression pointers)
Notes:
"length in the message" is ambiguous for compressed names... taking for example a compressed domain name that represents "a.b.example.com." as 0x0161 0x0162 0xC00C (i.e., label "a", then label "b", then a pointer to "example.com." at offset 12), it could mean 1) the count of octets constituting the absolute name, including both compression pointers and labels referenced by them (6+13=19), or 2) the count of octets of the compression pointer plus immediately preceding labels (6), or 3) the count of octets of labels _preceding_ the compression pointer (4), or even 4) the offset in the compression pointer (12).
The above Corrected Text specifies option 3, because that interpretation allows for the most uniform treatment of compressed vs. uncompressed names.