<?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.7.5 (Ruby 3.2.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-08" category="std" consensus="true" submissionType="IETF" updates="8914" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.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-08"/>
    <author fullname="Dan Wing">
      <organization abbrev="Citrix">Citrix Systems, Inc.</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>danwing@gmail.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="2024" month="February" day="01"/>
    <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>
      <?line 89?>

<t>DNS filtering is widely deployed for various reasons, including
network security. However, filtered DNS responses lack structured 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 for HTTPS resources.</t>
      <t>This document updates RFC 8914 by signaling client support for 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.</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>
    <?line 102?>

<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
to use another network, open a trouble ticket with the DNS administrator to
resolve erroneous filtering, log the information, etc.</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>
      <?line -18?>

<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 (EDE) 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>DNS responses can be filtered by sending, e.g., a bogus (also called
"forged") response, NXDOMAIN error, or empty answer. Also, clients can be informed that filtering has occured by sending an
Extended DNS Error 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., Customer Premises Equipment (CPE) or 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 stores a copy of the private key. During the TLS handshake,
the on-path 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>
              <t>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.</t>
            </li>
            <li>
              <t>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.</t>
            </li>
            <li>
              <t>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.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>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.</t>
        </li>
        <li>
          <t>The extended error codes Blocked and Filtered defined in
<xref section="4" sectionFormat="of" target="RFC8914"/> can be returned by a DNS server to provide
additional information about the cause of a DNS error.</t>
        </li>
        <li>
          <t>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 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 may need to
know the contact details of the IT/InfoSec team to raise a complaint.</t>
        </li>
      </ol>
    </section>
    <section anchor="name-spec">
      <name>I-JSON in EXTRA-TEXT Field</name>
      <t>DNS servers that are compliant with this specification and have received an indication that the client also supports this specification as per <xref target="client-request"/> send data in the EXTRA-TEXT field <xref target="RFC8914"/> encoded 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 information is important for transparency and also to ease unblocking a legitimate domain name that got blocked due to wrong classification.</t>
        </dd>
        <dt/>
        <dd>
          <t>This field is structured as an array of contact URIs, using 'tel' <xref target="RFC3966"/> or 'sips' <xref target="RFC5630"/> or  'mailto' <xref target="RFC3966"/> schemes. At least one contact URI <bcp14>MUST</bcp14> be included.</t>
        </dd>
        <dt/>
        <dd>
          <t>New contact URI schemes may be added to the IANA registry following the instructions in <xref target="IANA-Contact"/>.</t>
        </dd>
        <dt/>
        <dd>
          <t>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.</t>
        </dd>
        <dt/>
        <dd>
          <t>Whether the information provided in the "j" name is meaningful or considered as garbage data
(including empty values) is local to each IT teams. Returning garbage data
would indicate that a DNS server is misbehaving. Note also that the provided
justification is useful for cross-validation with another DNS server.</t>
        </dd>
        <dt/>
        <dd>
          <t>This field is mandatory.</t>
        </dd>
        <dt>s: (suberror)</dt>
        <dd>
          <t>The suberror code for this particular DNS filtering.</t>
        </dd>
        <dt/>
        <dd>
          <t>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.</t>
        </dd>
        <dt/>
        <dd>
          <t>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 hyphen-minus (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.</t>
      <t>To reduce DNS message size 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>
      <ul empty="true">
        <li>
          <t>An alternate design for conveying the suberror would be to define new EDE codes for these errors. However, such design is suboptimal because it requires replicating an error code for each EDE code to which the suberror applies (e.g., "Malware" suberror in <xref target="reg"/> would consume three EDE codes).</t>
        </li>
      </ul>
    </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 EDE option (<xref section="2" sectionFormat="of" target="RFC8914"/>) in the OPT pseudo-RR <xref target="RFC6891"/> to
elicit the EDE option in the DNS response. It <bcp14>MUST</bcp14> use an
OPTION-LENGTH of 2, the INFO-CODE field set to "0"
(Other Error), and an empty EXTRA-TEXT field.  This signal indicates
that the client desires that the server responds in accordance with
the present specification.</t>
      </section>
      <section anchor="server-response">
        <name>Server Generating Response</name>
        <t>When the DNS server filters its DNS response to a
query (e.g., A or AAAA record query), the DNS response <bcp14>MAY</bcp14> contain an empty answer, NXDOMAIN, or (less
ideally) forged 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 (<xref section="6.2.1" sectionFormat="of" 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 as per <xref target="client-request"/>, 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 EDE option from a
DNS responder, the following ordered actions are performed on the EXTRA-TEXT
field:</t>
        <ul spacing="normal">
          <li>
            <t>Servers which don't support this specification might use plain text
in the EXTRA-TEXT field. Requestors <bcp14>SHOULD</bcp14> properly handle
both plaintext and JSON text in the EXTRA-TEXT field. The requestor verifies that
the field contains valid JSON. If not, the requestor <bcp14>MUST</bcp14> consider
the server does not support this specification and stop processing
rest of the actions defined in this section, but may instead choose
to treat EXTRA-TEXT as per <xref target="RFC8914"/>.</t>
          </li>
          <li>
            <t>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.</t>
          </li>
          <li>
            <t>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.</t>
          </li>
          <li>
            <t>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.</t>
          </li>
          <li>
            <t>If the "c" field contains any URI scheme not registered in the
<xref target="IANA-Contact"/> registry, it <bcp14>MUST</bcp14> be discarded.</t>
          </li>
          <li>
            <t>If a DNS client has enabled opportunistic privacy profile (<xref section="5" sectionFormat="of" 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 but the connection is encrypted, 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.</t>
          </li>
          <li>
            <t>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.</t>
          </li>
          <li>
            <t>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.</t>
          </li>
          <li>
            <t>The DNS client <bcp14>MUST</bcp14> ignore any other JSON names that it does not support.</t>
          </li>
          <li>
            <t>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.</t>
          </li>
          <li>
            <t>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.</t>
          </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="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>
            <t>Number: 0</t>
          </li>
          <li>
            <t>Meaning: Reserved. This sub-error code value <bcp14>MUST NOT</bcp14> be sent. If received, it has no meaning.</t>
          </li>
          <li>
            <t>Applicability: This code should never be used.</t>
          </li>
          <li>
            <t>Reference: This-Document</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
        </ul>
      </section>
      <section anchor="policy-network">
        <name>Network Operator Policy</name>
        <ul spacing="normal">
          <li>
            <t>Number: 5</t>
          </li>
          <li>
            <t>Meaning: Network Operator Policy. The code indicates that the request was filtered according to a policy imposed by the operator of the local network (where local network is a relative term, e.g., it may refer to a Local Area Network or to the network of the ISP selected by the user).</t>
          </li>
          <li>
            <t>Applicability: Blocked</t>
          </li>
          <li>
            <t>Reference: This-Document</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
        </ul>
      </section>
      <section anchor="policy-dns">
        <name>DNS Operator Policy</name>
        <ul spacing="normal">
          <li>
            <t>Number: 6</t>
          </li>
          <li>
            <t>Meaning: DNS Operator Policy. The code indicates that the request was filtered according to policy determined by the operator of the DNS server. This is different from the "Network Operator Policy" code when a third-party DNS resolver is used.</t>
          </li>
          <li>
            <t>Applicability: Blocked</t>
          </li>
          <li>
            <t>Reference:  This-Document</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </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"
  ],
  "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 <tt>'\'</tt> line wrapping per <xref target="RFC8792"/>.</t>
      <figure anchor="example-json-minified">
        <name>Minified Response</name>
        <artwork><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ===============

{"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>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>Security considerations in <xref section="6" sectionFormat="of" target="RFC8914"/> apply to this
document, except the guard against using EDE content to alter DNS protocol
processing. The guard is relaxed in the current specification as it mandates
encryption and recommends the use of an authenticated connection to the DNS
server, while <xref target="RFC8914"/> assumes that EDE information is unauthenticated
and sent over clear text.</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. For example, an end user can use the details in the "c" field to contact an attacker
to solve the problem of being unable to reach a domain. The attacker can mislead the end user to
install malware or spyware to compromise the device security posture or mislead the end user to reveal
personal data.
If the client decides not to display 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>MUST
NOT</bcp14> make any of those elements into actionable (clickable) links and these
fields need to be rendered as text, not as HTML. The contact details of "c" can be made
into clickable links to provide a convenient way for users to initiate, e.g., voice calls. The client might
choose to display the contact details only when the identity of the DNS server is verified.</t>
      <t>An attacker might inject (or modify) the EDE EXTRA-TEXT field with a
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 can be configured to process EDE from
explicitly configured DNS servers or utilize RESINFO
<xref target="I-D.ietf-add-resolver-info"/>.</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 10 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 Registry</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="IANA-Contact">
        <name>New Registry for Contact URI Scheme</name>
        <t>This document requests IANA to create a new registry, entitled "Contact URI Schemes"
under "Domain Name System (DNS) Parameters, Extended DNS Error Codes"
registry <xref target="IANA-DNS"/>. The registration request for a new Contact URI scheme has to include the
following fields:</t>
        <ul spacing="normal">
          <li>
            <t>Name: URI scheme name.</t>
          </li>
          <li>
            <t>Meaning: Provides a short description of the scheme.</t>
          </li>
          <li>
            <t>Reference: Provides a pointer to an IETF-approved specification that defines
the URI scheme.</t>
          </li>
          <li>
            <t>Change Controller: Indicates the person or entity, with contact information if appropriate.</t>
          </li>
        </ul>
        <t>The Contact URI scheme registry is initially be populated with the
following schemes:</t>
        <table>
          <thead>
            <tr>
              <th align="center">Name</th>
              <th align="left">Meaning</th>
              <th align="center">Reference</th>
              <th align="center">Change Controller</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">sips</td>
              <td align="left">SIP Call</td>
              <td align="center">
                <xref target="RFC5630"/></td>
              <td align="center">IETF</td>
            </tr>
            <tr>
              <td align="center">tel</td>
              <td align="left">Telephone Number</td>
              <td align="center">
                <xref target="RFC3966"/></td>
              <td align="center">IETF</td>
            </tr>
            <tr>
              <td align="center">mailto</td>
              <td align="left">Internet mail</td>
              <td align="center">
                <xref target="RFC6068"/></td>
              <td align="center">IETF</td>
            </tr>
          </tbody>
        </table>
        <t>New Contact URI schemes 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>
            <t>Number: Is the wire format suberror code (range 0-255).</t>
          </li>
          <li>
            <t>Meaning: Provides a short description of the sub-error.</t>
          </li>
          <li>
            <t>Applicability: Indicates which RFC8914 error codes apply to this sub-error code.</t>
          </li>
          <li>
            <t>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.</t>
          </li>
          <li>
            <t>Change Controller: Indicates the person or entity, with contact information if appropriate.</t>
          </li>
        </ul>
        <t>The SubError Code registry is initially be populated with the
following suberror codes:</t>
        <table anchor="reg">
          <name>Initial SubError Code Registry</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 anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8914">
          <front>
            <title>Extended DNS Errors</title>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <author fullname="E. Hunt" initials="E." surname="Hunt"/>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="W. Hardaker" initials="W." surname="Hardaker"/>
            <author fullname="D. Lawrence" initials="D." surname="Lawrence"/>
            <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"/>
            <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"/>
            <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"/>
            <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"/>
            <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="RFC3966">
          <front>
            <title>The tel URI for Telephone Numbers</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <date month="December" year="2004"/>
            <abstract>
              <t>This document specifies the URI (Uniform Resource Identifier) scheme "tel". The "tel" URI describes resources identified by telephone numbers. This document obsoletes RFC 2806. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3966"/>
          <seriesInfo name="DOI" value="10.17487/RFC3966"/>
        </reference>
        <reference anchor="RFC5630">
          <front>
            <title>The Use of the SIPS URI Scheme in the Session Initiation Protocol (SIP)</title>
            <author fullname="F. Audet" initials="F." surname="Audet"/>
            <date month="October" year="2009"/>
            <abstract>
              <t>This document provides clarifications and guidelines concerning the use of the SIPS URI scheme in the Session Initiation Protocol (SIP). It also makes normative changes to SIP. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5630"/>
          <seriesInfo name="DOI" value="10.17487/RFC5630"/>
        </reference>
        <reference anchor="RFC5198">
          <front>
            <title>Unicode Format for Network Interchange</title>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="M. Padlipsky" initials="M." surname="Padlipsky"/>
            <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"/>
            <author fullname="M. Graff" initials="M." surname="Graff"/>
            <author fullname="P. Vixie" initials="P." surname="Vixie"/>
            <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"/>
            <author fullname="D. Gillmor" initials="D." surname="Gillmor"/>
            <author fullname="T. Reddy" initials="T." surname="Reddy"/>
            <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"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <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"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <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="RFC6068">
          <front>
            <title>The 'mailto' URI Scheme</title>
            <author fullname="M. Duerst" initials="M." surname="Duerst"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <author fullname="J. Zawinski" initials="J." surname="Zawinski"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>This document defines the format of Uniform Resource Identifiers (URIs) to identify resources that are reached using Internet mail. It adds better internationalization and compatibility with Internationalized Resource Identifiers (IRIs; RFC 3987) to the previous syntax of 'mailto' URIs (RFC 2368). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6068"/>
          <seriesInfo name="DOI" value="10.17487/RFC6068"/>
        </reference>
        <reference anchor="RFC5901">
          <front>
            <title>Extensions to the IODEF-Document Class for Reporting Phishing</title>
            <author fullname="P. Cain" initials="P." surname="Cain"/>
            <author fullname="D. Jevans" initials="D." surname="Jevans"/>
            <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"/>
            <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 anchor="sec-informative-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="Impl-1" target="https://datatracker.ietf.org/meeting/116/materials/slides-116-dnsop-dns-errors-implementation-proposal-slides-116-dnsop-update-on-dns-errors-implementation-00">
          <front>
            <title>Use of DNS Errors To improve Browsing User Experience With network based malware protection</title>
            <author>
              <organization/>
            </author>
            <date year="2023" month="March"/>
          </front>
        </reference>
        <reference anchor="RFC8499">
          <front>
            <title>DNS Terminology</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="A. Sullivan" initials="A." surname="Sullivan"/>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
            <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"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <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"/>
            <author fullname="L. Zhu" initials="L." surname="Zhu"/>
            <author fullname="J. Heidemann" initials="J." surname="Heidemann"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <author fullname="D. Wessels" initials="D." surname="Wessels"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <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"/>
            <author fullname="S. Dickinson" initials="S." surname="Dickinson"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <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"/>
            <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-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 set of mechanisms 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".  These mechanisms can be used to move from unencrypted DNS to encrypted DNS when only the IP address of a resolver is known.  These mechanisms are 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"/>
            <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"/>
            <author fullname="E. Auerswald" initials="E." surname="Auerswald"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <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>
        <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="24" month="November" 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-08"/>
        </reference>
      </references>
    </references>
    <?line 708?>

<section anchor="interoperation-with-rpz-servers">
      <name>Interoperation with RPZ Servers</name>
      <t>This appendix provides a non-normative guidance for operation with an Response Policy Zones (RPZ) server <xref target="RPZ"/> that
indicates filtering with a NXDOMAIN response with the Recursion
Available bit cleared (RA=0). This guidance is provided to ease interoperation with RPZ.</t>
      <t>When a DNS client supports this specification, it includes the
EDE option in its DNS query.</t>
      <t>If the server does not support this specification and is performing
RPZ filtering, the server ignores the EDE option in the DNS query and
replies with NXDOMAIN and RA=0. The DNS client can continue to accept
such responses.</t>
      <t>If the server does support this specification and is performing RPZ
filtering, the server can use the EDE option in the query to identify
an EDE-aware client and respond appropriately (that is, by generating
a response described in <xref target="server-response"/>) as NXDOMAIN and RA=0
are not necessary when generating a response to such a client.</t>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <ul empty="true">
        <li>
          <t>Note to the RFC Editor: please remove this appendix prior publication.</t>
        </li>
      </ul>
      <t>At IETF#116, Gianpaolo Scalone (Vodafone) and Ralf Weber (Akamai) presented an implementation of this specification. More details can be found at <xref target="Impl-1"/>.</t>
    </section>
    <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, Bob
Harold, and Mukund Sivaraman for the comments.</t>
      <t>Thanks to Ralf Weber and Gianpaolo Scalone for sharing details about their implementation.</t>
      <t>Thanks Di Ma and Matt Brown for the DNS directorate reviews, and Joseph Salowey for the Security directorate review.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
AAA=

-->

</rfc>
