Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | cmd/bootnode, eth, p2p, p2p/discover: use a fancier db design | Péter Szilágyi | 2015-04-24 | 1 | -5/+5 |
| | |||||
* | cmd/bootnode, eth, p2p, p2p/discover: clean up the seeder and mesh into eth. | Péter Szilágyi | 2015-04-24 | 1 | -5/+5 |
| | |||||
* | cmd, eth, p2p, p2p/discover: init and clean up the seed cache | Péter Szilágyi | 2015-04-24 | 1 | -4/+4 |
| | |||||
* | p2p/discover: use rlp.DecodeBytes | Felix Lange | 2015-04-17 | 1 | -1/+1 |
| | |||||
* | p2p/discover: improve timer handling for reply timeouts | Felix Lange | 2015-04-14 | 1 | -2/+3 |
| | |||||
* | p2p/discover: don't log packet content | Felix Lange | 2015-04-10 | 1 | -3/+4 |
| | |||||
* | p2p/discover: make packet processing less concurrent | Felix Lange | 2015-04-10 | 1 | -6/+4 |
| | |||||
* | Updated logging | obscuren | 2015-04-07 | 1 | -10/+9 |
| | |||||
* | p2p/discover: implement node bonding | Felix Lange | 2015-04-01 | 1 | -84/+130 |
| | | | | | | | | | | | | | | | | 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. | ||||
* | p2p/discover: add version number to ping packet | Felix Lange | 2015-04-01 | 1 | -0/+8 |
| | | | | | | The primary motivation for doing this right now is that old PoC 8 nodes and newer PoC 9 nodes keep discovering each other, causing handshake failures. | ||||
* | p2p/discover: fix pending replies iteration | Felix Lange | 2015-02-17 | 1 | -1/+2 |
| | | | | | | Range expressions capture the length of the slice once before the first iteration. A range expression cannot be used here since the loop modifies the slice variable (including length changes). | ||||
* | p2p/discover: fix race in ListenUDP | Felix Lange | 2015-02-13 | 1 | -24/+17 |
| | | | | | udp.Table was assigned after the readLoop started, so packets could arrive and be processed before the Table was there. | ||||
* | p2p/discover: map listening port using configured mechanism | Felix Lange | 2015-02-13 | 1 | -6/+17 |
| | |||||
* | p2p/discover: code review fixes | Felix Lange | 2015-02-13 | 1 | -2/+2 |
| | |||||
* | p2p/discover: deflake UDP tests | Felix Lange | 2015-02-09 | 1 | -3/+2 |
| | |||||
* | p2p/discover: add node URL functions, distinguish TCP/UDP ports | Felix Lange | 2015-02-07 | 1 | -13/+19 |
| | | | | | The discovery RPC protocol does not yet distinguish TCP and UDP ports. But it can't hurt to do so in our internal model. | ||||
* | p2p/discover: add some helper functions | Felix Lange | 2015-02-06 | 1 | -2/+2 |
| | |||||
* | p2p/discover: new package implementing the Node Discovery Protocol | Felix Lange | 2015-02-06 | 1 | -0/+422 |