Bound the IP lookup's address list and name lookups (closes #110)
check / check (push) Waiting to run
check / check (push) Waiting to run
An IP lookup took any number of addresses and host names, gave each PTR lookup until the request's 30-second limit, and looked up and named every address a host name resolved to. It now answers 400 for more than 10 entries, or more than 10 addresses once the names are resolved, before reading the database. Each PTR lookup gets 2 seconds; one that runs out leaves the address's result without PTR names. Of a host name's addresses only public ones are kept: global unicast and not private. A name with none is reported as having no public address. The tests give the server a fake resolver. Model: opus-5-5
This commit is contained in:
@@ -64,11 +64,16 @@ DEBUG=routewatch ./routewatch
|
||||
collector, stream and handler queue statistics
|
||||
- `GET /api/v1/ip/{ip}` - Looks up each address: its most specific live route
|
||||
(`netblock`), that route's origin AS with its WHOIS details, and the address's
|
||||
PTR names. `{ip}` is an IP address, a host name (each address it resolves to
|
||||
is looked up), or a comma-separated list of these. `results` has one entry per
|
||||
address with a live route and `errors` one per address or name that failed.
|
||||
The answer is 400 when nothing in `{ip}` is an IP address or a host name that
|
||||
resolves, and 404 when none of the addresses has a live route.
|
||||
PTR names. `{ip}` is an IP address, a host name, or a comma-separated list of
|
||||
at most 10 of these. Of the addresses a host name resolves to, only public
|
||||
ones are looked up: a name with none, such as one that resolves to a private
|
||||
address, is reported as `host name has no public address`, without its
|
||||
addresses. `results` has one entry per address with a live route and `errors`
|
||||
one per address or name that failed. The answer is 400 when `{ip}` lists more
|
||||
than 10, when it comes to more than 10 addresses once its names are resolved,
|
||||
or when nothing in it is an IP address or a host name with a public address;
|
||||
and 404 when none of the addresses has a live route. A PTR lookup gets 2
|
||||
seconds; an address whose lookup takes longer is answered without PTR names.
|
||||
- `GET /api/v1/as/{asn}` - The AS and the prefixes it originates, IPv4 and IPv6
|
||||
apart, each with when its newest route was updated
|
||||
- `GET /api/v1/prefix/{prefix}/{length}` - Every live route for the prefix, one
|
||||
|
||||
Reference in New Issue
Block a user