Repository navigation
Commit 8fe100a
Feature: RDAP improvements (#3642)
* Feature: RDAP auto query type and validation of inherited host
- New query type "Auto" (default) that detects the type from the query.
- The inherited host of a profile is validated against the query type.
- Numeric TLDs (e.g. "8.8.8.8" as domain) and entity handles without a
service provider tag are rejected.
- Watermark per query type in the profile dialog (shared converter).
- Imported profiles use the type "Auto".
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Fix: RDAP bootstrap files are repaired and retried, null items in responses
- A bootstrap file that has not been downloaded yet is tried again with
every query instead of being blocked for an hour after a failure.
- A cached bootstrap file that can't be parsed is downloaded again
(unconditional request) with the same query.
- Null items in response arrays (links, entities, events, ...) are
skipped instead of failing the whole query.
- Docs: retry behaviour and the fixed timeout of the bootstrap files.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Feature: RDAP cancel, localized timeout and copy context menu
- A running query can be canceled (button switches to Cancel, Esc) and
is stopped when the tab is closed.
- Timeouts have their own error kind (next server is tried) and a
localized message instead of a hard-coded English text.
- Copy context menu for the events, nameservers, DNSSEC and contacts
grids (single row), Export for multiple rows.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Feature: RDAP nameserver lookups and networks/AS numbers of an entity
- New query type "Nameserver" (RFC 9082 3.1.4), resolved via the
registry of the nameserver's TLD. IP addresses of a nameserver are
shown in the details.
- Networks and AS numbers of an entity (RFC 9083 5.1, e.g. sent by
RIPE, APNIC and ARIN for an organization) are shown in two new tables
with copy context menu and included in the text export.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Fix: RDAP referral behind a proxy, private address check for NAT64/6to4
- If the referral goes through the system proxy, the host name is not
resolved locally (the proxy resolves it), so referrals work in
networks where only the proxy resolves public names. IP addresses in
the URL are still checked.
- The private address check also covers IPv6 addresses that contain an
IPv4 address (NAT64 64:ff9b::/96, 6to4 2002::/16), the rest of
64:ff9b::/32 (local-use NAT64), 192.0.0.0/24 and 198.18.0.0/15.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Feature: Query IP addresses in RDAP from IP Scanner and Traceroute
New context menu item "RDAP" in IP Scanner (result) and Traceroute
(hop) that opens a new RDAP tab with the IP address. Disabled for hops
that timed out (no IP address).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Feature: RDAP submenu (IP address, hostname, ASN) and parent domain lookup
- IP Scanner and Traceroute: "RDAP..." submenu like "DNS Lookup..." with
IP address and hostname; Traceroute also with the AS number of the IP
geolocation. Entries without data are disabled.
- If a domain is not found (e.g. a hostname like www.borntoberoot.net),
its parent domain is queried (up to 3 levels), since registries only
know registered domains. The status shows which domain is displayed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Fix: RDAP parent domain on 400, hostname without domain, docs
- Parent domain lookup also on 400 Bad Request (PIR, Identity Digital,
SWITCH and auDA answer a subdomain with 400, not 404).
- IP Scanner: RDAP > Hostname only for hostnames with a domain (not for
NetBIOS names like "PC-01").
- Text export: the handle of a network is left out if it is the range.
- Docs: only RIPE organizations can be queried with their networks; AS
numbers only from Traceroute.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Fix: RDAP registered domain via public suffix list, review fixes
- A hostname is queried as its registered domain, determined with the
public suffix list (ICANN section, MPL-2.0, generated by
Scripts/Create-PublicSuffixListFromWeb.ps1). Replaces the parent
domain lookup, which stopped after 3 levels and could show a public
suffix like co.uk (a registry object) for an unregistered domain.
- A missing bootstrap file is retried after 1 minute instead of with
every query; bootstrap files are parsed once per query.
- Tabs opened from other tools or the run command use the type Auto.
- Traceroute: RDAP > Hostname only for hostnames with a domain.
- Public suffix list listed in About > Resources.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Fix: RDAP bootstrap retry, errors for the registered domain, referral check with proxy
- The cached bootstrap files are read once per session and again only
if a file changed, so a corrupt dns.json with an unreachable IANA is
retried with the regular wait time instead of with every query.
- Error messages and "Open in Whois" use the registered domain that was
queried (e.g. foo.com for www.foo.com).
- The referral target is always checked locally; only if it can't be
resolved locally and a proxy is used, it is followed without the
check.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Docs: Add PR #3642 to changelog
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>1 parent 138eb70 commit 8fe100a
37 files changed
Lines changed: 8151 additions & 101 deletions
File tree
- Scripts
- Source
- NETworkManager.Converters
- NETworkManager.Documentation
- NETworkManager.Localization/Resources
- NETworkManager.Models
- RDAP
- Resources
- NETworkManager.Settings
- NETworkManager.Validators
- NETworkManager
- ViewModels
- Views
- Website/docs
- application
- changelog
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| 44 | + | |
44 | 45 | | |
45 | 46 | | |
46 | 47 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
31 | 34 | | |
32 | 35 | | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
378 | 378 | | |
379 | 379 | | |
380 | 380 | | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
381 | 384 | | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4830 | 4830 | | |
4831 | 4831 | | |
4832 | 4832 | | |
| 4833 | + | |
| 4834 | + | |
| 4835 | + | |
| 4836 | + | |
| 4837 | + | |
| 4838 | + | |
| 4839 | + | |
| 4840 | + | |
| 4841 | + | |
| 4842 | + | |
| 4843 | + | |
| 4844 | + | |
| 4845 | + | |
| 4846 | + | |
| 4847 | + | |
| 4848 | + | |
| 4849 | + | |
| 4850 | + | |
| 4851 | + | |
| 4852 | + | |
| 4853 | + | |
| 4854 | + | |
| 4855 | + | |
| 4856 | + | |
| 4857 | + | |
| 4858 | + | |
| 4859 | + | |
4833 | 4860 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| |||
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
| 27 | + | |
26 | 28 | | |
27 | 29 | | |
28 | 30 | | |
| |||
0 commit comments