go-ethereum/p2p
Felix Lange f0c6f92140
p2p/discover, p2p/enode: rework endpoint proof handling, packet logging (#18963)
This change resolves multiple issues around handling of endpoint proofs.
The proof is now done separately for each IP and completing the proof
requires a matching ping hash.

Also remove waitping because it's equivalent to sleep. waitping was
slightly more efficient, but that may cause issues with findnode if
packets are reordered and the remote end sees findnode before pong.

Logging of received packets was hitherto done after handling the packet,
which meant that sent replies were logged before the packet that
generated them. This change splits up packet handling into 'preverify'
and 'handle'. The error from 'preverify' is logged, but 'handle' happens
after the message is logged. This fixes the order. Packet logs now
contain the node ID.
2019-01-29 17:39:20 +01:00
..
discover p2p/discover, p2p/enode: rework endpoint proof handling, packet logging (#18963) 2019-01-29 17:39:20 +01:00
discv5 vendor, crypto, swarm: switch over to upstream sha3 package 2019-01-04 09:26:07 +02:00
enode p2p/discover, p2p/enode: rework endpoint proof handling, packet logging (#18963) 2019-01-29 17:39:20 +01:00
enr p2p, p2p/discover: add signed ENR generation (#17753) 2018-10-12 11:47:24 +02:00
nat p2p, p2p/discover: add signed ENR generation (#17753) 2018-10-12 11:47:24 +02:00
netutil p2p, p2p/discover: add signed ENR generation (#17753) 2018-10-12 11:47:24 +02:00
protocols p2p/protocols: fix possible metrics loss in AccountingMetrics (#18956) 2019-01-29 15:19:54 +01:00
simulations p2p/simulations: fix data race on swarm/network/simulations (#18464) 2019-01-22 20:11:43 +01:00
testing p2p/testing, swarm: remove unused testing.T in protocol tester (#18500) 2019-01-24 17:23:34 +01:00
dial_test.go p2p, p2p/discover: add signed ENR generation (#17753) 2018-10-12 11:47:24 +02:00
dial.go p2p: meter peer traffic, emit metered peer events (#17695) 2018-10-16 00:40:51 +02:00
message_test.go all: fix go vet warnings 2016-04-15 11:17:27 +02:00
message.go all: new p2p node representation (#17643) 2018-09-25 00:59:00 +02:00
metrics.go metrics, p2p: add ephemeral registry (#18067) 2018-11-09 10:20:51 +01:00
peer_error.go p2p: fix some golint warnings (#16577) 2018-05-08 13:08:43 +02:00
peer_test.go all: new p2p node representation (#17643) 2018-09-25 00:59:00 +02:00
peer.go p2p: add enode URL to PeerInfo (#17838) 2018-10-04 18:13:21 +03:00
protocol.go p2p, p2p/discover: add signed ENR generation (#17753) 2018-10-12 11:47:24 +02:00
rlpx_test.go vendor, crypto, swarm: switch over to upstream sha3 package 2019-01-04 09:26:07 +02:00
rlpx.go vendor, crypto, swarm: switch over to upstream sha3 package 2019-01-04 09:26:07 +02:00
server_test.go vendor, crypto, swarm: switch over to upstream sha3 package 2019-01-04 09:26:07 +02:00
server.go p2p: use errors.New instead of fmt.Errorf (#18193) 2018-11-30 22:38:37 +01:00