go-ethereum/p2p
Ocenka 276ed4848c
Some checks failed
/ Linux Build (push) Has been cancelled
/ Linux Build (arm) (push) Has been cancelled
/ Windows Build (push) Has been cancelled
/ Docker Image (push) Has been cancelled
p2p/discover: add discv5 invalid findnodes result test cases (#32481)
Supersedes #32470.

### What
- snap: shorten stall watchdog in `eth/protocols/snap/sync_test.go` from
1m to 10s.
- discover/v5: consolidate FINDNODE negative tests into a single
table-driven test:
  - `TestUDPv5_findnodeCall_InvalidNodes` covers:
    - invalid IP (unspecified `0.0.0.0`) → ignored
    - low UDP port (`<=1024`) → ignored

### Why
- Addresses TODOs:
  - “Make tests smaller” (reduce long 1m timeout).
- “check invalid IPs”; also cover low port per `verifyResponseNode`
rules (UDP must be >1024).

### How it’s validated
- Test-only changes; no production code touched.
- Local runs:
  - `go test ./p2p/discover -count=1 -timeout=300s` → ok
  - `go test ./eth/protocols/snap -count=1 -timeout=600s` → ok
- Lint:
  - `go run build/ci.go lint` → 0 issues on modified files.

### Notes
- The test harness uses `enode.ValidSchemesForTesting` (which includes
the “null” scheme), so records signed with `enode.SignNull` are
signature-valid; failures here are due to IP/port validation in
`verifyResponseNode` and `netutil.CheckRelayAddr`.
- Tests are written as a single table-driven function for clarity; no
helpers or environment switching.

---------

Co-authored-by: lightclient <lightclient@protonmail.com>
2025-08-22 11:44:11 -06:00
..
discover p2p/discover: add discv5 invalid findnodes result test cases (#32481) 2025-08-22 11:44:11 -06:00
dnsdisc eth: report error from setupDiscovery at startup (#31233) 2025-02-23 17:38:32 +01:00
enode p2p: refactor to use time.Now().UnixMilli() in golang std lib (#32402) 2025-08-14 16:28:57 +08:00
enr p2p/enode: add quic ENR entry (#30283) 2024-09-13 23:47:18 +02:00
msgrate p2p: using math.MaxInt32 from go std lib (#32357) 2025-08-20 16:22:21 -06:00
nat p2p/nat: fix UPnP port reset (#31566) 2025-04-09 11:28:29 +02:00
netutil all: drop x/exp direct dependency (#30558) 2025-02-27 15:53:52 +01:00
pipes all: update license comments and AUTHORS (#31133) 2025-02-05 23:01:17 +01:00
rlpx p2p/rlpx: optimize XOR operation using bitutil.XORBytes (#32217) 2025-07-22 23:06:48 +02:00
tracker metrics, cmd/geth: change init-process of metrics (#30814) 2024-12-10 13:27:29 +01:00
config.go p2p: update MaxPeers comment (#32414) 2025-08-19 20:14:11 +08:00
config_toml.go p2p: support configuring NAT in TOML file (#31041) 2025-01-22 09:29:34 +01:00
dial.go p2p: DNS resolution for static nodes (#30822) 2024-12-13 12:46:12 +01:00
dial_test.go p2p: DNS resolution for static nodes (#30822) 2024-12-13 12:46:12 +01:00
message.go p2p: use atomic types (#27764) 2023-08-01 23:20:52 +02:00
message_test.go p2p: move rlpx into separate package (#21464) 2020-09-22 10:17:39 +02:00
metrics.go p2p: add metrics for inbound connection errors (#31652) 2025-05-07 15:34:52 +02:00
peer.go p2p: remove todo comment, as it's unnecessary (#32397) 2025-08-21 15:48:46 -06:00
peer_error.go p2p: fix DiscReason encoding/decoding (#30855) 2024-12-12 12:33:42 +01:00
peer_test.go p2p: DNS resolution for static nodes (#30822) 2024-12-13 12:46:12 +01:00
protocol.go all: use cmp.Compare (#30958) 2025-01-02 14:06:47 +01:00
server.go eth, p2p: improve dial speed by pre-fetching dial candidates (#31944) 2025-06-05 12:14:35 +02:00
server_nat.go p2p/nat: fix UPnP port reset (#31566) 2025-04-09 11:28:29 +02:00
server_nat_test.go p2p: fix flaky test TestServerPortMapping (#30241) 2024-07-30 07:31:27 -06:00
server_test.go p2p: fix dial metrics not picking up the right error (#31621) 2025-04-15 20:40:30 +02:00
transport.go p2p: fix DiscReason encoding/decoding (#30855) 2024-12-12 12:33:42 +01:00
transport_test.go p2p: fix DiscReason encoding/decoding (#30855) 2024-12-12 12:33:42 +01:00
util.go all: assign zero after resize in implementations of heap.Interface (#26296) 2022-12-05 13:49:54 +01:00
util_test.go p2p: new dial scheduler (#20592) 2020-02-13 11:10:03 +01:00