- 09 Oct, 2014 3 commits
-
-
Juan Batiz-Benet authored
- cleaned up cmd help - ipfs name publish [<name>] <ref> - ipfs name resolve [<name>] - publish validates <ref> - both validate n args
-
Juan Batiz-Benet authored
-
Juan Batiz-Benet authored
-
- 08 Oct, 2014 21 commits
-
-
Jeromy authored
-
Jeromy authored
-
Jeromy authored
-
Juan Batiz-Benet authored
-
Juan Batiz-Benet authored
-
Juan Batiz-Benet authored
cc @whyrusleeping
-
Juan Batiz-Benet authored
-
Jeromy authored
cc @jbenet
-
Jeromy authored
-
Jeromy authored
-
Juan Batiz-Benet authored
cc @whyrusleeping
-
Juan Batiz-Benet authored
type NameSystem interface { Resolver Publisher } should say it all. cc @whyrusleeping
-
Juan Batiz-Benet authored
-
Juan Batiz-Benet authored
-
Juan Batiz-Benet authored
this is useful so that loggers are all setup during tests
-
Juan Batiz-Benet authored
-
Juan Batiz-Benet authored
- use log.* instead of u.* - use automatic type conversions to .String() (Peer.String() prints nicely, and avoids calling b58 encoding until needed)
-
Juan Batiz-Benet authored
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
-
Juan Batiz-Benet authored
-
Jeromy authored
-
Jeromy authored
-
- 07 Oct, 2014 3 commits
- 06 Oct, 2014 7 commits
-
-
Jeromy authored
-
Juan Batiz-Benet authored
-
Juan Batiz-Benet authored
-
Juan Batiz-Benet authored
-
Juan Batiz-Benet authored
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
-
Jeromy authored
-
Jeromy authored
working on dag modification structures, factored out the data format into an importer subpackage and added more ipns tests
-
- 05 Oct, 2014 5 commits
-
-
Juan Batiz-Benet authored
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
-
Juan Batiz-Benet authored
-
Juan Batiz-Benet authored
-
Juan Batiz-Benet authored
-
Jeromy authored
-
- 04 Oct, 2014 1 commit
-
-
Jeromy authored
-