Commit Graph

4759 Commits

Author SHA1 Message Date
Taylor Gerring eac4d582d7 Patches 2015-04-01 17:49:22 +02:00
Taylor Gerring 1045015a3c Update nonce field 2015-04-01 17:48:53 +02:00
obscuren 96cf776f81 Check stack for BALANCE. Closes #622 2015-04-01 17:45:38 +02:00
obscuren f801183b8b Squashed 'tests/files/' changes from 29da5ea..5f8a010
5f8a010 go fials
6f7924a add cppjit fail
c21f368 update genesis test
de7266b update js example test

git-subtree-dir: tests/files
git-subtree-split: 5f8a0103c0456f9467b402fde3db4bcde345d53b
2015-04-01 17:41:58 +02:00
obscuren 516423cdac Merge commit 'f801183b8bea24ce9988fbd06c2f17fedfc3587f' into develop 2015-04-01 17:41:58 +02:00
obscuren 216ea425e4 corrected 2015-04-01 17:36:56 +02:00
obscuren 8e961df283 bumped network protocol 2015-04-01 17:10:42 +02:00
Jeffrey Wilcke fd171eff7f Merge pull request #592 from fjl/disco-ping-pong
Discovery bonding protocol
2015-04-01 17:10:10 +02:00
Felix Lange 76218959ab eth: update cpp bootnode address 2015-04-01 17:00:12 +02:00
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