reinstating gossip propagation
This commit is contained in:
16
go.mod
16
go.mod
@@ -6,18 +6,19 @@ require (
|
||||
git-indra.lan/indra-labs/lnd v0.15.6
|
||||
github.com/VividCortex/ewma v1.2.0
|
||||
github.com/btcsuite/btcd/btcutil v1.1.3
|
||||
github.com/christiansantapaola/modulo v0.0.0-20200504151013-689b50b5bea7
|
||||
github.com/davecgh/go-spew v1.1.1
|
||||
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0
|
||||
github.com/dgraph-io/badger/v3 v3.2103.5
|
||||
github.com/docker/cli v20.10.22+incompatible
|
||||
github.com/docker/docker v20.10.22+incompatible
|
||||
github.com/gookit/color v1.5.2
|
||||
github.com/jbarham/primegen v0.0.0-20200302115600-8ce4838491a0
|
||||
github.com/ipfs/go-datastore v0.6.0
|
||||
github.com/ipfs/go-ds-badger v0.3.0
|
||||
github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0
|
||||
github.com/libp2p/go-libp2p v0.24.2
|
||||
github.com/libp2p/go-libp2p-kad-dht v0.20.0
|
||||
github.com/libp2p/go-libp2p-record v0.2.0
|
||||
github.com/libp2p/go-libp2p-tls v0.5.0
|
||||
github.com/minio/sha256-simd v1.0.0
|
||||
github.com/moby/term v0.0.0-20221205130635-1aeaba878587
|
||||
github.com/multiformats/go-multiaddr v0.8.0
|
||||
@@ -37,6 +38,7 @@ require (
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 // indirect
|
||||
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
|
||||
github.com/Microsoft/go-winio v0.6.0 // indirect
|
||||
github.com/Microsoft/hcsshim v0.9.6 // indirect
|
||||
@@ -66,6 +68,7 @@ require (
|
||||
github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect
|
||||
github.com/decred/dcrd/crypto/blake256 v1.0.0 // indirect
|
||||
github.com/decred/dcrd/lru v1.0.0 // indirect
|
||||
github.com/dgraph-io/badger v1.6.2 // indirect
|
||||
github.com/dgraph-io/ristretto v0.1.1 // indirect
|
||||
github.com/docker/distribution v2.8.1+incompatible // indirect
|
||||
github.com/docker/docker-credential-helpers v0.7.0 // indirect
|
||||
@@ -104,11 +107,9 @@ require (
|
||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
||||
github.com/hashicorp/golang-lru v0.5.4 // indirect
|
||||
github.com/hashicorp/hcl v1.0.0 // indirect
|
||||
github.com/holiman/uint256 v1.2.2 // indirect
|
||||
github.com/huin/goupnp v1.0.3 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||
github.com/ipfs/go-cid v0.3.2 // indirect
|
||||
github.com/ipfs/go-datastore v0.6.0 // indirect
|
||||
github.com/ipfs/go-ipfs-util v0.0.2 // indirect
|
||||
github.com/ipfs/go-ipns v0.2.0 // indirect
|
||||
github.com/ipfs/go-log v1.0.5 // indirect
|
||||
@@ -139,7 +140,9 @@ require (
|
||||
github.com/libp2p/go-cidranger v1.1.0 // indirect
|
||||
github.com/libp2p/go-flow-metrics v0.1.0 // indirect
|
||||
github.com/libp2p/go-libp2p-asn-util v0.2.0 // indirect
|
||||
github.com/libp2p/go-libp2p-core v0.16.1 // indirect
|
||||
github.com/libp2p/go-libp2p-kbucket v0.5.0 // indirect
|
||||
github.com/libp2p/go-libp2p-secio v0.2.3 // indirect
|
||||
github.com/libp2p/go-msgio v0.2.0 // indirect
|
||||
github.com/libp2p/go-nat v0.1.0 // indirect
|
||||
github.com/libp2p/go-netroute v0.2.1 // indirect
|
||||
@@ -181,7 +184,6 @@ require (
|
||||
github.com/multiformats/go-multistream v0.3.3 // indirect
|
||||
github.com/multiformats/go-varint v0.0.7 // indirect
|
||||
github.com/naoina/go-stringutil v0.1.0 // indirect
|
||||
github.com/off-the-grid-inc/modular v0.0.0-20190926233211-4db3f7e5b9f5 // indirect
|
||||
github.com/onsi/ginkgo/v2 v2.5.1 // indirect
|
||||
github.com/opencontainers/go-digest v1.0.0 // indirect
|
||||
github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 // indirect
|
||||
@@ -269,7 +271,9 @@ replace math/rand => github.com/lukechampine/frand v1.4.2
|
||||
|
||||
//replace s7v2qgqpsgnak5rkrewh3gabd4h2hfluz7hpzr7mrtmscgb2pmzq2zqd.onion/indra-labs/lnd => git-indra.lan/indra-labs/indra
|
||||
|
||||
//replace git-indra.lan/indra-labs/indra => ./
|
||||
replace git-indra.lan/indra-labs/indra => github.com/indra-labs/indra v0.1.11
|
||||
|
||||
replace git-indra.lan/indra-labs/lnd => github.com/indra-labs/lnd v0.15.6
|
||||
|
||||
//replace git-indra.lan/indra-labs/lnd => ../lnd
|
||||
|
||||
|
||||
69
go.sum
69
go.sum
@@ -47,9 +47,9 @@ dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7
|
||||
dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU=
|
||||
dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4=
|
||||
dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU=
|
||||
git-indra.lan/indra-labs/lnd v0.15.6 h1:R1JzvCwDSLDsgbZFgImwwAWMnJMiC4UcFrEPQD6Jt48=
|
||||
git-indra.lan/indra-labs/lnd v0.15.6/go.mod h1:YSjOskYVjP2Lm4WW+ldH2uGSHqYjmBnUGzrrWc0OSuw=
|
||||
git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg=
|
||||
github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 h1:cTp8I5+VIoKjsnZuH8vjyaysT/ses3EvZeaV/1UkF2M=
|
||||
github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
|
||||
github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
|
||||
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
|
||||
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8=
|
||||
@@ -140,6 +140,7 @@ github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnweb
|
||||
github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4=
|
||||
github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g=
|
||||
github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk=
|
||||
github.com/btcsuite/btcd v0.0.0-20190523000118-16327141da8c/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI=
|
||||
github.com/btcsuite/btcd v0.0.0-20190824003749-130ea5bddde3/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI=
|
||||
github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ=
|
||||
github.com/btcsuite/btcd v0.22.0-beta.0.20220111032746-97732e52810c/go.mod h1:tjmYdS6MLJ5/s0Fj4DbLgSbDHbEqLJrtnHecBFkdz5M=
|
||||
@@ -217,8 +218,6 @@ github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL
|
||||
github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw=
|
||||
github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M=
|
||||
github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E=
|
||||
github.com/christiansantapaola/modulo v0.0.0-20200504151013-689b50b5bea7 h1:bXhvlGn4oN3MzzCp4OYBZPx50bMYxbmzhxy1yv4/Gmo=
|
||||
github.com/christiansantapaola/modulo v0.0.0-20200504151013-689b50b5bea7/go.mod h1:J9NALbaXq1IhFF+nWDjwEsTvLXaFUZtvZjKqt5xxPBU=
|
||||
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
|
||||
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
|
||||
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
|
||||
@@ -387,8 +386,11 @@ github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2U
|
||||
github.com/decred/dcrd/lru v1.0.0 h1:Kbsb1SFDsIlaupWPwsPp+dkxiBY1frcS07PCPgotKz8=
|
||||
github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218=
|
||||
github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0=
|
||||
github.com/dgraph-io/badger v1.6.2 h1:mNw0qs90GVgGGWylh0umH5iag1j6n/PeJtNvL6KY/x8=
|
||||
github.com/dgraph-io/badger v1.6.2/go.mod h1:JW2yswe3V058sS0kZ2h/AXeDSqFjxnZcRrVH//y2UQE=
|
||||
github.com/dgraph-io/badger/v3 v3.2103.5 h1:ylPa6qzbjYRQMU6jokoj4wzcaweHylt//CH0AKt0akg=
|
||||
github.com/dgraph-io/badger/v3 v3.2103.5/go.mod h1:4MPiseMeDQ3FNCYwRbbcBOGJLf5jsE0PPFzRiKjtcdw=
|
||||
github.com/dgraph-io/ristretto v0.0.2/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E=
|
||||
github.com/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8=
|
||||
github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA=
|
||||
github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
|
||||
@@ -656,6 +658,8 @@ github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t
|
||||
github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
|
||||
github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo=
|
||||
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
|
||||
github.com/gxed/hashland/keccakpg v0.0.1/go.mod h1:kRzw3HkwxFU1mpmPP8v1WyQzwdGfmKFJ6tItnhQ67kU=
|
||||
github.com/gxed/hashland/murmur3 v0.0.1/go.mod h1:KjXop02n4/ckmZSnY2+HKcLud/tcmvhST0bie/0lS48=
|
||||
github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
|
||||
github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
|
||||
github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
@@ -685,8 +689,6 @@ github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO
|
||||
github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
|
||||
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
|
||||
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
|
||||
github.com/holiman/uint256 v1.2.2 h1:TXKcSGc2WaxPD2+bmzAsVthL4+pEN0YwXcL5qED83vk=
|
||||
github.com/holiman/uint256 v1.2.2/go.mod h1:SC8Ryt4n+UBbPbIBKaG9zbbDlp4jOru9xFZmPzLUTxw=
|
||||
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
||||
github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc=
|
||||
github.com/huin/goupnp v1.0.3 h1:N8No57ls+MnjlB+JPiCVSOyy/ot7MJTqlo7rn+NYSqQ=
|
||||
@@ -703,19 +705,30 @@ github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANyt
|
||||
github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||
github.com/indra-labs/lnd v0.15.6 h1:er6iURWuAqPeYhqAXS3XW3TXlWXnDc51i/mNZuu4s4Y=
|
||||
github.com/indra-labs/lnd v0.15.6/go.mod h1:YSjOskYVjP2Lm4WW+ldH2uGSHqYjmBnUGzrrWc0OSuw=
|
||||
github.com/ipfs/go-cid v0.0.2/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM=
|
||||
github.com/ipfs/go-cid v0.0.3/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM=
|
||||
github.com/ipfs/go-cid v0.0.4/go.mod h1:4LLaPOQwmk5z9LBgQnpkivrx8BJjUyGwTXCd5Xfj6+M=
|
||||
github.com/ipfs/go-cid v0.3.2 h1:OGgOd+JCFM+y1DjWPmVH+2/4POtpDzwcr7VgnB7mZXc=
|
||||
github.com/ipfs/go-cid v0.3.2/go.mod h1:gQ8pKqT/sUxGY+tIwy1RPpAojYu7jAyCp5Tz1svoupw=
|
||||
github.com/ipfs/go-datastore v0.5.0/go.mod h1:9zhEApYMTl17C8YDp7JmU7sQZi2/wqiYh73hakZ90Bk=
|
||||
github.com/ipfs/go-datastore v0.6.0 h1:JKyz+Gvz1QEZw0LsX1IBn+JFCJQH4SJVFtM4uWU0Myk=
|
||||
github.com/ipfs/go-datastore v0.6.0/go.mod h1:rt5M3nNbSO/8q1t4LNkLyUwRs8HupMeN/8O4Vn9YAT8=
|
||||
github.com/ipfs/go-detect-race v0.0.1 h1:qX/xay2W3E4Q1U7d9lNs1sU9nvguX0a7319XbyQ6cOk=
|
||||
github.com/ipfs/go-detect-race v0.0.1/go.mod h1:8BNT7shDZPo99Q74BpGMK+4D8Mn4j46UU0LZ723meps=
|
||||
github.com/ipfs/go-ds-badger v0.3.0 h1:xREL3V0EH9S219kFFueOYJJTcjgNSZ2HY1iSvN7U1Ro=
|
||||
github.com/ipfs/go-ds-badger v0.3.0/go.mod h1:1ke6mXNqeV8K3y5Ak2bAA0osoTfmxUdupVCGm4QUIek=
|
||||
github.com/ipfs/go-ds-leveldb v0.5.0 h1:s++MEBbD3ZKc9/8/njrn4flZLnCuY9I79v94gBUNumo=
|
||||
github.com/ipfs/go-ipfs-delay v0.0.0-20181109222059-70721b86a9a8/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw=
|
||||
github.com/ipfs/go-ipfs-util v0.0.2 h1:59Sswnk1MFaiq+VcaknX7aYEyGyGDAA73ilhEK2POp8=
|
||||
github.com/ipfs/go-ipfs-util v0.0.2/go.mod h1:CbPtkWJzjLdEcezDns2XYaehFVNXG9zrdrtMecczcsQ=
|
||||
github.com/ipfs/go-ipns v0.2.0 h1:BgmNtQhqOw5XEZ8RAfWEpK4DhqaYiuP6h71MhIp7xXU=
|
||||
github.com/ipfs/go-ipns v0.2.0/go.mod h1:3cLT2rbvgPZGkHJoPO1YMJeh6LtkxopCkKFcio/wE24=
|
||||
github.com/ipfs/go-log v0.0.1/go.mod h1:kL1d2/hzSpI0thNYjiKfjanbVNU+IIGA/WnNESY9leM=
|
||||
github.com/ipfs/go-log v1.0.5 h1:2dOuUCB1Z7uoczMWgAyDck5JLb72zHzrMnGnCNNbvY8=
|
||||
github.com/ipfs/go-log v1.0.5/go.mod h1:j0b8ZoR+7+R99LD9jZ6+AJsrzkPbSXbZfGakb5JPtIo=
|
||||
github.com/ipfs/go-log/v2 v2.0.5/go.mod h1:eZs4Xt4ZUJQFM3DlanGhy7TkwwawCZcSByscwkWG+dw=
|
||||
github.com/ipfs/go-log/v2 v2.1.3/go.mod h1:/8d0SH3Su5Ooc31QlL1WysJhvyOTDCjcCZ9Axpmri6g=
|
||||
github.com/ipfs/go-log/v2 v2.5.1 h1:1XdUzF7048prq4aBjDQQ4SL5RxftpRGdXhNRwKSAlcY=
|
||||
github.com/ipfs/go-log/v2 v2.5.1/go.mod h1:prSpmC1Gpllc9UYWxDiZDreBYw7zp4Iqp1kOLU9U5UI=
|
||||
@@ -771,13 +784,12 @@ github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dv
|
||||
github.com/jackc/puddle v1.3.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
|
||||
github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus=
|
||||
github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc=
|
||||
github.com/jbarham/primegen v0.0.0-20200302115600-8ce4838491a0 h1:1icIF7p+KYk5pJ2f9kv2xZy8HxNXoWj2PkKO0EovqTE=
|
||||
github.com/jbarham/primegen v0.0.0-20200302115600-8ce4838491a0/go.mod h1:Airb7uqSrSAayrH8p4ZE/b6QfKuoWMv7WoSfMtF/3Lc=
|
||||
github.com/jbenet/go-cienv v0.1.0/go.mod h1:TqNnHUmJgXau0nCzC7kXWeotg3J9W34CUv5Djy1+FlA=
|
||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
|
||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
|
||||
github.com/jbenet/go-temp-err-catcher v0.1.0 h1:zpb3ZH6wIE8Shj2sKS+khgRvf7T7RABoLk/+KKHggpk=
|
||||
github.com/jbenet/go-temp-err-catcher v0.1.0/go.mod h1:0kJRvmDZXNMIiJirNPEYfhpPwbGVtZVWC34vc5WLsDk=
|
||||
github.com/jbenet/goprocess v0.1.3/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4=
|
||||
github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o=
|
||||
github.com/jbenet/goprocess v0.1.4/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4=
|
||||
github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU=
|
||||
@@ -808,6 +820,7 @@ github.com/juju/schema v1.0.0/go.mod h1:Y+ThzXpUJ0E7NYYocAbuvJ7vTivXfrof/IfRPq/0
|
||||
github.com/juju/webbrowser v0.0.0-20160309143629-54b8c57083b4/go.mod h1:G6PCelgkM6cuvyD10iYJsjLBsSadVXtJ+nBxFAxE2BU=
|
||||
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
||||
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
|
||||
github.com/kami-zh/go-capturer v0.0.0-20171211120116-e492ea43421d/go.mod h1:P2viExyCEfeWGU259JnaQ34Inuec4R38JCyBx2edgD0=
|
||||
github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 h1:iQTw/8FWTuc7uiaSepXwyf3o52HaUYcV+Tu66S3F5GA=
|
||||
github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8=
|
||||
github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd h1:Coekwdh0v2wtGp9Gmz1Ze3eVRAWJMLokvN3QjdzCHLY=
|
||||
@@ -858,23 +871,37 @@ github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
||||
github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
||||
github.com/lib/pq v1.10.6 h1:jbk+ZieJ0D7EVGJYpL9QTz7/YW6UHbmdnZWYyK5cdBs=
|
||||
github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
||||
github.com/libp2p/go-buffer-pool v0.0.1/go.mod h1:xtyIz9PMobb13WaxR6Zo1Pd1zXJKYg0a8KiIvDp3TzQ=
|
||||
github.com/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoRZd1Vi32+RXyFM=
|
||||
github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8=
|
||||
github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg=
|
||||
github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38yPW7c=
|
||||
github.com/libp2p/go-cidranger v1.1.0/go.mod h1:KWZTfSr+r9qEo9OkI9/SIEeAtw+NNoU0dXIXt15Okic=
|
||||
github.com/libp2p/go-flow-metrics v0.0.1/go.mod h1:Iv1GH0sG8DtYN3SVJ2eG221wMiNpZxBdp967ls1g+k8=
|
||||
github.com/libp2p/go-flow-metrics v0.0.3/go.mod h1:HeoSNUrOJVK1jEpDqVEiUOIXqhbnS27omG0uWU5slZs=
|
||||
github.com/libp2p/go-flow-metrics v0.1.0 h1:0iPhMI8PskQwzh57jB9WxIuIOQ0r+15PChFGkx3Q3WM=
|
||||
github.com/libp2p/go-flow-metrics v0.1.0/go.mod h1:4Xi8MX8wj5aWNDAZttg6UPmc0ZrnFNsMtpsYUClFtro=
|
||||
github.com/libp2p/go-libp2p v0.24.2 h1:iMViPIcLY0D6zr/f+1Yq9EavCZu2i7eDstsr1nEwSAk=
|
||||
github.com/libp2p/go-libp2p v0.24.2/go.mod h1:WuxtL2V8yGjam03D93ZBC19tvOUiPpewYv1xdFGWu1k=
|
||||
github.com/libp2p/go-libp2p-asn-util v0.2.0 h1:rg3+Os8jbnO5DxkC7K/Utdi+DkY3q/d1/1q+8WeNAsw=
|
||||
github.com/libp2p/go-libp2p-asn-util v0.2.0/go.mod h1:WoaWxbHKBymSN41hWSq/lGKJEca7TNm58+gGJi2WsLI=
|
||||
github.com/libp2p/go-libp2p-core v0.2.0/go.mod h1:X0eyB0Gy93v0DZtSYbEM7RnMChm9Uv3j7yRXjO77xSI=
|
||||
github.com/libp2p/go-libp2p-core v0.3.0/go.mod h1:ACp3DmS3/N64c2jDzcV429ukDpicbL6+TrrxANBjPGw=
|
||||
github.com/libp2p/go-libp2p-core v0.16.1 h1:bWoiEBqVkpJ13hbv/f69tHODp86t6mvc4fBN4DkK73M=
|
||||
github.com/libp2p/go-libp2p-core v0.16.1/go.mod h1:O3i/7y+LqUb0N+qhzXjBjjpchgptWAVMG1Voegk7b4c=
|
||||
github.com/libp2p/go-libp2p-kad-dht v0.20.0 h1:1bcMa74JFwExCHZMFEmjtHzxX5DovhJ07EtR6UOTEpc=
|
||||
github.com/libp2p/go-libp2p-kad-dht v0.20.0/go.mod h1:qPIXdiZsLczhV4/+4EO1jE8ae0YCW4ZOogc4WVIyTEU=
|
||||
github.com/libp2p/go-libp2p-kbucket v0.5.0 h1:g/7tVm8ACHDxH29BGrpsQlnNeu+6OF1A9bno/4/U1oA=
|
||||
github.com/libp2p/go-libp2p-kbucket v0.5.0/go.mod h1:zGzGCpQd78b5BNTDGHNDLaTt9aDK/A02xeZp9QeFC4U=
|
||||
github.com/libp2p/go-libp2p-record v0.2.0 h1:oiNUOCWno2BFuxt3my4i1frNrt7PerzB3queqa1NkQ0=
|
||||
github.com/libp2p/go-libp2p-record v0.2.0/go.mod h1:I+3zMkvvg5m2OcSdoL0KPljyJyvNDFGKX7QdlpYUcwk=
|
||||
github.com/libp2p/go-libp2p-secio v0.2.3 h1:I5XCkgHtqP3p3Z1EjXKkCdQsSHtWW0YiiNro7/a3H8Y=
|
||||
github.com/libp2p/go-libp2p-secio v0.2.3/go.mod h1:wP3bS+m5AUnFA+OFO7Er03uO1mncHG0uVwGrwvjYlNY=
|
||||
github.com/libp2p/go-libp2p-testing v0.1.1/go.mod h1:xaZWMJrPUM5GlDBxCeGUi7kI4eqnjVyavGroI2nxEM0=
|
||||
github.com/libp2p/go-libp2p-testing v0.12.0 h1:EPvBb4kKMWO29qP4mZGyhVzUyR25dvfUIK5WDu6iPUA=
|
||||
github.com/libp2p/go-libp2p-tls v0.5.0 h1:aRNTeOI8Ljm1r4L2uMGxkMsVnyZoPwaqQqMw23qAsQs=
|
||||
github.com/libp2p/go-libp2p-tls v0.5.0/go.mod h1:1a4tq0xQSZ0kAkDkZVAppuP3SAIUHcnzi2djJ/2EN4I=
|
||||
github.com/libp2p/go-msgio v0.0.4/go.mod h1:63lBBgOTDKQL6EWazRMCwXsEeEeK9O2Cd+0+6OOuipQ=
|
||||
github.com/libp2p/go-msgio v0.2.0 h1:W6shmB+FeynDrUVl2dgFQvzfBZcXiyqY4VmpQLu9FqU=
|
||||
github.com/libp2p/go-msgio v0.2.0/go.mod h1:dBVM1gW3Jk9XqHkU4eKdGvVHdLa51hoGfll6jMJMSlY=
|
||||
github.com/libp2p/go-nat v0.1.0 h1:MfVsH6DLcpa04Xr+p8hmVRG4juse0s3J8HyNWYHffXg=
|
||||
@@ -882,6 +909,7 @@ github.com/libp2p/go-nat v0.1.0/go.mod h1:X7teVkwRHNInVNWQiO/tAiAVRwSr5zoRz4YSTC
|
||||
github.com/libp2p/go-netroute v0.1.2/go.mod h1:jZLDV+1PE8y5XxBySEBgbuVAXbhtuHSdmLPL2n9MKbk=
|
||||
github.com/libp2p/go-netroute v0.2.1 h1:V8kVrpD8GK0Riv15/7VN6RbUQ3URNZVosw7H2v9tksU=
|
||||
github.com/libp2p/go-netroute v0.2.1/go.mod h1:hraioZr0fhBjG0ZRXJJ6Zj2IVEVNx6tDTFQfSmcq7mQ=
|
||||
github.com/libp2p/go-openssl v0.0.4/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc=
|
||||
github.com/libp2p/go-openssl v0.1.0 h1:LBkKEcUv6vtZIQLVTegAil8jbNpJErQ9AnT+bWV+Ooo=
|
||||
github.com/libp2p/go-openssl v0.1.0/go.mod h1:OiOxwPpL3n4xlenjx2h7AwSGaFSC/KZvf6gNdOBQMtc=
|
||||
github.com/libp2p/go-reuseport v0.2.0 h1:18PRvIMlpY6ZK85nIAicSBuXXvrYoSw3dsBAR7zc560=
|
||||
@@ -910,6 +938,7 @@ github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czP
|
||||
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
|
||||
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
|
||||
github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
@@ -944,6 +973,7 @@ github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182aff
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
|
||||
github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY=
|
||||
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
|
||||
github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4=
|
||||
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
|
||||
github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI=
|
||||
@@ -957,7 +987,11 @@ github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b/go.mod h1:lxPUiZwKo
|
||||
github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc h1:PTfri+PuQmWDqERdnNMiD9ZejrlswWrCpBEZgWOiTrc=
|
||||
github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc/go.mod h1:cGKTAVKx4SxOuR/czcZ/E2RSJ3sfHs8FpHhQ5CWMf9s=
|
||||
github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ=
|
||||
github.com/minio/sha256-simd v0.0.0-20190131020904-2d45a736cd16/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U=
|
||||
github.com/minio/sha256-simd v0.0.0-20190328051042-05b4dd3047e5/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U=
|
||||
github.com/minio/sha256-simd v0.1.0/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U=
|
||||
github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM=
|
||||
github.com/minio/sha256-simd v0.1.1/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM=
|
||||
github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g=
|
||||
github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM=
|
||||
github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4=
|
||||
@@ -1005,6 +1039,7 @@ github.com/multiformats/go-base32 v0.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aG
|
||||
github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI=
|
||||
github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9rQyccr0=
|
||||
github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4=
|
||||
github.com/multiformats/go-multiaddr v0.0.4/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lgmoS58qz/pzqmAxV44=
|
||||
github.com/multiformats/go-multiaddr v0.1.1/go.mod h1:aMKBKNEYmzmDmxfX88/vz+J5IU55txyt0p4aiWVohjo=
|
||||
github.com/multiformats/go-multiaddr v0.2.0/go.mod h1:0nO36NvPpyV4QzvTLi/lafl2y95ncPj0vFwVF6k6wJ4=
|
||||
github.com/multiformats/go-multiaddr v0.8.0 h1:aqjksEcqK+iD/Foe1RRFsGZh8+XFiGo7FgUCZlpv3LU=
|
||||
@@ -1018,6 +1053,8 @@ github.com/multiformats/go-multibase v0.1.1 h1:3ASCDsuLX8+j4kx58qnJ4YFq/JWTJpCyD
|
||||
github.com/multiformats/go-multibase v0.1.1/go.mod h1:ZEjHE+IsUrgp5mhlEAYjMtZwK1k4haNkcaPg9aoe1a8=
|
||||
github.com/multiformats/go-multicodec v0.7.0 h1:rTUjGOwjlhGHbEMbPoSUJowG1spZTVsITRANCjKTUAQ=
|
||||
github.com/multiformats/go-multicodec v0.7.0/go.mod h1:GUC8upxSBE4oG+q3kWZRw/+6yC1BqO550bjhWsJbZlw=
|
||||
github.com/multiformats/go-multihash v0.0.1/go.mod h1:w/5tugSrLEbWqlcgJabL3oHFKTwfvkofsjW2Qa1ct4U=
|
||||
github.com/multiformats/go-multihash v0.0.5/go.mod h1:lt/HCbqlQwlPBz7lv0sQCdtfcMtlJvakRUn/0Ual8po=
|
||||
github.com/multiformats/go-multihash v0.0.8/go.mod h1:YSLudS+Pi8NHE7o6tb3D8vrpKa63epEDmG8nTduyAew=
|
||||
github.com/multiformats/go-multihash v0.0.10/go.mod h1:YSLudS+Pi8NHE7o6tb3D8vrpKa63epEDmG8nTduyAew=
|
||||
github.com/multiformats/go-multihash v0.0.13/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc=
|
||||
@@ -1045,8 +1082,6 @@ github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJE
|
||||
github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM=
|
||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
|
||||
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
|
||||
github.com/off-the-grid-inc/modular v0.0.0-20190926233211-4db3f7e5b9f5 h1:wQE/yIoML9exfwl/UCFYNRWmvkITe0XRcc1VZ3TDaJU=
|
||||
github.com/off-the-grid-inc/modular v0.0.0-20190926233211-4db3f7e5b9f5/go.mod h1:RqU/e8UhM84/JvQoQ7Lm6CHUDSkX6sb98Z5FTOFuuOs=
|
||||
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
|
||||
github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
|
||||
github.com/onsi/ginkgo v0.0.0-20151202141238-7f8ab55aaf3b/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
@@ -1104,6 +1139,7 @@ github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqi
|
||||
github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo=
|
||||
github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8=
|
||||
github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI=
|
||||
github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
|
||||
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
|
||||
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
|
||||
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
|
||||
@@ -1238,11 +1274,13 @@ github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1
|
||||
github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
|
||||
github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=
|
||||
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
|
||||
github.com/smola/gocompat v0.2.0/go.mod h1:1B0MlxbmoZNo3h8guHp8HztB3BSYR5itql9qtVc0ypY=
|
||||
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
|
||||
github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js=
|
||||
github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0=
|
||||
github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE=
|
||||
github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA=
|
||||
github.com/spacemonkeygo/openssl v0.0.0-20181017203307-c2dcc5cca94a/go.mod h1:7AyxJNCJ7SBZ1MfVQCWD6Uqo2oubI2Eq2y2eqf+A5r0=
|
||||
github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 h1:RC6RW7j+1+HkWaX/Yh71Ee5ZHaHYt7ZP4sQgUrm6cDU=
|
||||
github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572/go.mod h1:w0SWMsp6j9O/dk4/ZpIhL+3CkG8ofA2vuv7k+ltqUMc=
|
||||
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
|
||||
@@ -1276,6 +1314,7 @@ github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/y
|
||||
github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
|
||||
github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU=
|
||||
github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA=
|
||||
github.com/src-d/envconfig v1.0.0/go.mod h1:Q9YQZ7BKITldTBnoxsE5gOeB5y66RyPXeue/R4aaNBc=
|
||||
github.com/src-d/gcfg v1.4.0 h1:xXbNR5AlLSA315x2UO+fTSSAXCDf+Ar38/6oyGbDKQ4=
|
||||
github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI=
|
||||
github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8=
|
||||
@@ -1336,8 +1375,10 @@ github.com/warpfork/go-wish v0.0.0-20200122115046-b9ea61034e4a h1:G++j5e0OC488te
|
||||
github.com/warpfork/go-wish v0.0.0-20200122115046-b9ea61034e4a/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw=
|
||||
github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 h1:EKhdznlJHPMoKr0XTrX+IlJs1LH3lyx2nfr1dOlZ79k=
|
||||
github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1/go.mod h1:8UvriyWtv5Q5EOgjHaSseUEdkQfvwFv1I/In/O2M9gc=
|
||||
github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc/go.mod h1:bopw91TMyo8J3tvftk8xmU2kPmlrt4nScJQZU2hE5EM=
|
||||
github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4=
|
||||
github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI=
|
||||
github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE=
|
||||
github.com/xanzy/ssh-agent v0.2.1 h1:TCbipTQL2JiiCprBWx9frJ2eJlCYT00NmctrHxVAr70=
|
||||
github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4=
|
||||
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
|
||||
@@ -1440,6 +1481,7 @@ go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9E
|
||||
go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
|
||||
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
|
||||
go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
|
||||
go.uber.org/zap v1.14.1/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc=
|
||||
go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ=
|
||||
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
|
||||
go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI=
|
||||
@@ -1461,9 +1503,11 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
|
||||
golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20190404164418-38d8ce5564a5/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
|
||||
golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
|
||||
golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190618222545-ea8f1a30c443/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
@@ -1537,6 +1581,7 @@ golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73r
|
||||
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190206173232-65e2d4e15006/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190227160552-c95aed5357e7/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190313220215-9f648a60d977/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
@@ -1625,6 +1670,7 @@ golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5h
|
||||
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190219092855-153ac476189d/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190228124157-a34e9553db1e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
@@ -1759,6 +1805,7 @@ golang.org/x/tools v0.0.0-20181008205924-a2b3f7f249e9/go.mod h1:n7NCudcB/nEzxVGm
|
||||
golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181030000716-a0a13e073c7b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181130052023-1c3d964395ce/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
||||
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
@@ -2005,10 +2052,12 @@ gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76
|
||||
gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
|
||||
gopkg.in/src-d/go-billy.v4 v4.3.2 h1:0SQA1pRztfTFx2miS8sA97XvooFeNOmvUenF4o0EcVg=
|
||||
gopkg.in/src-d/go-billy.v4 v4.3.2/go.mod h1:nDjArDMp+XMs1aFAESLRjfGSgfvoYN0hDfzEk0GjC98=
|
||||
gopkg.in/src-d/go-cli.v0 v0.0.0-20181105080154-d492247bbc0d/go.mod h1:z+K8VcOYVYcSwSjGebuDL6176A1XskgbtNl64NSg+n8=
|
||||
gopkg.in/src-d/go-git-fixtures.v3 v3.5.0 h1:ivZFOIltbce2Mo8IjzUHAFoq/IylO9WHhNOAJK+LsJg=
|
||||
gopkg.in/src-d/go-git-fixtures.v3 v3.5.0/go.mod h1:dLBcvytrw/TYZsNTWCnkNF2DSIlzWYqTe3rJR56Ac7g=
|
||||
gopkg.in/src-d/go-git.v4 v4.13.1 h1:SRtFyV8Kxc0UP7aCHcijOMQGPxHSmMOPrzulQWolkYE=
|
||||
gopkg.in/src-d/go-git.v4 v4.13.1/go.mod h1:nx5NYcxdKxq5fpltdHnPa2Exj4Sx0EclMWZQbYDu2z8=
|
||||
gopkg.in/src-d/go-log.v1 v1.0.1/go.mod h1:GN34hKP0g305ysm2/hctJ0Y8nWP3zxXXJ8GFabTyABE=
|
||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
|
||||
gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=
|
||||
gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
|
||||
|
||||
@@ -58,7 +58,7 @@ func ComputeSharedSecret(prv *Prv, pub *Pub) sha256.Hash {
|
||||
func GenCiphers(prvs Privs, pubs Pubs) (ciphers Ciphers) {
|
||||
for i := range prvs {
|
||||
ciphers[i] = ComputeSharedSecret(prvs[i], pubs[i])
|
||||
log.T.Ln("cipher", i, ciphers[i])
|
||||
log.T.Ln("cipher", i, ciphers[i].Based32String())
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package dispatcher
|
||||
|
||||
import (
|
||||
"context"
|
||||
"os"
|
||||
"sync"
|
||||
"testing"
|
||||
"time"
|
||||
@@ -29,13 +30,21 @@ func TestDispatcher(t *testing.T) {
|
||||
if k1, k2, e = crypto.Generate2Keys(); fails(e) {
|
||||
t.FailNow()
|
||||
}
|
||||
l1, e = transport.NewListener("", transport.LocalhostZeroIPv4, k1.Prv, ctx,
|
||||
transport.DefaultMTU)
|
||||
dataPath, err := os.MkdirTemp(os.TempDir(), "badger")
|
||||
if err != nil {
|
||||
t.FailNow()
|
||||
}
|
||||
l1, e = transport.NewListener("", transport.LocalhostZeroIPv4TCP, dataPath,
|
||||
k1, ctx, transport.DefaultMTU)
|
||||
if fails(e) {
|
||||
t.FailNow()
|
||||
}
|
||||
l2, e = transport.NewListener(transport.GetHostAddress(l1.Host),
|
||||
transport.LocalhostZeroIPv4, k2.Prv, ctx, transport.DefaultMTU)
|
||||
dataPath, err = os.MkdirTemp(os.TempDir(), "badger")
|
||||
if err != nil {
|
||||
t.FailNow()
|
||||
}
|
||||
l2, e = transport.NewListener(transport.GetHostAddress(l1.Host), transport.LocalhostZeroIPv4TCP,
|
||||
dataPath, k2, ctx, transport.DefaultMTU)
|
||||
if fails(e) {
|
||||
t.FailNow()
|
||||
}
|
||||
@@ -146,13 +155,20 @@ func TestDispatcher_Rekey(t *testing.T) {
|
||||
if k1, k2, e = crypto.Generate2Keys(); fails(e) {
|
||||
t.FailNow()
|
||||
}
|
||||
l1, e = transport.NewListener("", transport.LocalhostZeroIPv4, k1.Prv, ctx,
|
||||
transport.DefaultMTU)
|
||||
dataPath, err := os.MkdirTemp(os.TempDir(), "badger")
|
||||
if err != nil {
|
||||
t.FailNow()
|
||||
}
|
||||
l1, e = transport.NewListener("", transport.LocalhostZeroIPv4TCP, dataPath, k1, ctx, transport.DefaultMTU)
|
||||
if fails(e) {
|
||||
t.FailNow()
|
||||
}
|
||||
l2, e = transport.NewListener(transport.GetHostAddress(l1.Host),
|
||||
transport.LocalhostZeroIPv4, k2.Prv, ctx, transport.DefaultMTU)
|
||||
dataPath2, _ := os.MkdirTemp(os.TempDir(), "badger")
|
||||
if err != nil {
|
||||
t.FailNow()
|
||||
}
|
||||
l2, e = transport.NewListener(transport.GetHostAddress(l1.Host), transport.LocalhostZeroIPv4TCP,
|
||||
dataPath2, k2, ctx, transport.DefaultMTU)
|
||||
if fails(e) {
|
||||
t.FailNow()
|
||||
}
|
||||
|
||||
@@ -3,11 +3,12 @@ package engine
|
||||
import (
|
||||
"context"
|
||||
"net/netip"
|
||||
"os"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
|
||||
"github.com/multiformats/go-multiaddr"
|
||||
|
||||
|
||||
"git-indra.lan/indra-labs/indra/pkg/crypto"
|
||||
"git-indra.lan/indra-labs/indra/pkg/engine/node"
|
||||
"git-indra.lan/indra-labs/indra/pkg/engine/transport"
|
||||
@@ -17,6 +18,7 @@ import (
|
||||
func TestEngine_Dispatcher(t *testing.T) {
|
||||
log2.SetLogLevel(log2.Trace)
|
||||
var e error
|
||||
log.D.Ln(os.PathSeparator)
|
||||
_ = e
|
||||
const nTotal = 26
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
@@ -32,8 +34,15 @@ func TestEngine_Dispatcher(t *testing.T) {
|
||||
}
|
||||
keys = append(keys, k)
|
||||
var l *transport.Listener
|
||||
if l, e = transport.NewListener(seed, transport.LocalhostZeroIPv4,
|
||||
k.Prv, ctx, transport.DefaultMTU); fails(e) {
|
||||
dataPath, err := os.MkdirTemp(os.TempDir(), "badger")
|
||||
if err != nil {
|
||||
t.FailNow()
|
||||
}
|
||||
log.T.Ln(
|
||||
"dataPath", dataPath,
|
||||
)
|
||||
if l, e = transport.NewListener(seed, transport.LocalhostZeroIPv4TCP,
|
||||
dataPath, k, ctx, transport.DefaultMTU); fails(e) {
|
||||
t.FailNow()
|
||||
}
|
||||
sa := transport.GetHostAddress(l.Host)
|
||||
@@ -46,7 +55,7 @@ func TestEngine_Dispatcher(t *testing.T) {
|
||||
if ma, e = multiaddr.NewMultiaddr(sa); fails(e) {
|
||||
t.FailNow()
|
||||
}
|
||||
|
||||
|
||||
var ip, port string
|
||||
if ip, e = ma.ValueForProtocol(multiaddr.P_IP4); fails(e) {
|
||||
// we specified ipv4 previously.
|
||||
|
||||
@@ -64,6 +64,7 @@ func NewEngine(p Params) (c *Engine, e error) {
|
||||
c.Manager.AddSession(sessions.NewSessionData(nonce.NewID(), p.Node, 0,
|
||||
nil, nil, 5))
|
||||
}
|
||||
// log.D.S("sessions",c.Manager.Sessions)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -2,15 +2,14 @@ package engine
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
"runtime"
|
||||
"sync"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
|
||||
"go.uber.org/atomic"
|
||||
|
||||
"git-indra.lan/indra-labs/indra/pkg/util/qu"
|
||||
|
||||
|
||||
"git-indra.lan/indra-labs/indra/pkg/crypto"
|
||||
"git-indra.lan/indra-labs/indra/pkg/crypto/nonce"
|
||||
"git-indra.lan/indra-labs/indra/pkg/crypto/sha256"
|
||||
@@ -20,6 +19,7 @@ import (
|
||||
"git-indra.lan/indra-labs/indra/pkg/engine/transport"
|
||||
log2 "git-indra.lan/indra-labs/indra/pkg/proc/log"
|
||||
"git-indra.lan/indra-labs/indra/pkg/util/cryptorand"
|
||||
"git-indra.lan/indra-labs/indra/pkg/util/qu"
|
||||
"git-indra.lan/indra-labs/indra/pkg/util/slice"
|
||||
"git-indra.lan/indra-labs/indra/pkg/util/tests"
|
||||
)
|
||||
@@ -161,6 +161,7 @@ out:
|
||||
})
|
||||
}
|
||||
returner = returnHops[0]
|
||||
log.D.S("returnHops", returnHops[0].ID)
|
||||
clients[0].SendGetBalance(returner, clients[0].Manager.Sessions[i],
|
||||
func(cf nonce.ID, ifc interface{}, b slice.Bytes) (e error) {
|
||||
log.I.Ln("success")
|
||||
@@ -642,7 +643,11 @@ func TestEngine_Route(t *testing.T) {
|
||||
ini.Expiry, ini.Validate())
|
||||
client.SendRoute(ini.Key, ini.AddrPort,
|
||||
func(id nonce.ID, ifc interface{}, b slice.Bytes) (e error) {
|
||||
log.I.S("success", id)
|
||||
if reflect.TypeOf(ifc).String()!="*onions.Ready"{
|
||||
t.Error("wrong type")
|
||||
t.FailNow()
|
||||
}
|
||||
log.I.Ln("success", id)
|
||||
counter.Dec()
|
||||
wg.Done()
|
||||
return
|
||||
|
||||
@@ -2,7 +2,7 @@ package engine
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
|
||||
"git-indra.lan/indra-labs/indra"
|
||||
"git-indra.lan/indra-labs/indra/pkg/crypto"
|
||||
"git-indra.lan/indra-labs/indra/pkg/crypto/nonce"
|
||||
@@ -55,6 +55,7 @@ func createNMockCircuits(inclSessions bool, nCircuits int,
|
||||
if i > 0 {
|
||||
ss[i-1] = sessions.NewSessionData(nonce.NewID(), nodes[i],
|
||||
1<<16, nil, nil, byte((i-1)/nCircuits))
|
||||
// log.D.S("session",i-1,ss[i-1])
|
||||
// AddIntro session to node, so it will be able to relay if it
|
||||
// gets a message with the key.
|
||||
cl[i].Manager.AddSession(ss[i-1])
|
||||
|
||||
@@ -47,7 +47,7 @@ func (x *Ready) Encode(s *splice.Splice) (e error) {
|
||||
Nonces(x.Return.Nonces)
|
||||
for i := range x.Forward.Ciphers {
|
||||
blk := ciph.BlockFromHash(x.Forward.Ciphers[i])
|
||||
log.D.F("encrypting %s", x.Forward.Ciphers[i])
|
||||
log.D.F("encrypting %s", x.Forward.Ciphers[i].Based32String())
|
||||
ciph.Encipher(blk, x.Forward.Nonces[i], s.GetFrom(start))
|
||||
}
|
||||
return
|
||||
@@ -68,6 +68,7 @@ func (x *Ready) Decode(s *splice.Splice) (e error) {
|
||||
}
|
||||
|
||||
func (x *Ready) Handle(s *splice.Splice, p Onion, ng Ngin) (e error) {
|
||||
// todo: this should be triggering connection open signal to socks/tunnel.
|
||||
_, e = ng.Pending().ProcessAndDelete(x.ID, x, s.GetAll())
|
||||
return
|
||||
}
|
||||
|
||||
@@ -108,7 +108,7 @@ func (x *Route) Handle(s *splice.Splice, p Onion, ng Ngin) (e error) {
|
||||
hh.CurrentIntros[0].Key.ToBase32Abbreviated())
|
||||
// We have the keys to unwrap this one.
|
||||
x.Decrypt(hh.Prv, s)
|
||||
log.D.Ln(s)
|
||||
log.D.S("hidden message",s.GetAll().ToBytes())
|
||||
n := crypto.GenNonces(5)
|
||||
rvKeys := ng.Keyset().Next3()
|
||||
hops := []byte{3, 4, 5, 0, 1}
|
||||
|
||||
@@ -74,7 +74,7 @@ func (x *Session) Decode(s *splice.Splice) (e error) {
|
||||
|
||||
func (x *Session) Handle(s *splice.Splice, p Onion, ng Ngin) (e error) {
|
||||
|
||||
log.T.F("incoming session %s", x.PreimageHash())
|
||||
log.T.F("incoming session %s", x.PreimageHash().Based32String())
|
||||
pi := ng.Mgr().FindPendingPreimage(x.PreimageHash())
|
||||
if pi != nil {
|
||||
// We need to delete this first in case somehow two such messages arrive
|
||||
|
||||
@@ -496,7 +496,7 @@ func (sm *Manager) FindPendingPayment(id nonce.ID) (pp *payments.Payment) {
|
||||
return sm.PendingPayments.Find(id)
|
||||
}
|
||||
func (sm *Manager) FindPendingPreimage(pi sha256.Hash) (pp *payments.Payment) {
|
||||
log.T.F("searching preimage %s", pi)
|
||||
log.T.F("searching preimage %s", pi.Based32String())
|
||||
sm.Lock()
|
||||
defer sm.Unlock()
|
||||
return sm.PendingPayments.FindPreimage(pi)
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
package sessions
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"git-indra.lan/indra-labs/lnd/lnd/lnwire"
|
||||
"github.com/gookit/color"
|
||||
|
||||
|
||||
"git-indra.lan/indra-labs/indra"
|
||||
"git-indra.lan/indra-labs/indra/pkg/crypto"
|
||||
"git-indra.lan/indra-labs/indra/pkg/crypto/nonce"
|
||||
@@ -31,11 +29,11 @@ type Data struct {
|
||||
Hop byte
|
||||
}
|
||||
|
||||
func (s *Data) String() string {
|
||||
return fmt.Sprintf("%s sesssion %s node %s hop %d",
|
||||
s.Node.AddrPort.String(), s.Header.Bytes.String(),
|
||||
s.Node.ID, s.Hop)
|
||||
}
|
||||
// func (s *Data) String() string {
|
||||
// return fmt.Sprintf("%s sesssion %s node %s hop %d",
|
||||
// s.Node.AddrPort.String(), s.Header.Bytes.String(),
|
||||
// s.Node.ID, s.Hop)
|
||||
// }
|
||||
|
||||
// A Circuit is the generic fixed-length path used for most messages.
|
||||
type Circuit [5]*Data
|
||||
@@ -73,7 +71,7 @@ func NewSessionData(
|
||||
}
|
||||
h, p := hdr.Prv.ToBytes(), pld.Prv.ToBytes()
|
||||
s = &Data{
|
||||
// Keys: id,
|
||||
ID: id,
|
||||
Node: node,
|
||||
Remaining: rem,
|
||||
Header: hdr,
|
||||
|
||||
@@ -3,11 +3,14 @@ package transport
|
||||
import (
|
||||
"bufio"
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
|
||||
"github.com/gookit/color"
|
||||
"github.com/ipfs/go-datastore"
|
||||
badger "github.com/ipfs/go-ds-badger"
|
||||
"github.com/libp2p/go-libp2p"
|
||||
dht "github.com/libp2p/go-libp2p-kad-dht"
|
||||
"github.com/libp2p/go-libp2p/core/host"
|
||||
@@ -15,14 +18,17 @@ import (
|
||||
"github.com/libp2p/go-libp2p/core/peer"
|
||||
"github.com/libp2p/go-libp2p/core/peerstore"
|
||||
"github.com/libp2p/go-libp2p/p2p/discovery/routing"
|
||||
"github.com/libp2p/go-libp2p/p2p/host/peerstore/pstoreds"
|
||||
"github.com/libp2p/go-libp2p/p2p/security/noise"
|
||||
"github.com/libp2p/go-libp2p/p2p/transport/tcp"
|
||||
"github.com/multiformats/go-multiaddr"
|
||||
|
||||
"git-indra.lan/indra-labs/indra/pkg/util/qu"
|
||||
|
||||
|
||||
"git-indra.lan/indra-labs/indra"
|
||||
"git-indra.lan/indra-labs/indra/pkg/crypto"
|
||||
"git-indra.lan/indra-labs/indra/pkg/engine/tpt"
|
||||
"git-indra.lan/indra-labs/indra/pkg/interrupt"
|
||||
log2 "git-indra.lan/indra-labs/indra/pkg/proc/log"
|
||||
"git-indra.lan/indra-labs/indra/pkg/util/qu"
|
||||
"git-indra.lan/indra-labs/indra/pkg/util/slice"
|
||||
)
|
||||
|
||||
@@ -32,11 +38,12 @@ var (
|
||||
)
|
||||
|
||||
const (
|
||||
LocalhostZeroIPv4 = "/ip4/127.0.0.1/tcp/0"
|
||||
DefaultMTU = 1382
|
||||
ConnBufs = 8192
|
||||
IndraLibP2PID = "/indra/relay/" + indra.SemVer
|
||||
IndraServiceName = "org.indra.relay"
|
||||
LocalhostZeroIPv4TCP = "/ip4/127.0.0.1/tcp/0"
|
||||
LocalhostZeroIPv4QUIC = "/ip4/127.0.0.1/udp/0/quic"
|
||||
DefaultMTU = 1382
|
||||
ConnBufs = 8192
|
||||
IndraLibP2PID = "/indra/relay/" + indra.SemVer
|
||||
IndraServiceName = "org.indra.relay"
|
||||
)
|
||||
|
||||
type Listener struct {
|
||||
@@ -45,14 +52,28 @@ type Listener struct {
|
||||
Host host.Host
|
||||
connections map[string]*Conn
|
||||
newConns chan *Conn
|
||||
*crypto.Keys
|
||||
context.Context
|
||||
sync.Mutex
|
||||
}
|
||||
|
||||
func NewListener(rendezvous, multiAddr string,
|
||||
prv *crypto.Prv, ctx context.Context, mtu int) (c *Listener, e error) {
|
||||
|
||||
func badgerStore(dataPath string) (datastore.Batching, func()) {
|
||||
store, err := badger.NewDatastore(dataPath, nil)
|
||||
if fails(err) {
|
||||
return nil, func() {}
|
||||
}
|
||||
closer := func() {
|
||||
store.Close()
|
||||
// os.RemoveAll(dataPath)
|
||||
}
|
||||
return store, closer
|
||||
}
|
||||
|
||||
func NewListener(rendezvous, multiAddr, storePath string, keys *crypto.Keys,
|
||||
ctx context.Context, mtu int) (c *Listener, e error) {
|
||||
|
||||
c = &Listener{
|
||||
Keys: keys,
|
||||
MTU: mtu,
|
||||
connections: make(map[string]*Conn),
|
||||
newConns: make(chan *Conn, ConnBufs),
|
||||
@@ -70,14 +91,26 @@ func NewListener(rendezvous, multiAddr string,
|
||||
} else {
|
||||
rdv = nil
|
||||
}
|
||||
store, closer := badgerStore(storePath)
|
||||
if store == nil {
|
||||
return nil, errors.New("could not open database")
|
||||
}
|
||||
var st peerstore.Peerstore
|
||||
st, e = pstoreds.NewPeerstore(ctx, store, pstoreds.DefaultOpts())
|
||||
if c.Host, e = libp2p.New(
|
||||
libp2p.Identity(prv),
|
||||
libp2p.Identity(keys.Prv),
|
||||
libp2p.ListenAddrs(ma),
|
||||
libp2p.NoSecurity,
|
||||
libp2p.EnableHolePunching(),
|
||||
// libp2p.Transport(quic.NewTransport),
|
||||
libp2p.Transport(tcp.NewTCPTransport),
|
||||
// libp2p.Transport(websocket.New),
|
||||
// libp2p.Security(tls.ID, tls.New),
|
||||
libp2p.Security(noise.ID, noise.New),
|
||||
libp2p.Peerstore(st),
|
||||
); fails(e) {
|
||||
return
|
||||
}
|
||||
interrupt.AddHandler(closer)
|
||||
if c.DHT, e = NewDHT(ctx, c.Host, rdv); fails(e) {
|
||||
return
|
||||
}
|
||||
@@ -101,9 +134,9 @@ func (l *Listener) handle(s network.Stream) {
|
||||
if n, e = s.Read(b); fails(e) {
|
||||
return
|
||||
}
|
||||
log.T.S(blue(GetHostOnlyAddress(l.
|
||||
log.D.S(blue(GetHostOnlyAddress(l.
|
||||
Host)) + " read " + fmt.Sprint(n) + " bytes from listener",
|
||||
// b[:n].ToBytes(),
|
||||
// b[:n].ToBytes(),
|
||||
)
|
||||
id := s.Conn().RemotePeer()
|
||||
ai := l.Host.Peerstore().PeerInfo(id)
|
||||
@@ -234,7 +267,7 @@ func (l *Listener) Dial(multiAddr string) (d *Conn) {
|
||||
var s network.Stream
|
||||
if s, e = l.Host.NewStream(context.Background(), info.ID,
|
||||
IndraLibP2PID); fails(e) {
|
||||
|
||||
|
||||
return
|
||||
}
|
||||
d = &Conn{
|
||||
@@ -278,13 +311,18 @@ func (l *Listener) Dial(multiAddr string) (d *Conn) {
|
||||
|
||||
var blue = color.Blue.Sprint
|
||||
|
||||
const ProtocolPrefix = "/indra/" + indra.SemVer
|
||||
|
||||
func NewDHT(ctx context.Context, host host.Host,
|
||||
bootstrapPeers []multiaddr.Multiaddr) (d *dht.IpfsDHT, e error) {
|
||||
|
||||
|
||||
var options []dht.Option
|
||||
if len(bootstrapPeers) == 0 {
|
||||
options = append(options, dht.Mode(dht.ModeServer))
|
||||
}
|
||||
options = append(options,
|
||||
dht.ProtocolPrefix(ProtocolPrefix),
|
||||
)
|
||||
if d, e = dht.New(ctx, host, options...); fails(e) {
|
||||
return
|
||||
}
|
||||
@@ -309,7 +347,7 @@ func NewDHT(ctx context.Context, host host.Host,
|
||||
"%s: Connection established with bootstrap node: %s",
|
||||
blue(GetHostOnlyAddress(host)),
|
||||
blue((*peerinfo).Addrs[0]))
|
||||
|
||||
|
||||
wg.Done()
|
||||
}()
|
||||
}
|
||||
@@ -319,7 +357,7 @@ func NewDHT(ctx context.Context, host host.Host,
|
||||
|
||||
func Discover(ctx context.Context, h host.Host, dht *dht.IpfsDHT,
|
||||
rendezvous string) {
|
||||
|
||||
|
||||
var disco = routing.NewRoutingDiscovery(dht)
|
||||
var e error
|
||||
var peers <-chan peer.AddrInfo
|
||||
@@ -341,10 +379,10 @@ func Discover(ctx context.Context, h host.Host, dht *dht.IpfsDHT,
|
||||
}
|
||||
if h.Network().Connectedness(p.ID) !=
|
||||
network.Connected {
|
||||
|
||||
|
||||
if _, e = h.Network().DialPeer(ctx,
|
||||
p.ID); fails(e) {
|
||||
|
||||
|
||||
continue
|
||||
}
|
||||
log.D.Ln(h.Addrs()[0].String(), "Connected to peer",
|
||||
|
||||
@@ -2,16 +2,19 @@ package transport
|
||||
|
||||
import (
|
||||
"context"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"git-indra.lan/indra-labs/indra/pkg/crypto"
|
||||
log2 "git-indra.lan/indra-labs/indra/pkg/proc/log"
|
||||
"git-indra.lan/indra-labs/indra/pkg/util/appdata"
|
||||
"git-indra.lan/indra-labs/indra/pkg/util/tests"
|
||||
)
|
||||
|
||||
func TestNewListener(t *testing.T) {
|
||||
log2.SetLogLevel(log2.Trace)
|
||||
log2.SetLogLevel(log2.Debug)
|
||||
var e error
|
||||
var l1, l2 *Listener
|
||||
_ = l2
|
||||
@@ -21,12 +24,16 @@ func TestNewListener(t *testing.T) {
|
||||
if k1, k2, e = crypto.Generate2Keys(); fails(e) {
|
||||
t.FailNow()
|
||||
}
|
||||
l1, e = NewListener("", LocalhostZeroIPv4, k1.Prv, ctx, DefaultMTU)
|
||||
dataPath, err := os.MkdirTemp(os.TempDir(), "badger")
|
||||
if err != nil {
|
||||
t.FailNow()
|
||||
}
|
||||
l1, e = NewListener("", LocalhostZeroIPv4TCP, dataPath, k1, ctx, DefaultMTU)
|
||||
if fails(e) {
|
||||
t.FailNow()
|
||||
}
|
||||
l2, e = NewListener(GetHostAddress(l1.Host), LocalhostZeroIPv4,
|
||||
k2.Prv, ctx, DefaultMTU)
|
||||
l2, e = NewListener(GetHostAddress(l1.Host), LocalhostZeroIPv4TCP,
|
||||
filepath.Join(appdata.MakeDirIfNeeded("indra", false, 0770), "badgerdb"), k2, ctx, DefaultMTU)
|
||||
if fails(e) {
|
||||
t.FailNow()
|
||||
}
|
||||
@@ -66,3 +73,47 @@ func TestNewListener(t *testing.T) {
|
||||
time.Sleep(time.Second)
|
||||
cancel()
|
||||
}
|
||||
|
||||
func TestDHT(t *testing.T) {
|
||||
log2.SetLogLevel(log2.Debug)
|
||||
var e error
|
||||
const nTotal = 26
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
var listeners []*Listener
|
||||
var keys []*crypto.Keys
|
||||
var seed string
|
||||
for i := 0; i < nTotal; i++ {
|
||||
var k *crypto.Keys
|
||||
if k, e = crypto.GenerateKeys(); fails(e) {
|
||||
t.FailNow()
|
||||
}
|
||||
keys = append(keys, k)
|
||||
var l *Listener
|
||||
dataPath, err := os.MkdirTemp(os.TempDir(), "badger")
|
||||
if err != nil {
|
||||
}
|
||||
// filepath.Join(appdata.MakeDirIfNeeded("indra", false, 0770))
|
||||
if l, e = NewListener(seed, LocalhostZeroIPv4TCP, dataPath, k, ctx,
|
||||
DefaultMTU); fails(e) {
|
||||
t.FailNow()
|
||||
}
|
||||
sa := GetHostAddress(l.Host)
|
||||
if i == 0 {
|
||||
seed = sa
|
||||
}
|
||||
listeners = append(listeners, l)
|
||||
}
|
||||
for i, l := range listeners {
|
||||
_, _ = i, l
|
||||
// rc := record.MakePutRecord(string(l.Keys.Bytes[:]),
|
||||
// )
|
||||
// if e = l.DHT.PutValue(ctx, ProtocolPrefix+"/ns/a/"+l.Keys.Bytes.
|
||||
// String(), []byte{}); fails(e) {
|
||||
//
|
||||
// t.FailNow()
|
||||
// }
|
||||
}
|
||||
// listeners[0].DHT.PutValue(ctx, )
|
||||
time.Sleep(time.Second * 2)
|
||||
cancel()
|
||||
}
|
||||
|
||||
@@ -144,7 +144,7 @@ func AddHandler(handler func()) {
|
||||
// all other callbacks and exits if not already done.
|
||||
_, loc, line, _ := runtime.Caller(1)
|
||||
msg := fmt.Sprintf("%s:%d", loc, line)
|
||||
log.T.Ln("\n"+strings.Split(msg, indra.PathBase)[0],
|
||||
log.T.Ln("\n"+msg+strings.Split(msg, indra.PathBase)[0],
|
||||
"added interrupt handler")
|
||||
if ch == nil {
|
||||
ch = make(chan os.Signal)
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"os/user"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
|
||||
"git-indra.lan/indra-labs/indra/pkg/util/appdata"
|
||||
)
|
||||
|
||||
@@ -24,8 +24,9 @@ func ResolvePath(input, appName string, abs bool) (cleaned string, e error) {
|
||||
// app data directory
|
||||
} else if !strings.HasPrefix(string(os.PathSeparator), cleaned) ||
|
||||
strings.HasPrefix("."+string(os.PathSeparator), cleaned) {
|
||||
|
||||
cleaned = filepath.Join(appdata.Dir(appName, false), cleaned)
|
||||
|
||||
cleaned = filepath.Join(appdata.MakeDirIfNeeded(appName, false,
|
||||
0700), cleaned)
|
||||
}
|
||||
}
|
||||
return
|
||||
|
||||
@@ -86,3 +86,10 @@ func GetDataDir(goos, appName string, roaming bool) string {
|
||||
func Dir(appName string, roaming bool) string {
|
||||
return GetDataDir(runtime.GOOS, appName, roaming)
|
||||
}
|
||||
|
||||
func MakeDirIfNeeded(appName string, roaming bool,
|
||||
mode os.FileMode) (dataDir string) {
|
||||
dataDir = Dir(appName, roaming)
|
||||
os.MkdirAll(dataDir, mode)
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user