fix up tests that started failing after changing identify code
Jeromy committed
Sep 1, 2014 at 21:55 UTC
a5d54ea29e7cc6d3aa0515970d31e2574fea918b
5 files changed
+46
-21
core/core.go
+1
-1
@@ -93,7 +93,7 @@ func NewIpfsNode(cfg *config.Config, online bool) (*IpfsNode, error) {
93
}
94
95
func loadBitswap(cfg *config.Config, d ds.Datastore) (*bitswap.BitSwap, error) {
96
- maddr, err := ma.NewMultiaddr("/ip4/127.0.0.1/tcp/4001")
96
+ maddr, err := ma.NewMultiaddr(cfg.Identity.Address)
97
if err != nil {
98
return nil, err
99
}
identify/identify.go
+2
-2
@@ -43,7 +43,7 @@ func Handshake(self, remote *peer.Peer, in, out chan []byte) error {
43
}
44
45
// Challenge peer to ensure they own the given pubkey
46
- secret := make([]byte, 32)
46
+ secret := make([]byte, 16)
47
rand.Read(secret)
48
encrypted, err := rsa.EncryptPKCS1v15(rand.Reader, pubkey.(*rsa.PublicKey), secret)
49
if err != nil {
@@ -66,7 +66,7 @@ func Handshake(self, remote *peer.Peer, in, out chan []byte) error {
66
return errors.New("Recieved incorrect challenge response!")
67
}
68
69
- remote.ID = peer.ID(resp)
69
+ remote.ID = peer.ID(pbresp.GetId())
70
remote.PubKey = pubkey
71
u.DOut("[%s] identify: Got node id: %s\n", self.ID.Pretty(), remote.ID.Pretty())
72
routing/dht/dht_test.go
+35
-16
@@ -4,6 +4,7 @@ import (
4
"testing"
5
6
ds "github.com/jbenet/datastore.go"
7
+ identify "github.com/jbenet/go-ipfs/identify"
8
peer "github.com/jbenet/go-ipfs/peer"
9
swarm "github.com/jbenet/go-ipfs/swarm"
10
u "github.com/jbenet/go-ipfs/util"
@@ -27,7 +28,17 @@ func setupDHTS(n int, t *testing.T) ([]*ma.Multiaddr, []*peer.Peer, []*IpfsDHT)
28
for i := 0; i < 4; i++ {
29
p := new(peer.Peer)
30
p.AddAddress(addrs[i])
30
- p.ID = peer.ID([]byte(fmt.Sprintf("peer_%d", i)))
31
+ kp, err := identify.GenKeypair(256)
32
+ if err != nil {
33
+ panic(err)
34
+ }
35
+ p.PubKey = kp.Pub
36
+ p.PrivKey = kp.Priv
37
+ id, err := kp.ID()
38
+ if err != nil {
39
+ panic(err)
40
+ }
41
+ p.ID = id
42
peers = append(peers, p)
43
}
44
@@ -46,8 +57,26 @@ func setupDHTS(n int, t *testing.T) ([]*ma.Multiaddr, []*peer.Peer, []*IpfsDHT)
57
return addrs, peers, dhts
58
}
59
60
+func makePeer(addr *ma.Multiaddr) *peer.Peer {
61
+ p := new(peer.Peer)
62
+ p.AddAddress(addr)
63
+ kp, err := identify.GenKeypair(256)
64
+ if err != nil {
65
+ panic(err)
66
+ }
67
+ p.PrivKey = kp.Priv
68
+ p.PubKey = kp.Pub
69
+ id, err := kp.ID()
70
+ if err != nil {
71
+ panic(err)
72
+ }
73
+
74
+ p.ID = id
75
+ return p
76
+}
77
+
78
func TestPing(t *testing.T) {
50
- u.Debug = false
79
+ u.Debug = true
80
addrA, err := ma.NewMultiaddr("/ip4/127.0.0.1/tcp/2222")
81
if err != nil {
82
t.Fatal(err)
@@ -57,13 +86,8 @@ func TestPing(t *testing.T) {
86
t.Fatal(err)
87
}
88
60
- peerA := new(peer.Peer)
61
- peerA.AddAddress(addrA)
62
- peerA.ID = peer.ID([]byte("peerA"))
63
-
64
- peerB := new(peer.Peer)
65
- peerB.AddAddress(addrB)
66
- peerB.ID = peer.ID([]byte("peerB"))
89
+ peerA := makePeer(addrA)
90
+ peerB := makePeer(addrB)
91
92
neta := swarm.NewSwarm(peerA)
93
err = neta.Listen()
@@ -108,13 +132,8 @@ func TestValueGetSet(t *testing.T) {
132
t.Fatal(err)
133
}
134
111
- peerA := new(peer.Peer)
112
- peerA.AddAddress(addrA)
113
- peerA.ID = peer.ID([]byte("peerA"))
114
-
115
- peerB := new(peer.Peer)
116
- peerB.AddAddress(addrB)
117
- peerB.ID = peer.ID([]byte("peerB"))
135
+ peerA := makePeer(addrA)
136
+ peerB := makePeer(addrB)
137
138
neta := swarm.NewSwarm(peerA)
139
err = neta.Listen()
routing/dht/routing.go
+2
-1
@@ -315,8 +315,9 @@ func (dht *IpfsDHT) FindPeer(id peer.ID, timeout time.Duration) (*peer.Peer, err
315
for routeLevel < len(dht.routingTables) {
316
pmes, err := dht.findPeerSingle(p, id, timeout, routeLevel)
317
plist := pmes.GetPeers()
318
- if len(plist) == 0 {
318
+ if plist == nil || len(plist) == 0 {
319
routeLevel++
320
+ continue
321
}
322
found := plist[0]
323
swarm/swarm.go
+6
-1
@@ -184,10 +184,15 @@ func (s *Swarm) handleNewConn(nconn net.Conn) {
184
maddr, err := ma.NewMultiaddr(string(addr))
185
if err != nil {
186
u.PErr("Got invalid address from peer.")
187
+ s.Error(err)
188
+ return
189
}
190
p.AddAddress(maddr)
191
190
- s.StartConn(conn)
192
+ err = s.StartConn(conn)
193
+ if err != nil {
194
+ s.Error(err)
195
+ }
196
}
197
198
// Close closes a swarm.