Commit Graph

4757 Commits

Author SHA1 Message Date
96cf776f81 Check stack for BALANCE. Closes #622 2015-04-01 17:45:38 +02:00
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
516423cdac Merge commit 'f801183b8bea24ce9988fbd06c2f17fedfc3587f' into develop 2015-04-01 17:41:58 +02:00
216ea425e4 corrected 2015-04-01 17:36:56 +02:00
8e961df283 bumped network protocol 2015-04-01 17:10:42 +02:00
fd171eff7f Merge pull request #592 from fjl/disco-ping-pong
Discovery bonding protocol
2015-04-01 17:10:10 +02:00
76218959ab eth: update cpp bootnode address 2015-04-01 17:00:12 +02:00
a77c431e37 p2p/discover: fix off by one error causing buckets to contain duplicates 2015-04-01 17:00:12 +02:00
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
b6f0b40037 Respect fullTx option #614 2015-04-01 16:49:07 +02:00
55b9689950 rename messages to types 2015-04-01 15:53:48 +02:00
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
bea3879d6f If nil, type doesn't matter 2015-04-01 15:45:56 +02:00
ac03ff6f05 Fix block size output #613 2015-04-01 15:44:09 +02:00
6e8ff578f1 Block nonce as data 2015-04-01 15:28:06 +02:00
93f832a1a7 Make block context optional nulls 2015-04-01 15:27:37 +02:00
0ce971d9d3 Add new formatting regex 2015-04-01 15:27:14 +02:00
101ea1a1e8 Make inner size before assinging. Closes #615 2015-04-01 14:15:20 +02:00
c8e5d53a39 Merge pull request #618 from tgerring/issue613
Issue #613
2015-04-01 13:57:35 +02:00
4a4da9a24e Merge pull request #588 from ethersphere/frontier/SEC-29
Frontier/sec 29
2015-04-01 13:55:42 +02:00
f56fc9cd9d change StatusMsgData.TD back to pointer type *big.Int 2015-04-01 12:36:49 +01:00
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
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
d677190f39 add tests for valid blocks msg handling 2015-04-01 12:32:42 +01:00
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
936ddf2ad1 Merge pull request #616 from bas-vk/develop
Frontier/513
2015-04-01 13:25:15 +02:00
dbf17105f6 Build transaction context in BlockRes 2015-04-01 13:18:51 +02:00
88f2a96ca3 Set fullTx option in constructor 2015-04-01 13:18:30 +02:00
1559bd9e1b changed big.Int instantiation 2015-04-01 13:15:21 +02:00
dba9b83aa0 Merge branch 'tgerring-hexify' into develop 2015-04-01 12:51:44 +02:00
b0e09ec827 merge conflict 2015-04-01 12:51:39 +02:00
6afc5e762a Merge branch 'hexify' of https://github.com/tgerring/go-ethereum into tgerring-hexify 2015-04-01 12:49:10 +02:00
720d978e35 Merge pull request #589 from tgerring/corssetting
Configurable CORS domain
2015-04-01 12:38:29 +02:00
6605d00d92 Frontier/513 2015-04-01 12:33:12 +02:00
02fb83782e #612 rename eth_protocol method 2015-04-01 12:28:48 +02:00
86ba7432a9 txMeta storage as struct 2015-04-01 12:14:35 +02:00
4e8f8cfab7 ethereum.js update 2015-04-01 11:51:05 +02:00
f2c6a937f3 Protocol bump 2015-04-01 11:50:19 +02:00
b860b67693 Remove extra type assetion 2015-04-01 11:45:29 +02:00
f468364e4d fixed tests 2015-04-01 11:42:02 +02:00
7b7392826d Improved response tests
Actually verifies output as by regex
2015-04-01 11:38:06 +02:00
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
d3e86f9208 Added gas generator defaults 2015-04-01 10:51:46 +02:00
25998cfc45 Re-enabled response tests (needs improvement) 2015-04-01 09:11:23 +02:00
bbca6250ff Merge branch 'rpccall' into hexify 2015-03-31 22:40:52 +02:00
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
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
a2501ecfcd Make new types Stringers 2015-03-31 19:02:46 +02:00
8f0e095f4c Index is zero-based #607 2015-03-31 17:56:06 +02:00
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