<?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.29 (Ruby 3.2.3) -->
<?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-11" category="std" consensus="true" submissionType="IETF" updates="8914" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.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-11"/>
    <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="2025" month="April" day="08"/>
    <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 82?>

<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 95?>

<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>End-users or network administrators leveraging 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 DNS service administrator to allowlist a DNS domain that
was erroneously filtered or to understand the reason a particular
domain was filtered. With that information, they can choose
to use another network, open a trouble ticket with the DNS service 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="RFC9499"/>.</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 network security device serves the block page over HTTPS.
In order to return a block page over HTTPS, the network security device uses a locally
generated root certificate and corresponding 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, this approach is ineffective when DNSSEC is deployed given that DNSSEC
ensures the integrity and authenticity of DNS responses, preventing forged DNS
responses from being accepted.</t>
            </li>
            <li>
              <t>The HTTPS server hosted on the network security device will have access to the client's IP address and the
hostname being requested. This information will be sensitive, as it will expose the user's identity and the
domain name that a user attempted to access.</t>
            </li>
            <li>
              <t>Configuring a 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 always 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 an NXDOMAIN answer, causing the DNS lookup to fail. This approach is incompatible with DNSSEC when the client performs validation, as the forged response will fail DNSSEC checks. However, in deployments where the client relies on the DNS server to perform DNSSEC validation, a filtering DNS server can forge an NXDOMAIN response for a valid domain, and the client will trust it. This undermines the integrity guarantees of DNSSEC, as the client has no way to distinguish between a genuine and a forged response. Further, the end user may not understand why a domain cannot be reached and may repeatedly attempt access without success. Frustrated, the user may resort to using insecure methods 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.
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 that <bcp14>MUST</bcp14> use '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>
        <dt>l: (language)</dt>
        <dd>
          <t>The "l" field indicates the language used for the JSON-encoded "j" and "o" fields.  The value of this field <bcp14>MUST</bcp14> conform to the
language tag syntax specified in <xref section="2.1" sectionFormat="of" target="RFC5646"/>.</t>
        </dd>
        <dt/>
        <dd>
          <t>This field is optional but <bcp14>RECOMMENDED</bcp14> to aid in localization.</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. The text will be in natural language, chosen by the DNS administrator
to match its expected audience.</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 <bcp14>MAY</bcp14> decide to return small TTL values in filtered DNS
responses (e.g., 10 seconds) to handle domain category and reputation
updates. Short TTLs allow for quick adaptation to dynamic changes in domain filtering decisions,
but can result in increased query traffic. In cases where updates are less frequent,
TTL values of 30 to 60 seconds <bcp14>MAY</bcp14> provide a better balance, reducing server load while
still ensuring reasonable flexibility for 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>
        <ol spacing="normal" type="1"><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, that field <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="RFC9462"/>, 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>
        </ol>
        <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="deployment-considerations">
      <name>Deployment Considerations</name>
      <t>When a forwarder receives an EDE option, whether or not (and how) to pass along JSON information in the
EXTRA-TEXT field to its client is implementation-dependent <xref target="RFC5625"/>. Implementations <bcp14>MAY</bcp14> choose not to
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>
      <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 cases, the content of the "c" attribute <bcp14>MAY</bcp14> be
ignored.</t>
    </section>
    <section anchor="new-sub-error-codes-definition">
      <name>New Sub-Error Codes Definition</name>
      <t>The document defines the following new IANA-registered Sub-Error codes.</t>
      <section anchor="policy-reserved">
        <name>Reserved</name>
        <ul spacing="normal">
          <li>
            <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. Additionally, the EXTRA-TEXT field is forwarded 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"
  "l": "tzm",
}
]]></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[
{::include-fold68left0 ./examples/minified.json}
]]></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="RFC9606"/>.</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="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>
            <tr>
              <td align="center">l</td>
              <td align="left">language</td>
              <td align="left">Indicates the language of the "j" and "o" fields as defined in <xref target="RFC5646"/></td>
              <td align="left">No</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 anchor="sec-combined-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="RFC5646">
          <front>
            <title>Tags for Identifying Languages</title>
            <author fullname="A. Phillips" initials="A." role="editor" surname="Phillips"/>
            <author fullname="M. Davis" initials="M." role="editor" surname="Davis"/>
            <date month="September" year="2009"/>
            <abstract>
              <t>This document describes the structure, content, construction, and semantics of language tags for use in cases where it is desirable to indicate the language used in an information object. It also describes how to register values for use in language tags and the creation of user-defined extensions for private interchange. 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="47"/>
          <seriesInfo name="RFC" value="5646"/>
          <seriesInfo name="DOI" value="10.17487/RFC5646"/>
        </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="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-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="RFC9499">
          <front>
            <title>DNS Terminology</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
            <date month="March" year="2024"/>
            <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 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 updates RFC 2308 by clarifying the definitions of "forwarder" and "QNAME". It obsoletes RFC 8499 by adding multiple terms and clarifications. Comprehensive lists of changed and new definitions can be found in Appendices A and B.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="219"/>
          <seriesInfo name="RFC" value="9499"/>
          <seriesInfo name="DOI" value="10.17487/RFC9499"/>
        </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="RFC9462">
          <front>
            <title>Discovery of Designated Resolvers</title>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="E. Kinnear" initials="E." surname="Kinnear"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <author fullname="T. Jensen" initials="T." surname="Jensen"/>
            <date month="November" year="2023"/>
            <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="RFC" value="9462"/>
          <seriesInfo name="DOI" value="10.17487/RFC9462"/>
        </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="RFC9606">
          <front>
            <title>DNS Resolver Information</title>
            <author fullname="T. Reddy.K" initials="T." surname="Reddy.K"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <date month="June" year="2024"/>
            <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 DNS clients use such information is beyond the scope of this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9606"/>
          <seriesInfo name="DOI" value="10.17487/RFC9606"/>
        </reference>
      </references>
    </references>
    <?line 661?>

<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, Mukund Sivaraman, Stephane Bortzmeyer, Gianpaolo Angelo Scalone, and Daniel Migault 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>
      <t>Thanks for Éric Vyncke for the AD review.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8197XrbyLHm/76KXvqHxRySlmRLY2tPMiNbcqzEsrWWnGSS
zbMBCVDECAR48CGZY/v837vYa9m9sa23qrrRACmPJzN5dv2cnBFBdHd1dX1/
NMfjsanTOkuO7OCyLptZ3ZRJbE/LsijtSVRHdk5/vEyzOsHzkzeXAxNNp2Vy
2x1AX8iggZlFdXJdlOsjW9WxaVYxfa6O7NNne0+MiYtZHi1ptbiM5vU4Ter5
OM6rYjWu/GR4ME4w2TjD2NpUzXSZVlVa5PV6RYPPTq9emrxZTpPyyGD+IzMr
8irJq4ZWookSQ/A9NlGZRATnWU7Q50k9MHdFeXNdFs2KngLkt6ukjGqat7J/
pq/S/Nr+Hl8PzE2yppfjI2PH9kVT1cUyKW3ygd5Pk3yW4PFZTrhZ0ubjZJYC
ODysyyivVrRwPlvjc5KX6WxBL82TJJ5GsxtjbpO8IYitdZAwAgb0QHY36IFi
7TJKM/fed8DZpCiv8UVUzhb0xaKuV9XRo0d4D4/S22TiXnuEB4+mZXFXJY94
hkcYeZ3Wi2ZKY/kI7q7lFB591bFgvJxMsHZnnolMP0mLr5vx696aLOplNjCm
qqM8/h9RVuSErXVSmVV6ZP9WF7ORrYqyLpN5RX+tl/pHTSdQj+ysWC6TvKYn
RITLaLUiFP/dmKipF0WJc6ZdWTtvskwo9CTK7Z/pHX5MiIzy9EemlSP7IqU5
P9jLdVUnS5rwLJ9N+DXHGvICP5oVTV6DG97naU10cFkDc7aY22MiqXQW8VuJ
O+Iov6M1v7vG5wmBPNgE7Cotm2WUJdVdVNp3SRyvt4D4prhJZepZWtPqz6P8
mjBWJvysTK75rT9GZU5MfhN1QT3L47QL102Rx3VafhGuN0ma2RdFcbMFHGK0
fPyX2YKgSLai5Y+067hYdhbNE16ruPkuL2ivCf09aW62rHxeLCIw4vOimUVx
lJbbICj92kQRSUK0+y7Jc6IeASemeR4f7O7udsF7ScNmSQespaw2mbrVvit4
bkGLMTlJBVr0lnjcpCwj3Cdrz47fHI9J8hzxjFZF70lBU+f2DU2rRGV36KWh
vYhKekbSi4js9EOd5HEoawnZscJvPRnLv7H7o4+GASAY6OpReQ08OBa+u7ub
pFEeidggeXudM8dAbIxXHpTex8kHsOWDRMELpPesBY+FtJ1HWZUADe8u/trF
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
QiykF3JFTYb98BWSjAK980ej5bQDvYLMY0Ttsh5CDnoIuWeaiZaqcJqrzbZG
rnJfKDa8AkWjwhpuiBzxBpfecKbYLaNU1TUhd8S+6D5MpTs447ZfbkF23Zlp
rQWI2mEa2dc88pg43W9MrnXBWt5Q1YKbyws63kyyagoe0kDD7eepbtMvPrf2
/s4tZxbnVe+8DnvntWX4Lz0rPakYlzYt0/z+wwrNE3cLRpzOGRV1W7s4uIem
BgLjnagjMmnKGJdB1GuntaWJW291+nmn8LOO4cF9lxLaq+fHe3ZstznQeFOc
aBFlgWu045qFOf/n1CyXpTS5u+tDA1G9DlUTxgXbpsjCdy9yB627Tip3Oees
d63W2nQvl2pCqDtH1ko70xaqbC3NjhzDjH3xTmd/huWbdHNJTlVSWe3NVv5I
g5KQqi3Z1IJQ5MvdzVqjtga9s1ZgstiwY7yTt3T0t2XzI9/apsV98pk8zK3B
kvasB3YHNDEkuT2HyagQOf8Ys/msc2tlTuxxcOHY6N4AittfvGUKIVOuriUb
Dn06ehEWbqZw67PJqo2YtX1IuNS3JnR2D223FEcCooPjQSczxlbkQzesKK8f
ArKwXguxXP52/ENV5Bwq+0/8Mx+JzcgsOLJ/Yy9oUCfZ0b89Png6Pjg4GO/t
P35ycPjNQHqEBijcO5oW0+/of6tFkSceUrmV1f4dL5JlhZtK/W2VklMEhPuP
bRytK56ODLEju8d/FXg/2HNwSYDe44a5Bxleq39c0vDPDvgj+yDcl1y6+dsB
m3DvXC34tnJcBOk35YcLYQ9IgJ/1kTZ25RBIE8NzQPGUM7BSd9sIE2SvcCIv
zN0iJYmOegnc3UBiIcpvuGqiGsqQf/zjHw//+0P6//zU3pVyS7DGOLmA9Ztn
++HBHR1pCnxMxld8+DRL5vWunTxSmKtHDooJH/k9KPO7crg7d59DZCABrLKq
65lw9le++YxMpL40677UKa067JXue78JDrJx1uUI0aVkJfoPnRmx7/qSGmOp
PBDs83VxtdbirbQGwbShaNGuMgs3RmbRh9bg5wvF+mlv7ViS8Cdxr7rRLtbt
rwiqnM3BWY38Xh87kA7GyTPpFO/UUUsTpKp+bLFXFUy6KFyAM37MXxzXbsN1
UlmEs12ilEgjawBR2q9dC7kUx3c6djQWzhJPb8TyIaGqE6TpZ6jtfRnqY+c/
Shql9ed8zc9Wl60bXzJBwIxDG1rYqtn4NmbjVRZMfDRl4MpKMijadPWoazzx
VUwdd02tAa4ocvpRRpqgvguI7H5ruSVp2pAAG6P+T6/OKLnLtIYZ4W76K6uh
anNuExHEujY4TpC1bRGbW0NdWXtFbL+NI2j6Q37SmyZarN4it/XxnS8JCtZ+
CcOYwaWEUhvCVzwCNOlMD62iiK+GdD0l7DLrJAzAMq0yJHTkmHwTo7tDwbdx
ovRvtb7TO6N8R5GDXm+R8DZThXp0DLpnfisNIgYZTy7URNpmYrqN1lIwUWlQ
or3NjcDSgNQWutxMZKS1K2iTijXWd229dWX05p5+gxoGMRWHnNASsLsMgHN7
rnC/NTNHajsJE66CWvG2Mst3+/uSrm1vt4HZXq/3RGNPCp8zWuZlAr2D6lok
BwhVQZ2lGEuuUd1n25ecJ8815M5XM2p1IEziQhOETFU73N/KgUjowxt/SUKV
GBUB7gY8Tu7lvtgc4Mj1SPTh1dX568l9DRugfz0zROIMw+DX1WU7N+FwgCmX
HE2k9RuuD5hDJCQhnV97W4BaOWijEAQS0GyXgBtAuqvOfiJjAcXg8hQTtjM9
+4nATXNEs1AeLneDrH0Fx6ZJK6l4o5r0wxoM1rXjtQ4UEsC1ntFMWo0c2XCk
6Y6UBlMf90O9vgI6njkPLw7ieqh4K4zr/pK2Mre5jYuYun6MCzVjMu4WQycx
Cvu4V9G/GTZi4ThrEsCkL9+dXqJoz2jm5HD3UOoepDp7wwTC08/9ziL1DuEh
NKUM9HUKPb3ZjaARo2pOvAoC1sKWuLb7lNySghzhi4ybf5w3RF/9hf61F87i
XfmlEis36jsfpXNBH1gW7tGgHSghND+GvCpAL1E7DhG+a5tlNO7OJemKCa1P
vxcfjIp+MLfNyDKVgw4GAW22iwwMt8jawS/65QJcS6d70OQwvYC4tVQPXKuC
L3Ife5Fu4zws4bdLbizWUnLI2PYQRUodGeMhPzJH9lK7DSrv+Tmz0UdlHXc5
xymMSnPdAVkDWVFt+DVBcUgLm8CjNjRu0ueALVtqbTsi1xBK4XirGQDtmSux
jVxheaA5fMLO3dLl0ULTnfuqgZ3vH735diizubjWnW8wQlzQ7zzsl+FrANte
ksvQNMdkF/4aTgl/J2UblNGAUkt5ckdhB/V+VQ3xtw0XlYpyNDWvilWTsSHf
XmztT1hqG+iEP7XUaT/Zlw3JuPDBSYC0rf8+2RZdn6zt7NV+Mp+Oxu7fUfC3
/Nt4sPkvfGXb60e0hJ3Ryqp+Pv0aHY69Czs+2e/pfx2iw4xOZAGCH+iFbhPW
J8vdSz+3US66t33qa8Co6AVvKX0SR//nNWnRqDc/tUpBL3Qarvp7/ZUbtb4G
poxe8B1SQpdn25u0XDZpoyNra45U+qcAQfFlEBCaID4caw6XwxEPz4QZQy3j
tM/DzxstVTBHgrwTal0RLqYhtym9GdQGPJk89XGIvX0CECkDycn09NuLoI30
UgqNVM+5eqJfruk21/j/QM+92OifdVel/ITK+43ou05pluiFIAkSSPB7lYsM
5nFBnmC77CcliqMec1UxX+ndkaNyqaJkLI2Uw7Xg8QrbUg0d+hc/kq8FZUNc
GqG2pnIRn2irm1XHbMHndrWDtqgNzRMgWpuZWfUwWTg1IrjtqBaPN/28scuf
0jCbWmPbO6xEEB92616eXdgX8KJDYDo935/4IbNn+wrNUieZH3BFHiJHmjWX
Fsyi/eH3zSLN5E6M6VUEeNiFhSz7p/fO4iWSHnErjbbwa0cssVzaPO9fLKC2
ySdOdDTT8Ge5frE86s73/14UdVSwdo7+tBDS9OuZsO9dWvprJ7oqfYd/Q83u
jvcPDob/hJRyBQg8tJfsDK1eVJprqLdzf0wnAt6rZ/j1hF9Ldir/XHTokVwv
1rmae7v0dD8KIHVaWjrhW689uP9ySdohz39WiHZISmSpyJhWkH7aclyuGkhD
taGEJSnyJfEayM1fy2zf5fWlHAYGVi29sZBu/Zqaz/6cvFz4JLIHE+2xFyJh
2E82uBr8JwrR29rzT9aXXU4O2uvHD57t7rGA9Uvt0wd3u8+/eq3HeHVFs/yz
61zA3t1/+kwWQTDoybMnz7qLPOFF1r8Id7LOs712M5vrHMCGdvUvrixDExbB
uuHpu/qhLx/+IbxUEtZfOSkKXL40oWrNvgXfZdq+Ed/VOL+SnrxHFRnDipAz
gS56oe3k1/1g3H2XtbeVMv8KpcjiqG0bJvpoSgSM7//XkUM/adHdL2tYrHAJ
jU57Pw23K6sLZwMnLoFmFgLASXS3jUOntaz8KPEDMdAK1zIu0vrdxV9dk5ba
M/ilD1IjH4LfYOE+Rv+jpxzj4pbmOYePOvORhtv2S5+V3aGV/LX1Hz/SJ07w
4woMr7Ra517m2nIbYRt2ld+0KHJz7Kqp7RT5ISRnUfPy7vi3uy755yEO6zXc
tU7pdrRMfDlw2Cd6/y1fnJ0K2+VNt6/dNWTrlS4uQfYzu7/SyrXeofcLpxf8
glkwn5SbbrTtB/312sqZx4YvONCbcMNLM2MLHG7UhfNvtEnHZOJurV7hJ7zJ
7mp/k3DrBn/O5nAGZvvmwnTr5ua0T7nQVM58bbRpU/IowW9cukKzwPQhk6a9
gYOYsb0hwUQtFfbS8f3O/M9DhGg2MIlfK9efpkLSJCo17dS5hSFs4dUfAwzK
nLr13vxT0031pezFymUvlgWnmLsMjiu3V83UlV0jq1WzBniwt3c4sr9Po3wV
FVlB3hf/GLfd+VMRR3P6S65UfBdlc/vnBObczvFNRBLa/1iD3prXhddps+7V
B/a8bdNvf2qkaHAyKHiXH/zlADpwcDzDTYLkQMklzRUJQ8m/JPFvB/wrwQOO
FUWaWfxTWhMq0sI+T8q6yKIRQVzZV1EZR3xf4XM6AvIuiTjqH0mFlGls35b1
YmT+lN5ATZ80N4viNk9pXIQSFvvHZhmV9PEiajL756IR3fOHYpHb16Q484Tm
LKaGViiQtD5vbrCVy/QWmioiQXFZk7sdETqfEzP8uEzWAKNF9jHZti3OpZD+
hExl8tjP0+sIjfkuoex+8nwSbjg4FQzdPEX+wdlFpM3/gnZ/MWda9k6tnfsk
JeuV5zyP6pp/VrnNbUNCSEl9gat0UBZANoTecfMHUqurhb2McFfS2o/xlUyb
A9tV8fL/+Z9lOrN/WuekJP3o45P2XWP+L6KdJ8vpgAAA

-->

</rfc>
