p2p/discover: validate bond against lastpong, not db presence

pull/16109/head
Péter Szilágyi 7 years ago
parent 4e61ed02e2
commit 32301a4d6b
No known key found for this signature in database
GPG Key ID: E9AE538CEDF8293D
  1. 2
      p2p/discover/udp.go

@ -613,7 +613,7 @@ func (req *findnode) handle(t *udp, from *net.UDPAddr, fromID NodeID, mac []byte
if expired(req.Expiration) { if expired(req.Expiration) {
return errExpired return errExpired
} }
if t.db.node(fromID) == nil { if age := time.Since(t.db.lastPong(fromID)); age > nodeDBNodeExpiration {
// No bond exists, we don't process the packet. This prevents // No bond exists, we don't process the packet. This prevents
// an attack vector where the discovery protocol could be used // an attack vector where the discovery protocol could be used
// to amplify traffic in a DDOS attack. A malicious actor // to amplify traffic in a DDOS attack. A malicious actor

Loading…
Cancel
Save