Pause a WHOIS server for an hour after it refuses a query (closes #218)
check / check (push) Canceled after 0s

The fetcher kept one interval for every registry, so a registry that
refused a query was asked again within seconds. RIPE blocked the test
host's address that way.

The WHOIS client now asks a server nothing for an hour after the server
refuses a query. A refusal is a refused or reset connection, or an
%ERROR:201: or %ERROR:202: line. The other servers are still asked. A
lookup that needs a paused server leaves the AS stale, and counts as
neither a success nor a failure. NIC.br's hour-long skip after its
over-limit answer is now the same pause.

Model: opus-5-5
This commit is contained in:
2026-11-02 00:39:14 +00:00
parent 38b43549b9
commit 37876c89fa
5 changed files with 302 additions and 43 deletions
+8
View File
@@ -35,6 +35,14 @@ tested.
# Completed Steps
- 2026-11-02: after a WHOIS server refuses a query, RouteWatch asks it nothing
for an hour. A refusal is a refused or reset connection, or an `%ERROR:201:`
or `%ERROR:202:` line, with which RIPE, APNIC and AFRINIC refuse a query.
RouteWatch still asks the other servers. An AS whose server is paused is
looked up after the pause. Every lookup asks IANA first, so a pause of IANA
stops them all. The fetcher used to ask a server that had refused it again
within seconds. NIC.br's answer that RouteWatch is over its limit starts the
same pause (closes #218)
- 2026-10-27: the tests of `internal/routewatch` no longer fail on a loaded
host. Five of them gave `HandleMessage` two seconds to apply a full prefix
batch, which under the race detector can take longer. A test now waits up to