aboutsummaryrefslogtreecommitdiffstats
path: root/p2p/discover/node.go
Commit message (Collapse)AuthorAgeFilesLines
* cmd/bootnode, eth, p2p, p2p/discover: clean up the seeder and mesh into eth.Péter Szilágyi2015-04-241-114/+0
|
* p2p/discovery: use the seed table for finding nodes, auto drop stale onesPéter Szilágyi2015-04-241-3/+30
|
* cmd, eth, p2p, p2p/discover: init and clean up the seed cachePéter Szilágyi2015-04-241-0/+4
|
* p2p/discover: store nodes in leveldbFelix Lange2015-04-241-12/+71
|
* p2p/discover: remove unused field Node.activeStampFelix Lange2015-04-131-15/+0
|
* p2p/discover: implement node bondingFelix Lange2015-04-011-2/+41
| | | | | | | | | | | | | | | | This a fix for an attack vector where the discovery protocol could be used to amplify traffic in a DDOS attack. A malicious actor would send a findnode request with the IP address and UDP port of the target as the source address. The recipient of the findnode packet would then send a neighbors packet (which is 16x the size of findnode) to the victim. Our solution is to require a 'bond' with the sender of findnode. If no bond exists, the findnode packet is not processed. A bond between nodes α and β is created when α replies to a ping from β. This (initial) version of the bonding implementation might still be vulnerable against replay attacks during the expiration time window. We will add stricter source address validation later.
* %#x => %xobscuren2015-03-201-2/+2
|
* p2p/discover: add NodeID.PubkeyFelix Lange2015-03-041-0/+15
|
* p2p/discover: code review fixesFelix Lange2015-02-131-1/+3
|
* p2p/discover: add node URL functions, distinguish TCP/UDP portsFelix Lange2015-02-071-0/+289
The discovery RPC protocol does not yet distinguish TCP and UDP ports. But it can't hurt to do so in our internal model.