• Felix Lange's avatar
    p2p/discover, p2p/enode: rework endpoint proof handling, packet logging (#18963) · f0c6f921
    Felix Lange authored
    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.
    f0c6f921
Name
Last commit
Last update
.github Loading commit data...
accounts Loading commit data...
build Loading commit data...
cmd Loading commit data...
common Loading commit data...
consensus Loading commit data...
console Loading commit data...
containers/docker Loading commit data...
contracts Loading commit data...
core Loading commit data...
crypto Loading commit data...
dashboard Loading commit data...
eth Loading commit data...
ethclient Loading commit data...
ethdb Loading commit data...
ethstats Loading commit data...
event Loading commit data...
graphql Loading commit data...
internal Loading commit data...
les Loading commit data...
light Loading commit data...
log Loading commit data...
metrics Loading commit data...
miner Loading commit data...
mobile Loading commit data...
node Loading commit data...
p2p Loading commit data...
params Loading commit data...
rlp Loading commit data...
rpc Loading commit data...
signer Loading commit data...
swarm Loading commit data...
tests Loading commit data...
trie Loading commit data...
vendor Loading commit data...
whisper Loading commit data...
.dockerignore Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
.mailmap Loading commit data...
.travis.yml Loading commit data...
AUTHORS Loading commit data...
COPYING Loading commit data...
COPYING.LESSER Loading commit data...
Dockerfile Loading commit data...
Dockerfile.alltools Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
appveyor.yml Loading commit data...
circle.yml Loading commit data...
interfaces.go Loading commit data...