<?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.2 (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-07" category="std" consensus="true" submissionType="IETF" updates="8914" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <front>
    <title abbrev="Structured DNS Error">Structured Error Data for Filtered DNS</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-structured-dns-error-07"/>
    <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="2023" month="November" day="05"/>
    <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 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.</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>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 policy determined by the operator of the local network.</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.</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
   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"/>
            <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="4" month="October" 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-06"/>
        </reference>
      </references>
    </references>
    <?line 705?>

<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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
lbr3Y3ztcHMgUeu/AIzJnkLIfQAA

-->

</rfc>
