[DNSOP] RFC 4470 Section 4: next name \000.QNAME and validators

Rifat Jumagulov <hi@arxo.io> Sun, 01 November 2026 13:35 UTC

Received: by mx.ietf.org (Postfix) id 387BC4B for <dnsop@ietf.org>; Sun, 01 Nov 2026 13:35:20 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=arxo.io header.s=google header.b=NeDFK7KR; spf=pass (mx.ietf.org: domain of hi@arxo.io designates 2001:4860:4864:20::2c as permitted sender) smtp.mailfrom=hi@arxo.io; dmarc=pass (policy=none) header.from=arxo.io; arc=pass ("google.com:s=arc-20260327:i=1")
Received: by mail-oa1-x2c.google.com with SMTP id 586e51a60fabf-43bf9548df4so2143357fac.0 for <dnsop@ietf.org>; Sun, 01 Nov 2026 04:39:04 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; t=1793536738; cv=none; d=google.com; s=arc-20260327; b=HTD1cWHqEp0GH3PWmpsYJV92QrwKdNNo5Yw15taDFxZkys+Zf64eBkUhTcwBrAxsB3 vP3f6KDZePCIGbt9UySAGH23cYF3thTOvlqRJMMQodYqY/PmtF3AvKwBLMJhfzKbjAY0 WXSl/Axa+S1yplnZw2tS1dAHn2KzXA80CFGBPjOj23tPJ4IPwZrkDSnlh3eY+1atWhaP kz9MDhJIVdz3NTjbEXyoEw+MolNiuTJ0Basr6AFoIsh853nLL/lCT7It/9Umaapl9ncT 4IVXzaz/n3qMktPhPLH+3fSitP/TtfWEx2eX8zRIowZjsn0/QnHDflKwhT9VvWxxchqj U83Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=YQnXp8Rttod3+lxqqPznsJCzR8PyZDpcps4TBgVWyhg=; fh=kgjmTvQRNHPqYD6Csqx8yKDZYbmQ6fBi/96fQxW+1XY=; b=cmE6qmHIFkXB39Ko9SLPvFDq9D6lMHNZZo913XoR7TUHv4+bcGiUo5Au/CEqTF7d2p BsFrOyOqyjBSaiNi2L9WS+4MKa40zSw/lSwHixiIMvhhlGFYxrnMHrmBJrha8ALVSGN5 drr14qUV4tKtj0EY4l0My7cTyoBtic5CbFTiGhvN5QkLiKKR9m/P6JLflOqgkG9NyOSi 5SAAmKdnLBxr+zFshAwQkwuZWeKiPqOov8BxYmxW5bephRwZ2SXblcnv08U7TxOQuDTA bta3raYvB1Qh3MhU7fXEceT14iYjcCyVfZLinJrZpsktPyz5PkNKQcBHHyNfUOYR7M8r nH2A==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arxo.io; s=google; t=1793536738; x=1794141538; darn=ietf.org; h=content-type:to:subject:message-id:date:from:mime-version:from:to :cc:subject:date:message-id:reply-to:content-type; bh=YQnXp8Rttod3+lxqqPznsJCzR8PyZDpcps4TBgVWyhg=; b=NeDFK7KRb5+Qiqd1CvkVwc6k+k4ZX5kTpuKx76LlqghXhvwBIRwXdSLuokmXJhrvZ/ quizTPH+DdYQZijhM5hLB7xWkRA3Fw4rgvRS1kLrpDZHMGUa/b5TLe+W0fAOo3JehZ+0 CxEp0HDVel1y+9c/x/5M6expfBUrI6zBJc3wnA4RRROSG8uw7sdcg6Yd3QE0e+fUdPFz MPFJ8FPvvqmq6smkN45m5X7s96vWvrk5+zWHmB08UlMPLEKB/mHu4ea/Tu3G87hO0wrJ RneQ/aatSL3tKmDWgxTe688898j6GMk0XfHGjDZPvmNisX1vFODEydaiXuBEWwXTXEwa +SSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793536738; x=1794141538; h=content-type:to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=YQnXp8Rttod3+lxqqPznsJCzR8PyZDpcps4TBgVWyhg=; b=b+iKfpf6ywy5h+iJ5/rWyJFe8MFFKiOhQmILJqImtiQmhZCOIL6koyzSQ3NY/KwArx UF4EFbFi/A57J678ybrRUVtwrHidk4McWdBX4TkKtNnDCCM6idAVug1RGCfBAEeBx/LL 0a6QSWJVp1vh0I2Eyr/S8hdQSVy3hFmWY/QE+B3Wmn59pr+oFizlokid2YuxbcmN5CuC GLPkLH2NDxiRo7mt3qNKMhKjreRd4A5nup2AIcBQ7l/yUIe8l66Jbsx3CT5GLlciS2Bz /N3IJEXdgr0EEImClXhC5qW5Gz/4DNQiuzKrYPqatklm1jjkwkrgIgvI2Dzz1QlbU50x 7Z8A==
X-Gm-Message-State: AFq9FYJcaFFQ0BzukpKhKNT0H0Ec1qJsGNwPqXdrPXa0MOtintRHRQJV rBGsIyppj19ySG3MQzSc5GQft/Dx/RQnOZbvdzGRttUjhvBUQn5PlGyho93v9bMjib8unSMN1eU Uk3/NeX6S/Z1mHcHAUzAANqCXwEB4GSGn95HubaXsGOu7fOBCzpN9tw==
X-Gm-Gg: AYBFou2YKDL4bADxvfw8QndAwxXsXdve4+TJB8lH82aNCEMjSmkAA6NOpIFcxWx2iqC 4dIGPE1F+MRzVbtBtE/HZ2g0XhMAVLB9N410wULjepitd3DIyDaZmCdebvz78RRsnxmhs2DOuRs CQqmXItjF2yWrRAaMFYc09WT0WAkitwUKihmWnHJMCSse+C1w1uvWR5gTF5CZblxnI8VwvHveZn 8Dn5qD2UWzE474aiyrfBIWFUjRBiCzWt0XU1JmRr8QZTpFkNZotXGVC2UDaqXi+MicpySbpKGJ+ QU+n/NN8yNBGNZGKNs+WcE/e6IDKVsa+E9kOofVioGcO2QE8qayl9UD0lvq1tUlvP/BSDArgGhX KcCtEpcPk90OT6fEGG6dLmfXo07uczA5TFI0M0E5NpAmNvAxgLgRlnuuihkAiYR1+sXtJohCSI5 fvYFyhoqIYtN+bzWLk+NCSjFFNoe3PntSx3Ts122Sdd1TIp2C0tptlz57MWNeB7env5e1+Bp3Vc fc32+T4MBUIJm8xpu6+1nswEUNMg7FDTyaarlAMjtVmb8a6G3bnZrc=
X-Received: by 2002:a05:6870:ce0b:b0:475:a153:2dc3 with SMTP id 586e51a60fabf-4a9076f8438mr4100088fac.25.1793536737718; Sun, 01 Nov 2026 04:38:57 -0800 (PST)
Received: from 101988054943 named unknown by gmailapi.google.com with HTTPREST; Sun, 1 Nov 2026 04:38:57 -0800
Received: from 101988054943 named unknown by gmailapi.google.com with HTTPREST; Sun, 1 Nov 2026 04:38:57 -0800
MIME-Version: 1.0
From: Rifat Jumagulov <hi@arxo.io>
X-Gm-Features: AclHuK-v7q9ZWMwJ6dlhX1MrFBKo8MbBF8n2hRQRVQmYlNp9IwXlI7b08g3RPM0
Message-ID: <CAH-SH713kTrT+3XC2CfvNttkDzubP2Xw3OmjB038pDnMcwqfWA@mail.gmail.com>
To: dnsop@ietf.org
Content-Type: multipart/alternative; boundary="00000000000024c22d065f365047"
X-Spamd-Bar: ---------------
X-MailFrom: hi@arxo.io
X-Mailman-Rule-Hits: nonmember-moderation
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-dnsop.ietf.org-0; emergency; member-moderation
Message-ID-Hash: 6NIHYAII6NPOYRTGQERBX2OHIPIL7LUO
X-Message-ID-Hash: 6NIHYAII6NPOYRTGQERBX2OHIPIL7LUO
X-Mailman-Approved-At: Wed, 04 Nov 2026 12:11:01 +0000
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [DNSOP] RFC 4470 Section 4: next name \000.QNAME and validators
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/YoeBkfAuA5rxv-WDY9wWa5h9QOw>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Owner: <mailto:dnsop-owner@ietf.org>
List-Post: <mailto:dnsop@ietf.org>
List-Subscribe: <mailto:dnsop-join@ietf.org>
List-Unsubscribe: <mailto:dnsop-leave@ietf.org>
Date: Sun, 01 Nov 2026 13:35:20 -0000
X-Original-Date: Sun, 1 Nov 2026 04:38:57 -0800

Hello,

RFC 4470 Section 4 builds the next name this way: "To increment a name, add
a leading label with a single null (zero-value) octet." For
https://www.google.com/url?q=http://foo.example.com&source=gmail&ust=1793623136948000&sa=E
it gives an NSEC record with next name \
https://www.google.com/url?q=http://000.foo.example.com&source=gmail&ust=1793623136948000&sa=E,
and it says: "The first of these NSEC RRs proves that no exact match for
https://www.google.com/url?q=http://foo.example.com&source=gmail&ust=1793623136948000&sa=E
exists"

RFC 8198 Appendix B reads the same form differently: "If the next domain
name is a subdomain of the given name, you have an ENT. Otherwise, you have
an NXDOMAIN." \
https://www.google.com/url?q=http://000.foo.example.com&source=gmail&ust=1793623136948000&sa=E
is a subdomain of
https://www.google.com/url?q=http://foo.example.com&source=gmail&ust=1793623136948000&sa=E,
so this NSEC shows an empty non-terminal, not a missing name. Section 3 of
RFC 4470 also says: "This change is expected to be fully compatible with
all existing DNSSEC validators."

Erratum 6734 (Reported, Mark Andrews) makes the general point: \000.domain
can only prove no data at domain, not that domain does not exist. It has no
corrected text yet. RFC 7129 Appendix A prints the same form, NSEC \
https://www.google.com/url?q=http://000.b.example.org&source=gmail&ust=1793623136948000&sa=E
.

Local test: a zone with the two NSEC records of the Section 4 example,
signed with ECDSAP256SHA256, served by NSD 4.15.4 and by Knot DNS 3.6.2,
which both return NXDOMAIN with both records. Query
https://www.google.com/url?q=http://foo.example.com&source=gmail&ust=1793623136948000&sa=E.
A with DO=1. BIND 9.20.30, Unbound 1.24.0, Knot Resolver 6.5.1 and PowerDNS
Recursor 5.4.9 all answer SERVFAIL.
https://www.google.com/url?q=http://example.com&source=gmail&ust=1793623136948000&sa=E.
SOA gets AD from all four, so the key and anchor work. As a control I
signed the same zone with next names foo\
https://www.google.com/url?q=http://000.example.com&source=gmail&ust=1793623136948000&sa=E.
and *\
https://www.google.com/url?q=http://000.example.com&source=gmail&ust=1793623136948000&sa=E.,
which are not children. All four then answer NXDOMAIN with AD.

Could the WG give erratum 6734 corrected text that stops recommending
\000.QNAME as a next name for an NXDOMAIN proof?

AI models helped review the text and build small test models; Arxo ran the
checks, and I take responsibility for the reports.

Rifat Jumagulov
Arxo Law · hi@arxo.io