@cryptotaxi247 / kubo / commits / a5d54ea29

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.