ken10100147
afecb93e2e
p2p/nat: fix parameter order for AddMapping
2016-09-28 12:11:58 +02:00
Felix Lange
b8ba80bff7
Merge pull request #2740 from Firescar96/removepeer
...
node, p2p, internal: Add ability to remove peers via admin interface
2016-07-29 12:34:28 +02:00
Firescar96
4c3da0f2e1
node, p2p, internal: Add ability to remove peers via admin interface
2016-07-14 18:51:41 -04:00
villesundell
c7442ef0d2
ethdb, p2p/discover: replace "alloted" with "allotted" ( #2785 )
2016-07-12 11:42:47 +02:00
Felix Lange
542b839ec7
node, p2p: move network config out of Server
...
This silences a go vet message about copying p2p.Server in package node.
2016-05-18 12:19:04 +02:00
Felix Lange
8110671960
p2p/discover: prevent bonding self
2016-05-02 18:50:16 +02:00
Felix Lange
32bb280179
p2p: improve readability of dial task scheduling code
2016-05-02 18:50:15 +02:00
Felix Lange
6fdd0893c3
all: fix go vet warnings
2016-04-15 11:17:27 +02: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
Péter Szilágyi
64c8e2f2ca
p2p/nat: fix #2291 , NAT discovery did't abort on failure
2016-03-14 17:08:15 +02:00
Jeffrey Wilcke
483feb0d3f
Merge pull request #2242 from jimenezrick/upstream-crypto
...
Closes #2241 : Use Keccak-256 from golang.org/x/crypto/sha3 and mention explicitly
2016-02-24 12:57:57 +01:00
Péter Szilágyi
ac954f48bd
p2p/discover: emphasize warning, add 10 min cooldown
2016-02-24 12:16:28 +02:00
Péter Szilágyi
b1908f6a16
psp/discovery: NTP sanity check clock drift in case of expirations
2016-02-24 12:14:15 +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
Felix Lange
ee1debda53
p2p/discover: EIP-8 changes
2016-02-19 11:14:42 +01:00
Felix Lange
2871781f64
p2p/discover: fix Windows-specific issue for larger-than-buffer packets
...
On Windows, UDPConn.ReadFrom returns an error for packets larger
than the receive buffer. The error is not marked temporary, causing
our loop to exit when the first oversized packet arrived. The fix
is to treat this particular error as temporary.
Fixes : #1579 , #2087
Updates: #2082
2016-01-22 23:44:25 +01:00
Felix Lange
b3f1f4c673
p2p/discover: attempt to deflake TestUDP_responseTimeouts
...
The test expected the timeout to fire after a matcher for the response
was added, but the timeout is random and fired sooner sometimes.
2015-12-17 23:44:56 +01:00
Felix Lange
6c41e675ec
p2p: resolve incomplete dial targets
...
This change makes it possible to add peers without providing their IP
address. The endpoint of the target node is resolved using the discovery
protocol.
2015-12-17 23:39:49 +01:00
Felix Lange
04c6369a09
p2p, p2p/discover: track bootstrap state in p2p/discover
...
This change simplifies the dial scheduling logic because it
no longer needs to track whether the discovery table has been
bootstrapped.
2015-12-17 23:38:54 +01:00
Felix Lange
d1f507b7f1
p2p/discover: support incomplete node URLs, add Resolve
2015-12-17 23:38:54 +01:00
Péter Szilágyi
abb53644c6
p2p: always allow dynamic dials if network not disabled
2015-12-03 11:45:35 +02: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
Péter Szilágyi
9e1d9bff3b
node: customizable protocol and service stacks
2015-11-27 11:06:12 +02:00
Jeffrey Wilcke
e165c2d23c
Merge pull request #1934 from karalabe/polish-protocol-infos
...
eth, p2p, rpc/api: polish protocol info gathering
2015-11-04 11:59:31 +01:00
Felix Lange
f570b68ed1
p2p/nat: add docs for discover
2015-10-29 22:54:44 +01:00
Felix Lange
bf11a47f22
Godeps: upgrade github.com/huin/goupnp to 90f71cb5
2015-10-29 22:53:59 +01:00
Péter Szilágyi
e46ab3bdcd
eth, p2p, rpc/api: polish protocol info gathering
2015-10-28 12:44:15 +02:00
Felix Lange
32dda97602
p2p/discover: ignore packet version numbers
...
The strict matching can get in the way of protocol upgrades.
2015-09-30 16:23:03 +02:00
Felix Lange
631bf36102
p2p/discover: remove unused lastLookup field
2015-09-30 16:23:03 +02:00
Felix Lange
b4374436f3
p2p/discover: fix race involving the seed node iterator
...
nodeDB.querySeeds was not safe for concurrent use but could be called
concurrenty on multiple goroutines in the following case:
- the table was empty
- a timed refresh started
- a lookup was started and initiated refresh
These conditions are unlikely to coincide during normal use, but are
much more likely to occur all at once when the user's machine just woke
from sleep. The root cause of the issue is that querySeeds reused the
same leveldb iterator until it was exhausted.
This commit moves the refresh scheduling logic into its own goroutine
(so only one refresh is ever active) and changes querySeeds to not use
a persistent iterator. The seed node selection is now more random and
ignores nodes that have not been contacted in the last 5 days.
2015-09-30 16:23:03 +02:00
Péter Szilágyi
c51e153b5c
eth, metrics, p2p: prepare metrics and net packets to eth/62
2015-08-21 10:30:57 +03:00
Jeffrey Wilcke
e2d44814a5
Merge pull request #1694 from obscuren/hide-fdtrack
...
fdtrack: hide message
2015-08-19 13:50:54 -07:00
Jeffrey Wilcke
269c5c7107
Revert "fdtrack: temporary hack for tracking file descriptor usage"
...
This reverts commit 5c949d3b3ba81ea0563575b19a7b148aeac4bf61.
2015-08-19 21:46:01 +02:00
Felix Lange
dd54fef898
p2p/discover: don't attempt to replace nodes that are being replaced
...
PR #1621 changed Table locking so the mutex is not held while a
contested node is being pinged. If multiple nodes ping the local node
during this time window, multiple ping packets will be sent to the
contested node. The changes in this commit prevent multiple packets by
tracking whether the node is being replaced.
2015-08-19 14:57:16 +02:00
Felix Lange
edccc7ae34
p2p: continue listening after temporary errors
2015-08-19 14:39:04 +02:00
Felix Lange
7d5ff770e2
p2p/discover: continue reading after temporary errors
...
Might solve #1579
2015-08-19 14:38:55 +02: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
0d10d5a0a5
p2p: fix value of DiscSubprotocolError
...
We had the wrong value (12) since forever.
2015-08-12 14:15:54 +02:00
Felix Lange
590c99a98f
p2p/discover: fix UDP reply packet timeout handling
...
If the timeout fired (even just nanoseconds) before the deadline of the
next pending reply, the timer was not rescheduled. The timer would've
been rescheduled anyway once the next packet was sent, but there were
cases where no next packet could ever be sent due to the locking issue
fixed in the previous commit.
As timing-related bugs go, this issue had been present for a long time
and I could never reproduce it. The test added in this commit did
reproduce the issue on about one out of 15 runs.
2015-08-11 11:42:17 +02:00
Felix Lange
01ed3fa1a9
p2p/discover: unlock the table during ping replacement
...
Table.mutex was being held while waiting for a reply packet, which
effectively made many parts of the whole stack block on that packet,
including the net_peerCount RPC call.
2015-08-11 11:42:17 +02:00
Felix Lange
6ee908848c
p2p/nat: disable UPnP test on windows
2015-08-06 17:18:59 +02:00
Felix Lange
b23b4dbd79
p2p/discover: close Table during testing
...
Not closing the table used to be fine, but now the table has a database.
2015-08-06 12:27:59 +02:00
Felix Lange
5c949d3b3b
fdtrack: temporary hack for tracking file descriptor usage
...
Package fdtrack logs statistics about open file descriptors.
This should help identify the source of #1549 .
2015-08-04 03:10: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
bdae4fd573
all: add some godoc synopsis comments
2015-07-07 14:12:45 +02:00
Felix Lange
ea54283b30
all: update license information
2015-07-07 14:12:44 +02:00
Péter Szilágyi
01fe972113
cmd, core, eth, metrics, p2p: require enabling metrics
2015-06-30 00:51:46 +02:00