configurable pubsub singing
I'd like to sneak this into the release so we can turn on strict verification ASAP. License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>
Steven Allen committed
Oct 25, 2018 at 10:47 UTC
2b0bc7e08463a24660830182249826228a79fc5b
31 files changed
+167
-98
cmd/ipfs/init.go
+1
-1
@@ -16,7 +16,7 @@ import (
16
namesys "github.com/ipfs/go-ipfs/namesys"
17
fsrepo "github.com/ipfs/go-ipfs/repo/fsrepo"
18
19
- "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
19
+ "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
20
"gx/ipfs/QmRRovo1DE6i5cMjCbf19mQCSuszF6SKwdZNUMS7MtBnH1/go-ipfs-cmds"
21
"gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
22
)
cmd/ipfs/main.go
+1
-1
@@ -24,7 +24,7 @@ import (
24
repo "github.com/ipfs/go-ipfs/repo"
25
fsrepo "github.com/ipfs/go-ipfs/repo/fsrepo"
26
27
- "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
27
+ "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
28
u "gx/ipfs/QmPdKqUcHGFdeSpvjVoaTRPPstGif9GBZb5Q56RVw9o69A/go-ipfs-util"
29
"gx/ipfs/QmRRovo1DE6i5cMjCbf19mQCSuszF6SKwdZNUMS7MtBnH1/go-ipfs-cmds"
30
"gx/ipfs/QmRRovo1DE6i5cMjCbf19mQCSuszF6SKwdZNUMS7MtBnH1/go-ipfs-cmds/cli"
cmd/ipfswatch/main.go
+1
-1
@@ -15,7 +15,7 @@ import (
15
coreunix "github.com/ipfs/go-ipfs/core/coreunix"
16
fsrepo "github.com/ipfs/go-ipfs/repo/fsrepo"
17
18
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
18
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
19
process "gx/ipfs/QmSF8fPo3jgVBAy8fpdjjYqgG87dkJgUprRBHRd2tmfgpP/goprocess"
20
homedir "gx/ipfs/QmdcULN1WCzgoQmcCaUAmEhwcxHYsDrbZ2LvRJKCL8dMrK/go-homedir"
21
fsnotify "gx/ipfs/QmfNjggF4Pt6erqg3NDafD3MdvDHk1qqCVr8pL5hnPucS8/fsnotify"
commands/request.go
+1
-1
@@ -10,7 +10,7 @@ import (
10
coreapi "github.com/ipfs/go-ipfs/core/coreapi"
11
coreiface "github.com/ipfs/go-ipfs/core/coreapi/interface"
12
13
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
13
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
14
"gx/ipfs/QmRRovo1DE6i5cMjCbf19mQCSuszF6SKwdZNUMS7MtBnH1/go-ipfs-cmds"
15
files "gx/ipfs/QmZMWMvWMVKCbHetJ4RgndbuEF1io2UpUxwQwtNjtYPzSC/go-ipfs-files"
16
"gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
core/bootstrap.go
+1
-1
@@ -12,7 +12,7 @@ import (
12
math2 "github.com/ipfs/go-ipfs/thirdparty/math2"
13
lgbl "gx/ipfs/QmVrDtvvQCUeMZaY9UFkae6c85kdQ1GvVEhPrjPTdjxRLv/go-libp2p-loggables"
14
15
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
15
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
16
goprocess "gx/ipfs/QmSF8fPo3jgVBAy8fpdjjYqgG87dkJgUprRBHRd2tmfgpP/goprocess"
17
procctx "gx/ipfs/QmSF8fPo3jgVBAy8fpdjjYqgG87dkJgUprRBHRd2tmfgpP/goprocess/context"
18
periodicproc "gx/ipfs/QmSF8fPo3jgVBAy8fpdjjYqgG87dkJgUprRBHRd2tmfgpP/goprocess/periodic"
core/bootstrap_test.go
+1
-1
@@ -4,7 +4,7 @@ import (
4
"fmt"
5
"testing"
6
7
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
7
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
8
pstore "gx/ipfs/QmTTJcDL3gsnGDALjh2fDGg1onGRUdVgNL2hU2WEZcVrMX/go-libp2p-peerstore"
9
testutil "gx/ipfs/Qma6ESRQTf1ZLPgzpCwDTqQJefPnU6uLvMjP18vK8EWp8L/go-testutil"
10
)
core/builder.go
+1
-1
@@ -19,7 +19,7 @@ import (
19
bserv "gx/ipfs/QmWfhv1D18DRSiSm73r4QGcByspzPtxxRTcmHW3axFXZo8/go-blockservice"
20
dag "gx/ipfs/QmY8BMUSpCwNiTmFhACmC9Bt1qT63cHP35AoQAus4x14qH/go-merkledag"
21
22
- cfg "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
22
+ cfg "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
23
ci "gx/ipfs/QmPvyPwuCgJ7pDmrKDxRtsScJgBaM5h4EpRL2qQJsmXf4n/go-libp2p-crypto"
24
goprocessctx "gx/ipfs/QmSF8fPo3jgVBAy8fpdjjYqgG87dkJgUprRBHRd2tmfgpP/goprocess/context"
25
offline "gx/ipfs/QmT6dHGp3UYd3vUMpy7rzX2CXQv7HLcj42Vtq8qwwjgASb/go-ipfs-exchange-offline"
core/commands/bootstrap.go
+1
-1
@@ -11,7 +11,7 @@ import (
11
repo "github.com/ipfs/go-ipfs/repo"
12
"github.com/ipfs/go-ipfs/repo/fsrepo"
13
14
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
14
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
15
"gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
16
)
17
core/commands/cmdenv/env.go
+1
-1
@@ -7,7 +7,7 @@ import (
7
"github.com/ipfs/go-ipfs/core"
8
coreiface "github.com/ipfs/go-ipfs/core/coreapi/interface"
9
10
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
10
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
11
cmds "gx/ipfs/QmRRovo1DE6i5cMjCbf19mQCSuszF6SKwdZNUMS7MtBnH1/go-ipfs-cmds"
12
)
13
core/commands/config.go
+1
-1
@@ -16,8 +16,8 @@ import (
16
repo "github.com/ipfs/go-ipfs/repo"
17
fsrepo "github.com/ipfs/go-ipfs/repo/fsrepo"
18
19
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
19
"gx/ipfs/QmP2i47tnU23ijdshrZtuvrSkQPtf9HhsMb9fwGVe8owj2/jsondiff"
20
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
21
"gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
22
)
23
core/commands/mount_unix.go
+1
-1
@@ -11,7 +11,7 @@ import (
11
e "github.com/ipfs/go-ipfs/core/commands/e"
12
nodeMount "github.com/ipfs/go-ipfs/fuse/node"
13
14
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
14
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
15
"gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
16
)
17
core/commands/repo.go
+1
-1
@@ -17,7 +17,7 @@ import (
17
corerepo "github.com/ipfs/go-ipfs/core/corerepo"
18
fsrepo "github.com/ipfs/go-ipfs/repo/fsrepo"
19
20
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
20
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
21
cid "gx/ipfs/QmPSQnBKM9g7BaUcZCvswUJVscQ1ipjmwxN5PXCjkp9EQ7/go-cid"
22
cmds "gx/ipfs/QmRRovo1DE6i5cMjCbf19mQCSuszF6SKwdZNUMS7MtBnH1/go-ipfs-cmds"
23
bstore "gx/ipfs/QmcDDgAXDbpDUpadCJKLr49KYR4HuL7T8Z1dZTHt6ixsoR/go-ipfs-blockstore"
core/commands/swarm.go
+1
-1
@@ -14,7 +14,7 @@ import (
14
"github.com/ipfs/go-ipfs/repo"
15
"github.com/ipfs/go-ipfs/repo/fsrepo"
16
17
- "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
17
+ "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
18
"gx/ipfs/QmRRovo1DE6i5cMjCbf19mQCSuszF6SKwdZNUMS7MtBnH1/go-ipfs-cmds"
19
mafilter "gx/ipfs/QmSMZwvs3n4GBikZ7hKzT17c3bk65FmyZo2JqtJ16swqCv/multiaddr-filter"
20
ma "gx/ipfs/QmT4U94DnD8FRfqr21obWY32HLM5VExccPKMjQHofeYqr9/go-multiaddr"
core/core.go
+14
-5
@@ -30,12 +30,11 @@ import (
30
pin "github.com/ipfs/go-ipfs/pin"
31
repo "github.com/ipfs/go-ipfs/repo"
32
33
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
33
bitswap "gx/ipfs/QmNkxFCmPtr2RQxjZNRCNryLud4L9wMEiBJsLgF14MqTHj/go-bitswap"
34
bsnet "gx/ipfs/QmNkxFCmPtr2RQxjZNRCNryLud4L9wMEiBJsLgF14MqTHj/go-bitswap/network"
35
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
36
cid "gx/ipfs/QmPSQnBKM9g7BaUcZCvswUJVscQ1ipjmwxN5PXCjkp9EQ7/go-cid"
37
u "gx/ipfs/QmPdKqUcHGFdeSpvjVoaTRPPstGif9GBZb5Q56RVw9o69A/go-ipfs-util"
38
- psrouter "gx/ipfs/QmPgUM9uSnDuM8MAF56htHLMLn33KuUqT82PBsF13qyJNk/go-libp2p-pubsub-router"
38
ic "gx/ipfs/QmPvyPwuCgJ7pDmrKDxRtsScJgBaM5h4EpRL2qQJsmXf4n/go-libp2p-crypto"
39
dht "gx/ipfs/QmQHnqaNULV8WeUGgh97o9K3KAW6kWQmDyNf9UuikgnPTe/go-libp2p-kad-dht"
40
dhtopts "gx/ipfs/QmQHnqaNULV8WeUGgh97o9K3KAW6kWQmDyNf9UuikgnPTe/go-libp2p-kad-dht/opts"
@@ -45,6 +44,7 @@ import (
44
mamask "gx/ipfs/QmSMZwvs3n4GBikZ7hKzT17c3bk65FmyZo2JqtJ16swqCv/multiaddr-filter"
45
ma "gx/ipfs/QmT4U94DnD8FRfqr21obWY32HLM5VExccPKMjQHofeYqr9/go-multiaddr"
46
ft "gx/ipfs/QmTJUySFxXjh54zEoFbzQEmGD3yj89XKS3A28y7Nqsn1TC/go-unixfs"
47
+ pubsub "gx/ipfs/QmTQdS71yMtTmaSeeGptMDxDBpRcq2kTsJ6X2CPd7riyMs/go-libp2p-pubsub"
48
peer "gx/ipfs/QmTRhk7cgjUf2gfQ3p2M9KPECNZEW9XUrmHcFCgog4cPgB/go-libp2p-peer"
49
connmgr "gx/ipfs/QmTSih5JrkhMH62dp1oGjEwcaC38dxXBgRwTbeQEL4mPcU/go-libp2p-connmgr"
50
pstore "gx/ipfs/QmTTJcDL3gsnGDALjh2fDGg1onGRUdVgNL2hU2WEZcVrMX/go-libp2p-peerstore"
@@ -58,12 +58,12 @@ import (
58
circuit "gx/ipfs/QmVYDvJjiKb9iFEyHxx4i1TJSRBLkQhGb5Fc8XpmDuNCEA/go-libp2p-circuit"
59
ifconnmgr "gx/ipfs/QmWRvjn5BHMLCGkf48Hk1LDc4W72RPA9H59AAVCXmn9esJ/go-libp2p-interface-connmgr"
60
bserv "gx/ipfs/QmWfhv1D18DRSiSm73r4QGcByspzPtxxRTcmHW3axFXZo8/go-blockservice"
61
+ psrouter "gx/ipfs/QmWqQVkbYzC8himRvPCWmkfpFuYtHidY7xEKtrrQ3dhySs/go-libp2p-pubsub-router"
62
rhelpers "gx/ipfs/QmX3syBjwRd12qJGaKbFBWFfrBinKsaTC43ry3PsgiXCLK/go-libp2p-routing-helpers"
63
pnet "gx/ipfs/QmY4Q5JC4vxLEi8EpVxJM4rcRryEVtH1zRKVTAm6BKV1pg/go-libp2p-pnet"
64
merkledag "gx/ipfs/QmY8BMUSpCwNiTmFhACmC9Bt1qT63cHP35AoQAus4x14qH/go-merkledag"
65
smux "gx/ipfs/QmY9JXR3FupnYAYJWK9aMr9bCpqWKcToQ1tz8DVGTrHpHw/go-stream-muxer"
66
logging "gx/ipfs/QmZChCsSt8DctjceaL56Eibc29CVQq4dGKRXC5JRZ6Ppae/go-log"
66
- pubsub "gx/ipfs/QmZuwf2M6vSPpHh9KWp59HFq3kAibka77hAbKhxeb7uW3T/go-libp2p-pubsub"
67
record "gx/ipfs/Qma9Eqp16mNHDX1EL73pcxhFfzbyXVcAYtaDd1xdmDRDtL/go-libp2p-record"
68
ds "gx/ipfs/QmaRb5yNXKonhbkpNxNawoydk4N6es6b4fPj19sjEKsh5D/go-datastore"
69
mplex "gx/ipfs/QmaveCPGVaKJU57tBErGCDjzLaqEMZkFygoiv4BhYwWUGc/go-smux-multiplex"
@@ -475,14 +475,23 @@ func (n *IpfsNode) startOnlineServicesWithHost(ctx context.Context, host p2phost
475
476
var service *pubsub.PubSub
477
478
+ var pubsubOptions []pubsub.Option
479
+ if cfg.Pubsub.DisableSigning {
480
+ pubsubOptions = append(pubsubOptions, pubsub.WithMessageSigning(false))
481
+ }
482
+
483
+ if cfg.Pubsub.StrictSignatureVerification {
484
+ pubsubOptions = append(pubsubOptions, pubsub.WithStrictSignatureVerification(true))
485
+ }
486
+
487
switch cfg.Pubsub.Router {
488
case "":
489
fallthrough
490
case "floodsub":
482
- service, err = pubsub.NewFloodSub(ctx, host)
491
+ service, err = pubsub.NewFloodSub(ctx, host, pubsubOptions...)
492
493
case "gossipsub":
485
- service, err = pubsub.NewGossipSub(ctx, host)
494
+ service, err = pubsub.NewGossipSub(ctx, host, pubsubOptions...)
495
496
default:
497
err = fmt.Errorf("Unknown pubsub router %s", cfg.Pubsub.Router)
core/core_test.go
+1
-1
@@ -7,7 +7,7 @@ import (
7
8
"github.com/ipfs/go-ipfs/repo"
9
10
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
10
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
11
datastore "gx/ipfs/QmaRb5yNXKonhbkpNxNawoydk4N6es6b4fPj19sjEKsh5D/go-datastore"
12
syncds "gx/ipfs/QmaRb5yNXKonhbkpNxNawoydk4N6es6b4fPj19sjEKsh5D/go-datastore/sync"
13
)
core/coreapi/pubsub.go
+1
-1
@@ -12,9 +12,9 @@ import (
12
caopts "github.com/ipfs/go-ipfs/core/coreapi/interface/options"
13
14
cid "gx/ipfs/QmPSQnBKM9g7BaUcZCvswUJVscQ1ipjmwxN5PXCjkp9EQ7/go-cid"
15
+ pubsub "gx/ipfs/QmTQdS71yMtTmaSeeGptMDxDBpRcq2kTsJ6X2CPd7riyMs/go-libp2p-pubsub"
16
peer "gx/ipfs/QmTRhk7cgjUf2gfQ3p2M9KPECNZEW9XUrmHcFCgog4cPgB/go-libp2p-peer"
17
pstore "gx/ipfs/QmTTJcDL3gsnGDALjh2fDGg1onGRUdVgNL2hU2WEZcVrMX/go-libp2p-peerstore"
17
- pubsub "gx/ipfs/QmZuwf2M6vSPpHh9KWp59HFq3kAibka77hAbKhxeb7uW3T/go-libp2p-pubsub"
18
)
19
20
type PubSubAPI CoreAPI
core/coreapi/unixfs_test.go
+1
-1
@@ -23,7 +23,7 @@ import (
23
"github.com/ipfs/go-ipfs/keystore"
24
"github.com/ipfs/go-ipfs/repo"
25
26
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
26
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
27
mh "gx/ipfs/QmPnFwZ2JXKnXgMw8CdBPxn7FWh6LLdjUjxV1fKHuJnkr8/go-multihash"
28
ci "gx/ipfs/QmPvyPwuCgJ7pDmrKDxRtsScJgBaM5h4EpRL2qQJsmXf4n/go-libp2p-crypto"
29
unixfs "gx/ipfs/QmTJUySFxXjh54zEoFbzQEmGD3yj89XKS3A28y7Nqsn1TC/go-unixfs"
core/corehttp/commands.go
+1
-1
@@ -14,7 +14,7 @@ import (
14
"github.com/ipfs/go-ipfs/core"
15
corecommands "github.com/ipfs/go-ipfs/core/commands"
16
17
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
17
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
18
path "gx/ipfs/QmRKuTyCzg7HFBcV1YUhzStroGtJSb8iWgyxfsDCwFhWTS/go-path"
19
cmds "gx/ipfs/QmRRovo1DE6i5cMjCbf19mQCSuszF6SKwdZNUMS7MtBnH1/go-ipfs-cmds"
20
cmdsHttp "gx/ipfs/QmRRovo1DE6i5cMjCbf19mQCSuszF6SKwdZNUMS7MtBnH1/go-ipfs-cmds/http"
core/corehttp/gateway_test.go
+1
-1
@@ -18,7 +18,7 @@ import (
18
nsopts "github.com/ipfs/go-ipfs/namesys/opts"
19
repo "github.com/ipfs/go-ipfs/repo"
20
21
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
21
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
22
ci "gx/ipfs/QmPvyPwuCgJ7pDmrKDxRtsScJgBaM5h4EpRL2qQJsmXf4n/go-libp2p-crypto"
23
path "gx/ipfs/QmRKuTyCzg7HFBcV1YUhzStroGtJSb8iWgyxfsDCwFhWTS/go-path"
24
id "gx/ipfs/QmUDTcnDp2WssbmiDLC6aYurUeyt7QeRakHUQMxA2mZ5iB/go-libp2p/p2p/protocol/identify"
core/coreunix/add_test.go
+1
-1
@@ -15,7 +15,7 @@ import (
15
"github.com/ipfs/go-ipfs/pin/gc"
16
"github.com/ipfs/go-ipfs/repo"
17
18
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
18
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
19
pi "gx/ipfs/QmPG32VXR5jmpo9q8R9FNdR4Ae97Ky9CiZE6SctJLUB79H/go-ipfs-posinfo"
20
cid "gx/ipfs/QmPSQnBKM9g7BaUcZCvswUJVscQ1ipjmwxN5PXCjkp9EQ7/go-cid"
21
blocks "gx/ipfs/QmRcHuYzAyswytBuMF78rj3LTChYszomRFXNg4685ZN1WM/go-block-format"
core/mock/mock.go
+1
-1
@@ -7,7 +7,7 @@ import (
7
core "github.com/ipfs/go-ipfs/core"
8
"github.com/ipfs/go-ipfs/repo"
9
10
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
10
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
11
peer "gx/ipfs/QmTRhk7cgjUf2gfQ3p2M9KPECNZEW9XUrmHcFCgog4cPgB/go-libp2p-peer"
12
pstore "gx/ipfs/QmTTJcDL3gsnGDALjh2fDGg1onGRUdVgNL2hU2WEZcVrMX/go-libp2p-peerstore"
13
libp2p "gx/ipfs/QmUDTcnDp2WssbmiDLC6aYurUeyt7QeRakHUQMxA2mZ5iB/go-libp2p"
package.json
+8
-8
@@ -47,9 +47,9 @@
47
"version": "0.1.3"
48
},
49
{
50
- "hash": "QmPwecoMB9jN9DosznNqcApK63PnrEmMduxp1mn5nqS7Pq",
50
+ "hash": "QmV1DPm5F46LvQMxCVPhu35zHgZEeMvyVtpxjb5TwfGiua",
51
"name": "iptb",
52
- "version": "1.3.18"
52
+ "version": "1.3.19"
53
},
54
{
55
"hash": "QmPnFwZ2JXKnXgMw8CdBPxn7FWh6LLdjUjxV1fKHuJnkr8",
@@ -458,9 +458,9 @@
458
},
459
{
460
"author": "stebalien",
461
- "hash": "QmPgUM9uSnDuM8MAF56htHLMLn33KuUqT82PBsF13qyJNk",
461
+ "hash": "QmWqQVkbYzC8himRvPCWmkfpFuYtHidY7xEKtrrQ3dhySs",
462
"name": "go-libp2p-pubsub-router",
463
- "version": "0.4.14"
463
+ "version": "0.5.1"
464
},
465
{
466
"author": "Stebalien",
@@ -518,9 +518,9 @@
518
},
519
{
520
"author": "magik6k",
521
- "hash": "QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6",
521
+ "hash": "QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR",
522
"name": "go-ipfs-config",
523
- "version": "0.2.15"
523
+ "version": "0.2.16"
524
},
525
{
526
"author": "why",
@@ -583,9 +583,9 @@
583
},
584
{
585
"author": "whyrusleeping",
586
- "hash": "QmZuwf2M6vSPpHh9KWp59HFq3kAibka77hAbKhxeb7uW3T",
586
+ "hash": "QmTQdS71yMtTmaSeeGptMDxDBpRcq2kTsJ6X2CPd7riyMs",
587
"name": "go-libp2p-pubsub",
588
- "version": "0.10.2"
588
+ "version": "0.11.1"
589
}
590
],
591
"gxVersion": "0.10.0",
repo/fsrepo/config_test.go
+1
-1
@@ -7,7 +7,7 @@ import (
7
"reflect"
8
"testing"
9
10
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
10
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
11
)
12
13
// note: to test sorting of the mountpoints in the disk spec they are
repo/fsrepo/fsrepo.go
+2
-2
@@ -18,8 +18,8 @@ import (
18
mfsr "github.com/ipfs/go-ipfs/repo/fsrepo/migrations"
19
dir "github.com/ipfs/go-ipfs/thirdparty/dir"
20
21
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
22
- serialize "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config/serialize"
21
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
22
+ serialize "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config/serialize"
23
util "gx/ipfs/QmPdKqUcHGFdeSpvjVoaTRPPstGif9GBZb5Q56RVw9o69A/go-ipfs-util"
24
measure "gx/ipfs/QmQS6UXi1R87y9nEgnCNmG6YfMzvBSLir7xUheMNFP3hoe/go-ds-measure"
25
ma "gx/ipfs/QmT4U94DnD8FRfqr21obWY32HLM5VExccPKMjQHofeYqr9/go-multiaddr"
repo/fsrepo/fsrepo_test.go
+1
-1
@@ -9,7 +9,7 @@ import (
9
10
"github.com/ipfs/go-ipfs/thirdparty/assert"
11
12
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
12
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
13
datastore "gx/ipfs/QmaRb5yNXKonhbkpNxNawoydk4N6es6b4fPj19sjEKsh5D/go-datastore"
14
)
15
repo/fsrepo/misc.go
+1
-1
@@ -3,7 +3,7 @@ package fsrepo
3
import (
4
"os"
5
6
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
6
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
7
homedir "gx/ipfs/QmdcULN1WCzgoQmcCaUAmEhwcxHYsDrbZ2LvRJKCL8dMrK/go-homedir"
8
)
9
repo/mock.go
+1
-1
@@ -6,7 +6,7 @@ import (
6
filestore "github.com/ipfs/go-ipfs/filestore"
7
keystore "github.com/ipfs/go-ipfs/keystore"
8
9
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
9
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
10
ma "gx/ipfs/QmT4U94DnD8FRfqr21obWY32HLM5VExccPKMjQHofeYqr9/go-multiaddr"
11
)
12
repo/repo.go
+1
-1
@@ -7,7 +7,7 @@ import (
7
filestore "github.com/ipfs/go-ipfs/filestore"
8
keystore "github.com/ipfs/go-ipfs/keystore"
9
10
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
10
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
11
ma "gx/ipfs/QmT4U94DnD8FRfqr21obWY32HLM5VExccPKMjQHofeYqr9/go-multiaddr"
12
ds "gx/ipfs/QmaRb5yNXKonhbkpNxNawoydk4N6es6b4fPj19sjEKsh5D/go-datastore"
13
)
test/bench/bench_cli_ipfs_add/main.go
+1
-1
@@ -12,7 +12,7 @@ import (
12
13
"github.com/ipfs/go-ipfs/thirdparty/unit"
14
15
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
15
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
16
random "gx/ipfs/QmSJ9n2s9NUoA9D849W5jj5SJ94nMcZpj1jCgQJieiNqSt/go-random"
17
)
18
test/bench/offline_add/main.go
+1
-1
@@ -11,7 +11,7 @@ import (
11
12
"github.com/ipfs/go-ipfs/thirdparty/unit"
13
14
- config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
14
+ config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
15
random "gx/ipfs/QmSJ9n2s9NUoA9D849W5jj5SJ94nMcZpj1jCgQJieiNqSt/go-random"
16
)
17
test/sharness/t0180-pubsub.sh
+116
-56
@@ -10,83 +10,143 @@ test_expect_success 'init iptb' '
10
iptb init -n $NUM_NODES --bootstrap=none --port=0
11
'
12
13
-startup_cluster $NUM_NODES --enable-pubsub-experiment
13
+run_pubsub_tests() {
14
+ test_expect_success 'peer ids' '
15
+ PEERID_0=$(iptb get id 0) &&
16
+ PEERID_2=$(iptb get id 2)
17
+ '
18
+
19
+ # ipfs pubsub sub
20
+ test_expect_success 'pubsub' '
21
+ echo "testOK" > expected &&
22
+ touch empty &&
23
+ mkfifo wait ||
24
+ test_fsh echo init fail
25
+
26
+ # ipfs pubsub sub is long-running so we need to start it in the background and
27
+ # wait put its output somewhere where we can access it
28
+ (
29
+ ipfsi 0 pubsub sub --enc=ndpayload testTopic | if read line; then
30
+ echo $line > actual &&
31
+ echo > wait
32
+ fi
33
+ ) &
34
+ '
35
+
36
+ test_expect_success "wait until ipfs pubsub sub is ready to do work" '
37
+ go-sleep 500ms
38
+ '
39
+
40
+ test_expect_success "can see peer subscribed to testTopic" '
41
+ ipfsi 1 pubsub peers testTopic > peers_out
42
+ '
43
+
44
+ test_expect_success "output looks good" '
45
+ echo $PEERID_0 > peers_exp &&
46
+ test_cmp peers_exp peers_out
47
+ '
48
+
49
+ test_expect_success "publish something" '
50
+ ipfsi 1 pubsub pub testTopic "testOK" &> pubErr
51
+ '
52
+
53
+ test_expect_success "wait until echo > wait executed" '
54
+ cat wait &&
55
+ test_cmp pubErr empty &&
56
+ test_cmp expected actual
57
+ '
58
+
59
+ test_expect_success "wait for another pubsub message" '
60
+ echo "testOK2" > expected &&
61
+ mkfifo wait2 ||
62
+ test_fsh echo init fail
63
+
64
+ # ipfs pubsub sub is long-running so we need to start it in the background and
65
+ # wait put its output somewhere where we can access it
66
+ (
67
+ ipfsi 2 pubsub sub --enc=ndpayload testTopic | if read line; then
68
+ echo $line > actual &&
69
+ echo > wait2
70
+ fi
71
+ ) &
72
+ '
73
+
74
+ test_expect_success "wait until ipfs pubsub sub is ready to do work" '
75
+ go-sleep 500ms
76
+ '
77
+
78
+ test_expect_success "publish something" '
79
+ echo "testOK2" | ipfsi 3 pubsub pub testTopic &> pubErr
80
+ '
81
+
82
+ test_expect_success "wait until echo > wait executed" '
83
+ echo "testOK2" > expected &&
84
+ cat wait2 &&
85
+ test_cmp pubErr empty &&
86
+ test_cmp expected actual
87
+ '
88
+
89
+ test_expect_success 'cleanup fifos' '
90
+ rm -f wait wait2
91
+ '
92
+
93
+}
94
+
95
+# Normal tests
96
15
-test_expect_success 'peer ids' '
16
- PEERID_0=$(iptb get id 0) &&
17
- PEERID_2=$(iptb get id 2)
97
+startup_cluster $NUM_NODES --enable-pubsub-experiment
98
+run_pubsub_tests
99
+test_expect_success 'stop iptb' '
100
+ iptb stop
101
'
102
20
-# ipfs pubsub sub
21
-test_expect_success 'pubsub' '
22
- echo "testOK" > expected &&
23
- touch empty &&
24
- mkfifo wait ||
25
- test_fsh echo init fail
26
-
27
- # ipfs pubsub sub is long-running so we need to start it in the background and
28
- # wait put its output somewhere where we can access it
29
- (
30
- ipfsi 0 pubsub sub --enc=ndpayload testTopic | if read line; then
31
- echo $line > actual &&
32
- echo > wait
33
- fi
34
- ) &
35
-'
103
+# Test with some nodes not signing messages.
104
37
-test_expect_success "wait until ipfs pubsub sub is ready to do work" '
38
- go-sleep 500ms
105
+test_expect_success 'disable signing on node 1' '
106
+ ipfsi 1 config --json Pubsub.DisableSigning true
107
'
108
41
-test_expect_success "can see peer subscribed to testTopic" '
42
- ipfsi 1 pubsub peers testTopic > peers_out
109
+startup_cluster $NUM_NODES --enable-pubsub-experiment
110
+run_pubsub_tests
111
+test_expect_success 'stop iptb' '
112
+ iptb stop
113
'
114
45
-test_expect_success "output looks good" '
46
- echo $PEERID_0 > peers_exp &&
47
- test_cmp peers_exp peers_out
48
-'
115
+# Test strict message verification.
116
50
-test_expect_success "publish something" '
51
- ipfsi 1 pubsub pub testTopic "testOK" &> pubErr
117
+test_expect_success 'enable strict signature verification on node 4' '
118
+ ipfsi 4 config --json Pubsub.StrictSignatureVerification true
119
'
120
54
-test_expect_success "wait until echo > wait executed" '
55
- cat wait &&
56
- test_cmp pubErr empty &&
57
- test_cmp expected actual
121
+startup_cluster $NUM_NODES --enable-pubsub-experiment
122
+
123
+test_expect_success 'set node 4 to listen on testTopic' '
124
+ ipfsi 4 pubsub sub --enc=ndpayload testTopic > node4_actual &
125
'
126
60
-test_expect_success "wait for another pubsub message" '
61
- echo "testOK2" > expected &&
62
- mkfifo wait2 ||
63
- test_fsh echo init fail
64
-
65
- # ipfs pubsub sub is long-running so we need to start it in the background and
66
- # wait put its output somewhere where we can access it
67
- (
68
- ipfsi 2 pubsub sub --enc=ndpayload testTopic | if read line; then
69
- echo $line > actual &&
70
- echo > wait2
71
- fi
72
- ) &
127
+run_pubsub_tests
128
+
129
+test_expect_success 'stop iptb' '
130
+ iptb stop
131
'
132
75
-test_expect_success "wait until ipfs pubsub sub is ready to do work" '
76
- go-sleep 500ms
133
+test_expect_success 'node 4 only got the signed message' '
134
+ echo "testOK2" > node4_expected &&
135
+ test_cmp node4_actual node4_expected
136
'
137
79
-test_expect_success "publish something" '
80
- echo "testOK2" | ipfsi 1 pubsub pub testTopic &> pubErr
138
+# Test all nodes signing with strict verification
139
+
140
+test_expect_success 're-enable signing on node 1' '
141
+ ipfsi 1 config --json Pubsub.DisableSigning false
142
'
143
83
-test_expect_success "wait until echo > wait executed" '
84
- echo "testOK2" > expected &&
85
- cat wait2 &&
86
- test_cmp pubErr empty &&
87
- test_cmp expected actual
144
+test_expect_success 'enable strict signature verification on all nodes' '
145
+ iptb for-each ipfs config --json Pubsub.StrictSignatureVerification true
146
'
147
148
+startup_cluster $NUM_NODES --enable-pubsub-experiment
149
+run_pubsub_tests
150
test_expect_success 'stop iptb' '
151
iptb stop
152
'