Péter Szilágyi
2ee885958b
p2p: snappy encoding for devp2p (version bump to 5) ( #15106 )
...
* p2p: snappy encoding for devp2p (version bump to 5)
* p2p: remove lazy decompression, enforce 16MB limit
2017-09-26 16:54:49 +03:00
Felix Lange
9b0af51386
crypto: add btcec fallback for sign/recover without cgo ( #3680 )
...
* vendor: add github.com/btcsuite/btcd/btcec
* crypto: add btcec fallback for sign/recover without cgo
This commit adds a non-cgo fallback implementation of secp256k1
operations.
* crypto, core/vm: remove wrappers for sha256, ripemd160
2017-02-18 09:24:12 +01:00
Felix Lange
b9b3efb09f
all: fix ineffectual assignments and remove uses of crypto.Sha3
...
go get github.com/gordonklaus/ineffassign
ineffassign .
2017-01-09 16:24:42 +01:00
Felix Lange
659c0cb9e8
p2p: enable EIP-8 handshake sending
...
With the Ethereum Homestead fork is now behind us, we can
assume that everyone runs an EIP-8 capable client.
2016-04-03 23:10:11 +02:00
Ricardo Catalinas Jiménez
436fc8d76a
all: Rename crypto.Sha3{,Hash}() to crypto.Keccak256{,Hash}()
...
As we aren't really using the standarized SHA-3
2016-02-21 22:34:34 +00:00
Felix Lange
7d8155714b
p2p: EIP-8 changes
2016-02-19 11:14:48 +01:00
Gustav Simonsson
c8ad64f33c
crypto, crypto/ecies, crypto/secp256k1: libsecp256k1 scalar mult
...
thanks to Felix Lange (fjl) for help with design & impl
2015-11-30 13:43:32 +01:00
Felix Lange
a89cfe92cc
Merge pull request #1470 from ebuchman/encHandshake
...
p2p: validate recovered ephemeral pubkey
2015-08-13 11:59:27 +02:00
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
2015-07-23 18:35:11 +02:00
Felix Lange
3f047be5aa
all: update license headers to distiguish GPL/LGPL
...
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
2015-07-22 18:51:45 +02:00
Ethan Buchman
37efd08b42
p2p: validate recovered ephemeral pubkey against checksum in decodeAuthMsg
2015-07-14 03:06:44 +00:00
Felix Lange
ea54283b30
all: update license information
2015-07-07 14:12:44 +02:00
Péter Szilágyi
ff84352fb7
p2p: fix close data race
2015-06-09 16:12:24 +03:00
Felix Lange
1440f9a37a
p2p: new dialer, peer management without locks
...
The most visible change is event-based dialing, which should be an
improvement over the timer-based system that we have at the moment.
The dialer gets a chance to compute new tasks whenever peers change or
dials complete. This is better than checking peers on a timer because
dials happen faster. The dialer can now make more precise decisions
about whom to dial based on the peer set and we can test those
decisions without actually opening any sockets.
Peer management is easier to test because the tests can inject
connections at checkpoints (after enc handshake, after protocol
handshake).
Most of the handshake stuff is now part of the RLPx code. It could be
exported or move to its own package because it is no longer entangled
with Server logic.
2015-05-25 01:17:14 +02:00
Felix Lange
429828cd92
p2p: reject messages that cannot be written as simple RLPx frames
...
Until chunked frames are implemented we cannot send messages
with a size overflowing uint24.
2015-03-04 16:42:01 +01:00
Felix Lange
22659a7fea
p2p: restore read/write timeouts
...
They got lost in the transition to rlpxFrameRW.
2015-03-04 16:42:00 +01:00
Felix Lange
d344054e5a
p2p: make RLPx frame MAC 16 bytes as defined in the spec
2015-03-04 12:27:24 +01:00
Felix Lange
51e01cceca
p2p: encrypted and authenticated RLPx frame I/O
2015-03-04 12:27:23 +01:00
Felix Lange
936dd0f3bc
p2p: add basic RLPx frame I/O
2015-03-04 12:27:23 +01:00