From 03c58fc08aa0f08f37b79009049911545c285cf6 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Tue, 14 May 2019 12:16:19 -0400 Subject: [PATCH] p2p/discover: reject older records in requestENR --- p2p/discover/v4_udp.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/p2p/discover/v4_udp.go b/p2p/discover/v4_udp.go index 314b497db2..8937c07b09 100644 --- a/p2p/discover/v4_udp.go +++ b/p2p/discover/v4_udp.go @@ -551,6 +551,9 @@ func (t *UDPv4) requestENR(n *enode.Node) (*enode.Node, error) { if respN.ID() != n.ID() { return nil, fmt.Errorf("invalid ID in response record") } + if respN.Seq() < n.Seq() { + return n, nil // response record is older + } if err := netutil.CheckRelayIP(addr.IP, respN.IP()); err != nil { return nil, fmt.Errorf("invalid IP in response record: %v", err) }