mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-21 10:27:46 +08:00
* feat(dns): resolve libp2p.direct addresses locally without network I/O p2p-forge hostnames encode IP addresses directly (e.g., 1-2-3-4.peerID.libp2p.direct -> 1.2.3.4), so DNS queries are wasteful. kubo now parses these IPs in-memory. - applies to both default libp2p.direct and custom AutoTLS.DomainSuffix - TXT queries still delegate to network for ACME DNS-01 compatibility - https://github.com/ipfs/kubo/pull/11140#discussion_r2683477754 use fallback to network DNS instead of returning errors when local parsing fails, ensuring forward compatibility with future DNS records - https://github.com/ipfs/kubo/pull/11140#discussion_r2683512408 add peerID validation using peer.Decode(), matching libp2p.direct server behavior, with fallback on invalid peerID - https://github.com/ipfs/kubo/pull/11140#discussion_r2683521930 document interaction with DNS.Resolvers in config.md - https://github.com/ipfs/kubo/pull/11140#discussion_r2683526647 add AutoTLS.SkipDNSLookup config flag to disable local resolution (useful for debugging or custom DNS override scenarios) - https://github.com/ipfs/kubo/pull/11140#discussion_r2683533462 add E2E test verifying libp2p.direct resolves locally even when DNS.Resolvers points to a broken server additional improvements: - use madns.BasicResolver interface instead of custom basicResolver - add compile-time interface checks for p2pForgeResolver and madns.Resolver - refactor tests: merge IPv4/IPv6, add helpers, use config.DefaultDomainSuffix - improve changelog to explain public good benefit (reducing DNS load) Fixes #11136 |
||
|---|---|---|
| .. | ||
| 3nodetest | ||
| api-startup | ||
| bench | ||
| bin | ||
| cli | ||
| dependencies | ||
| integration | ||
| sharness | ||
| unit | ||
| .gitignore | ||
| ipfs-test-lib.sh | ||
| README.md | ||
| Rules.mk | ||
| sharness_test_coverage_helper.sh | ||
Sharness test command coverage
| Module | Online Test | Offline Test |
|---|---|---|
| object | t0051 | t0051 |
| ls | t0045 | t0045 |
| cat | t0040 | |
| dht | ||
| bitswap | ||
| block | t0050 | |
| daemon | t0030 | N/A |
| init | N/A | t0020 |
| add | t0040 | |
| config | t0021 | t0021 |
| version | t0060 | t0010 |
| ping | ||
| diag | ||
| mount | t0030 | |
| name | t0110 | t0100 |
| pin | t0080 | |
| get | t0090 | t0090 |
| refs | t0080 | |
| repo gc | t0080 | |
| id | ||
| bootstrap | t0120 | t0120 |
| swarm | ||
| update | ||
| commands |