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
7 years ago
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
8 years ago
Felix Lange
b9b3efb09f
all: fix ineffectual assignments and remove uses of crypto.Sha3
...
go get github.com/gordonklaus/ineffassign
ineffassign .
8 years ago
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.
9 years ago
Ricardo Catalinas Jiménez
436fc8d76a
all: Rename crypto.Sha3{,Hash}() to crypto.Keccak256{,Hash}()
...
As we aren't really using the standarized SHA-3
9 years ago
Felix Lange
7d8155714b
p2p: EIP-8 changes
9 years ago
Gustav Simonsson
c8ad64f33c
crypto, crypto/ecies, crypto/secp256k1: libsecp256k1 scalar mult
...
thanks to Felix Lange (fjl) for help with design & impl
9 years ago
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a
.
9 years ago
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".
9 years ago
Ethan Buchman
37efd08b42
p2p: validate recovered ephemeral pubkey against checksum in decodeAuthMsg
9 years ago
Felix Lange
ea54283b30
all: update license information
9 years ago
Péter Szilágyi
ff84352fb7
p2p: fix close data race
10 years ago
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.
10 years ago
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.
10 years ago
Felix Lange
22659a7fea
p2p: restore read/write timeouts
...
They got lost in the transition to rlpxFrameRW.
10 years ago
Felix Lange
d344054e5a
p2p: make RLPx frame MAC 16 bytes as defined in the spec
10 years ago
Felix Lange
51e01cceca
p2p: encrypted and authenticated RLPx frame I/O
10 years ago
Felix Lange
936dd0f3bc
p2p: add basic RLPx frame I/O
10 years ago