Commit Graph

5221 Commits

Author SHA1 Message Date
obscuren c2c24b3bb4 downloader: improved downloading and synchronisation
* Downloader's peers keeps track of peer's previously requested hashes
  so that we don't have to re-request
* Changed `AddBlock` to be fully synchronous
2015-04-18 18:55:13 +02:00
obscuren 60613b57d1 downloader: make sure that hashes are only accepted from the active peer 2015-04-18 17:35:03 +02:00
obscuren ff67fbf964 Merge branch 'develop' into downloader-proto 2015-04-18 15:14:56 +02:00
obscuren 525cefa37a updated ethash 2015-04-18 15:14:44 +02:00
obscuren 8244825bbf downloader: reset the queue if a peer response with an empty hash set 2015-04-18 15:14:12 +02:00
obscuren eef4776b5b eth: ignore NewBlockMsg with lower td 2015-04-18 14:25:22 +02:00
obscuren 1bc2d83b6f core: improved uncle validation error message 2015-04-18 14:24:44 +02:00
obscuren 8f873b762b downloader: all handlers check for isBusy 2015-04-18 03:15:26 +02:00
obscuren a6c0a75f9a eth: fixed proper BroadcastBlock for mined blocks 2015-04-18 02:38:13 +02:00
obscuren c39a7b5c0d Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop 2015-04-18 02:33:04 +02:00
obscuren 89fd752659 rpc: set from. Closes #742 2015-04-18 02:32:55 +02:00
obscuren f1ae3dc4aa geth: bump version number 2015-04-18 02:27:50 +02:00
obscuren 12e8d9c4dd eth: listen for mined blocks and propagate using the protocol manager 2015-04-18 02:27:37 +02:00
obscuren ecc74d76cc eth: drop blocks that are known 2015-04-18 02:24:24 +02:00
obscuren cc436c4b28 eth: additional cleanups to the subprotocol, improved block propagation
* Improved block propagation by sending blocks only to peers to which, as
  far as we know, the peer does not know about.
* Made sub protocol its own manager
* SubProtocol now contains the p2p.Protocol which is used instead of
  a function-returning-protocol thing.
2015-04-18 02:21:07 +02:00
obscuren c2f410214c eth: began split up of peers and protocol manager 2015-04-18 01:11:09 +02:00
obscuren 2339ee9910 Merge branch 'develop' into downloader-proto
Conflicts:
	eth/downloader/downloader.go
2015-04-18 01:10:32 +02:00
Felix Lange 7dc6c33873 Merge pull request #736 from frozeman/develop
add extra space to miner icon
2015-04-17 22:17:50 +02:00
Fabian Vogelsteller 576393550d add extra space to miner icon 2015-04-17 15:00:37 +02:00
Felix Lange 7180699d40 rlp: require declared number of input elements for array types 2015-04-17 14:45:10 +02:00
Felix Lange 9c7281c17e p2p: make DiscReason bigger than byte
We decode into [1]DiscReason in a few places. That doesn't work anymore
because package rlp no longer accepts RLP lists for byte arrays.
2015-04-17 14:45:10 +02:00
Felix Lange 4d5a518a0b rlp: stop accepting lists for byte slices and byte arrays 2015-04-17 14:45:10 +02:00
Felix Lange 574d5d6ae6 core/types: add rlp tag "nil" for Transaction.Recipient 2015-04-17 14:45:10 +02:00
Felix Lange cad64fb911 rlp: stricter rules for structs and pointers
The rules have changed as follows:

* When decoding into pointers, empty values no longer produce
  a nil pointer. This can be overriden for struct fields using the
  struct tag "nil".
* When decoding into structs, the input list must contain an element
  for each field.
2015-04-17 14:45:09 +02:00
Felix Lange 1e2c93aa2d rlp: reject non-minimal input strings
Input strings of length 1 containing a byte < 56 are non-minimal and
should be encoded as a single byte instead. Reject such strings.
2015-04-17 14:45:09 +02:00
Felix Lange 6e9f8035a1 rlp: stricter validation of canonical integer format
All integers (including size information in type tags) need to be
encoded using the smallest possible encoding. This commit expands the
stricter validation introduced for *big.Int in commit 59597d23a5
to all integer types and size tags.
2015-04-17 14:45:09 +02:00
Felix Lange 6788f955c2 rlp: fix handling of single byte zero when decoding into a pointer
A single zero byte carries information and should not set the pointer
to nil. This is arguably a corner case. While here, fix the comment
to explain pointer reuse.
2015-04-17 14:45:09 +02:00
Felix Lange 509d0a8d78 whisper: fix comment for rlpenv 2015-04-17 14:45:09 +02:00
Felix Lange eedbb1ee9a p2p/discover: use rlp.DecodeBytes 2015-04-17 14:45:09 +02:00
Felix Lange 2750ec47b7 rlp: fix integer overflow in list element size validation
It is not safe to add anything to s.size.
2015-04-17 14:45:09 +02:00
Felix Lange 56a48101dc cmd/rlpdump, cmd/utils, eth, p2p, whisper: use rlp input limit 2015-04-17 14:45:09 +02:00
Felix Lange c35f4fd0bd rlp: check top-level value sizes against input limit
This is a preliminary fix for #420 (SEC-18 RLP decoder unsafe
allocation). If a sane input limit is set on the rlp.Stream,
it should no longer be possible to cause huge []byte allocations.
2015-04-17 14:42:41 +02:00
Felix Lange 4020258801 Merge pull request #718 from karalabe/whisper-cleanup
Whisper cleanup, part 2
2015-04-17 14:10:55 +02:00
obscuren 73eb8e8c20 eth: basic implementation of the downloader 2015-04-17 13:54:18 +02:00
Péter Szilágyi 4afc22ba6e whisper: cleanup lefover scoping 2015-04-17 14:11:46 +03:00
Péter Szilágyi bd14bd6c5b whisper: hide some internal types 2015-04-17 13:25:18 +03:00
Jeffrey Wilcke d3ed3285e9 Merge pull request #733 from fjl/p2p-dial-timer
p2p: fix the dial timer
2015-04-17 11:32:55 +02:00
Felix Lange 5528abc795 p2p: fix the dial timer
The dial timer was not reset properly when the peer count reached
MaxPeers.
2015-04-17 08:17:01 +02:00
Jeffrey Wilcke 545ff1e3f3 Merge pull request #728 from tgerring/issue727
Fix RPC Call output when empty
2015-04-17 00:17:40 +02:00
obscuren 2c2ddcbf88 Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop 2015-04-17 00:11:58 +02:00
obscuren eac2df02d1 downloader: fixed a typo 2015-04-17 00:11:45 +02:00
Jeffrey Wilcke b6d1724dd9 Merge pull request #730 from Gustav-Simonsson/update_transaction_tests
Update transaction tests
2015-04-17 00:09:10 +02:00
Bas van Kervel ead3dd9759 Stop accepted and alive connections (http keep-alive) when the rpc service is stopped 2015-04-16 19:23:57 +02:00
Péter Szilágyi e5a03eb066 whisper: don't issue signature warning if none present 2015-04-16 18:24:39 +03:00
Bas van Kervel 57f93d25bd admin.stopRPC support added which stops the RPC HTTP listener 2015-04-16 12:56:51 +02:00
Péter Szilágyi e5e91e9eb3 whisper: track active peers, add peer cache expiry test 2015-04-16 13:05:35 +03:00
Péter Szilágyi ee6531c5ff whisper: remove dead code, rename a few constants 2015-04-16 11:20:01 +03:00
obscuren 205378016f downloader: added demotion / promotion in prep. for rep. system 2015-04-16 02:16:33 +02:00
obscuren eda10c7317 downloader: updated downloader and fixed issues with catch up
Properly ignore blocks coming from peers not in our peer list (blocked)
and do never request anything from bad peers. Added some checks to
account for blocks known when requesting hashes (missing parents).
2015-04-16 01:29:32 +02:00
obscuren 3a51c3b584 Merge branch 'develop' into downloader-proto 2015-04-16 01:28:24 +02:00