From 076e33c53f6059efec6a55ae398ecd852c20ddd3 Mon Sep 17 00:00:00 2001 From: Chen Kai <281165273grape@gmail.com> Date: Wed, 9 Oct 2024 09:48:37 +0800 Subject: [PATCH] fix:make only sent whoareyou challenges first time Signed-off-by: Chen Kai <281165273grape@gmail.com> --- p2p/discover/v5wire/encoding.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/p2p/discover/v5wire/encoding.go b/p2p/discover/v5wire/encoding.go index 904a3ddec6f2..a4bd51689696 100644 --- a/p2p/discover/v5wire/encoding.go +++ b/p2p/discover/v5wire/encoding.go @@ -217,6 +217,10 @@ func (c *Codec) Encode(id enode.ID, addr string, packet Packet, challenge *Whoar // Store sent WHOAREYOU challenges. if challenge, ok := packet.(*Whoareyou); ok { + // check if we already sent a challenge to this node + if c.sc.getHandshake(id, addr) != nil { + return nil, Nonce{}, nil + } challenge.ChallengeData = bytesCopy(&c.buf) c.sc.storeSentHandshake(id, addr, challenge) } else if msgData == nil {