Anton Kaliaev
9962e598a0
reconnect to self-reported address if persistent peer is inbound ( #2031 )
...
* reconnect to self-reported address if persistent peer is inbound
* add a fixme
2018-07-23 21:15:08 +04:00
ValarDragon
c798702764
crypto: Remove Ed25519 and Secp256k1 suffix on GenPrivKey
2018-07-20 10:44:21 -07:00
ValarDragon
571e602f07
Merge remote-tracking branch 'origin/develop' into dev/refactor_crypto
2018-07-18 08:54:51 -07:00
ValarDragon
99e582d79a
crypto: Refactor to move files out of the top level directory
...
Currently the top level directory contains basically all of the code
for the crypto package. This PR moves the crypto code into submodules
in a similar manner to what `golang/x/crypto` does. This improves code
organization.
Ref discussion: https://github.com/tendermint/tendermint/pull/1966
Closes #1956
2018-07-18 08:38:44 -07:00
Anton Kaliaev
b31ee798bd
preserve original address and dial it instead of self-reported address ( #1994 )
...
Refs #1720
2018-07-18 13:23:29 +04:00
Jeremiah Andrews
6c4ca140ed
Add private peer ID tracking to AddrBook ( #1989 )
...
* Add private peer ID tracking to AddrBook
* Remove private peer tracking/blocking from pex
* debug level msg when we fail to add private address
2018-07-18 13:22:09 +04:00
needkane
449846ccb2
NodeInfo version check: delete redundant code
2018-07-18 13:12:52 +04:00
Dev Ojha
dae7dc30e0
Switch usage of math/rand to cmn's rand ( #1980 )
...
This commit switches all usage of math/rand to cmn's rand. The only
exceptions are within the random file itself, the tools package, and the
crypto package. In tools you don't want it to lock between the go-routines.
The crypto package doesn't use it so the crypto package have no other
dependencies within tendermint/tendermint for easier portability.
Crypto/rand usage is unadjusted.
Closes #1343
2018-07-16 11:20:37 +04:00
Anton Kaliaev
a19e857f2e
[pex] switch to MustMarshalBinaryBare and UnmarshalBinaryBare
...
Refs #646
2018-07-09 13:11:41 +04:00
Anton Kaliaev
9120fd5d14
unexport DecodeMessage functions
...
Refs #646
2018-07-09 13:01:23 +04:00
Ethan Buchman
c3504c111e
add test
2018-07-02 13:04:34 -04:00
Ethan Buchman
737c5c065d
fixes from review
2018-07-02 12:46:02 -04:00
Ethan Buchman
1c018d3fd2
p2p: external address
...
* new config option for external address to advertise
* if blank, defaults to best guess from listener
* if laddr ip address is also blank, default to IPv4
2018-07-02 12:44:48 -04:00
Ethan Buchman
d55243f0e6
fix import paths
2018-07-01 22:36:49 -04:00
Ethan Buchman
d6394bcbfd
Merge branch 'release/v0.22.0' into 1762-tm-stops-producing-blocks
2018-07-01 11:39:43 -04:00
Anton Kaliaev
9752e059e1
fix nil pointer panic by checking if peer is nil
...
Fixes #1830
remember that PeerSet#Get can return nil
2018-06-29 16:03:31 +04:00
Anton Kaliaev
61c5791fa3
revert back to Jae's original payload size limit
...
except now we calculate the max size using the maxPacketMsgSize()
function, which frees developers from having to know amino encoding
details.
plus, 10 additional bytes are added to leave the room for amino upgrades
(both making it more efficient / less efficient)
2018-06-29 12:57:17 +04:00
Anton Kaliaev
ab04201c3d
fix empty packet size calculation
...
Fixes #1762#issuecomment-398940107
2018-06-29 12:40:32 +04:00
Anton Kaliaev
ada5ef0669
[p2p] add godoc comments to Listener ( #1828 )
...
* update changelog
* document p2p/listener
* do not expose underlying net.Listener
* add a TODO
* replace todo with a comment
2018-06-29 11:48:52 +04:00
kph7
e556e3336e
Adding IPv6 support to peering ( #1818 )
2018-06-28 11:29:27 +04:00
Dev Ojha
b1d6deaf0b
config: rename skip_upnp to upnp ( #1827 )
...
* config: rename skip_upnp to upnp
Change default option to enable upnp.
Closes #1806
* doc updates
- fix comment and set UPNP to false in TestP2PConfig
- add UPNP to config template
- update changelog
2018-06-28 11:09:39 +04:00
Ricardo Domingos
e6abdb8b9d
p2p/trust: Fix nil pointer error on TrustMetric Copy() ( #1819 )
2018-06-27 08:37:30 +04:00
Liamsi
a39b2522d5
review comments:
...
- re-add test
- add TODO
- err instead of panic where possible
2018-06-21 11:51:46 -07:00
Liamsi
d2c05bc5b9
Revert "delete everything" (includes everything non-go-crypto)
...
This reverts commit 96a3502
2018-06-20 17:35:30 -07:00
Liamsi
96a3502126
delete everything
2018-06-20 15:19:08 -07:00
Anton Kaliaev
205d8b8062
fixes after @xla review
...
- move prometheus metrics into internal packages
- *Option structs
- misc. format changes
2018-06-20 12:40:25 +04:00
Anton Kaliaev
e4bb3566a0
move metrics constructors to a separate package
2018-06-20 12:40:25 +04:00
Anton Kaliaev
84812145cb
friendly apis for constructors
2018-06-20 12:40:25 +04:00
Anton Kaliaev
b10b0da3fd
bundle imports
2018-06-20 12:40:11 +04:00
Anton Kaliaev
19699d644f
p2p metric, make height and totalTxs gauges
2018-06-20 12:38:45 +04:00
Dev Ojha
b84f788f36
Switch ports 466xx to 266xx ( #1735 )
...
* Switch ports 466xx to be 266xx
This is done so the default ports aren't in the linux kernel's default ephemeral port range.
* Update ABCI import
* Bump cache on circleci
* Get more verbose output for debugging
* Bump abci dependency
* Fix accidental change of a block header's hash
* pin abci release
2018-06-12 13:25:52 +04:00
Anton Kaliaev
cd3a240c9f
return an error if we fail to parse external IP
...
```
I[06-08|11:51:57.234] Getting UPNP external address module=p2p
I[06-08|11:51:58.867] Got UPNP external address module=p2p address=
```
Fixes #1717
```
I[06-08|11:51:56.952] Starting multiAppConn module=proxy impl=multiAppConn
I[06-08|11:51:56.952] Starting localClient module=abci-client connection=query impl=localClient
I[06-08|11:51:56.952] Starting localClient module=abci-client connection=mempool impl=localClient
I[06-08|11:51:56.952] Starting localClient module=abci-client connection=consensus impl=localClient
I[06-08|11:51:56.952] ABCI Handshake module=consensus appHeight=0 appHash=
I[06-08|11:51:56.952] ABCI Replay Blocks module=consensus appHeight=0 storeHeight=0 stateHeight=0
I[06-08|11:51:57.053] Completed ABCI Handshake - Tendermint and App are synced module=consensus appHeight=0 appHash=
I[06-08|11:51:57.053] This node is a validator module=consensus addr=6816B5D9BAC32A3CDF07884D9D3D2650694C371D pubKey=PubKeyEd25519{27A40CD032DD2467342D0CF27C5EC92052D966FEC714B6CF2F3BF3146AFD0D51}
I[06-08|11:51:57.234] Starting Node module=main impl=Node
I[06-08|11:51:57.234] Starting EventBus module=events impl=EventBus
I[06-08|11:51:57.234] Local listener module=p2p ip=:: port=46656
I[06-08|11:51:57.234] Getting UPNP external address module=p2p
I[06-08|11:51:58.867] Got UPNP external address module=p2p address=
I[06-08|11:51:58.867] Starting DefaultListener module=p2p impl=Listener(@<nil>:46656)
I[06-08|11:51:58.867] P2P Node ID module=main ID=3629b516392e494ae717ac4c6a1ea7eb0fe421c3 file=/home/tpb/.tendermint/config/node_key.json
I[06-08|11:51:58.868] Add our address to book module=p2p book=/home/tpb/.tendermint/config/addrbook.json addr=null
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x38 pc=0x89fb86]
goroutine 1 [running]:
github.com/tendermint/tendermint/p2p.(*NetAddress).String(0x0, 0xc96e24, 0x17)
/home/tpb/code/go/src/github.com/tendermint/tendermint/p2p/netaddress.go:171 +0x26
github.com/tendermint/tendermint/p2p/pex.(*addrBook).AddOurAddress(0xc420190620, 0x0)
/home/tpb/code/go/src/github.com/tendermint/tendermint/p2p/pex/addrbook.go:160 +0x116
github.com/tendermint/tendermint/node.(*Node).OnStart(0xc420286d00, 0xc4201b8010, 0xd)
/home/tpb/code/go/src/github.com/tendermint/tendermint/node/node.go:402 +0x547
github.com/tendermint/tendermint/vendor/github.com/tendermint/tmlibs/common.(*BaseService).Start(0xc420286d00, 0xe51c40, 0xc42000bd40)
/home/tpb/code/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/tmlibs/common/service.go:130 +0x3bd
github.com/tendermint/tendermint/cmd/tendermint/commands.NewRunNodeCmd.func1(0xc42022e000, 0xc4200acdc0, 0x0, 0x1, 0x0, 0x0)
/home/tpb/code/go/src/github.com/tendermint/tendermint/cmd/tendermint/commands/run_node.go:58 +0xfe
github.com/tendermint/tendermint/vendor/github.com/spf13/cobra.(*Command).execute(0xc42022e000, 0xc4200acda0, 0x1, 0x1, 0xc42022e000, 0xc4200acda0)
/home/tpb/code/go/src/github.com/tendermint/tendermint/vendor/github.com/spf13/cobra/command.go:762 +0x468
github.com/tendermint/tendermint/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0x1289280, 0xbbdda0, 0xc420015e01, 0xc4201bc640)
/home/tpb/code/go/src/github.com/tendermint/tendermint/vendor/github.com/spf13/cobra/command.go:852 +0x30a
github.com/tendermint/tendermint/vendor/github.com/spf13/cobra.(*Command).Execute(0x1289280, 0xc4201bc640, 0xc420015e98)
/home/tpb/code/go/src/github.com/tendermint/tendermint/vendor/github.com/spf13/cobra/command.go:800 +0x2b
github.com/tendermint/tendermint/vendor/github.com/tendermint/tmlibs/cli.Executor.Execute(0x1289280, 0xde5798, 0x2, 0xc4200332c0)
/home/tpb/code/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/tmlibs/cli/setup.go:89 +0x4e
main.main()
/home/tpb/code/go/src/github.com/tendermint/tendermint/cmd/tendermint/main.go:45 +0x24d
```
2018-06-09 15:03:38 +04:00
Ethan Buchman
9481cabd50
fixes from review
2018-06-06 20:45:20 -07:00
Alexander Simmerl
c661a3ec21
Fix race when mutating MConnConfig
...
Instead of mutating the passed in MConnConfig part of P2PConfig we just
use the default and override the values, the same as before as it was
always the default version. This is yet another good reason to not embed
information and access to config structs in our components and will go
away with the ongoing refactoring in #1325 .
2018-06-07 01:09:13 +02:00
Ethan Buchman
825fdf2c24
Merge pull request #1679 from tendermint/flush-wal-on-stop
...
Flush cs.wal on stop
2018-06-05 17:14:19 -07:00
Anton Kaliaev
b8c076ca79
do not drain the channel because there is no channel, duh
...
Fixes https://github.com/cosmos/cosmos-sdk/issues/1045
2018-06-05 14:57:20 +04:00
Ethan Buchman
fd4db8dfdc
Merge pull request #1676 from tendermint/xla/collapse-peerconfig
...
Collapse PeerConfig into P2PConfig
2018-06-04 18:50:41 -07:00
Alexander Simmerl
ea896865a7
Collapse PeerConfig into P2PConfig
...
As both configs are concerned with the p2p packaage and PeerConfig is
only used inside of the package there is no good reason to keep the
couple of fields separate, therefore it is collapsed into the more
general P2PConifg. This is a stepping stone towards a setup where the
components inside of p2p do not have any knowledge about the config.
follow-up to #1325
2018-06-05 02:07:56 +02:00
Anton Kaliaev
0562009275
bring back assert
2018-06-04 16:33:57 +04:00
idoor88
fedd07c522
removed assertion to avoid confusion ( #1626 )
2018-06-04 14:30:46 +04:00
Alexander Simmerl
3255c076e5
Remove auth_enc config option
...
As we didn't hear any voices requesting this feature, we removed the
option to disable it and always have peer connection auth encrypted.
closes #1518
follow-up #1325
2018-06-01 21:07:20 +02:00
Ethan Buchman
d454b1b25f
SkipDuplicate -> AllowDuplicate; fix p2p test on mac
2018-05-30 21:44:39 -04:00
Alexander Simmerl
5796e879b9
Introduce option to skip duplicate ip check
...
In some scenarios like tests we want to disable the guard which prevents
peers connecting from the same ip.
Fixes #1632
Closes #1634
2018-05-30 10:40:22 +02:00
Anton Kaliaev
4da81aa0b7
commented out TestPEXReactorRunning
2018-05-25 15:11:32 +04:00
Anton Kaliaev
67068a34f2
log requesting addresses
2018-05-25 15:11:32 +04:00
Anton Kaliaev
2a0e9f93ce
provide arg to error
...
BEFORE:
```
E[05-24|11:55:37.229] Dialing failed pex=0 addr=022ec801d79025caab3afbbf816d92ff8450d040@127.0.0.2:6593 err="Connect to self: <nil>" attempts=0
```
AFTER:
```
E[05-24|11:55:37.229] Dialing failed pex=0 addr=022ec801d79025caab3afbbf816d92ff8450d040@127.0.0.2:6593 err="Connect to self: 022ec801d79025caab3afbbf816d92ff8450d040@127.0.0.2:6593" attempts=0
```
2018-05-25 15:11:32 +04:00
Ethan Buchman
3a947b0117
Merge pull request #1619 from tendermint/zach/cleaner-repo
...
clean up links & spec docs
2018-05-23 21:09:15 -04:00
Ethan Buchman
caf5afc084
Merge pull request #1520 from tendermint/bucky/p2p-same-ip
...
p2p: prevent connections from same ip
2018-05-23 20:57:17 -04:00
Zach Ramsay
423fef1416
docs: use absolute links ( #1617 )
2018-05-23 10:01:32 -04:00
Alexander Simmerl
186d38dd8a
Use different loopback addresses for test switch
2018-05-23 02:36:48 +02:00