Commit Graph

137 Commits

Author SHA1 Message Date
5235e01b8d eth: hard disconnect if a peer is flaky 2015-05-27 18:58:51 +03:00
eafdc1f8e3 eth, eth/downloader: surface downloaded block origin, drop on error 2015-05-26 14:00:21 +03:00
af28736bd0 Merge pull request #1064 from karalabe/downloader-attacks
Fix two additional download vulnerabilities
2015-05-21 09:00:12 -07:00
06a041589f eth, eth/downloader: remove duplicate consts, bump hash fetch to 2K 2015-05-21 18:16:04 +03:00
3c8227b935 eth: fix odd method names in peer set 2015-05-20 10:34:45 +03:00
5422fe5125 eth: make the peer set thread safe 2015-05-18 21:33:37 +03:00
d2d5dbc6fb eth/downloader: fix active peer shadowing, polish func names 2015-05-13 13:13:43 +03:00
8fe01b4bfa eth: 100% tx propagation 2015-05-12 19:01:01 +02:00
bd5720f480 eth, eth/downloader: handle sync errors a bit more gracefully 2015-05-08 15:22:48 +03:00
9d188f73b5 eth, eth/downloader: make synchronize thread safe 2015-05-07 21:07:20 +03:00
016f152b36 eth, eth/downloader: Moved block processing & graceful shutdown
The downloader is no longer responsible for processing blocks. The
eth-protocol handler now takes care of this instead.

Added graceful shutdown during block processing. Closes #846
2015-05-01 15:58:44 +02:00
8595198c1b eth/downloader: delete blocks from queue 2015-04-30 17:51:47 +02:00
28b39267d9 core, eth: verify td of received blocks 2015-04-30 13:50:59 +02:00
9b6e8f6195 eth, eth/downloader: remove bad peers from peer set
Peers in the eth protocol handler are now being ignored for catch up.
2015-04-30 12:38:16 +02:00
04c209980b eth: rely on p2p to determine block propagation 2015-04-29 22:50:58 +02:00
9e63798d03 core/types, eth: meassure and display propagation times 2015-04-29 19:55:30 +02:00
735b029db9 core: return the index of the block that failed when inserting a chain 2015-04-29 14:00:24 +02:00
4b7bdc3766 eth: check if downloader is busy before showing log message 2015-04-29 12:51:05 +02:00
1681ee9883 eth: added a few informative messages regarding downloading 2015-04-24 17:03:09 +02:00
d84c2202e7 eth, eth/downloader: simplified synchronisation process 2015-04-24 15:38:10 +02:00
31f82eb334 eth, eth/downloader: don't require td on downloader. Fixed tests 2015-04-24 15:04:58 +02:00
b86e7526e1 eth, eth/downloader: moved peer selection to protocol handler 2015-04-24 14:40:32 +02:00
516f49c812 eth: cleanup 2015-04-23 23:30:25 +02:00
d3be1a2719 eth: moved mined, tx events to protocol-hnd and improved tx propagation
Transactions are now propagated to peers from which we have not yet
received the transaction. This will significantly reduce the chatter on
the network.

Moved new mined block handler to the protocol handler and moved
transaction handling to protocol handler.
2015-04-23 11:50:12 +02:00
45da3e17e2 core: added chain head reset to known block 2015-04-20 12:29:02 +02:00
8f3a7e41de Merge branch 'rlp-size-validation' of https://github.com/fjl/go-ethereum into fjl-rlp-size-validation
Conflicts:
	eth/protocol.go
2015-04-19 17:07:40 +02:00
3d497be9bd eth: drop blocks with low TD 2015-04-19 13:31:37 +02:00
4340996572 eth: temp 100% block propagation because of the current state of the net 2015-04-19 01:40:01 +02:00
434dea3caf eth: removed debug messages to stdout 2015-04-19 00:03:26 +02:00
50e096e627 downloader: don't remove peers. keep them around 2015-04-18 23:56:08 +02:00
0d536734fe eth: adapted to new synchronous api of downloader's AddBlock 2015-04-18 18:57:59 +02:00
60613b57d1 downloader: make sure that hashes are only accepted from the active peer 2015-04-18 17:35:03 +02:00
8244825bbf downloader: reset the queue if a peer response with an empty hash set 2015-04-18 15:14:12 +02:00
eef4776b5b eth: ignore NewBlockMsg with lower td 2015-04-18 14:25:22 +02:00
ecc74d76cc eth: drop blocks that are known 2015-04-18 02:24:24 +02:00
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
c2f410214c eth: began split up of peers and protocol manager 2015-04-18 01:11:09 +02:00