[DNSOP] Mark Andrews' concerns to nowhere

Joe Abley <jabley@strandkip.nl> Fri, 07 November 2025 17:50 UTC

Return-Path: <jabley@strandkip.nl>
X-Original-To: dnsop@mail2.ietf.org
Delivered-To: dnsop@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id C351A8587448 for <dnsop@mail2.ietf.org>; Fri, 7 Nov 2025 09:50:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=strandkip.nl
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LFyY7N8BdeZf for <dnsop@mail2.ietf.org>; Fri, 7 Nov 2025 09:50:18 -0800 (PST)
Received: from dane.soverin.net (dane.soverin.net [IPv6:2a10:de80:1:4091:b9e9:220b:0:1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id B515E858743F for <dnsop@ietf.org>; Fri, 7 Nov 2025 09:50:18 -0800 (PST)
Received: from smtp.soverin.net (unknown [10.10.4.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by dane.soverin.net (Postfix) with ESMTPS id 4d36610vdtz1fqS for <dnsop@ietf.org>; Fri, 07 Nov 2025 17:50:17 +0000 (UTC)
Received: from smtp.soverin.net (smtp.soverin.net [10.10.4.99]) by soverin.net (Postfix) with ESMTPSA id 4d36603k78z5F for <dnsop@ietf.org>; Fri, 7 Nov 2025 17:50:16 +0000 (UTC)
Authentication-Results: smtp.soverin.net; dkim=pass (2048-bit key; unprotected) header.d=strandkip.nl header.i=@strandkip.nl header.a=rsa-sha256 header.s=soverin1 header.b=nWUU8Niu; dkim-atps=neutral
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=strandkip.nl; s=soverin1; t=1762537816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NEW5Glufopk6aPqnKGEvzkb+ztAGKIxAow1WCq07h8Y=; b=nWUU8NiuUQJe1WXln2GR+XRT+2Lf6lJ3h/PptTtGGaC+UBjXpgUcI7ocUnRcRF5NBM2VZB AiLrkt4ulqedxYEF5LzUyBl5jKULciYahrMk2Vd2cGof3rGpCH60abhnIWqwfVXi56lzks pfqbS/pGp2dZ0bMC0ewKOPGzc0ZSOyc7zVMVNtKy8wPk5MMQdssYqNqCzfjj4tMkBuVgJG NAf+BFJjEn9r60MpUHpJWtg5KOYdE9XV00O3lkVm9t8MMdTbn2lBbb+kq6KQzHMKT8HfOS C94TYufZDk7FXqrHptW6GN1G75eIvlCjckTX+PSDLi5SQIJSTSKHkRAoHFyyLw==
X-CM-Envelope: MS4xfKtfwy/syysE3Gy4kdBPwICLN19ECBy/MBRXf+gNZwybyV+Bjv6Iutb6TdH0c+Xz0nvq7UXO+OSl5Fkiy6ZBE2FrC/WbUDgWX6x4F/R6I8IFYi0bfmP1 O7SHTm2vk7Dqo+gF+skTC6VHCQ9+D6XfbiOZli824zC8uN3ngi8iig8ymaMEdOHUYL43rfU40J6WPAo5ARMteFy9NES9FfILPYZpjUqoN0l4KTd38mkOW5j5 yYF+HTnJoSi8+JIcXO37Ew==
X-Soverin-Id: 019a5f70-bfc0-7712-84e5-fe7f57a5b910
Content-Type: multipart/alternative; boundary="Apple-Mail-5D666A64-F84E-466C-9C28-86C329375EB9"
Content-Transfer-Encoding: 7bit
From: Joe Abley <jabley@strandkip.nl>
Mime-Version: 1.0 (1.0)
Date: Fri, 07 Nov 2025 12:50:03 -0500
Message-Id: <61850350-6FE4-4964-8DB3-EB46E79DEBC1@strandkip.nl>
To: dnsop <dnsop@ietf.org>
X-Spampanel-Class: ham
Message-ID-Hash: YWMC5IPYTTYRT7EVABXJVPDGW5CSZB6Q
X-Message-ID-Hash: YWMC5IPYTTYRT7EVABXJVPDGW5CSZB6Q
X-MailFrom: jabley@strandkip.nl
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-dnsop.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [DNSOP] Mark Andrews' concerns to nowhere
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/Dwhs_Bp-Kffz-28tlaJFp0sQi0s>
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>

Hi all,

I presented today in Montréal about our proposal draft-jabley-dnsop-zone-cut-to-nowhere.

https://datatracker.ietf.org/doc/draft-jabley-dnsop-zone-cut-to-nowhere/

Mark Andrews repeated his concern that I remember was mentioned at the mic in Madrid. Mark, let me know whether I have got this right.

TL;DR I see Mark's point, I have tried to write the concern down so that we have a clear shared picture of what it is, and I have dreamed up a couple of ways to address it. I haven't yet talked to my co-authors so the hands that are waving here are my personal hands.

Mark's Concern

Consider a zone cut to nowhere published in the EXAMPLE.COM zone for CORP.EXAMPLE.COM. Then consider a stub resolver sending the query (QNAME = CORP.EXAMPLE.COM) to a resolver A on the public Internet where the private namespace CORP.EXAMPLE.COM is not available, which is configured to process cache misses by sending queries to resolver B. So this is an example of a chained resolver processing a query.

stub resolver ---> resolver A ---> resolver B ---> authoritative server

The authoritative server will return a referral of the form "CORP.EXAMPLE.COM. IN NS ." Resolver B will not be able to follow that referral because there is (intentionally) no child nameserver mentioned in it, and will return SERVFAIL to resolver A. Resolver A will repeat the query to resolver B because SERVFAIL invites retries. Mark's concern is that this retry behaviour is unnecessary and potentially harmful.

Addressing Mark's Concern

1. Do nothing, this is not a concern we should worry about. This kind of junk is all over the DNS, it's already happening with the existing (described) other uses of hostname ".", not to mention misconfigurations where hostnames are used but do not resolve properly; we are not going to eliminate all of these failure modes by doing something different here.

2. Change signalling in zone data. Mark suggests a better response from the authoritative server would be to return a referral from for the child that includes the same NS set as the parent. This is clearly possible, but I think it has the disadvantage that it is not as clear what the intention of the zone administrator is. It also assumes that the NS set is coherent and doesn't involve "enterprise DNS" trickery. I am also not sure I would predict that existing deployed resolvers would interpret such a referral response in a way that would not also result in SERVFAIL, e.g. following retries by resolver B to all the listed authoritative servers. This just seems like it invites more random weirdness, and that the weirdness will be harder to measure.

3. Change resolver behaviour. Resolver B SHOULD return a more useful signal than SERVFAIL, maybe with an EDE or something. Resolver A SHOULD avoid retrying if it receives such a signal. This would avoid the behaviour Mark is concerned about in this draft, but would also clean up other uses of the hostname ".". The camel is slightly sad, but perhaps it's worth it to avoid the cost of retries for all the cases where "." is used in place of a real hostname to mean "not provided".

4. This isn't a big enough problem to care about, all of 1 through 3 are horrible, let's forget the whole idea.

Thoughts on this would be appreciated.


Joe