Commit Graph

694 Commits

Author SHA1 Message Date
Peter Borzov
4c167a42e2 Rename config.Updates to config.Version 2014-10-09 19:58:51 -07:00
Peter Borzov
bd9142f042 Turn on update checker for local nodes 2014-10-09 19:58:19 -07:00
Peter Borzov
f6650b0289 Check for updates:if github releases with higher tag semvers exist 2014-10-09 19:57:59 -07:00
Peter Borzov
c8678666e3 Save ipfs version used to initialize config 2014-10-09 19:57:59 -07:00
Peter Borzov
6f033dd7a1 Initialize Updates.check config setting 2014-10-09 19:57:59 -07:00
Peter Borzov
ecd6f3b00c Add Updates.Check field to Config 2014-10-09 19:57:58 -07:00
Juan Batiz-Benet
555bc871fc bugfixes to prev commit 2014-10-09 04:53:02 -07:00
Juan Batiz-Benet
972c0f7b4b u.DOut -> log.Debug
and other logging switches. I kept the u.PErr and u.POut in cli
commands, as those do need to write raw output directly.
2014-10-09 04:50:22 -07:00
Juan Batiz-Benet
c6ffaa4a77 Merge pull request #45 from jbenet/ipns
Ipns name resolution
2014-10-09 04:05:56 -07:00
Juan Batiz-Benet
a53813c8fa fixed resolver test 2014-10-09 03:50:52 -07:00
Juan Batiz-Benet
ab83c52431 Merge branch 'master' into ipns
Conflicts:
	cmd/ipfs/ipfs.go
2014-10-09 03:46:35 -07:00
Juan Batiz-Benet
2fa43ce46c ipfs name cmd improvements
- cleaned up cmd help
- ipfs name publish [<name>] <ref>
- ipfs name resolve [<name>]
- publish validates <ref>
- both validate n args
2014-10-09 03:39:47 -07:00
Juan Batiz-Benet
6ac1170209 Skip ipns_test.TestMultiWrite in darwin 2014-10-09 03:03:57 -07:00
Juan Batiz-Benet
c565309a21 skip ipns fuse tests in travis 2014-10-09 02:59:56 -07:00
Jeromy
38177b489d add another test to try and reproduce data loss issue 2014-10-08 22:38:33 +00:00
Jeromy
4d7b87df31 Merge branch 'ipns' of github.com:jbenet/go-ipfs into ipns 2014-10-08 21:55:58 +00:00
Jeromy
1aafd285b5 add in some extra debug logging, and increase routing table latencies 2014-10-08 21:55:50 +00:00
Juan Batiz-Benet
31cc605c3a comment out debug msg 2014-10-08 14:49:21 -07:00
Juan Batiz-Benet
dc6fdd39c5 use encoded (pretty) keys only on fs ds 2014-10-08 14:49:04 -07:00
Juan Batiz-Benet
0ffc20384e make vendor is your friend
cc @whyrusleeping
2014-10-08 14:48:34 -07:00
Juan Batiz-Benet
9ebf3ae640 keytransform ds 2014-10-08 14:33:31 -07:00
Jeromy
093c8fb04d Rework package structure for unixfs and subpackage
cc @jbenet
2014-10-08 21:14:18 +00:00
Jeromy
15a4701003 update error handling in ipns 2014-10-08 17:29:46 +00:00
Jeromy
916fc54633 add more comments! 2014-10-08 16:51:53 +00:00
Juan Batiz-Benet
dc2dbdbb02 vendor things
cc @whyrusleeping
2014-10-08 04:17:52 -07:00
Juan Batiz-Benet
2944360f5c New NameSystem interface
type NameSystem interface {
      Resolver
      Publisher
    }

should say it all.

cc @whyrusleeping
2014-10-08 04:14:52 -07:00
Juan Batiz-Benet
cf6efc7a09 deprecate merkledag.Node.Update 2014-10-08 03:11:29 -07:00
Juan Batiz-Benet
459e0d5373 ipns TestFastRepublish 2014-10-08 02:52:16 -07:00
Juan Batiz-Benet
ffe2bdceef init SetupLoggers
this is useful so that loggers are all setup during tests
2014-10-08 02:50:42 -07:00
Juan Batiz-Benet
8e9b10f9d1 one last failed test 2014-10-07 21:35:33 -07:00
Juan Batiz-Benet
66839fa1de changed logging, in dht and elsewhere
- use log.* instead of u.*
- use automatic type conversions to .String()
  (Peer.String() prints nicely, and avoids calling b58 encoding
  until needed)
2014-10-07 21:33:59 -07:00
Juan Batiz-Benet
7c5679536c bugfix: use consistent interface
We'll want a `type blocks.Block interface {}` later, but
for now, make sure Blockstore uses ptrs for both Get and Put.

+ fix NewBlock output compile error
2014-10-07 21:32:17 -07:00
Juan Batiz-Benet
b98e48836f added u.Key.String 2014-10-07 21:32:17 -07:00
Jeromy
5ba2efc2b8 make tests pass 2014-10-08 04:25:51 +00:00
Jeromy
bdaee9bcb2 some performance tweaks for the dagwriter write path 2014-10-08 03:42:29 +00:00
Jeromy
6e0cfb3273 removed error from return type of blocks.NewBlock() 2014-10-07 20:46:01 +00:00
Jeromy
98cde1578d integrate dagmodifier into ipns 2014-10-07 07:23:30 +00:00
Jeromy
5c802ae852 add more tests and rework a lot of utility structures 2014-10-07 05:55:28 +00:00
Jeromy
3591e10b2e implement dagmodifier and tests. 2014-10-06 23:49:45 +00:00
Juan Batiz-Benet
77fccaa2f3 Obviated need for .ID.Pretty() all over the place. 2014-10-06 04:23:55 -07:00
Juan Batiz-Benet
910a76e220 updated multiaddr use across codebase 2014-10-06 04:13:43 -07:00
Juan Batiz-Benet
20a20c9e1a updated multiaddr 2014-10-06 04:07:22 -07:00
Juan Batiz-Benet
f3ae0e8e1b u.Hash - error
the u.Hash error can be safely ignored (panic) because multihash
only fails from the selection of hash function. If the fn + length
are valid, it won't error.

cc @whyrusleeping
2014-10-06 02:26:52 -07:00
Juan Batiz-Benet
501030f987 Merge pull request #144 from jbenet/bootstrap-cmd
bootstrap cmd
2014-10-06 02:17:49 -07:00
Juan Batiz-Benet
abefd93fb8 edited bootstrap cmd
- safer parsing
- multiple inputs
- add: dup detection
- common cfg writing
2014-10-06 02:14:05 -07:00
Jeromy
af1ce6ee50 Merge branch 'ipns' of github.com:jbenet/go-ipfs into ipns 2014-10-06 03:43:10 +00:00
Jeromy
5592030ed3 working on dag modification structures, factored out the data format into an importer subpackage and added more ipns tests 2014-10-06 03:42:59 +00:00
Juan Batiz-Benet
091f6f8516 added getConfig 2014-10-05 17:46:44 -07:00
Siraj Ravel
a2c2c48773 Implement ipfs bootstrap command.
This set of commits implements the bootstrap commands,
following from the description in #117
2014-10-05 17:18:42 -07:00
Juan Batiz-Benet
5136c786e5 Bugfix: "Malformed Public Key" Error
This commit fixed the notoriously annoying "Malformed Public Key"
problem. The issue was that sometimes the byte representation of
the points (x,y in big.Int) generated would be one less byte than
expected. This is simply because (* big.Int) Write uses the least
amount of bytes needed for the int.

I instead changed the marshalling/unmarshalling to do exactly
what stdlib crypto/tls does: use `ellipctic.Marshal` which marshals
according to the ANSI X9.62 standard.

http://golang.org/pkg/crypto/elliptic/#Marshal
http://golang.org/src/pkg/crypto/tls/key_agreement.go#L214

```Go
// crypto/tls
ka.privateKey, x, y, err = elliptic.GenerateKey(ka.curve, config.rand())
ecdhePublic := elliptic.Marshal(ka.curve, x, y)

// ipfs/crypto
priv, x, y, err := elliptic.GenerateKey(curve, rand.Reader)
pubKey := elliptic.Marshal(curve, x, y)
```

((Warning: we're using `rand.Reader` directly, which we shouldn't
do, as it can be seeded. We should use a configured source, as
crypto/tls. Flagged in #143))

This makes me think we should re-use a lot of their datastructures
and functions directly (e.g. ecdheKeyAgreement)

Fixed: #135

cc @bren2010 @whyrusleeping
2014-10-05 15:56:52 -07:00