mirror of
https://github.com/ipfs/kubo.git
synced 2025-09-10 09:52:20 +08:00
fix up tests that started failing after changing identify code
This commit is contained in:
@ -93,7 +93,7 @@ func NewIpfsNode(cfg *config.Config, online bool) (*IpfsNode, error) {
|
||||
}
|
||||
|
||||
func loadBitswap(cfg *config.Config, d ds.Datastore) (*bitswap.BitSwap, error) {
|
||||
maddr, err := ma.NewMultiaddr("/ip4/127.0.0.1/tcp/4001")
|
||||
maddr, err := ma.NewMultiaddr(cfg.Identity.Address)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ func Handshake(self, remote *peer.Peer, in, out chan []byte) error {
|
||||
}
|
||||
|
||||
// Challenge peer to ensure they own the given pubkey
|
||||
secret := make([]byte, 32)
|
||||
secret := make([]byte, 16)
|
||||
rand.Read(secret)
|
||||
encrypted, err := rsa.EncryptPKCS1v15(rand.Reader, pubkey.(*rsa.PublicKey), secret)
|
||||
if err != nil {
|
||||
@ -66,7 +66,7 @@ func Handshake(self, remote *peer.Peer, in, out chan []byte) error {
|
||||
return errors.New("Recieved incorrect challenge response!")
|
||||
}
|
||||
|
||||
remote.ID = peer.ID(resp)
|
||||
remote.ID = peer.ID(pbresp.GetId())
|
||||
remote.PubKey = pubkey
|
||||
u.DOut("[%s] identify: Got node id: %s\n", self.ID.Pretty(), remote.ID.Pretty())
|
||||
|
||||
|
@ -4,6 +4,7 @@ import (
|
||||
"testing"
|
||||
|
||||
ds "github.com/jbenet/datastore.go"
|
||||
identify "github.com/jbenet/go-ipfs/identify"
|
||||
peer "github.com/jbenet/go-ipfs/peer"
|
||||
swarm "github.com/jbenet/go-ipfs/swarm"
|
||||
u "github.com/jbenet/go-ipfs/util"
|
||||
@ -27,7 +28,17 @@ func setupDHTS(n int, t *testing.T) ([]*ma.Multiaddr, []*peer.Peer, []*IpfsDHT)
|
||||
for i := 0; i < 4; i++ {
|
||||
p := new(peer.Peer)
|
||||
p.AddAddress(addrs[i])
|
||||
p.ID = peer.ID([]byte(fmt.Sprintf("peer_%d", i)))
|
||||
kp, err := identify.GenKeypair(256)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
p.PubKey = kp.Pub
|
||||
p.PrivKey = kp.Priv
|
||||
id, err := kp.ID()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
p.ID = id
|
||||
peers = append(peers, p)
|
||||
}
|
||||
|
||||
@ -46,8 +57,26 @@ func setupDHTS(n int, t *testing.T) ([]*ma.Multiaddr, []*peer.Peer, []*IpfsDHT)
|
||||
return addrs, peers, dhts
|
||||
}
|
||||
|
||||
func makePeer(addr *ma.Multiaddr) *peer.Peer {
|
||||
p := new(peer.Peer)
|
||||
p.AddAddress(addr)
|
||||
kp, err := identify.GenKeypair(256)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
p.PrivKey = kp.Priv
|
||||
p.PubKey = kp.Pub
|
||||
id, err := kp.ID()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
p.ID = id
|
||||
return p
|
||||
}
|
||||
|
||||
func TestPing(t *testing.T) {
|
||||
u.Debug = false
|
||||
u.Debug = true
|
||||
addrA, err := ma.NewMultiaddr("/ip4/127.0.0.1/tcp/2222")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
@ -57,13 +86,8 @@ func TestPing(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
peerA := new(peer.Peer)
|
||||
peerA.AddAddress(addrA)
|
||||
peerA.ID = peer.ID([]byte("peerA"))
|
||||
|
||||
peerB := new(peer.Peer)
|
||||
peerB.AddAddress(addrB)
|
||||
peerB.ID = peer.ID([]byte("peerB"))
|
||||
peerA := makePeer(addrA)
|
||||
peerB := makePeer(addrB)
|
||||
|
||||
neta := swarm.NewSwarm(peerA)
|
||||
err = neta.Listen()
|
||||
@ -108,13 +132,8 @@ func TestValueGetSet(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
peerA := new(peer.Peer)
|
||||
peerA.AddAddress(addrA)
|
||||
peerA.ID = peer.ID([]byte("peerA"))
|
||||
|
||||
peerB := new(peer.Peer)
|
||||
peerB.AddAddress(addrB)
|
||||
peerB.ID = peer.ID([]byte("peerB"))
|
||||
peerA := makePeer(addrA)
|
||||
peerB := makePeer(addrB)
|
||||
|
||||
neta := swarm.NewSwarm(peerA)
|
||||
err = neta.Listen()
|
||||
|
@ -315,8 +315,9 @@ func (dht *IpfsDHT) FindPeer(id peer.ID, timeout time.Duration) (*peer.Peer, err
|
||||
for routeLevel < len(dht.routingTables) {
|
||||
pmes, err := dht.findPeerSingle(p, id, timeout, routeLevel)
|
||||
plist := pmes.GetPeers()
|
||||
if len(plist) == 0 {
|
||||
if plist == nil || len(plist) == 0 {
|
||||
routeLevel++
|
||||
continue
|
||||
}
|
||||
found := plist[0]
|
||||
|
||||
|
@ -184,10 +184,15 @@ func (s *Swarm) handleNewConn(nconn net.Conn) {
|
||||
maddr, err := ma.NewMultiaddr(string(addr))
|
||||
if err != nil {
|
||||
u.PErr("Got invalid address from peer.")
|
||||
s.Error(err)
|
||||
return
|
||||
}
|
||||
p.AddAddress(maddr)
|
||||
|
||||
s.StartConn(conn)
|
||||
err = s.StartConn(conn)
|
||||
if err != nil {
|
||||
s.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
// Close closes a swarm.
|
||||
|
Reference in New Issue
Block a user