Skip to content

Commit

Permalink
Merge pull request #466 from jbenet/peer-restrict
Browse files Browse the repository at this point in the history
The Peer is Dead. Long live the ID
  • Loading branch information
jbenet committed Dec 23, 2014
2 parents 6e9cb06 + a5018fc commit 32589ad
Show file tree
Hide file tree
Showing 125 changed files with 3,549 additions and 3,237 deletions.
2 changes: 1 addition & 1 deletion Godeps/Godeps.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions Godeps/_workspace/src/github.com/jbenet/go-peerstream/conn.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ test: test_go test_sharness
test_expensive: test_go_expensive test_sharness_expensive

test_docker:
cd ./src/github.com/jbenet/go-ipfs
docker build -t zaqwsx_ipfs-test-img .
cd dockertest/ && make

test_go:
Expand Down
1 change: 0 additions & 1 deletion blockservice/blockservice.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ func New(bs blockstore.Blockstore, rem exchange.Interface) (*BlockService, error
// TODO pass a context into this if the remote.HasBlock is going to remain here.
func (s *BlockService) AddBlock(b *blocks.Block) (u.Key, error) {
k := b.Key()
log.Debugf("blockservice: storing [%s] in datastore", k)
err := s.Blockstore.Put(b)
if err != nil {
return k, err
Expand Down
5 changes: 2 additions & 3 deletions blockservice/mock.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@ import (

// Mocks returns |n| connected mock Blockservices
func Mocks(t *testing.T, n int) []*BlockService {
net := tn.VirtualNetwork(delay.Fixed(0))
rs := mockrouting.NewServer()
sg := bitswap.NewSessionGenerator(net, rs)
net := tn.VirtualNetwork(mockrouting.NewServer(), delay.Fixed(0))
sg := bitswap.NewSessionGenerator(net)

instances := sg.Instances(n)

Expand Down
2 changes: 1 addition & 1 deletion cmd/ipfs/init.go
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ func identityConfig(nbits int) (config.Identity, error) {
}
ident.PrivKey = base64.StdEncoding.EncodeToString(skbytes)

id, err := peer.IDFromPubKey(pk)
id, err := peer.IDFromPublicKey(pk)
if err != nil {
return ident, err
}
Expand Down
25 changes: 15 additions & 10 deletions cmd/seccat/seccat.go
Original file line number Diff line number Diff line change
Expand Up @@ -109,24 +109,28 @@ func main() {
}
}

func setupPeer(a args) (peer.Peer, peer.Peerstore, error) {
func setupPeer(a args) (peer.ID, peer.Peerstore, error) {
if a.keybits < 1024 {
return nil, nil, errors.New("Bitsize less than 1024 is considered unsafe.")
return "", nil, errors.New("Bitsize less than 1024 is considered unsafe.")
}

out("generating key pair...")
sk, pk, err := ci.GenerateKeyPair(ci.RSA, a.keybits)
if err != nil {
return nil, nil, err
return "", nil, err
}

ps := peer.NewPeerstore()
peer, err := ps.WithKeyPair(sk, pk)
p, err := peer.IDFromPublicKey(pk)
if err != nil {
return nil, nil, err
return "", nil, err
}
out("local peer id: %s", peer.ID())
return peer, ps, nil

ps := peer.NewPeerstore()
ps.AddPrivKey(p, sk)
ps.AddPubKey(p, pk)

out("local peer id: %s", p)
return p, ps, nil
}

func connect(args args) error {
Expand All @@ -149,12 +153,13 @@ func connect(args args) error {
rwc := &logRW{n: "conn", rw: conn}

// OK, let's setup the channel.
sg := secio.SessionGenerator{Local: p, Peerstore: ps}
sk := ps.PrivKey(p)
sg := secio.SessionGenerator{LocalID: p, PrivateKey: sk}
sess, err := sg.NewSession(nil, rwc)
if err != nil {
return err
}
out("remote peer id: %s", sess.RemotePeer().ID())
out("remote peer id: %s", sess.RemotePeer())
netcat(sess.ReadWriter().(io.ReadWriteCloser))
return nil
}
Expand Down
7 changes: 3 additions & 4 deletions config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@
package config

import (
"crypto"
"crypto/x509"
"encoding/base64"
"os"
"path/filepath"

ic "github.com/jbenet/go-ipfs/crypto"
u "github.com/jbenet/go-ipfs/util"
"github.com/jbenet/go-ipfs/util/debugerror"
)
Expand Down Expand Up @@ -132,15 +131,15 @@ func Filename(configroot string) (string, error) {
}

// DecodePrivateKey is a helper to decode the users PrivateKey
func (i *Identity) DecodePrivateKey(passphrase string) (crypto.PrivateKey, error) {
func (i *Identity) DecodePrivateKey(passphrase string) (ic.PrivKey, error) {
pkb, err := base64.StdEncoding.DecodeString(i.PrivKey)
if err != nil {
return nil, err
}

// currently storing key unencrypted. in the future we need to encrypt it.
// TODO(security)
return x509.ParsePKCS1PrivateKey(pkb)
return ic.UnmarshalPrivateKey(pkb)
}

// Load reads given file and returns the read config, or error.
Expand Down
Loading

0 comments on commit 32589ad

Please sign in to comment.