fix resolver boundary: status before body, cover /v2, drop dead field

httpGet read the response body before checking the status, so an oversized
  error page surfaced as a transient "response too large" instead of the
  authoritative status. Reverting it to its previous shape restores that and
  removes the status test both callers had been re-deriving.

  registration() had no tests at all, though it is the endpoint SMP v22
  consumes. RegistrationV2Tests covers the three answer shapes, the error
  paths and the exact key set of each, which is the wire contract.

  auctionUntil was always None with no consumer. The spec claimed a reason
  word travels unchanged; a resolver can only send a word it has, and SNRC's
  registry records a number.
This commit is contained in:
Alain Brenzikofer committed 2026-09-10 14:16:59 +02:00
1 parent 288978a181
commit ccdb4c88f4
4 files changed
+184 -23

No files matched your search

+4 -3
View File
@@ -1621,9 +1621,10 @@ name that may be held.
A client MUST read a `reason` it does not know as unknown and still treat the
name as reserved: a later version may reserve names for reasons this one cannot
name, and losing the reservation over that would offer a name that cannot be
registered. The word itself travels unchanged, so a later client can act on it
and a current one can show or log it, which is why the set is open rather than
an enumeration.
registered. A router passes the word through unchanged, which is why the set is
open rather than an enumeration. A resolver can only send a word it has, though:
SNRC's registry records a numeric reason, so a code added after the resolver
arrives as `unknown` and only the reservation survives.
`nameRecord` MUST be a UTF-8 JSON object with the following schema: