From a5233faeae5e86241e435a5753a53816a766d733 Mon Sep 17 00:00:00 2001 From: Jeromy Date: Fri, 16 Jan 2015 23:53:56 +0000 Subject: [PATCH] some comments --- core/core.go | 3 +++ fuse/ipns/ipns_unix.go | 2 ++ routing/dht/dht.go | 2 ++ routing/dht/records.go | 4 +++- routing/offline/offline.go | 4 ++++ 5 files changed, 14 insertions(+), 1 deletion(-) diff --git a/core/core.go b/core/core.go index 74aa655cb..1ce49d035 100644 --- a/core/core.go +++ b/core/core.go @@ -355,6 +355,9 @@ func (n *IpfsNode) loadPrivateKey() error { return nil } +// SetupOfflineRouting loads the local nodes private key and +// uses it to instantiate a routing system in offline mode. +// This is primarily used for offline ipns modifications. func (n *IpfsNode) SetupOfflineRouting() error { err := n.loadPrivateKey() if err != nil { diff --git a/fuse/ipns/ipns_unix.go b/fuse/ipns/ipns_unix.go index 78f1b5687..aa4c8fa5b 100644 --- a/fuse/ipns/ipns_unix.go +++ b/fuse/ipns/ipns_unix.go @@ -33,6 +33,8 @@ var ( longRepublishTimeout = time.Millisecond * 500 ) +// InitializeKeyspace sets the ipns record for the given key to +// point to an empty directory. func InitializeKeyspace(n *core.IpfsNode, key ci.PrivKey) error { emptyDir := &mdag.Node{Data: ft.FolderPBData()} k, err := n.DAG.Add(emptyDir) diff --git a/routing/dht/dht.go b/routing/dht/dht.go index e4a285528..344092057 100644 --- a/routing/dht/dht.go +++ b/routing/dht/dht.go @@ -235,6 +235,8 @@ func (dht *IpfsDHT) getLocal(key u.Key) ([]byte, error) { return rec.GetValue(), nil } +// getOwnPrivateKey attempts to load the local peers private +// key from the peerstore. func (dht *IpfsDHT) getOwnPrivateKey() (ci.PrivKey, error) { sk := dht.peerstore.PrivKey(dht.self) if sk == nil { diff --git a/routing/dht/records.go b/routing/dht/records.go index 5dbcccaaa..2dc9644cf 100644 --- a/routing/dht/records.go +++ b/routing/dht/records.go @@ -42,7 +42,7 @@ func RecordBlobForSig(r *pb.Record) []byte { return bytes.Join([][]byte{k, v, a}, []byte{}) } -// creates and signs a dht record for the given key/value pair +// MakePutRecord creates and signs a dht record for the given key/value pair func MakePutRecord(sk ci.PrivKey, key u.Key, value []byte) (*pb.Record, error) { record := new(pb.Record) @@ -175,6 +175,8 @@ func (dht *IpfsDHT) verifyRecordOnline(ctx context.Context, r *pb.Record) error return dht.verifyRecord(r, pk) } +// TODO: make this an independent exported function. +// it might be useful for users to have access to. func (dht *IpfsDHT) verifyRecord(r *pb.Record, pk ci.PubKey) error { // First, validate the signature blob := RecordBlobForSig(r) diff --git a/routing/offline/offline.go b/routing/offline/offline.go index 7109c6abe..41baf50d2 100644 --- a/routing/offline/offline.go +++ b/routing/offline/offline.go @@ -27,6 +27,9 @@ func NewOfflineRouter(dstore ds.Datastore, privkey ci.PrivKey) routing.IpfsRouti } } +// offlineRouting implements the IpfsRouting interface, +// but only provides the capability to Put and Get signed dht +// records to and from the local datastore. type offlineRouting struct { datastore ds.Datastore sk ci.PrivKey @@ -86,4 +89,5 @@ func (c *offlineRouting) Ping(ctx context.Context, p peer.ID) (time.Duration, er return 0, ErrOffline } +// ensure offlineRouting matches the IpfsRouting interface var _ routing.IpfsRouting = &offlineRouting{}