<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.31 (Ruby 3.0.2) -->
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dnsop-structured-dns-error-02" category="std" consensus="true" submissionType="IETF" updates="8914" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.1 -->
  <front>
    <title abbrev="Structured DNS Error">Structured Error Data for Filtered DNS</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-structured-dns-error-02"/>
    <author fullname="Dan Wing">
      <organization abbrev="Citrix">Citrix Systems, Inc.</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>dwing-ietf@fuggles.com</email>
      </address>
    </author>
    <author fullname="Tirumaleswar Reddy">
      <organization>Nokia</organization>
      <address>
        <postal>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <country>India</country>
        </postal>
        <email>kondtir@gmail.com</email>
      </address>
    </author>
    <author fullname="Neil Cook">
      <organization>Open-Xchange</organization>
      <address>
        <postal>
          <country>United Kingdom</country>
        </postal>
        <email>neil.cook@noware.co.uk</email>
      </address>
    </author>
    <author fullname="Mohamed Boucadair">
      <organization>Orange</organization>
      <address>
        <postal>
          <street>Rennes</street>
          <code>35000</code>
          <country>France</country>
        </postal>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <date year="2023" month="April" day="29"/>
    <area>Internet</area>
    <workgroup>DNS Operations Working Group</workgroup>
    <keyword>Customer experience</keyword>
    <keyword>Informed decision</keyword>
    <keyword>transparency</keyword>
    <keyword>enriched feedback</keyword>
    <abstract>
      <t>DNS filtering is widely deployed for various reasons, including
network security. However, filtered DNS responses lack information
for end users to understand the reason for the filtering.
Existing mechanisms to provide explanatory details to end users cause harm
especially if the blocked DNS response is to an HTTPS server.</t>
      <t>This document updates RFC 8914 by structuring the EXTRA-TEXT field of
the Extended DNS Error to provide details on the DNS filtering. Such
details can be parsed by the client and displayed, logged, or used for
other purposes. Other than that, this document does not change any
thing written in RFC 8914.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ietf-wg-dnsop.github.io/draft-ietf-dnsop-structured-dns-error/draft-ietf-dnsop-structured-dns-error.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-dnsop-structured-dns-error/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        dnsop Working Group mailing list (<eref target="mailto:dnsop@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dnsop/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/dnsop/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-wg-dnsop/draft-ietf-dnsop-structured-dns-error"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>DNS filters are deployed for a variety of reasons, e.g., endpoint
security, parental filtering, and filtering required by law
enforcement. Network-based security solutions such as firewalls and
Intrusion Prevention Systems (IPS) rely upon network traffic
inspection to implement perimeter-based security policies and operate
by filtering DNS responses. In a home network, DNS filtering is used for the
same reasons as above and additionally for parental control. Internet
Service Providers (ISPs) typically block access to some DNS domains due to a
requirement imposed by an external entity (e.g., law enforcement
agency) also performed using DNS-based content filtering.</t>
      <t>Users of DNS services that perform filtering may wish to receive more
explanatory information about such a filtering to resolve problems with the filter
-- for example to contact the administrator to allowlist a DNS domain that
was erroneously filtered or to understand the reason a particular
domain was filtered. With that information, a user can choose
another network, open a trouble ticket with the DNS administrator to
resolve erroneous filtering, log the information, or other uses.</t>
      <t>For the DNS filtering mechanisms described in <xref target="existing-techniques"/> the DNS
server can return extended error codes Blocked, Filtered, or
Forged Answer defined in <xref section="4" sectionFormat="of" target="RFC8914"/>. However, these codes
only explain that filtering occurred but lack detail for the user to
diagnose erroneous filterings.</t>
      <t>No matter which type of response is generated (forged IP address(es),
NXDOMAIN or empty answer, even with an extended error code), the user
who triggered the DNS query has little chance to understand which
entity filtered the query, how to report a mistake in the filter, or
why the entity filtered it at all. This document describes a mechanism
to provide such detail.</t>
      <t>One of the other benefits of the approach described in this document is to eliminate the need to
"spoof" block pages for HTTPS resources. This is achieved since
clients implementing this approach would be able to display a
meaningful error message, and would not need to connect to such a
block page. This approach thus avoids the need to install a local root
certificate authority on those IT-managed devices.</t>
      <t>This document describes a format for computer-parsable data in the
EXTRA-TEXT field of <xref target="RFC8914"/>. It updates <xref section="2" sectionFormat="of" target="RFC8914"/> which
says the information in EXTRA-TEXT field is intended for human
consumption (not automated parsing).</t>
      <t>This document does not recommend DNS filtering but provides a
mechanism for better transparency to explain to the users why some DNS
queries are filtered.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <t>This document uses terms defined in DNS Terminology <xref target="RFC8499"/>.</t>
      <t>"Requestor" refers to the side that sends a request. "Responder"
refers to an authoritative, recursive resolver or other DNS component
that responds to questions.</t>
      <t>"Encrypted DNS" refers to any encrypted scheme to convey DNS messages,
for example, DNS-over-HTTPS <xref target="RFC8484"/>, DNS-over-TLS <xref target="RFC7858"/>, or
DNS-over-QUIC <xref target="RFC9250"/>.</t>
      <t>The document refers to an extended DNS error using its purpose, not its
INFO-CODE as per Table 3 of <xref target="RFC8914"/>. "Forged Answer",
"Blocked", and "Filtered" are thus used to refer to "Forged Answer (4)",
"Blocked (15)", and "Filtered (17)".</t>
    </section>
    <section anchor="existing-techniques">
      <name>DNS Filtering Techniques and Their Limitations</name>
      <t>Today, DNS responses can be filtered by sending a bogus (also called
"forged") A or AAAA response, NXDOMAIN error or empty answer, or an
extended DNS error (EDE) code defined in <xref target="RFC8914"/>. Each of these
methods have advantages and disadvantages that are discussed below:</t>
      <ol spacing="normal" type="1"><li>
          <t>The DNS response is forged to provide a list of IP addresses that
points to an HTTP(S) server alerting the end user about the reason for
blocking access to the requested domain (e.g., malware). When an
HTTP(S) enabled domain name is blocked, the network security device
(e.g., CPE, firewall) presents a block page instead of the HTTP
response from the content provider hosting that domain. If an HTTP
enabled domain name is blocked, the network security device intercepts
the HTTP request and returns a block page over HTTP. If an HTTPS
enabled domain is blocked, the block page is also served over
HTTPS. In order to return a block page over HTTPS, man in the middle
(MITM) is enabled on endpoints by generating a local root certificate
and an accompanying (local) public/private key pair. The local root
certificate is installed on the endpoint while the network security
device(s) stores a copy of the private key. During the TLS handshake,
the network security device modifies the certificate provided by the
server and (re)signs it using the private key from the local root
certificate.  </t>
          <ul spacing="normal">
            <li>However, configuring the local root certificate on endpoints is
not a viable option in several deployments like home networks,
schools, Small Office/Home Office (SOHO), or Small/ Medium
Enterprise (SME). In these cases, the typical behavior is that
the filtered DNS response points to a server that will display
the block page. If the client is using HTTPS (via a web browser or
another application) this results in a certificate validation
error which gives no information to the end-user about the reason
for the DNS filtering.</li>
            <li>Enterprise networks do not assume that all the connected devices
are managed by the IT team or Mobile Device Management (MDM)
devices, especially in the quite common Bring Your Own Device
(BYOD) scenario. In addition, the local root certificate cannot
be installed on IoT devices without a device management tool.</li>
            <li>An end user does not know why the connection was prevented and,
consequently, may repeatedly try to reach the domain but with no
success. Frustrated, the end user may switch to an alternate
network that offers no DNS filtering against malware and
phishing, potentially compromising both security and
privacy. Furthermore, certificate errors train users to click
through certificate errors, which is a bad security practice. To
eliminate the need for an end user to click through certificate
errors, an end user may manually install a local root certificate
on a host device. Doing so, however, is also a bad security
practice as it creates a security vulnerability that may be
exploited by a MITM attack. When a manually installed local root
certificate expires, the user has to (again) manually install the
new local root certificate.</li>
          </ul>
        </li>
        <li>The DNS response is forged to provide a NXDOMAIN response to cause
the DNS lookup to terminate in failure. In this case, an end user does
not know why the domain cannot be reached and may repeatedly try to
reach the domain but with no success. Frustrated, the end user may use
insecure connections to reach the domain, potentially compromising
both security and privacy.</li>
        <li>The extended error codes Blocked and Filtered defined in
Section 4 of <xref target="RFC8914"/> can be returned by a DNS server to provide
additional information about the cause of an DNS error.</li>
        <li>These extended error codes do not suffer from the limitations
discussed in bullets (1) and (2), but the user still does not know the
exact reason nor he/she is aware of the exact entity blocking the
access to the domain. For example, a DNS server may block access to a
domain based on the content category such as "Malware" to protect the
endpoint from malicious software, "Phishing" to prevent the user from
revealing sensitive information to the attacker, etc. A user needs to
know the contact details of the IT/InfoSec team to raise a complaint.</li>
        <li>When a resolver or forwarder forwards the received EDE option, the
EXTRA-TEXT field only conveys the source of the error (Section 3 of
<xref target="RFC8914"/>) and does not provide additional textual information about
the cause of the error.</li>
      </ol>
    </section>
    <section anchor="name-spec">
      <name>I-JSON in EXTRA-TEXT Field</name>
      <t>DNS servers that are compliant with this specification send I-JSON data in
the EXTRA-TEXT field <xref target="RFC8914"/> using the Internet JSON (I-JSON)
message format <xref target="RFC7493"/>.</t>
      <ul empty="true">
        <li>
          <t>Note that <xref target="RFC7493"/> was based on <xref target="RFC7159"/>, but <xref target="RFC7159"/> was replaced by <xref target="RFC8259"/>.</t>
        </li>
      </ul>
      <t>This document defines the following JSON names:</t>
      <dl>
        <dt>c: (contact)</dt>
        <dd>
          <t>The contact details of the IT/InfoSec team to report mis-classified
DNS filtering. This field is structured as an array of contact URIs
(e.g., tel, sips, https). At least one contact URI <bcp14>MUST</bcp14> be
included. This field is mandatory.</t>
        </dd>
        <dt>j: (justification)</dt>
        <dd>
          <t>UTF-8-encoded <xref target="RFC5198"/> textual justification for this particular
DNS filtering. The field should be treated only as diagnostic
information for IT staff. This field is mandatory.</t>
        </dd>
        <dt>s: (suberror)</dt>
        <dd>
          <t>the suberror code for this particular DNS filtering. This field is optional.</t>
        </dd>
        <dt>o: (organization)</dt>
        <dd>
          <t>UTF-8-encoded human-friendly name of the organization that filtered this particular DNS query. This field is optional.</t>
        </dd>
      </dl>
      <t>New JSON names can be defined in the IANA registry introduced in (<xref target="IANA-Names"/>). Such names <bcp14>MUST</bcp14>
consist only of lower-case ASCII characters, digits, and hyphens (that
is, Unicode characters U+0061 through 007A, U+0030 through U+0039, and
U+002D). Also, these names <bcp14>MUST</bcp14> be 63 characters or shorter and it is
<bcp14>RECOMMENDED</bcp14> they be as short as possible.</t>
      <t>The text in the "j" and "o" names can include international
characters. If the text is displayed in a language not known to the
end user, browser extensions to translate to user's native language
can be used. For example, "Google Translate" extension
<xref target="Chrome-Translate"/> provided by Google on Chrome can be used to
translate the text.</t>
      <t>To reduce packet overhead the generated JSON <bcp14>SHOULD</bcp14> be as short as
possible: short domain names, concise text in the values for the "j"
and "o" names, and minified JSON (that is, without spaces or line
breaks between JSON elements).</t>
      <t>The JSON data can be parsed to display to the user, logged, or
otherwise used to assist the end-user or IT staff with troubleshooting
and diagnosing the cause of the DNS filtering.</t>
    </section>
    <section anchor="protocol-operation">
      <name>Protocol Operation</name>
      <section anchor="client-request">
        <name>Client Generating Request</name>
        <t>When generating a DNS query, the client includes the Extended DNS
Error option Section 2 of <xref target="RFC8914"/> in the OPT pseudo-RR <xref target="RFC6891"/> to
elicit the Extended DNS Error option in the DNS response. It <bcp14>SHOULD</bcp14> use an
option-length of 0 (that is, omitting INFO-CODE and EXTRA-TEXT from
<xref target="RFC8914"/>).</t>
      </section>
      <section anchor="server-response">
        <name>Server Generating Response</name>
        <t>When the DNS server filters its DNS response to an A or AAAA record
query, the DNS response <bcp14>MAY</bcp14> contain an empty answer, NXDOMAIN, or (less
ideally) forged A or AAAA response, as desired by the DNS
server. In addition, if the query contained the OPT pseudo-RR the DNS
server <bcp14>MAY</bcp14> return more detail in the EXTRA-TEXT field as described in
<xref target="client-processing"/>.</t>
        <t>Servers may decide to return small TTL values in filtered DNS
responses (e.g., 2 seconds) to handle domain category and reputation
updates.</t>
        <t>Because the DNS client signals its EDE support (<xref target="client-request"/>)
and because EDE support is signaled via a non-cached OPT resource
record (Section 6.2.1 of <xref target="RFC6891"/>) the EDE-aware DNS server can
tailor its filtered response to be most appropriate to that client's
EDE support.  If EDE support is signaled in the query the server <bcp14>MUST
NOT</bcp14> return the "Forged Answer" extended error code because the client
can take advantage of EDE's more sophisticated error reporting (e.g.,
"Filtered", "Blocked").  Continuing to send "Forged
Answer" even to an EDE-supporting client will cause the persistence of
the drawbacks described in <xref target="existing-techniques"/>.</t>
      </section>
      <section anchor="client-processing">
        <name>Client Processing Response</name>
        <t>On receipt of a DNS response with an Extended DNS Error option, the
following actions are performed if the EXTRA-TEXT field contains valid
JSON:</t>
        <ul spacing="normal">
          <li>The response <bcp14>MUST</bcp14> be received over an encrypted DNS channel. If not,
the requestor <bcp14>MUST</bcp14> discard data in the EXTRA-TEXT field.</li>
          <li>The response <bcp14>MUST</bcp14> be received from a DNS server which advertised EDE
support via a trusted channel, e.g., RESINFO
<xref target="I-D.ietf-add-resolver-info"/>.</li>
          <li>Servers which don't support this specification might use plain text
in the EXTRA-TEXT field so that requestors <bcp14>SHOULD</bcp14> properly handle
both plaintext and JSON text in the EXTRA-TEXT field.</li>
          <li>The DNS response <bcp14>MUST</bcp14> also contain an extended error code of
"Blocked by Upstream Server", "Blocked" or "Filtered" <xref target="RFC8914"/>, otherwise
the EXTRA-TEXT field is discarded.</li>
          <li>If either of the mandatory JSON names "c" and "j" are missing or
have empty values in the EXTRA-TEXT field, the entire JSON is
discarded.</li>
          <li>If a DNS client has enabled opportunistic privacy profile (Section 5
of <xref target="RFC8310"/>) for DoT, the DNS client will either fall back to an
encrypted connection without authenticating the DNS server provided
by the local network or fall back to clear text DNS, and cannot
exchange encrypted DNS messages. Both of these fallback mechanisms
adversely impact security and privacy. If the DNS client has enabled
opportunistic privacy profile for DoT and the identity of the DNS server
cannot be verified, the DNS client <bcp14>MUST</bcp14> ignore the "c", "j", and "o" fields
but <bcp14>MAY</bcp14> process the "s" field and other parts of the response.</li>
          <li>Opportunistic discovery <xref target="I-D.ietf-add-ddr"/>, where only the IP address is
validated, the DNS client <bcp14>MUST</bcp14> ignore the "c", "j", and "o" fields
but <bcp14>MAY</bcp14> process the "s" field and other parts of the response.</li>
          <li>If a DNS client has enabled strict privacy profile (<xref section="5" sectionFormat="of" target="RFC8310"/>) for DoT, the DNS client requires an encrypted connection
and successful authentication of the DNS server. In doing so, this mitigates both
passive eavesdropping and client redirection (at the expense of
providing no DNS service if an encrypted, authenticated connection
is not available). If the DNS client has enabled strict privacy
profile for DoT, the DNS client <bcp14>MAY</bcp14> process the EXTRA-TEXT field of the
DNS response.</li>
          <li>If the DNS client determines that the encrypted DNS server does not
offer DNS filtering service, it <bcp14>MUST</bcp14> discard the EXTRA-TEXT field of
the EDE response. For example, the DNS client can learn whether the
encrypted DNS resolver performs DNS-based content filtering or not
by retrieving resolver information using the method defined in
<xref target="I-D.ietf-add-resolver-info"/>.</li>
          <li>When a forwarder receives an EDE option, whether or not (and how) to
pass along JSON information in the EXTRA-TEXT on to their client is
implementation dependent <xref target="RFC5625"/>. Implementations <bcp14>MAY</bcp14> choose to
not forward the JSON information, or they <bcp14>MAY</bcp14> choose to create a new
EDE option that conveys the information in the "c", "s", and "j"
fields encoded in the JSON object.</li>
          <li>The application that triggered the DNS request may have a local policy to override the contact information
 (e.g., redirect all complaint calls to a single contact point). In such a case, the content of the
 "c" attribute can be ignored.</li>
        </ul>
        <ul empty="true">
          <li>
            <t>Note that the strict and opportunistic privacy profiles as defined in <xref target="RFC8310"/> only apply to DoT; there has been
no such distinction made for DoH.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="interoperation-with-rpz-servers">
      <name>Interoperation with RPZ Servers</name>
      <t>This section discusses operation with an RPZ server <xref target="RPZ"/> that
indicates filtering with a NXDOMAIN response with the Recursion
Available bit cleared (RA=0).</t>
      <t>When the DNS client supports this specification but the server does
not, the server will continue replying when a query is RPZ filtered
with NXDOMAIN and RA=0. An DNS client upgraded to support this
specification can continue to accept responses with NXDOMAIN and RA=0
from the RPZ server that does not support this specification.</t>
      <t>When the DNS client supports this specification and the server
supports this specification, the client learns of the server's support
via <xref target="I-D.ietf-add-resolver-info"/> and the client includes the EDE OPT
pseudo-RR in the query. This allows the server to differentiate
EDE-aware clients from EDE-unaware clients and respond appropriately.</t>
    </section>
    <section anchor="new-sub-error-codes-definition">
      <name>New Sub-Error Codes Definition</name>
      <t>The document defines the following new IANA-registered Sub-Error codes.</t>
      <section anchor="policy-reserved">
        <name>Reserved</name>
        <ul spacing="normal">
          <li>Number: 0</li>
          <li>Meaning: Reserved. This sub-error code value <bcp14>MUST NOT</bcp14> be sent. If received, it has no meaning.</li>
          <li>Applicability: This code should never be used.</li>
          <li>Reference: This-Document</li>
          <li>Change Controller: IETF</li>
        </ul>
      </section>
      <section anchor="policy-network">
        <name>Network Operator Policy</name>
        <ul spacing="normal">
          <li>Number: 5</li>
          <li>Meaning: Network Operator Policy. The code indicates that the request was filtered according to policy determined by the operator of the local network.</li>
          <li>Applicability: Blocked</li>
          <li>Reference: This-Document</li>
          <li>Change Controller: IETF</li>
        </ul>
      </section>
      <section anchor="policy-dns">
        <name>DNS Operator Policy</name>
        <ul spacing="normal">
          <li>Number: 6</li>
          <li>Meaning: DNS Operator Policy. The code indicates that the request was filtered according to policy determined by the operator of the DNS server.</li>
          <li>Applicability: Blocked</li>
          <li>Reference:  This-Document</li>
          <li>Change Controller: IETF</li>
        </ul>
      </section>
    </section>
    <section anchor="extended-dns-error-code-tba1-blocked-by-upstream-dns-server">
      <name>Extended DNS Error Code TBA1 - Blocked by Upstream DNS Server</name>
      <t>The DNS server (e.g., a DNS forwarder) is unable to respond to the request
because the domain is on a blocklist due to an internal security policy
imposed by an upstream DNS server. This error code
is useful in deployments where a network-provided DNS forwarder
is configured to use an external resolver that filters malicious
domains. Typically, when the DNS forwarder receives a Blocked (15) error code from the upstream DNS server, it will replace it with "Blocked by Upstream DNS Server" (TBA1) before forwarding the reply to the DNS client.</t>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>An example showing the nameserver at 'ns.example.net' that filtered a
DNS "A" record query for 'example.org' is provided in <xref target="example-json"/>.</t>
      <figure anchor="example-json">
        <name>JSON Returned in EXTRA-TEXT Field of Extended DNS Error Response</name>
        <artwork><![CDATA[
{
  "c": [
    "tel:+358-555-1234567",
    "sips:bob@bobphone.example.com",
    "https://ticket.example.com?d=example.org&t=1650560748"
  ],
  "j": "malware present for 23 days",
  "s": 1,
  "o": "example.net Filtering Service"
}
]]></artwork>
      </figure>
      <t>In <xref target="example-json-minified"/> the same content is shown with minified JSON (no
whitespace, no blank lines) with line wrapping per <xref target="RFC8792"/>.</t>
      <figure anchor="example-json-minified">
        <name>Minified Response</name>
        <artwork><![CDATA[
{"c":["tel:+358-555-1234567","sips:bob@bobphone.example.com", \            
"https://ticket.example.com?d=example.org&t=1650560748"],"s":1, \                       
"j":"malware present for 23 days","o":"example.net Filtering \                  
Service"}
]]></artwork>
      </figure>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Security considerations in <xref section="6" sectionFormat="of" target="RFC8914"/> apply to this
document.</t>
      <t>To minimize impact of active on-path attacks on the DNS channel, the
client validates the response as described in <xref target="client-processing"/>.</t>
      <t>A client might choose to display the information in the "c", "j", and
"o" fields if and only if the encrypted resolver has sufficient
reputation, according to some local policy (e.g. user configuration,
administrative configuration, or a built-in list of respectable
resolvers). This limits the ability of a malicious encrypted resolver
to cause harm. If the client decides not to display the all of the
information in the EXTRA-TEXT field, it can be logged for diagnostics
purpose and the client can only display the resolver hostname that
blocked the domain, error description for the EDE code and the
suberror description for the "s" field to the end-user.</t>
      <t>When displaying the free-form text of "j" and "o", the browser <bcp14>SHOULD
NOT</bcp14> make any of those elements into actionable (clickable) links.</t>
      <t>An attacker might inject (or modify) the EDE EXTRA-TEXT field with an
DNS proxy or DNS forwarder that is unaware of EDE. Such a DNS proxy or
DNS forwarder will forward that attacker-controlled EDE option. To
prevent such an attack, clients supporting this document <bcp14>MUST</bcp14> discard
the EDE option if their DNS server does not signal EDE support via
RESINFO <xref target="I-D.ietf-add-resolver-info"/>. As recommended in
<xref target="I-D.ietf-add-resolver-info"/>, RESINFO should be retrieved over an
encrypted DNS channel or integrity protected with DNSSEC.</t>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>This document requests four IANA actions as described in the following subsections.</t>
      <ul empty="true">
        <li>
          <t>Note to the RFC Editor: Please replace RFCXXXX with the RFC number assigned to this document and "TBA1" with the value assigned by IANA.</t>
        </li>
      </ul>
      <section anchor="media-type-registration">
        <name>Media Type Registration</name>
        <t>This document requests IANA to register the
"application/json+structured-dns-error" media type in the "Media
Types" registry <xref target="IANA-MediaTypes"/>. This registration follows the
procedures specified in <xref target="RFC6838"/>:</t>
        <artwork><![CDATA[
   Type name: application

   Subtype name: json+structured-dns-error

   Required parameters: N/A

   Optional parameters: N/A

   Encoding considerations: as defined in Section 4 of RFCXXXX.

   Security considerations: See Section 9 of RFCXXXX.

   Interoperability considerations: N/A

   Published specification: RFCXXXX

   Applications that use this media type: Section 4 of RFCXXXX.

   Fragment identifier considerations: N/A

   Additional information: N/A

   Person & email address to contact for further information: IETF,
      iesg@ietf.org

   Intended usage: COMMON

   Restrictions on usage: none

   Author: See Authors' Addresses section.

   Change controller: IESG

   Provisional registration?  No
]]></artwork>
      </section>
      <section anchor="IANA-Names">
        <name>New Registry for JSON Names</name>
        <t>This document requests IANA to create a new registry, entitled "EXTRA-TEXT JSON Names"
under "Domain Name System (DNS) Parameters, Extended DNS Error Codes"
registry <xref target="IANA-DNS"/>. The registration request for a new JSON name must include the
following fields:</t>
        <dl>
          <dt>JSON Name:</dt>
          <dd>
            <t>Specifies the name of an attribute that is present in the JSON data enclosed in EXTRA-TEXT field. The name must follow the guidelines in <xref target="name-spec"/>.</t>
          </dd>
          <dt>Short description:</dt>
          <dd>
            <t>Includes a short description of the requested JSON name.</t>
          </dd>
          <dt>Mandatory (Y/N?):</dt>
          <dd>
            <t>Indicates whether this attribute is mandatory or optional.</t>
          </dd>
          <dt>Specification:</dt>
          <dd>
            <t>Provides a pointer to the reference document that specifies the attribute.</t>
          </dd>
        </dl>
        <t>The registry is initially populated with the following values:</t>
        <table anchor="reg-names">
          <name>Initial JSON Names Rregistry</name>
          <thead>
            <tr>
              <th align="center">JSON Name</th>
              <th align="left">Full JSON Name</th>
              <th align="left">Description</th>
              <th align="left">Mandatory</th>
              <th align="center">Specification</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">c</td>
              <td align="left">contact</td>
              <td align="left">The contact details of the IT/InfoSec team to report mis-classified DNS filtering</td>
              <td align="left">Y</td>
              <td align="center">
                <xref target="name-spec"/> of RFCXXXX</td>
            </tr>
            <tr>
              <td align="center">j</td>
              <td align="left">justification</td>
              <td align="left">UTF-8-encoded <xref target="RFC5198"/> textual justification for a particular DNS filtering</td>
              <td align="left">Y</td>
              <td align="center">
                <xref target="name-spec"/> of RFCXXXX</td>
            </tr>
            <tr>
              <td align="center">s</td>
              <td align="left">suberror</td>
              <td align="left">the suberror code for this particular DNS filtering</td>
              <td align="left">N</td>
              <td align="center">
                <xref target="name-spec"/> of RFCXXXX</td>
            </tr>
            <tr>
              <td align="center">o</td>
              <td align="left">organization</td>
              <td align="left">UTF-8-encoded human-friendly name of the organization that filtered this particular DNS query</td>
              <td align="left">N</td>
              <td align="center">
                <xref target="name-spec"/> of RFCXXXX</td>
            </tr>
          </tbody>
        </table>
        <t>New JSON names are registered via IETF Review (<xref section="4.8" sectionFormat="of" target="RFC8126"/>).</t>
      </section>
      <section anchor="new-registry-for-dns-suberror-codes">
        <name>New Registry for DNS SubError Codes</name>
        <t>This document requests IANA to create a new registry, entitled "SubError Codes"
under "Domain Name System (DNS) Parameters, Extended DNS Error Codes"
registry <xref target="IANA-DNS"/>. The registration request for a new suberror codes <bcp14>MUST</bcp14> include the
following fields:</t>
        <ul spacing="normal">
          <li>Number: Is the wire format suberror code (range 0-255).</li>
          <li>Meaning: Provides a short description of the sub-error.</li>
          <li>Applicability: Indicates which RFC8914 error codes apply to this sub-error code.</li>
          <li>Reference: Provides a pointer to an IETF-approved specification that registered
the code and/or an authoritative specification that describes the
meaning of this code.</li>
          <li>Change Controller: Indicates the person or entity, with contact information if appropriate.</li>
        </ul>
        <t>The SubError Code registry is initially be populated with the
following suberror codes:</t>
        <table anchor="reg">
          <name>Initial SubError Code Rregistry</name>
          <thead>
            <tr>
              <th align="center">Number</th>
              <th align="left">Meaning</th>
              <th align="left">RFC8914 error code applicability</th>
              <th align="left">Reference</th>
              <th align="center">Change Controller</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">0</td>
              <td align="left">Reserved</td>
              <td align="left">Not used</td>
              <td align="left">
                <xref target="policy-reserved"/> of this document</td>
              <td align="center">IETF</td>
            </tr>
            <tr>
              <td align="center">1</td>
              <td align="left">Malware</td>
              <td align="left">"Blocked", "Blocked by Upstream Server", "Filtered"</td>
              <td align="left">Section 5.5 of <xref target="RFC5901"/></td>
              <td align="center">IETF</td>
            </tr>
            <tr>
              <td align="center">2</td>
              <td align="left">Phishing</td>
              <td align="left">"Blocked", "Blocked by Upstream Server", "Filtered"</td>
              <td align="left">Section 5.5 of <xref target="RFC5901"/></td>
              <td align="center">IETF</td>
            </tr>
            <tr>
              <td align="center">3</td>
              <td align="left">Spam</td>
              <td align="left">"Blocked", "Blocked by Upstream Server", "Filtered"</td>
              <td align="left">Page 289 of <xref target="RFC4949"/></td>
              <td align="center">IETF</td>
            </tr>
            <tr>
              <td align="center">4</td>
              <td align="left">Spyware</td>
              <td align="left">"Blocked", "Blocked by Upstream Server", "Filtered"</td>
              <td align="left">Page 291 of <xref target="RFC4949"/></td>
              <td align="center">IETF</td>
            </tr>
            <tr>
              <td align="center">5</td>
              <td align="left">Network operator policy</td>
              <td align="left">"Blocked"</td>
              <td align="left">
                <xref target="policy-network"/> of this document</td>
              <td align="center">IETF</td>
            </tr>
            <tr>
              <td align="center">6</td>
              <td align="left">DNS operator policy</td>
              <td align="left">"Blocked"</td>
              <td align="left">
                <xref target="policy-dns"/> of this document</td>
              <td align="center">IETF</td>
            </tr>
          </tbody>
        </table>
        <t>New SubError Codes are registered via IETF Review (<xref section="4.8" sectionFormat="of" target="RFC8126"/>).</t>
      </section>
      <section anchor="new-extended-dns-error-code">
        <name>New Extended DNS Error Code</name>
        <t>IANA is requested to assign the following Extended DNS Error code from the "Domain Name System (DNS) Parameters, Extended DNS Error Codes"
registry <xref target="IANA-DNS"/>:</t>
        <table anchor="reg-ede">
          <name>New DNS Error Code</name>
          <thead>
            <tr>
              <th align="center">INFO-CODE</th>
              <th align="left">Purose</th>
              <th align="center">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">TBA1</td>
              <td align="left">Blocked by Upstream Server</td>
              <td align="center">RFCXXXX</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC8914">
          <front>
            <title>Extended DNS Errors</title>
            <author fullname="W. Kumari" initials="W." surname="Kumari">
              <organization/>
            </author>
            <author fullname="E. Hunt" initials="E." surname="Hunt">
              <organization/>
            </author>
            <author fullname="R. Arends" initials="R." surname="Arends">
              <organization/>
            </author>
            <author fullname="W. Hardaker" initials="W." surname="Hardaker">
              <organization/>
            </author>
            <author fullname="D. Lawrence" initials="D." surname="Lawrence">
              <organization/>
            </author>
            <date month="October" year="2020"/>
            <abstract>
              <t>This document defines an extensible method to return additional information about the cause of DNS errors. Though created primarily to extend SERVFAIL to provide additional information about the cause of DNS and DNSSEC failures, the Extended DNS Errors option defined in this document allows all response types to contain extended error information. Extended DNS Error information does not change the processing of RCODEs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8914"/>
          <seriesInfo name="DOI" value="10.17487/RFC8914"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC7493">
          <front>
            <title>The I-JSON Message Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray">
              <organization/>
            </author>
            <date month="March" year="2015"/>
            <abstract>
              <t>I-JSON (short for "Internet JSON") is a restricted profile of JSON designed to maximize interoperability and increase confidence that software can process it successfully with predictable results.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7493"/>
          <seriesInfo name="DOI" value="10.17487/RFC7493"/>
        </reference>
        <reference anchor="RFC7159">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray">
              <organization/>
            </author>
            <date month="March" year="2014"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format.  It was derived from the ECMAScript Programming Language Standard.  JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7159"/>
          <seriesInfo name="DOI" value="10.17487/RFC7159"/>
        </reference>
        <reference anchor="RFC5198">
          <front>
            <title>Unicode Format for Network Interchange</title>
            <author fullname="J. Klensin" initials="J." surname="Klensin">
              <organization/>
            </author>
            <author fullname="M. Padlipsky" initials="M." surname="Padlipsky">
              <organization/>
            </author>
            <date month="March" year="2008"/>
            <abstract>
              <t>The Internet today is in need of a standardized form for the transmission of internationalized "text" information, paralleling the specifications for the use of ASCII that date from the early days of the ARPANET.  This document specifies that format, using UTF-8 with normalization and specific line-ending sequences.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5198"/>
          <seriesInfo name="DOI" value="10.17487/RFC5198"/>
        </reference>
        <reference anchor="RFC6891">
          <front>
            <title>Extension Mechanisms for DNS (EDNS(0))</title>
            <author fullname="J. Damas" initials="J." surname="Damas">
              <organization/>
            </author>
            <author fullname="M. Graff" initials="M." surname="Graff">
              <organization/>
            </author>
            <author fullname="P. Vixie" initials="P." surname="Vixie">
              <organization/>
            </author>
            <date month="April" year="2013"/>
            <abstract>
              <t>The Domain Name System's wire protocol includes a number of fixed fields whose range has been or soon will be exhausted and does not allow requestors to advertise their capabilities to responders.  This document describes backward-compatible mechanisms for allowing the protocol to grow.</t>
              <t>This document updates the Extension Mechanisms for DNS (EDNS(0)) specification (and obsoletes RFC 2671) based on feedback from deployment experience in several implementations.  It also obsoletes RFC 2673 ("Binary Labels in the Domain Name System") and adds considerations on the use of extended labels in the DNS.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="75"/>
          <seriesInfo name="RFC" value="6891"/>
          <seriesInfo name="DOI" value="10.17487/RFC6891"/>
        </reference>
        <reference anchor="RFC8310">
          <front>
            <title>Usage Profiles for DNS over TLS and DNS over DTLS</title>
            <author fullname="S. Dickinson" initials="S." surname="Dickinson">
              <organization/>
            </author>
            <author fullname="D. Gillmor" initials="D." surname="Gillmor">
              <organization/>
            </author>
            <author fullname="T. Reddy" initials="T." surname="Reddy">
              <organization/>
            </author>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document discusses usage profiles, based on one or more authentication mechanisms, which can be used for DNS over Transport Layer Security (TLS) or Datagram TLS (DTLS).  These profiles can increase the privacy of DNS transactions compared to using only cleartext DNS.  This document also specifies new authentication mechanisms -- it describes several ways that a DNS client can use an authentication domain name to authenticate a (D)TLS connection to a DNS server.  Additionally, it defines (D)TLS protocol profiles for DNS clients and servers implementing DNS over (D)TLS.  This document updates RFC 7858.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8310"/>
          <seriesInfo name="DOI" value="10.17487/RFC8310"/>
        </reference>
        <reference anchor="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed">
              <organization/>
            </author>
            <author fullname="J. Klensin" initials="J." surname="Klensin">
              <organization/>
            </author>
            <author fullname="T. Hansen" initials="T." surname="Hansen">
              <organization/>
            </author>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols.  This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton">
              <organization/>
            </author>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <author fullname="T. Narten" initials="T." surname="Narten">
              <organization/>
            </author>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters.  To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper.  For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed.  This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC5901">
          <front>
            <title>Extensions to the IODEF-Document Class for Reporting Phishing</title>
            <author fullname="P. Cain" initials="P." surname="Cain">
              <organization/>
            </author>
            <author fullname="D. Jevans" initials="D." surname="Jevans">
              <organization/>
            </author>
            <date month="July" year="2010"/>
            <abstract>
              <t>This document extends the Incident Object Description Exchange Format (IODEF) defined in RFC 5070 to support the reporting of phishing events, which is a particular type of fraud.  These extensions are flexible enough to support information gleaned from activities throughout the entire electronic fraud cycle -- from receipt of the phishing lure to the disablement of the collection site.  Both simple reporting and complete forensic reporting are possible, as is consolidating multiple incidents.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5901"/>
          <seriesInfo name="DOI" value="10.17487/RFC5901"/>
        </reference>
        <reference anchor="RFC4949">
          <front>
            <title>Internet Security Glossary, Version 2</title>
            <author fullname="R. Shirey" initials="R." surname="Shirey">
              <organization/>
            </author>
            <date month="August" year="2007"/>
            <abstract>
              <t>This Glossary provides definitions, abbreviations, and explanations of terminology for information system security. The 334 pages of entries offer recommendations to improve the comprehensibility of written material that is generated in the Internet Standards Process (RFC 2026). The recommendations follow the principles that such writing should (a) use the same term or definition whenever the same concept is mentioned; (b) use terms in their plainest, dictionary sense; (c) use terms that are already well-established in open publications; and (d) avoid terms that either favor a particular vendor or favor a particular technology or mechanism over other, competing techniques that already exist or could be developed.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="FYI" value="36"/>
          <seriesInfo name="RFC" value="4949"/>
          <seriesInfo name="DOI" value="10.17487/RFC4949"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="IANA-MediaTypes" target="https://www.iana.org/assignments/media-types">
          <front>
            <title>Media Types</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="IANA-DNS" target="https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#extended-dns-error-codes">
          <front>
            <title>Domain Name System (DNS) Parameters, Extended DNS Error Codes</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RPZ" target="https://dnsrpz.info">
          <front>
            <title>Response Policy Zone</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="Chrome-Translate" target="https://support.google.com/chrome/answer/173424">
          <front>
            <title>Change Chrome languages &amp; translate webpages</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC8499">
          <front>
            <title>DNS Terminology</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman">
              <organization/>
            </author>
            <author fullname="A. Sullivan" initials="A." surname="Sullivan">
              <organization/>
            </author>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara">
              <organization/>
            </author>
            <date month="January" year="2019"/>
            <abstract>
              <t>The Domain Name System (DNS) is defined in literally dozens of different RFCs.  The terminology used by implementers and developers of DNS protocols, and by operators of DNS systems, has sometimes changed in the decades since the DNS was first defined.  This document gives current definitions for many of the terms used in the DNS in a single document.</t>
              <t>This document obsoletes RFC 7719 and updates RFC 2308.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="219"/>
          <seriesInfo name="RFC" value="8499"/>
          <seriesInfo name="DOI" value="10.17487/RFC8499"/>
        </reference>
        <reference anchor="RFC8484">
          <front>
            <title>DNS Queries over HTTPS (DoH)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman">
              <organization/>
            </author>
            <author fullname="P. McManus" initials="P." surname="McManus">
              <organization/>
            </author>
            <date month="October" year="2018"/>
            <abstract>
              <t>This document defines a protocol for sending DNS queries and getting DNS responses over HTTPS.  Each DNS query-response pair is mapped into an HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8484"/>
          <seriesInfo name="DOI" value="10.17487/RFC8484"/>
        </reference>
        <reference anchor="RFC7858">
          <front>
            <title>Specification for DNS over Transport Layer Security (TLS)</title>
            <author fullname="Z. Hu" initials="Z." surname="Hu">
              <organization/>
            </author>
            <author fullname="L. Zhu" initials="L." surname="Zhu">
              <organization/>
            </author>
            <author fullname="J. Heidemann" initials="J." surname="Heidemann">
              <organization/>
            </author>
            <author fullname="A. Mankin" initials="A." surname="Mankin">
              <organization/>
            </author>
            <author fullname="D. Wessels" initials="D." surname="Wessels">
              <organization/>
            </author>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman">
              <organization/>
            </author>
            <date month="May" year="2016"/>
            <abstract>
              <t>This document describes the use of Transport Layer Security (TLS) to provide privacy for DNS.  Encryption provided by TLS eliminates opportunities for eavesdropping and on-path tampering with DNS queries in the network, such as discussed in RFC 7626.  In addition, this document specifies two usage profiles for DNS over TLS and provides advice on performance considerations to minimize overhead from using TCP and TLS with DNS.</t>
              <t>This document focuses on securing stub-to-recursive traffic, as per the charter of the DPRIVE Working Group.  It does not prevent future applications of the protocol to recursive-to-authoritative traffic.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7858"/>
          <seriesInfo name="DOI" value="10.17487/RFC7858"/>
        </reference>
        <reference anchor="RFC9250">
          <front>
            <title>DNS over Dedicated QUIC Connections</title>
            <author fullname="C. Huitema" initials="C." surname="Huitema">
              <organization/>
            </author>
            <author fullname="S. Dickinson" initials="S." surname="Dickinson">
              <organization/>
            </author>
            <author fullname="A. Mankin" initials="A." surname="Mankin">
              <organization/>
            </author>
            <date month="May" year="2022"/>
            <abstract>
              <t>This document describes the use of QUIC to provide transport confidentiality for DNS. The encryption provided by QUIC has similar properties to those provided by TLS, while QUIC transport eliminates the head-of-line blocking issues inherent with TCP and provides more efficient packet-loss recovery than UDP. DNS over QUIC (DoQ) has privacy properties similar to DNS over TLS (DoT) specified in RFC 7858, and latency characteristics similar to classic DNS over UDP. This specification describes the use of DoQ as a general-purpose transport for DNS and includes the use of DoQ for stub to recursive, recursive to authoritative, and zone transfer scenarios.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9250"/>
          <seriesInfo name="DOI" value="10.17487/RFC9250"/>
        </reference>
        <reference anchor="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray">
              <organization/>
            </author>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format.  It was derived from the ECMAScript Programming Language Standard.  JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="I-D.ietf-add-resolver-info">
          <front>
            <title>DNS Resolver Information</title>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <date day="22" month="February" year="2023"/>
            <abstract>
              <t>   This document specifies a method for DNS resolvers to publish
   information about themselves.  DNS clients can use the resolver
   information to identify the capabilities of DNS resolvers.  How such
   an information is then used by DNS clients is out of the scope of the
   document.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-add-resolver-info-01"/>
        </reference>
        <reference anchor="I-D.ietf-add-ddr">
          <front>
            <title>Discovery of Designated Resolvers</title>
            <author fullname="Tommy Pauly" initials="T." surname="Pauly">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Eric Kinnear" initials="E." surname="Kinnear">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Patrick McManus" initials="P." surname="McManus">
              <organization>Fastly</organization>
            </author>
            <author fullname="Tommy Jensen" initials="T." surname="Jensen">
              <organization>Microsoft</organization>
            </author>
            <date day="5" month="August" year="2022"/>
            <abstract>
              <t>   This document defines Discovery of Designated Resolvers (DDR), a
   mechanism for DNS clients to use DNS records to discover a resolver's
   encrypted DNS configuration.  An encrypted DNS resolver discovered in
   this manner is referred to as a "Designated Resolver".  This
   mechanism can be used to move from unencrypted DNS to encrypted DNS
   when only the IP address of a resolver is known.  This mechanism is
   designed to be limited to cases where unencrypted DNS resolvers and
   their designated resolvers are operated by the same entity or
   cooperating entities.  It can also be used to discover support for
   encrypted DNS protocols when the name of an encrypted DNS resolver is
   known.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-add-ddr-10"/>
        </reference>
        <reference anchor="RFC5625">
          <front>
            <title>DNS Proxy Implementation Guidelines</title>
            <author fullname="R. Bellis" initials="R." surname="Bellis">
              <organization/>
            </author>
            <date month="August" year="2009"/>
            <abstract>
              <t>This document provides guidelines for the implementation of DNS proxies, as found in broadband gateways and other similar network devices.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="152"/>
          <seriesInfo name="RFC" value="5625"/>
          <seriesInfo name="DOI" value="10.17487/RFC5625"/>
        </reference>
        <reference anchor="RFC8792">
          <front>
            <title>Handling Long Lines in Content of Internet-Drafts and RFCs</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen">
              <organization/>
            </author>
            <author fullname="E. Auerswald" initials="E." surname="Auerswald">
              <organization/>
            </author>
            <author fullname="A. Farrel" initials="A." surname="Farrel">
              <organization/>
            </author>
            <author fullname="Q. Wu" initials="Q." surname="Wu">
              <organization/>
            </author>
            <date month="June" year="2020"/>
            <abstract>
              <t>This document defines two strategies for handling long lines in width-bounded text content.  One strategy, called the "single backslash" strategy, is based on the historical use of a single backslash ('\') character to indicate where line-folding has occurred, with the continuation occurring with the first character that is not a space character (' ') on the next line.  The second strategy, called the "double backslash" strategy, extends the first strategy by adding a second backslash character to identify where the continuation begins and is thereby able to handle cases not supported by the first strategy.  Both strategies use a self-describing header enabling automated reconstitution of the original content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8792"/>
          <seriesInfo name="DOI" value="10.17487/RFC8792"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Thanks to Vittorio Bertola, Wes Hardaker, Ben Schwartz, Erid Orth,
Viktor Dukhovni, Warren Kumari, Paul Wouters, John Levine, and Bob
Harold for the comments.</t>
      <t>Thanks to Ralf Weber and Gianpaolo Scalone for sharing details about their implementation.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
22802i4icoZd/OBvB0rLThvsWP1fQfFRFulwAAA=

-->

</rfc>
