<?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.43 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-jabley-dnsop-ordered-answer-section-02" category="std" consensus="true" submissionType="IETF" updates="1034" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="Ordering of RRSets in CNAME Responses">Ordering of RRSets in CNAME Responses in the DNS</title>
    <seriesInfo name="Internet-Draft" value="draft-jabley-dnsop-ordered-answer-section-02"/>
    <author fullname="Joe Abley">
      <organization>Cloudflare</organization>
      <address>
        <email>jabley@cloudflare.com</email>
      </address>
    </author>
    <author fullname="Sebastiaan Neuteboom">
      <organization>Cloudflare</organization>
      <address>
        <email>sebastiaan@cloudflare.com</email>
      </address>
    </author>
    <date year="2026" month="November" day="05"/>
    <area>Operations and Management</area>
    <workgroup>Domain Name System Operations</workgroup>
    <keyword>dns</keyword>
    <keyword>dns protocol</keyword>
    <keyword>dns message</keyword>
    <keyword>cname</keyword>
    <abstract>
      <?line 59?>

<t>In the DNS, recursive resolvers receive queries and formulate
corresponding  responses by reference to data obtained from
authoritative servers. In the case where the query name (QNAME) and
class (QCLASS) in the query matches an owner name in the DNS where
a canonical name (CNAME) resource record is published, the response
includes both the CNAME record and the resource record set corresponding
to the request's query type (QTYPE) published at the CNAME target.
The ordering of these two different RRSets has not previously been
clearly specified, but operational experience based on real-world
client implementations confirms that the order is important.  This
document updates RFC 1034 1035 to provide a clearer specification,
consistent with deployed implementations.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ableyjoe.github.io/draft-jabley-dnsop-ordered-answer-section/draft-jabley-dnsop-ordered-answer-section.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-jabley-dnsop-ordered-answer-section/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Domain Name System Operations 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/ableyjoe/draft-jabley-dnsop-ordered-answer-section"/>.</t>
    </note>
  </front>
  <middle>
    <?line 75?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The DNS specification includes some ambiguity around the processing
of queries that require the processing of CNAME resource records,
as discussed in <xref target="ambiguity"/>. Different assumptions about the way
that corresponding DNS responses are constructed are known to have
caused widespread negative impact, as described in <xref target="impact"/>. This
document updates the DNS specification to resolve the ambiguity.
The clarification to the specification can be found in <xref target="updates"/>.</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 assumes familiarity with terminology specific to the
Domain Name System (DNS) as described in <xref target="RFC9499"/>.</t>
    </section>
    <section anchor="ambiguity">
      <name>Ambiguity in the DNS Specification</name>
      <t><xref target="RFC1034"/> introduces the CNAME RRType to be one that "identifies
the canonical name of an alias". The implementation of the CNAME
resource record is further described in section 3.6 as follows:</t>
      <ul empty="true">
        <li>
          <t>CNAME RRs cause special action in DNS software.  When a name server
fails to find a desired RR in the resource set associated with the
domain name, it checks to see if the resource set consists of a CNAME
record with a matching class.  If so, the name server includes the CNAME
record in the response and restarts the query at the domain name
specified in the data field of the CNAME record.  The one exception to
this rule is that queries which match the CNAME type are not restarted.</t>
          <t>For example, suppose a name server was processing a query with for USC-
ISIC.ARPA, asking for type A information, and had the following resource
records:</t>
          <artwork><![CDATA[
USC-ISIC.ARPA   IN      CNAME   C.ISI.EDU

C.ISI.EDU       IN      A       10.0.0.52
]]></artwork>
          <t>Both of these RRs would be returned in the response to the type A query,
while a type CNAME or * query should return just the CNAME.</t>
        </li>
      </ul>
      <t>The required processing of requests that require CNAME processing
is further described in section 4.3.2, in particular in the step
labelled 3 (a) of the recursive algorithm, as follows:</t>
      <ul empty="true">
        <li>
          <artwork><![CDATA[
     a. If the whole of QNAME is matched, we have found the
        node.

        If the data at the node is a CNAME, and QTYPE doesn't
        match CNAME, copy the CNAME RR into the answer section
        of the response, change QNAME to the canonical name in
        the CNAME RR, and go back to step 1.

        Otherwise, copy all RRs which match QTYPE into the
        answer section and go to step 6.
]]></artwork>
        </li>
      </ul>
      <t>Some implementations behave as though the direction "copy all RRs
which match QTYPE into the answer section" implies a required or
expected ordering, in the sense that resource records added first
should be at the beginning of the section and subsequent RRs should
be appended (see <xref target="impact"/> for an example). However, the various
sections of a DNS message are not defined in the specification as
being ordered lists. For example, the "answer section of the response"
is described in section 3.7 as follows:</t>
      <ul empty="true">
        <li>
          <t>DNS queries and responses are carried in a standard message format.  The
message format has a header containing a number of fixed fields which
are always present, and four sections which carry query parameters and
RRs.</t>
          <t>[...]</t>
          <t>Answer          Carries RRs which directly answer the query.</t>
        </li>
      </ul>
      <t>The confusion on CNAME ordering stems from section 4.3.1, which describes
recursive responses as follows:</t>
      <ul empty="true">
        <li>
          <t>If recursive service is requested and available, the recursive
response to a query will be one of the following:</t>
          <artwork><![CDATA[
- The answer to the query, possibly preface by one or more
CNAME RRs that specify aliases encountered on the way to an
answer.
]]></artwork>
        </li>
      </ul>
      <t>While the word "preface" suggests that CNAME RRs should precede
other records, this language is descriptive rather than normative,
lacking the explicit requirement keywords that would later be defined
in <xref target="RFC2119"/>.  This ambiguity has led to varying interpretations
among implementers and contributed to interoperability issues as
described in <xref target="impact"/>.</t>
      <t>This document aims to resolve this ambiguity with a clear specification
for the ordering of RRSets in the answer section of a DNS message
for CNAME responses (see <xref target="updates"/>).</t>
    </section>
    <section anchor="impact">
      <name>Consequences of Ambiguity</name>
      <t>A recursive server performing CNAME preocessing without interpreting
the direction in <xref target="RFC1034"/> that "copy" means "append" might
reasonably generate response messages with arbitrary ordering of
RRSets within the answer section.</t>
      <t>A client of a recursive server that interprets the direction in
<xref target="RFC1034"/> the other way, that "copy" does indeed mean "append",
might potentially react badly to receiving a response where the
answer section has been constructed differently. A real-world example
of such a consequence is described in <xref target="cloudflare"/>.</t>
      <t>Since it is known that at least some widely-deployed clients of
resolver servers expect the "copy" direction in <xref target="RFC1034"/> to be
interpreted as "append", and react badly when they receive responses
that do not meet this expectation, this document updates the DNS
standard to choose and require the interpretation of <xref target="RFC1034"/>
that promotes the greatest operational stability as described in
<xref target="updates"/>. This is a pragmatic measure undertaken in recognition
of the significant installed base of software that have this
expectation, and in particular the degree to which such software
is deployed in unmanaged devices that might never be updated.</t>
    </section>
    <section anchor="updates">
      <name>Updates to RFC 1034</name>
      <t>A DNS implementation following the algorithm described in <xref target="RFC1034"/>
        <bcp14>MUST</bcp14> interpret any direction to "copy RRs into the answer section"
when processing CNAMEs to mean that the RRs concerned should be
appended to any existing records that have already been accumulated
in an earlier step of the algorithm. The ordering of individual RRs
within an RRSet is not significant.</t>
      <t>In the case where one or more CNAME RRs are processed in order to
construct a DNS response, the answer section <bcp14>MUST</bcp14> include a CNAME
RRSet whose owner name matches the QNAME in the query first, and
subsequent RRSets whose owner name matches the preceding CNAME
RDATA, in order.</t>
      <t>For example, consider a query for www.example.com with QTYPE A where
the following CNAME chain exists:</t>
      <ul empty="true">
        <li>
          <artwork><![CDATA[
www.example.com.    CNAME cdn.example.com.
cdn.example.com.    CNAME origin.example.com.
origin.example.com. A     192.0.2.1
]]></artwork>
        </li>
      </ul>
      <t>The answer section <bcp14>MUST</bcp14> be ordered the same.</t>
      <t>The CNAME records <bcp14>MUST NOT</bcp14> appear after the records they alias to:</t>
      <ul empty="true">
        <li>
          <artwork><![CDATA[
origin.example.com. A     192.0.2.1
www.example.com.    CNAME cdn.example.com.
cdn.example.com.    CNAME origin.example.com.
]]></artwork>
        </li>
      </ul>
      <t>The CNAME records <bcp14>MUST NOT</bcp14> appear out of order in their chain:</t>
      <ul empty="true">
        <li>
          <artwork><![CDATA[
cdn.example.com.    CNAME origin.example.com.
www.example.com.    CNAME cdn.example.com.
origin.example.com. A     192.0.2.1
]]></artwork>
        </li>
      </ul>
      <t>Client implementations <bcp14>SHOULD</bcp14> accept responses where CNAME RRSets appear
in any order, but server implementations <bcp14>MUST NOT</bcp14> rely on this capability
when generating responses.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The ambiguity described in <xref target="ambiguity"/> is known to have led to
widespread instability in at least one case, as described in
<xref target="impact"/>. The clarification provided by this document does not
present additional security concerns for the DNS.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="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="RFC1034">
          <front>
            <title>Domain names - concepts and facilities</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t>This RFC is the revised basic definition of The Domain Name System. It obsoletes RFC-882. This memo describes the domain style names and their used for host address look up and electronic mail forwarding. It discusses the clients and servers in the domain name system and the protocol used between them.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1034"/>
          <seriesInfo name="DOI" value="10.17487/RFC1034"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="Neuteboom2026" target="https://blog.cloudflare.com/cname-a-record-order-dns-standards/">
          <front>
            <title>What came first: the CNAME or the A record?</title>
            <author initials="S." surname="Neuteboom" fullname="Sebastiaan Neuteboom">
              <organization>Cloudflare</organization>
            </author>
            <date year="2026" month="January" day="14"/>
          </front>
        </reference>
        <reference anchor="Cisco2026" target="https://www.cisco.com/c/en/us/support/docs/smb/switches/Catalyst-switches/kmgmt3846-cbs-reboot-with-fatal-error-from-dnsc-process.html">
          <front>
            <title>Cisco Business Switches Reboot with Fatal Error from DNSC Process</title>
            <author>
              <organization>Cisco</organization>
            </author>
            <date year="2026" month="January" day="08"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 271?>

<section anchor="cloudflare">
      <name>Events of 8 January 2026</name>
      <t>Cloudflare operates a well-known public DNS resolver known as
1.1.1.1, after one of the IPv4 addresses associated with the service.
On 8 January a software change in the 1.1.1.1 service had the
unintential side-effect of changing the order in which RRSets were
encoded in the answer section of DNS responses, in the case where
constructing the responses involved CNAME processing. The previous
ordering was as described in <xref target="updates"/>. The change in behaviour
was not detected by a corresponding failure in a regression test,
since the ordering in the answer section was not considered to be
significant.</t>
      <t>Following the software release, Cloudflare became aware of significant
numbers of deployed DNS client implementations that were suffering
from failure. In particular, the <tt>getanswer_r()</tt> function invoked
by the <tt>getaddrinfo()</tt> function in glibc was found to fail to
function, and some deployed ethernet switches were observed to
reboot when trying to resolve the names of configured NTP servers
<xref target="Cisco2026"/>.</t>
      <t>The impact associated with this event was particularly widespread
because of the widespread use of the 1.1.1.1 resolver. However, the
two examples of client implementations are also widely deployed in
systems that may well be upgraded only infrequently (or never
upgraded at all).</t>
      <t>See <xref target="Neuteboom2026"/> for additional information.</t>
    </section>
    <section anchor="editorial-notes-remove-before-publication">
      <name>Editorial Notes (remove before publication)</name>
      <section anchor="draft-jabley-dnsop-ordered-sections-00">
        <name>draft-jabley-dnsop-ordered-sections-00</name>
        <t>Initial draft circulated for comment in 2015; subsequently expired.</t>
      </section>
      <section anchor="draft-jabley-dnsop-ordered-answer-section-00">
        <name>draft-jabley-dnsop-ordered-answer-section-00</name>
        <t>Draft revitalised following some operational excitement.</t>
        <t>Added competent co-author.</t>
      </section>
      <section anchor="draft-jabley-dnsop-ordered-answer-section-01">
        <name>draft-jabley-dnsop-ordered-answer-section-01</name>
        <t>Bumped version number while we wait patiently for wg time.</t>
      </section>
      <section anchor="draft-jabley-dnsop-ordered-answer-section-02">
        <name>draft-jabley-dnsop-ordered-answer-section-02</name>
        <t>Following feedback from the working group, made the clarification
more narrow. The document now provides advice for the construction
of answer sections that involve CNAME processing; earlier revisions
of this document provided more general ordering prescription that
was considered by the working group to be unnecessary.</t>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Mark Andrews and Paul Vixie contributed to the original revision
of this document in 2015, triggered by a similar event to that
described in <xref target="cloudflare"/>. This revision benefited from advice
from Petr Špaček, Robert Edmonds, Paul Wouters, Peter Thomassen,
Florian Weimer, Dave Lawrence, Mark Andrews (again), Libor Peltan,
Warren Kumari, Philip Homburg, Ondřej Surý, John Levine, Manu
Bretelle, Kevin Fleming and Xiang Li.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
kGIyAAA=

-->

</rfc>
