clean up merge of bren2010's crypto branch and merge into master
Jeromy committed
Sep 7, 2014 at 04:25 UTC
1fa7c07dc7e500cf445687c13f054d0e77ce4cf5
7 files changed
+27
-14
importer/importer_test.go
+2
-2
@@ -18,7 +18,7 @@ func TestFileConsistency(t *testing.T) {
18
if err != nil {
19
t.Fatal(err)
20
}
21
- r, err := dag.NewDagReader(nd)
21
+ r, err := dag.NewDagReader(nd, nil)
22
if err != nil {
23
t.Fatal(err)
24
}
@@ -42,7 +42,7 @@ func TestFileConsistencyLargeBlocks(t *testing.T) {
42
if err != nil {
43
t.Fatal(err)
44
}
45
- r, err := dag.NewDagReader(nd)
45
+ r, err := dag.NewDagReader(nd, nil)
46
if err != nil {
47
t.Fatal(err)
48
}
routing/dht/dht.go
+4
-1
@@ -648,7 +648,10 @@ func (dht *IpfsDHT) peerFromInfo(pbp *PBDHTMessage_PBPeer) (*peer.Peer, error) {
648
}
649
650
func (dht *IpfsDHT) loadProvidableKeys() error {
651
- kl := dht.datastore.KeyList()
651
+ kl, err := dht.datastore.KeyList()
652
+ if err != nil {
653
+ return err
654
+ }
655
for _, k := range kl {
656
dht.providers.AddProvider(u.Key(k.Bytes()), dht.self)
657
}
routing/dht/dht_test.go
+2
-2
@@ -29,7 +29,7 @@ func setupDHTS(n int, t *testing.T) ([]*ma.Multiaddr, []*peer.Peer, []*IpfsDHT)
29
for i := 0; i < 4; i++ {
30
p := new(peer.Peer)
31
p.AddAddress(addrs[i])
32
- sk, pk, err := ci.GenerateKeyPair(ci.RSA, 256)
32
+ sk, pk, err := ci.GenerateKeyPair(ci.RSA, 512)
33
if err != nil {
34
panic(err)
35
}
@@ -61,7 +61,7 @@ func setupDHTS(n int, t *testing.T) ([]*ma.Multiaddr, []*peer.Peer, []*IpfsDHT)
61
func makePeer(addr *ma.Multiaddr) *peer.Peer {
62
p := new(peer.Peer)
63
p.AddAddress(addr)
64
- sk, pk, err := ci.GenerateKeyPair(ci.RSA, 256)
64
+ sk, pk, err := ci.GenerateKeyPair(ci.RSA, 512)
65
if err != nil {
66
panic(err)
67
}
routing/dht/ext_test.go
-2
@@ -189,7 +189,6 @@ func TestNotFound(t *testing.T) {
189
190
// Reply with random peers to every message
191
fn.AddHandler(func(mes *swarm.Message) *swarm.Message {
192
- t.Log("Handling message...")
192
pmes := new(PBDHTMessage)
193
err := proto.Unmarshal(mes.Data, pmes)
194
if err != nil {
@@ -252,7 +251,6 @@ func TestLessThanKResponses(t *testing.T) {
251
252
// Reply with random peers to every message
253
fn.AddHandler(func(mes *swarm.Message) *swarm.Message {
255
- t.Log("Handling message...")
254
pmes := new(PBDHTMessage)
255
err := proto.Unmarshal(mes.Data, pmes)
256
if err != nil {
swarm/conn.go
+2
@@ -25,6 +25,8 @@ type Conn struct {
25
Closed chan bool
26
Outgoing *msgio.Chan
27
Incoming *msgio.Chan
28
+ secIn chan []byte
29
+ secOut chan []byte
30
}
31
32
// ConnMap maps Keys (Peer.IDs) to Connections.
swarm/swarm.go
+13
-7
@@ -172,7 +172,7 @@ func (s *Swarm) handleNewConn(nconn net.Conn) {
172
}
173
newConnChans(conn)
174
175
- _, _, err := ident.Handshake(s.local, p, conn.Incoming.MsgChan, conn.Outgoing.MsgChan)
175
+ sin, sout, err := ident.Handshake(s.local, p, conn.Incoming.MsgChan, conn.Outgoing.MsgChan)
176
if err != nil {
177
u.PErr("%v\n", err.Error())
178
conn.Close()
@@ -180,7 +180,7 @@ func (s *Swarm) handleNewConn(nconn net.Conn) {
180
}
181
182
// Get address to contact remote peer from
183
- addr := <-conn.Incoming.MsgChan
183
+ addr := <-sin
184
maddr, err := ma.NewMultiaddr(string(addr))
185
if err != nil {
186
u.PErr("Got invalid address from peer.")
@@ -189,6 +189,9 @@ func (s *Swarm) handleNewConn(nconn net.Conn) {
189
}
190
p.AddAddress(maddr)
191
192
+ conn.secIn = sin
193
+ conn.secOut = sout
194
+
195
err = s.StartConn(conn)
196
if err != nil {
197
s.Error(err)
@@ -295,7 +298,7 @@ func (s *Swarm) fanOut() {
298
}
299
300
// queue it in the connection's buffer
298
- conn.Outgoing.MsgChan <- msg.Data
301
+ conn.secOut <- msg.Data
302
}
303
}
304
}
@@ -313,7 +316,7 @@ func (s *Swarm) fanIn(conn *Conn) {
316
case <-conn.Closed:
317
goto out
318
316
- case data, ok := <-conn.Incoming.MsgChan:
319
+ case data, ok := <-conn.secIn:
320
if !ok {
321
e := fmt.Errorf("Error retrieving from conn: %v", conn.Peer.Key().Pretty())
322
s.Chan.Errors <- e
@@ -424,7 +427,7 @@ func (s *Swarm) GetConnection(id peer.ID, addr *ma.Multiaddr) (*peer.Peer, error
427
428
// Handle performing a handshake on a new connection and ensuring proper forward communication
429
func (s *Swarm) handleDialedCon(conn *Conn) error {
427
- _, _, err := ident.Handshake(s.local, conn.Peer, conn.Incoming.MsgChan, conn.Outgoing.MsgChan)
430
+ sin, sout, err := ident.Handshake(s.local, conn.Peer, conn.Incoming.MsgChan, conn.Outgoing.MsgChan)
431
if err != nil {
432
return err
433
}
@@ -433,10 +436,13 @@ func (s *Swarm) handleDialedCon(conn *Conn) error {
436
myaddr := s.local.NetAddress("tcp")
437
mastr, err := myaddr.String()
438
if err != nil {
436
- errors.New("No local address to send to peer.")
439
+ return errors.New("No local address to send to peer.")
440
}
441
439
- conn.Outgoing.MsgChan <- []byte(mastr)
442
+ sout <- []byte(mastr)
443
+
444
+ conn.secIn = sin
445
+ conn.secOut = sout
446
447
s.StartConn(conn)
448
swarm/swarm_test.go
+4
@@ -89,6 +89,10 @@ func TestSwarm(t *testing.T) {
89
t.Fatal("error swarm dialing to peer", err)
90
}
91
92
+ //Since we arent doing a handshake, set up 'secure' channels
93
+ conn.secIn = conn.Incoming.MsgChan
94
+ conn.secOut = conn.Outgoing.MsgChan
95
+
96
swarm.StartConn(conn)
97
// ok done, add it.
98
peers = append(peers, peer)