Commit Graph

4800 Commits

Author SHA1 Message Date
Felix Lange a77c431e37 p2p/discover: fix off by one error causing buckets to contain duplicates 2015-04-01 17:00:12 +02:00
Felix Lange de7af720d6 p2p/discover: implement node bonding
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.
2015-04-01 17:00:12 +02:00
Taylor Gerring b6f0b40037 Respect fullTx option #614 2015-04-01 16:49:07 +02:00
Taylor Gerring 55b9689950 rename messages to types 2015-04-01 15:53:48 +02:00
Felix Lange 92928309b2 p2p/discover: add version number to ping packet
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.
2015-04-01 15:53:04 +02:00
Taylor Gerring bea3879d6f If nil, type doesn't matter 2015-04-01 15:45:56 +02:00
Taylor Gerring ac03ff6f05 Fix block size output #613 2015-04-01 15:44:09 +02:00
Taylor Gerring 6e8ff578f1 Block nonce as data 2015-04-01 15:28:06 +02:00
Taylor Gerring 93f832a1a7 Make block context optional nulls 2015-04-01 15:27:37 +02:00
Taylor Gerring 0ce971d9d3 Add new formatting regex 2015-04-01 15:27:14 +02:00
Taylor Gerring 101ea1a1e8 Make inner size before assinging. Closes #615 2015-04-01 14:15:20 +02:00
Jeffrey Wilcke c8e5d53a39 Merge pull request #618 from tgerring/issue613
Issue #613
2015-04-01 13:57:35 +02:00
Jeffrey Wilcke 4a4da9a24e Merge pull request #588 from ethersphere/frontier/SEC-29
Frontier/sec 29
2015-04-01 13:55:42 +02:00
zelig f56fc9cd9d change StatusMsgData.TD back to pointer type *big.Int 2015-04-01 12:36:49 +01:00
zelig 6ffea34d8b check TxMsg
- add validation on TxMsg checking for nil
- add test for nil transaction
- add test for zero value transaction (no extra validation needed)
2015-04-01 12:32:42 +01:00
zelig 82da6bf4d2 test for invalid rlp encoding of block in BlocksMsg
- rename Validate -> ValidateFields not to confure consensus block validation
- add nil transaction and nil uncle header validation
- remove bigint field checks: rlp already decodes *big.Int to big.NewInt(0)
- add test for nil header, nil transaction
2015-04-01 12:32:42 +01:00
zelig d677190f39 add tests for valid blocks msg handling 2015-04-01 12:32:42 +01:00
zelig e1be34bce1 eth: SEC-29 eth wire protocol decoding invalid message data crashes client
- add validate method to types.Block
- validate after Decode -> error
- add tests for NewBlockMsg
2015-04-01 12:32:42 +01:00
Jeffrey Wilcke 936ddf2ad1 Merge pull request #616 from bas-vk/develop
Frontier/513
2015-04-01 13:25:15 +02:00
Taylor Gerring dbf17105f6 Build transaction context in BlockRes 2015-04-01 13:18:51 +02:00
Taylor Gerring 88f2a96ca3 Set fullTx option in constructor 2015-04-01 13:18:30 +02:00
Bas van Kervel 1559bd9e1b changed big.Int instantiation 2015-04-01 13:15:21 +02:00
obscuren dba9b83aa0 Merge branch 'tgerring-hexify' into develop 2015-04-01 12:51:44 +02:00
obscuren b0e09ec827 merge conflict 2015-04-01 12:51:39 +02:00
obscuren 6afc5e762a Merge branch 'hexify' of https://github.com/tgerring/go-ethereum into tgerring-hexify 2015-04-01 12:49:10 +02:00
Jeffrey Wilcke 720d978e35 Merge pull request #589 from tgerring/corssetting
Configurable CORS domain
2015-04-01 12:38:29 +02:00
Bas van Kervel 6605d00d92 Frontier/513 2015-04-01 12:33:12 +02:00
Taylor Gerring 02fb83782e #612 rename eth_protocol method 2015-04-01 12:28:48 +02:00
Taylor Gerring 86ba7432a9 txMeta storage as struct 2015-04-01 12:14:35 +02:00
obscuren 4e8f8cfab7 ethereum.js update 2015-04-01 11:51:05 +02:00
obscuren f2c6a937f3 Protocol bump 2015-04-01 11:50:19 +02:00
Taylor Gerring b860b67693 Remove extra type assetion 2015-04-01 11:45:29 +02:00
obscuren f468364e4d fixed tests 2015-04-01 11:42:02 +02:00
Taylor Gerring 7b7392826d Improved response tests
Actually verifies output as by regex
2015-04-01 11:38:06 +02:00
obscuren 0a554a1f27 Blocktest fixed, Execution fixed
* Added new CreateAccount method which properly overwrites previous
  accounts (excluding balance)
* Fixed block tests (100% success)
2015-04-01 10:53:32 +02:00
obscuren d3e86f9208 Added gas generator defaults 2015-04-01 10:51:46 +02:00
Taylor Gerring 25998cfc45 Re-enabled response tests (needs improvement) 2015-04-01 09:11:23 +02:00
Taylor Gerring bbca6250ff Merge branch 'rpccall' into hexify 2015-03-31 22:40:52 +02:00
Taylor Gerring 40ea466200 Store and retrieve tx context metadata #608
Improving this in the future will allow for cleaning up a bit of legacy
code.
2015-03-31 22:40:12 +02:00
Taylor Gerring 7e3875b527 Remove custom MarshalJSON methods
Now formats based on underlying hexdata or hexnum type. Fields directly
with respective constructors that cover from native types
2015-03-31 19:04:02 +02:00
Taylor Gerring a2501ecfcd Make new types Stringers 2015-03-31 19:02:46 +02:00
Taylor Gerring 8f0e095f4c Index is zero-based #607 2015-03-31 17:56:06 +02:00
Taylor Gerring 81aeb78976 Update output types to use hexnum or hexdata
Benefits from automatic output formatting differences between
quantities and data
2015-03-31 17:40:35 +02:00
Taylor Gerring 3a948b2dba Add hexdata and hexnum types 2015-03-31 17:39:58 +02:00
obscuren ec181b308a Squashed 'tests/files/' changes from c6d9629..29da5ea
29da5ea add JS block test example as state test
04108e0 Merge remote-tracking branch 'origin' into develop
6da7f35 JS failures
22b5dfc stQuadraticComplexity Refill with latest develop
c97bf26 Memory / Solidity Test Update

git-subtree-dir: tests/files
git-subtree-split: 29da5ea53ab36d74bd3c0712337168086cabfb8d
2015-03-31 16:25:22 +02:00
obscuren 2ef0bc03ec Merge commit 'ec181b308addc30c04973e9058960d579c84eef5' into develop 2015-03-31 16:25:22 +02:00
obscuren 8b51582b53 Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop 2015-03-31 15:31:32 +02:00
obscuren 3453f8c5d2 Added Code field 2015-03-31 15:30:55 +02:00
Felix Lange 653c3deaa5 Merge pull request #606 from tgerring/bootnode
Update Go bootnode address
2015-03-31 14:41:17 +02:00
Taylor Gerring 6daa455243 Update Go bootnode address 2015-03-31 14:14:29 +02:00