go-ethereum/p2p
Felix Lange 9eb610f0a9
p2p/discover: repeat WHOAREYOU challenge when handshake in progress (#31356)
This fixes the handshake in a scenario where the remote end sends two unknown
packets in a row. When this happens, we would previously respond to both with
a WHOAREYOU challenge, but keep only the latest sent challenge. Transmission is
assumed to be unreliable, so any client that sends two request packets simultaneously
has to be prepared to follow up on whichever request leads to a handshake. With
this fix, we force them to do the handshake that we can actually complete.

Fixes #30581
2025-03-20 17:11:40 +01:00
..
discover p2p/discover: repeat WHOAREYOU challenge when handshake in progress (#31356) 2025-03-20 17:11:40 +01:00
dnsdisc eth: report error from setupDiscovery at startup (#31233) 2025-02-23 17:38:32 +01:00
enode p2p: DNS resolution for static nodes (#30822) 2024-12-13 12:46:12 +01:00
enr p2p/enode: add quic ENR entry (#30283) 2024-09-13 23:47:18 +02:00
msgrate log: remove lazy, remove unused interfaces, unexport methods (#28622) 2023-12-05 11:54:44 +01:00
nat p2p/nat: remove test with default servers (#31225) 2025-02-21 10:42:54 +08: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/simulations: remove packages (#30250) 2024-08-12 10:36:48 +02:00
tracker metrics, cmd/geth: change init-process of metrics (#30814) 2024-12-10 13:27:29 +01:00
config.go p2p: fix marshaling of NAT in TOML (#31192) 2025-02-17 09:47:12 +01: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 metrics, cmd/geth: change init-process of metrics (#30814) 2024-12-10 13:27:29 +01:00
peer.go p2p: fix DiscReason encoding/decoding (#30855) 2024-12-12 12:33:42 +01: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 p2p: support configuring NAT in TOML file (#31041) 2025-01-22 09:29:34 +01:00
server_nat.go p2p: fix ip change log parameter (#30158) 2024-07-15 10:15:35 +02:00
server_nat_test.go p2p: fix flaky test TestServerPortMapping (#30241) 2024-07-30 07:31:27 -06:00
server_test.go cmd/bootnode, p2p: support for alternate mapped ports (#26359) 2023-07-14 14:58:27 +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