mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-21 10:27:46 +08:00
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>
This commit is contained in:
parent
7ecd6756b4
commit
2b0bc7e084
@ -16,7 +16,7 @@ import (
|
||||
namesys "github.com/ipfs/go-ipfs/namesys"
|
||||
fsrepo "github.com/ipfs/go-ipfs/repo/fsrepo"
|
||||
|
||||
"gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
"gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
"gx/ipfs/QmRRovo1DE6i5cMjCbf19mQCSuszF6SKwdZNUMS7MtBnH1/go-ipfs-cmds"
|
||||
"gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
|
||||
)
|
||||
|
||||
@ -24,7 +24,7 @@ import (
|
||||
repo "github.com/ipfs/go-ipfs/repo"
|
||||
fsrepo "github.com/ipfs/go-ipfs/repo/fsrepo"
|
||||
|
||||
"gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
"gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
u "gx/ipfs/QmPdKqUcHGFdeSpvjVoaTRPPstGif9GBZb5Q56RVw9o69A/go-ipfs-util"
|
||||
"gx/ipfs/QmRRovo1DE6i5cMjCbf19mQCSuszF6SKwdZNUMS7MtBnH1/go-ipfs-cmds"
|
||||
"gx/ipfs/QmRRovo1DE6i5cMjCbf19mQCSuszF6SKwdZNUMS7MtBnH1/go-ipfs-cmds/cli"
|
||||
|
||||
@ -15,7 +15,7 @@ import (
|
||||
coreunix "github.com/ipfs/go-ipfs/core/coreunix"
|
||||
fsrepo "github.com/ipfs/go-ipfs/repo/fsrepo"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
process "gx/ipfs/QmSF8fPo3jgVBAy8fpdjjYqgG87dkJgUprRBHRd2tmfgpP/goprocess"
|
||||
homedir "gx/ipfs/QmdcULN1WCzgoQmcCaUAmEhwcxHYsDrbZ2LvRJKCL8dMrK/go-homedir"
|
||||
fsnotify "gx/ipfs/QmfNjggF4Pt6erqg3NDafD3MdvDHk1qqCVr8pL5hnPucS8/fsnotify"
|
||||
|
||||
@ -10,7 +10,7 @@ import (
|
||||
coreapi "github.com/ipfs/go-ipfs/core/coreapi"
|
||||
coreiface "github.com/ipfs/go-ipfs/core/coreapi/interface"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
"gx/ipfs/QmRRovo1DE6i5cMjCbf19mQCSuszF6SKwdZNUMS7MtBnH1/go-ipfs-cmds"
|
||||
files "gx/ipfs/QmZMWMvWMVKCbHetJ4RgndbuEF1io2UpUxwQwtNjtYPzSC/go-ipfs-files"
|
||||
"gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
|
||||
|
||||
@ -12,7 +12,7 @@ import (
|
||||
math2 "github.com/ipfs/go-ipfs/thirdparty/math2"
|
||||
lgbl "gx/ipfs/QmVrDtvvQCUeMZaY9UFkae6c85kdQ1GvVEhPrjPTdjxRLv/go-libp2p-loggables"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
goprocess "gx/ipfs/QmSF8fPo3jgVBAy8fpdjjYqgG87dkJgUprRBHRd2tmfgpP/goprocess"
|
||||
procctx "gx/ipfs/QmSF8fPo3jgVBAy8fpdjjYqgG87dkJgUprRBHRd2tmfgpP/goprocess/context"
|
||||
periodicproc "gx/ipfs/QmSF8fPo3jgVBAy8fpdjjYqgG87dkJgUprRBHRd2tmfgpP/goprocess/periodic"
|
||||
|
||||
@ -4,7 +4,7 @@ import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
pstore "gx/ipfs/QmTTJcDL3gsnGDALjh2fDGg1onGRUdVgNL2hU2WEZcVrMX/go-libp2p-peerstore"
|
||||
testutil "gx/ipfs/Qma6ESRQTf1ZLPgzpCwDTqQJefPnU6uLvMjP18vK8EWp8L/go-testutil"
|
||||
)
|
||||
|
||||
@ -19,7 +19,7 @@ import (
|
||||
bserv "gx/ipfs/QmWfhv1D18DRSiSm73r4QGcByspzPtxxRTcmHW3axFXZo8/go-blockservice"
|
||||
dag "gx/ipfs/QmY8BMUSpCwNiTmFhACmC9Bt1qT63cHP35AoQAus4x14qH/go-merkledag"
|
||||
|
||||
cfg "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
cfg "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
ci "gx/ipfs/QmPvyPwuCgJ7pDmrKDxRtsScJgBaM5h4EpRL2qQJsmXf4n/go-libp2p-crypto"
|
||||
goprocessctx "gx/ipfs/QmSF8fPo3jgVBAy8fpdjjYqgG87dkJgUprRBHRd2tmfgpP/goprocess/context"
|
||||
offline "gx/ipfs/QmT6dHGp3UYd3vUMpy7rzX2CXQv7HLcj42Vtq8qwwjgASb/go-ipfs-exchange-offline"
|
||||
|
||||
@ -11,7 +11,7 @@ import (
|
||||
repo "github.com/ipfs/go-ipfs/repo"
|
||||
"github.com/ipfs/go-ipfs/repo/fsrepo"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
"gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
|
||||
)
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@ import (
|
||||
"github.com/ipfs/go-ipfs/core"
|
||||
coreiface "github.com/ipfs/go-ipfs/core/coreapi/interface"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
cmds "gx/ipfs/QmRRovo1DE6i5cMjCbf19mQCSuszF6SKwdZNUMS7MtBnH1/go-ipfs-cmds"
|
||||
)
|
||||
|
||||
|
||||
@ -16,8 +16,8 @@ import (
|
||||
repo "github.com/ipfs/go-ipfs/repo"
|
||||
fsrepo "github.com/ipfs/go-ipfs/repo/fsrepo"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
"gx/ipfs/QmP2i47tnU23ijdshrZtuvrSkQPtf9HhsMb9fwGVe8owj2/jsondiff"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
"gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
|
||||
)
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@ import (
|
||||
e "github.com/ipfs/go-ipfs/core/commands/e"
|
||||
nodeMount "github.com/ipfs/go-ipfs/fuse/node"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
"gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
|
||||
)
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ import (
|
||||
corerepo "github.com/ipfs/go-ipfs/core/corerepo"
|
||||
fsrepo "github.com/ipfs/go-ipfs/repo/fsrepo"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
cid "gx/ipfs/QmPSQnBKM9g7BaUcZCvswUJVscQ1ipjmwxN5PXCjkp9EQ7/go-cid"
|
||||
cmds "gx/ipfs/QmRRovo1DE6i5cMjCbf19mQCSuszF6SKwdZNUMS7MtBnH1/go-ipfs-cmds"
|
||||
bstore "gx/ipfs/QmcDDgAXDbpDUpadCJKLr49KYR4HuL7T8Z1dZTHt6ixsoR/go-ipfs-blockstore"
|
||||
|
||||
@ -14,7 +14,7 @@ import (
|
||||
"github.com/ipfs/go-ipfs/repo"
|
||||
"github.com/ipfs/go-ipfs/repo/fsrepo"
|
||||
|
||||
"gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
"gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
"gx/ipfs/QmRRovo1DE6i5cMjCbf19mQCSuszF6SKwdZNUMS7MtBnH1/go-ipfs-cmds"
|
||||
mafilter "gx/ipfs/QmSMZwvs3n4GBikZ7hKzT17c3bk65FmyZo2JqtJ16swqCv/multiaddr-filter"
|
||||
ma "gx/ipfs/QmT4U94DnD8FRfqr21obWY32HLM5VExccPKMjQHofeYqr9/go-multiaddr"
|
||||
|
||||
19
core/core.go
19
core/core.go
@ -30,12 +30,11 @@ import (
|
||||
pin "github.com/ipfs/go-ipfs/pin"
|
||||
repo "github.com/ipfs/go-ipfs/repo"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
bitswap "gx/ipfs/QmNkxFCmPtr2RQxjZNRCNryLud4L9wMEiBJsLgF14MqTHj/go-bitswap"
|
||||
bsnet "gx/ipfs/QmNkxFCmPtr2RQxjZNRCNryLud4L9wMEiBJsLgF14MqTHj/go-bitswap/network"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
cid "gx/ipfs/QmPSQnBKM9g7BaUcZCvswUJVscQ1ipjmwxN5PXCjkp9EQ7/go-cid"
|
||||
u "gx/ipfs/QmPdKqUcHGFdeSpvjVoaTRPPstGif9GBZb5Q56RVw9o69A/go-ipfs-util"
|
||||
psrouter "gx/ipfs/QmPgUM9uSnDuM8MAF56htHLMLn33KuUqT82PBsF13qyJNk/go-libp2p-pubsub-router"
|
||||
ic "gx/ipfs/QmPvyPwuCgJ7pDmrKDxRtsScJgBaM5h4EpRL2qQJsmXf4n/go-libp2p-crypto"
|
||||
dht "gx/ipfs/QmQHnqaNULV8WeUGgh97o9K3KAW6kWQmDyNf9UuikgnPTe/go-libp2p-kad-dht"
|
||||
dhtopts "gx/ipfs/QmQHnqaNULV8WeUGgh97o9K3KAW6kWQmDyNf9UuikgnPTe/go-libp2p-kad-dht/opts"
|
||||
@ -45,6 +44,7 @@ import (
|
||||
mamask "gx/ipfs/QmSMZwvs3n4GBikZ7hKzT17c3bk65FmyZo2JqtJ16swqCv/multiaddr-filter"
|
||||
ma "gx/ipfs/QmT4U94DnD8FRfqr21obWY32HLM5VExccPKMjQHofeYqr9/go-multiaddr"
|
||||
ft "gx/ipfs/QmTJUySFxXjh54zEoFbzQEmGD3yj89XKS3A28y7Nqsn1TC/go-unixfs"
|
||||
pubsub "gx/ipfs/QmTQdS71yMtTmaSeeGptMDxDBpRcq2kTsJ6X2CPd7riyMs/go-libp2p-pubsub"
|
||||
peer "gx/ipfs/QmTRhk7cgjUf2gfQ3p2M9KPECNZEW9XUrmHcFCgog4cPgB/go-libp2p-peer"
|
||||
connmgr "gx/ipfs/QmTSih5JrkhMH62dp1oGjEwcaC38dxXBgRwTbeQEL4mPcU/go-libp2p-connmgr"
|
||||
pstore "gx/ipfs/QmTTJcDL3gsnGDALjh2fDGg1onGRUdVgNL2hU2WEZcVrMX/go-libp2p-peerstore"
|
||||
@ -58,12 +58,12 @@ import (
|
||||
circuit "gx/ipfs/QmVYDvJjiKb9iFEyHxx4i1TJSRBLkQhGb5Fc8XpmDuNCEA/go-libp2p-circuit"
|
||||
ifconnmgr "gx/ipfs/QmWRvjn5BHMLCGkf48Hk1LDc4W72RPA9H59AAVCXmn9esJ/go-libp2p-interface-connmgr"
|
||||
bserv "gx/ipfs/QmWfhv1D18DRSiSm73r4QGcByspzPtxxRTcmHW3axFXZo8/go-blockservice"
|
||||
psrouter "gx/ipfs/QmWqQVkbYzC8himRvPCWmkfpFuYtHidY7xEKtrrQ3dhySs/go-libp2p-pubsub-router"
|
||||
rhelpers "gx/ipfs/QmX3syBjwRd12qJGaKbFBWFfrBinKsaTC43ry3PsgiXCLK/go-libp2p-routing-helpers"
|
||||
pnet "gx/ipfs/QmY4Q5JC4vxLEi8EpVxJM4rcRryEVtH1zRKVTAm6BKV1pg/go-libp2p-pnet"
|
||||
merkledag "gx/ipfs/QmY8BMUSpCwNiTmFhACmC9Bt1qT63cHP35AoQAus4x14qH/go-merkledag"
|
||||
smux "gx/ipfs/QmY9JXR3FupnYAYJWK9aMr9bCpqWKcToQ1tz8DVGTrHpHw/go-stream-muxer"
|
||||
logging "gx/ipfs/QmZChCsSt8DctjceaL56Eibc29CVQq4dGKRXC5JRZ6Ppae/go-log"
|
||||
pubsub "gx/ipfs/QmZuwf2M6vSPpHh9KWp59HFq3kAibka77hAbKhxeb7uW3T/go-libp2p-pubsub"
|
||||
record "gx/ipfs/Qma9Eqp16mNHDX1EL73pcxhFfzbyXVcAYtaDd1xdmDRDtL/go-libp2p-record"
|
||||
ds "gx/ipfs/QmaRb5yNXKonhbkpNxNawoydk4N6es6b4fPj19sjEKsh5D/go-datastore"
|
||||
mplex "gx/ipfs/QmaveCPGVaKJU57tBErGCDjzLaqEMZkFygoiv4BhYwWUGc/go-smux-multiplex"
|
||||
@ -475,14 +475,23 @@ func (n *IpfsNode) startOnlineServicesWithHost(ctx context.Context, host p2phost
|
||||
|
||||
var service *pubsub.PubSub
|
||||
|
||||
var pubsubOptions []pubsub.Option
|
||||
if cfg.Pubsub.DisableSigning {
|
||||
pubsubOptions = append(pubsubOptions, pubsub.WithMessageSigning(false))
|
||||
}
|
||||
|
||||
if cfg.Pubsub.StrictSignatureVerification {
|
||||
pubsubOptions = append(pubsubOptions, pubsub.WithStrictSignatureVerification(true))
|
||||
}
|
||||
|
||||
switch cfg.Pubsub.Router {
|
||||
case "":
|
||||
fallthrough
|
||||
case "floodsub":
|
||||
service, err = pubsub.NewFloodSub(ctx, host)
|
||||
service, err = pubsub.NewFloodSub(ctx, host, pubsubOptions...)
|
||||
|
||||
case "gossipsub":
|
||||
service, err = pubsub.NewGossipSub(ctx, host)
|
||||
service, err = pubsub.NewGossipSub(ctx, host, pubsubOptions...)
|
||||
|
||||
default:
|
||||
err = fmt.Errorf("Unknown pubsub router %s", cfg.Pubsub.Router)
|
||||
|
||||
@ -7,7 +7,7 @@ import (
|
||||
|
||||
"github.com/ipfs/go-ipfs/repo"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
datastore "gx/ipfs/QmaRb5yNXKonhbkpNxNawoydk4N6es6b4fPj19sjEKsh5D/go-datastore"
|
||||
syncds "gx/ipfs/QmaRb5yNXKonhbkpNxNawoydk4N6es6b4fPj19sjEKsh5D/go-datastore/sync"
|
||||
)
|
||||
|
||||
@ -12,9 +12,9 @@ import (
|
||||
caopts "github.com/ipfs/go-ipfs/core/coreapi/interface/options"
|
||||
|
||||
cid "gx/ipfs/QmPSQnBKM9g7BaUcZCvswUJVscQ1ipjmwxN5PXCjkp9EQ7/go-cid"
|
||||
pubsub "gx/ipfs/QmTQdS71yMtTmaSeeGptMDxDBpRcq2kTsJ6X2CPd7riyMs/go-libp2p-pubsub"
|
||||
peer "gx/ipfs/QmTRhk7cgjUf2gfQ3p2M9KPECNZEW9XUrmHcFCgog4cPgB/go-libp2p-peer"
|
||||
pstore "gx/ipfs/QmTTJcDL3gsnGDALjh2fDGg1onGRUdVgNL2hU2WEZcVrMX/go-libp2p-peerstore"
|
||||
pubsub "gx/ipfs/QmZuwf2M6vSPpHh9KWp59HFq3kAibka77hAbKhxeb7uW3T/go-libp2p-pubsub"
|
||||
)
|
||||
|
||||
type PubSubAPI CoreAPI
|
||||
|
||||
@ -23,7 +23,7 @@ import (
|
||||
"github.com/ipfs/go-ipfs/keystore"
|
||||
"github.com/ipfs/go-ipfs/repo"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
mh "gx/ipfs/QmPnFwZ2JXKnXgMw8CdBPxn7FWh6LLdjUjxV1fKHuJnkr8/go-multihash"
|
||||
ci "gx/ipfs/QmPvyPwuCgJ7pDmrKDxRtsScJgBaM5h4EpRL2qQJsmXf4n/go-libp2p-crypto"
|
||||
unixfs "gx/ipfs/QmTJUySFxXjh54zEoFbzQEmGD3yj89XKS3A28y7Nqsn1TC/go-unixfs"
|
||||
|
||||
@ -14,7 +14,7 @@ import (
|
||||
"github.com/ipfs/go-ipfs/core"
|
||||
corecommands "github.com/ipfs/go-ipfs/core/commands"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
path "gx/ipfs/QmRKuTyCzg7HFBcV1YUhzStroGtJSb8iWgyxfsDCwFhWTS/go-path"
|
||||
cmds "gx/ipfs/QmRRovo1DE6i5cMjCbf19mQCSuszF6SKwdZNUMS7MtBnH1/go-ipfs-cmds"
|
||||
cmdsHttp "gx/ipfs/QmRRovo1DE6i5cMjCbf19mQCSuszF6SKwdZNUMS7MtBnH1/go-ipfs-cmds/http"
|
||||
|
||||
@ -18,7 +18,7 @@ import (
|
||||
nsopts "github.com/ipfs/go-ipfs/namesys/opts"
|
||||
repo "github.com/ipfs/go-ipfs/repo"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
ci "gx/ipfs/QmPvyPwuCgJ7pDmrKDxRtsScJgBaM5h4EpRL2qQJsmXf4n/go-libp2p-crypto"
|
||||
path "gx/ipfs/QmRKuTyCzg7HFBcV1YUhzStroGtJSb8iWgyxfsDCwFhWTS/go-path"
|
||||
id "gx/ipfs/QmUDTcnDp2WssbmiDLC6aYurUeyt7QeRakHUQMxA2mZ5iB/go-libp2p/p2p/protocol/identify"
|
||||
|
||||
@ -15,7 +15,7 @@ import (
|
||||
"github.com/ipfs/go-ipfs/pin/gc"
|
||||
"github.com/ipfs/go-ipfs/repo"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
pi "gx/ipfs/QmPG32VXR5jmpo9q8R9FNdR4Ae97Ky9CiZE6SctJLUB79H/go-ipfs-posinfo"
|
||||
cid "gx/ipfs/QmPSQnBKM9g7BaUcZCvswUJVscQ1ipjmwxN5PXCjkp9EQ7/go-cid"
|
||||
blocks "gx/ipfs/QmRcHuYzAyswytBuMF78rj3LTChYszomRFXNg4685ZN1WM/go-block-format"
|
||||
|
||||
@ -7,7 +7,7 @@ import (
|
||||
core "github.com/ipfs/go-ipfs/core"
|
||||
"github.com/ipfs/go-ipfs/repo"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
peer "gx/ipfs/QmTRhk7cgjUf2gfQ3p2M9KPECNZEW9XUrmHcFCgog4cPgB/go-libp2p-peer"
|
||||
pstore "gx/ipfs/QmTTJcDL3gsnGDALjh2fDGg1onGRUdVgNL2hU2WEZcVrMX/go-libp2p-peerstore"
|
||||
libp2p "gx/ipfs/QmUDTcnDp2WssbmiDLC6aYurUeyt7QeRakHUQMxA2mZ5iB/go-libp2p"
|
||||
|
||||
16
package.json
16
package.json
@ -47,9 +47,9 @@
|
||||
"version": "0.1.3"
|
||||
},
|
||||
{
|
||||
"hash": "QmPwecoMB9jN9DosznNqcApK63PnrEmMduxp1mn5nqS7Pq",
|
||||
"hash": "QmV1DPm5F46LvQMxCVPhu35zHgZEeMvyVtpxjb5TwfGiua",
|
||||
"name": "iptb",
|
||||
"version": "1.3.18"
|
||||
"version": "1.3.19"
|
||||
},
|
||||
{
|
||||
"hash": "QmPnFwZ2JXKnXgMw8CdBPxn7FWh6LLdjUjxV1fKHuJnkr8",
|
||||
@ -458,9 +458,9 @@
|
||||
},
|
||||
{
|
||||
"author": "stebalien",
|
||||
"hash": "QmPgUM9uSnDuM8MAF56htHLMLn33KuUqT82PBsF13qyJNk",
|
||||
"hash": "QmWqQVkbYzC8himRvPCWmkfpFuYtHidY7xEKtrrQ3dhySs",
|
||||
"name": "go-libp2p-pubsub-router",
|
||||
"version": "0.4.14"
|
||||
"version": "0.5.1"
|
||||
},
|
||||
{
|
||||
"author": "Stebalien",
|
||||
@ -518,9 +518,9 @@
|
||||
},
|
||||
{
|
||||
"author": "magik6k",
|
||||
"hash": "QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6",
|
||||
"hash": "QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR",
|
||||
"name": "go-ipfs-config",
|
||||
"version": "0.2.15"
|
||||
"version": "0.2.16"
|
||||
},
|
||||
{
|
||||
"author": "why",
|
||||
@ -583,9 +583,9 @@
|
||||
},
|
||||
{
|
||||
"author": "whyrusleeping",
|
||||
"hash": "QmZuwf2M6vSPpHh9KWp59HFq3kAibka77hAbKhxeb7uW3T",
|
||||
"hash": "QmTQdS71yMtTmaSeeGptMDxDBpRcq2kTsJ6X2CPd7riyMs",
|
||||
"name": "go-libp2p-pubsub",
|
||||
"version": "0.10.2"
|
||||
"version": "0.11.1"
|
||||
}
|
||||
],
|
||||
"gxVersion": "0.10.0",
|
||||
|
||||
@ -7,7 +7,7 @@ import (
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
)
|
||||
|
||||
// note: to test sorting of the mountpoints in the disk spec they are
|
||||
|
||||
@ -18,8 +18,8 @@ import (
|
||||
mfsr "github.com/ipfs/go-ipfs/repo/fsrepo/migrations"
|
||||
dir "github.com/ipfs/go-ipfs/thirdparty/dir"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
serialize "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config/serialize"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
serialize "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config/serialize"
|
||||
util "gx/ipfs/QmPdKqUcHGFdeSpvjVoaTRPPstGif9GBZb5Q56RVw9o69A/go-ipfs-util"
|
||||
measure "gx/ipfs/QmQS6UXi1R87y9nEgnCNmG6YfMzvBSLir7xUheMNFP3hoe/go-ds-measure"
|
||||
ma "gx/ipfs/QmT4U94DnD8FRfqr21obWY32HLM5VExccPKMjQHofeYqr9/go-multiaddr"
|
||||
|
||||
@ -9,7 +9,7 @@ import (
|
||||
|
||||
"github.com/ipfs/go-ipfs/thirdparty/assert"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
datastore "gx/ipfs/QmaRb5yNXKonhbkpNxNawoydk4N6es6b4fPj19sjEKsh5D/go-datastore"
|
||||
)
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@ package fsrepo
|
||||
import (
|
||||
"os"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
homedir "gx/ipfs/QmdcULN1WCzgoQmcCaUAmEhwcxHYsDrbZ2LvRJKCL8dMrK/go-homedir"
|
||||
)
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@ import (
|
||||
filestore "github.com/ipfs/go-ipfs/filestore"
|
||||
keystore "github.com/ipfs/go-ipfs/keystore"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
ma "gx/ipfs/QmT4U94DnD8FRfqr21obWY32HLM5VExccPKMjQHofeYqr9/go-multiaddr"
|
||||
)
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@ import (
|
||||
filestore "github.com/ipfs/go-ipfs/filestore"
|
||||
keystore "github.com/ipfs/go-ipfs/keystore"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
ma "gx/ipfs/QmT4U94DnD8FRfqr21obWY32HLM5VExccPKMjQHofeYqr9/go-multiaddr"
|
||||
ds "gx/ipfs/QmaRb5yNXKonhbkpNxNawoydk4N6es6b4fPj19sjEKsh5D/go-datastore"
|
||||
)
|
||||
|
||||
@ -12,7 +12,7 @@ import (
|
||||
|
||||
"github.com/ipfs/go-ipfs/thirdparty/unit"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
random "gx/ipfs/QmSJ9n2s9NUoA9D849W5jj5SJ94nMcZpj1jCgQJieiNqSt/go-random"
|
||||
)
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@ import (
|
||||
|
||||
"github.com/ipfs/go-ipfs/thirdparty/unit"
|
||||
|
||||
config "gx/ipfs/QmNUhkTWN7iynJZTj1RcTsQDSRGGkh87zMo9ELypxhY8Y6/go-ipfs-config"
|
||||
config "gx/ipfs/QmPEpj17FDRpc7K1aArKZp3RsHtzRMKykeK9GVgn4WQGPR/go-ipfs-config"
|
||||
random "gx/ipfs/QmSJ9n2s9NUoA9D849W5jj5SJ94nMcZpj1jCgQJieiNqSt/go-random"
|
||||
)
|
||||
|
||||
|
||||
@ -10,85 +10,145 @@ test_expect_success 'init iptb' '
|
||||
iptb init -n $NUM_NODES --bootstrap=none --port=0
|
||||
'
|
||||
|
||||
run_pubsub_tests() {
|
||||
test_expect_success 'peer ids' '
|
||||
PEERID_0=$(iptb get id 0) &&
|
||||
PEERID_2=$(iptb get id 2)
|
||||
'
|
||||
|
||||
# ipfs pubsub sub
|
||||
test_expect_success 'pubsub' '
|
||||
echo "testOK" > expected &&
|
||||
touch empty &&
|
||||
mkfifo wait ||
|
||||
test_fsh echo init fail
|
||||
|
||||
# ipfs pubsub sub is long-running so we need to start it in the background and
|
||||
# wait put its output somewhere where we can access it
|
||||
(
|
||||
ipfsi 0 pubsub sub --enc=ndpayload testTopic | if read line; then
|
||||
echo $line > actual &&
|
||||
echo > wait
|
||||
fi
|
||||
) &
|
||||
'
|
||||
|
||||
test_expect_success "wait until ipfs pubsub sub is ready to do work" '
|
||||
go-sleep 500ms
|
||||
'
|
||||
|
||||
test_expect_success "can see peer subscribed to testTopic" '
|
||||
ipfsi 1 pubsub peers testTopic > peers_out
|
||||
'
|
||||
|
||||
test_expect_success "output looks good" '
|
||||
echo $PEERID_0 > peers_exp &&
|
||||
test_cmp peers_exp peers_out
|
||||
'
|
||||
|
||||
test_expect_success "publish something" '
|
||||
ipfsi 1 pubsub pub testTopic "testOK" &> pubErr
|
||||
'
|
||||
|
||||
test_expect_success "wait until echo > wait executed" '
|
||||
cat wait &&
|
||||
test_cmp pubErr empty &&
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success "wait for another pubsub message" '
|
||||
echo "testOK2" > expected &&
|
||||
mkfifo wait2 ||
|
||||
test_fsh echo init fail
|
||||
|
||||
# ipfs pubsub sub is long-running so we need to start it in the background and
|
||||
# wait put its output somewhere where we can access it
|
||||
(
|
||||
ipfsi 2 pubsub sub --enc=ndpayload testTopic | if read line; then
|
||||
echo $line > actual &&
|
||||
echo > wait2
|
||||
fi
|
||||
) &
|
||||
'
|
||||
|
||||
test_expect_success "wait until ipfs pubsub sub is ready to do work" '
|
||||
go-sleep 500ms
|
||||
'
|
||||
|
||||
test_expect_success "publish something" '
|
||||
echo "testOK2" | ipfsi 3 pubsub pub testTopic &> pubErr
|
||||
'
|
||||
|
||||
test_expect_success "wait until echo > wait executed" '
|
||||
echo "testOK2" > expected &&
|
||||
cat wait2 &&
|
||||
test_cmp pubErr empty &&
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'cleanup fifos' '
|
||||
rm -f wait wait2
|
||||
'
|
||||
|
||||
}
|
||||
|
||||
# Normal tests
|
||||
|
||||
startup_cluster $NUM_NODES --enable-pubsub-experiment
|
||||
run_pubsub_tests
|
||||
test_expect_success 'stop iptb' '
|
||||
iptb stop
|
||||
'
|
||||
|
||||
# Test with some nodes not signing messages.
|
||||
|
||||
test_expect_success 'disable signing on node 1' '
|
||||
ipfsi 1 config --json Pubsub.DisableSigning true
|
||||
'
|
||||
|
||||
startup_cluster $NUM_NODES --enable-pubsub-experiment
|
||||
run_pubsub_tests
|
||||
test_expect_success 'stop iptb' '
|
||||
iptb stop
|
||||
'
|
||||
|
||||
# Test strict message verification.
|
||||
|
||||
test_expect_success 'enable strict signature verification on node 4' '
|
||||
ipfsi 4 config --json Pubsub.StrictSignatureVerification true
|
||||
'
|
||||
|
||||
startup_cluster $NUM_NODES --enable-pubsub-experiment
|
||||
|
||||
test_expect_success 'peer ids' '
|
||||
PEERID_0=$(iptb get id 0) &&
|
||||
PEERID_2=$(iptb get id 2)
|
||||
test_expect_success 'set node 4 to listen on testTopic' '
|
||||
ipfsi 4 pubsub sub --enc=ndpayload testTopic > node4_actual &
|
||||
'
|
||||
|
||||
# ipfs pubsub sub
|
||||
test_expect_success 'pubsub' '
|
||||
echo "testOK" > expected &&
|
||||
touch empty &&
|
||||
mkfifo wait ||
|
||||
test_fsh echo init fail
|
||||
|
||||
# ipfs pubsub sub is long-running so we need to start it in the background and
|
||||
# wait put its output somewhere where we can access it
|
||||
(
|
||||
ipfsi 0 pubsub sub --enc=ndpayload testTopic | if read line; then
|
||||
echo $line > actual &&
|
||||
echo > wait
|
||||
fi
|
||||
) &
|
||||
'
|
||||
|
||||
test_expect_success "wait until ipfs pubsub sub is ready to do work" '
|
||||
go-sleep 500ms
|
||||
'
|
||||
|
||||
test_expect_success "can see peer subscribed to testTopic" '
|
||||
ipfsi 1 pubsub peers testTopic > peers_out
|
||||
'
|
||||
|
||||
test_expect_success "output looks good" '
|
||||
echo $PEERID_0 > peers_exp &&
|
||||
test_cmp peers_exp peers_out
|
||||
'
|
||||
|
||||
test_expect_success "publish something" '
|
||||
ipfsi 1 pubsub pub testTopic "testOK" &> pubErr
|
||||
'
|
||||
|
||||
test_expect_success "wait until echo > wait executed" '
|
||||
cat wait &&
|
||||
test_cmp pubErr empty &&
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success "wait for another pubsub message" '
|
||||
echo "testOK2" > expected &&
|
||||
mkfifo wait2 ||
|
||||
test_fsh echo init fail
|
||||
|
||||
# ipfs pubsub sub is long-running so we need to start it in the background and
|
||||
# wait put its output somewhere where we can access it
|
||||
(
|
||||
ipfsi 2 pubsub sub --enc=ndpayload testTopic | if read line; then
|
||||
echo $line > actual &&
|
||||
echo > wait2
|
||||
fi
|
||||
) &
|
||||
'
|
||||
|
||||
test_expect_success "wait until ipfs pubsub sub is ready to do work" '
|
||||
go-sleep 500ms
|
||||
'
|
||||
|
||||
test_expect_success "publish something" '
|
||||
echo "testOK2" | ipfsi 1 pubsub pub testTopic &> pubErr
|
||||
'
|
||||
|
||||
test_expect_success "wait until echo > wait executed" '
|
||||
echo "testOK2" > expected &&
|
||||
cat wait2 &&
|
||||
test_cmp pubErr empty &&
|
||||
test_cmp expected actual
|
||||
'
|
||||
run_pubsub_tests
|
||||
|
||||
test_expect_success 'stop iptb' '
|
||||
iptb stop
|
||||
'
|
||||
|
||||
test_expect_success 'node 4 only got the signed message' '
|
||||
echo "testOK2" > node4_expected &&
|
||||
test_cmp node4_actual node4_expected
|
||||
'
|
||||
|
||||
# Test all nodes signing with strict verification
|
||||
|
||||
test_expect_success 're-enable signing on node 1' '
|
||||
ipfsi 1 config --json Pubsub.DisableSigning false
|
||||
'
|
||||
|
||||
test_expect_success 'enable strict signature verification on all nodes' '
|
||||
iptb for-each ipfs config --json Pubsub.StrictSignatureVerification true
|
||||
'
|
||||
|
||||
startup_cluster $NUM_NODES --enable-pubsub-experiment
|
||||
run_pubsub_tests
|
||||
test_expect_success 'stop iptb' '
|
||||
iptb stop
|
||||
'
|
||||
|
||||
test_done
|
||||
|
||||
Loading…
Reference in New Issue
Block a user