From 9c8b2bfafe7957df8af953ec869ee5d01c3273c2 Mon Sep 17 00:00:00 2001 From: Silent Mode Date: Mon, 28 Sep 2026 01:04:36 +0200 Subject: [PATCH] feat(gateway): a name's owner decides what its subdomains serve MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Until now a subdomain served the folder its labels spelled out, and that was the only thing it could ever do. There was no way to point one somewhere else, send one to another site, or stop one answering — the mapping was a convention with no override. A verified hosts entry now decides: a different folder, a redirect, or nothing at all. Block beats redirect beats path, so a host that is both blocked and redirected stays blocked. The manifest is fetched only when the request is actually for a subdomain, and the result — including the absence of one — is cached for a minute, so the apex pays nothing and a name that never published one pays one lookup per minute rather than one per request. A manifest that fails to verify is treated exactly like no manifest: the name keeps serving from its chain records instead of failing shut. The folder derivation moves next to the picking rule and grows tests, because getting it wrong does not raise an error — it quietly serves the wrong bytes. The subtle parts are that labels reverse (DNS reads outward, a path reads inward) and that a .bch name indexes as