go-ethereum/p2p
Felix Lange af0a3274be
p2p/discover: fix crash when revalidated node is removed (#29864)
In #29572, I assumed the revalidation list that the node is contained in could only ever
be changed by the outcome of a revalidation request. But turns out that's not true: if the
node gets removed due to FINDNODE failure, it will also be removed from the list it is in.
This causes a crash.

The invariant is: while node is in table, it is always in exactly one of the two lists. So
it seems best to store a pointer to the current list within the node itself.
2024-05-28 18:13:03 +02:00
..
discover p2p/discover: fix crash when revalidated node is removed (#29864) 2024-05-28 18:13:03 +02:00
dnsdisc p2p/dnsdisc: using clear builtin func (#29418) 2024-04-04 12:19:48 +02:00
enode p2p/enode: fix TCPEndpoint (#29827) 2024-05-23 23:17:51 +02:00
enr p2p/enode: fix endpoint determination for IPv6 (#29801) 2024-05-23 14:27:03 +02:00
msgrate log: remove lazy, remove unused interfaces, unexport methods (#28622) 2023-12-05 11:54:44 +01:00
nat p2p/nat: fix typos in comments (#29536) 2024-04-15 14:58:17 +02:00
netutil p2p: initialize maps with known size (#27229) 2023-05-10 10:52:26 +02:00
nodestate all: fix mismatched names in comments (#29348) 2024-03-26 21:01:28 +01:00
rlpx all: update to go version 1.22.1 (#28946) 2024-03-18 17:36:50 +01:00
simulations p2p/simulations/adapters: use maps.Clone (#29626) 2024-04-29 19:44:41 +02:00
tracker all: fix some typos (#25551) 2022-08-19 09:00:21 +03:00
dial_test.go p2p: initialize maps with known size (#27229) 2023-05-10 10:52:26 +02:00
dial.go p2p: fix race in dialScheduler (#29235) 2024-03-12 19:23:24 +01:00
message_test.go p2p: move rlpx into separate package (#21464) 2020-09-22 10:17:39 +02:00
message.go p2p: use atomic types (#27764) 2023-08-01 23:20:52 +02:00
metrics.go p2p: add inbound and outbound peers metric (#29424) 2024-04-02 21:18:28 +02:00
peer_error.go p2p: use errors.Is for error comparison (#24882) 2022-06-07 17:27:21 +02:00
peer_test.go p2p: move rlpx into separate package (#21464) 2020-09-22 10:17:39 +02:00
peer.go all: remove dependency on golang.org/exp (#29314) 2024-03-25 07:50:18 +01:00
protocol.go all: update golang/x/ext and fix slice sorting fallout (#27909) 2023-08-12 00:04:12 +02:00
server_nat_test.go cmd/bootnode, p2p: support for alternate mapped ports (#26359) 2023-07-14 14:58:27 +02:00
server_nat.go p2p: fix accidental termination of portMappingLoop (#28911) 2024-02-05 22:00:46 +01:00
server_test.go cmd/bootnode, p2p: support for alternate mapped ports (#26359) 2023-07-14 14:58:27 +02:00
server.go p2p: fix typos (#29828) 2024-05-24 11:33:19 +02:00
transport_test.go all: update license headers and AUTHORS from git history (#24947) 2022-05-24 20:39:40 +02:00
transport.go p2p, log, rpc: use errors.New to replace fmt.Errorf with no parameters (#29074) 2024-02-26 11:25:35 +02:00
util_test.go p2p: new dial scheduler (#20592) 2020-02-13 11:10:03 +01:00
util.go all: assign zero after resize in implementations of heap.Interface (#26296) 2022-12-05 13:49:54 +01:00