Péter Szilágyi
04fcae207d
p2p: if no nodes are connected, attempt dialing bootnodes ( #13874 )
2017-04-10 18:33:41 +02:00
Felix Lange
96ae35e2ac
p2p, p2p/discover, p2p/nat: rework logging using context keys
2017-02-28 10:20:29 +01:00
Felix Lange
d0eba23af3
all: disable log message colors outside of geth
...
Also tweak behaviour so colors are only enabled when stderr is a terminal.
2017-02-27 15:33:12 +01:00
Péter Szilágyi
d4fd06c3dc
all: blidly swap out glog to our log15, logs need rework
2017-02-23 12:16:44 +02:00
Péter Szilágyi
189dee26c6
p2p: remove trailing newlines from log messages
2017-02-23 12:00:04 +02: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
Péter Szilágyi
18c77744ff
all: fix spelling errors
2017-01-06 19:44:35 +02:00
Felix Lange
13e3b2f433
logger, pow/dagger, pow/ezp: delete dead code
2017-01-06 18:18:07 +01:00
Felix Lange
f2da6581ba
all: fix issues reported by honnef.co/go/simple/cmd/gosimple
2017-01-06 18:18:07 +01:00
Felix Lange
35a7dcb162
all: gofmt -w -s
2017-01-06 15:52:03 +01:00
Péter Szilágyi
21fd9f037e
p2p/nat: fix a bytes based net.IP comparison
2016-12-15 16:28:31 +02:00
Péter Szilágyi
2573094df2
p2p/discover, p2p/discv5: use flexible comparison for IPs
2016-12-14 18:40:49 +02:00
Zsolt Felfoldi
a6d3bf6fc3
p2p/discv5: search and lookup improvement
2016-12-08 13:38:15 +01:00
Felix Lange
a47341cf96
p2p, p2p/discover, p2p/discv5: add IP network restriction feature
...
The p2p packages can now be configured to restrict all communication to
a certain subset of IP networks. This feature is meant to be used for
private networks.
2016-11-22 22:21:18 +01:00
Felix Lange
a98d1d67d6
p2p/discover, p2p/discv5: prevent relay of invalid IPs and low ports
...
The discovery DHT contains a number of hosts with LAN and loopback IPs.
These get relayed because some implementations do not perform any checks
on the IP.
go-ethereum already prevented relay in most cases because it verifies
that the host actually exists before adding it to the local table. But
this verification causes other issues. We have received several reports
where people's VPSs got shut down by hosting providers because sending
packets to random LAN hosts is indistinguishable from a slow port scan.
The new check prevents sending random packets to LAN by discarding LAN
IPs sent by Internet hosts (and loopback IPs from LAN and Internet
hosts). The new check also blacklists almost all currently registered
special-purpose networks assigned by IANA to avoid inciting random
responses from services in the LAN.
As another precaution against abuse of the DHT, ports below 1024 are now
considered invalid.
2016-11-22 22:21:18 +01:00
Felix Lange
ba2884f343
p2p/discover, p2p/discv5: use netutil.IsTemporaryError
2016-11-22 22:21:15 +01:00
Felix Lange
1d80155d5e
p2p/netutil: new package for network utilities
...
The new package contains three things for now:
- IP network list parsing and matching
- The WSAEMSGSIZE workaround, which is duplicated in p2p/discover and
p2p/discv5.
2016-11-22 22:20:38 +01:00
Péter Szilágyi
b61f48e5aa
cmd, mobile, node, p2p: surface the discovery V5 bootnodes
2016-11-14 18:00:14 +02:00
Péter Szilágyi
178da7c6a9
mobile: initial wrappers for mobile support
2016-11-14 17:56:58 +02:00
Zsolt Felfoldi
1f70b279ba
p2p/discv5: added new bootnodes
2016-11-14 13:22:19 +01:00
Zsolt Felfoldi
e33e57684f
p2p/discv5: fixed bootnode connect issues
2016-11-14 13:22:19 +01:00
Zsolt Felfoldi
09baeec0da
discv5: fixed state machine lockup bug
2016-11-11 03:10:46 +01:00
Felix Lange
b8bd9a71c8
all: update license information
2016-11-09 02:51:34 +01:00
Felix Lange
0f19cbc6e5
p2p/discv5: fix build with Go 1.5, delete package testimg
2016-11-09 02:18:48 +01:00
Zsolt Felfoldi
49da42983a
p2p/discv5: added new topic discovery package
2016-11-09 02:12:53 +01:00
Felix Lange
44bc2e80dd
Merge pull request #2914 from fjl/node-coinhabit
...
cmd/utils, node: make datadir reusable for bzzd
2016-09-29 14:24:37 +02:00
ken10100147
afecb93e2e
p2p/nat: fix parameter order for AddMapping
2016-09-28 12:11:58 +02:00
Felix Lange
f5c432bcab
p2p/nat: delay auto discovery until first use
...
Port mapper auto discovery used to run immediately after parsing the
--nat flag, giving it a slight performance boost. But this is becoming
inconvenient because we create node.Node for all geth operations
including account management and bare chain interaction. Delay
autodiscovery until the first use instead, which avoids any network
interaction until the node is actually started.
2016-09-16 11:06:52 +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