1. 19 Jun, 2015 2 commits
    • W. Trevor King's avatar
      core/commands/publish: Allow explicit local node ID · e700c02c
      W. Trevor King authored
      Instead of raising "keychains not yet implemented" whenever we have an
      explicit node ID, only raise the error when the given node ID isn't
      the local node.  This allows folks to use the more-general
      explicit-node-ID form in scripts and such now, as long as they use the
      local node name when calling those scripts.
      
      Also add a test for this case, and update the comment for the
      one-argument case to match the current syntax for extracting a
      multihash name string.
      
      License: MIT
      Signed-off-by: default avatarW. Trevor King <wking@tremily.us>
      e700c02c
    • W. Trevor King's avatar
      core/commands: Make IpnsCmd and PublishCmd public · 40c6ffd4
      W. Trevor King authored
      ipfs-shell [1] accesses the Command objects directly to construct
      requests for an external IPFS daemon API.  This isn't a terribly
      robust approach, because it doesn't handle version differences between
      the version of go-ipfs used to build the daemon and the version used
      to build the ipfs-shell-consuming application.  But for cases where
      you can get those APIs to match it works well.  Making these two
      commands public allows us to write ipfs-shell wrappers for them.
      Until we figure out how to get ipfs-shell working without access to
      core/commands, I think the best approach is to make future command
      objects and their returned structures public, and to go back and
      expose existing commands/structures on an as-needed basis.
      
      In this case, I need the public PublishCmd for the Docker-registry
      storage driver, and I made the IpnsCmd public at the same time to stay
      consistent for both 'ipfs name ...' sub-commands.
      
      [1]: https://github.com/whyrusleeping/ipfs-shell
      
      License: MIT
      Signed-off-by: default avatarW. Trevor King <wking@tremily.us>
      40c6ffd4
  2. 01 Jun, 2015 1 commit
  3. 20 May, 2015 1 commit
    • W. Trevor King's avatar
      core/commands/publish: Fix published message · e4447b3c
      W. Trevor King authored
      Previously we had a confusing situation, with:
      
      * single-arg doc: published name <name> to <value>
      * double-arg doc: published name <value> to <name>
      * implementation: Published name <name> to <value>
      
      Now we have the uniform:
      
        Published to <name>: <value>
      
      With the following goals:
      
      1. It's clear that we're writing <value> to <name>'s IPNS slot in the
         DHT.
      2. We preserve the order of arguments from the command-line
         invocation:
      
           $ ipfs name publish <name> <value>
           Published to <name>: <value>
      e4447b3c
  4. 08 May, 2015 1 commit
    • Henry's avatar
      core: add context.Context param to core.Resolve() · f640ba00
      Henry authored
      commands/object: remove objectData() and objectLinks() helpers
      resolver: added context parameters
      sharness: $HASH carried the \r from the http protocol with
      sharness: write curl output to individual files
      http gw: break PUT handler until PR#1191
      f640ba00
  5. 27 Apr, 2015 3 commits
  6. 12 Apr, 2015 1 commit
  7. 31 Mar, 2015 1 commit
  8. 28 Jan, 2015 1 commit
  9. 24 Jan, 2015 1 commit
  10. 14 Jan, 2015 1 commit
  11. 06 Jan, 2015 2 commits
  12. 02 Jan, 2015 2 commits
  13. 23 Dec, 2014 1 commit
    • Juan Batiz-Benet's avatar
      peer change: peer.Peer -> peer.ID · c84a714b
      Juan Batiz-Benet authored
      this is a major refactor of the entire codebase
      it changes the monolithic peer.Peer into using
      a peer.ID and a peer.Peerstore.
      
      Other changes:
      - removed handshake3.
      -	testutil vastly simplified peer
      -	secio bugfix + debugging logs
      -	testutil: RandKeyPair
      -	backpressure bugfix: w.o.w.
      -	peer: added hex enc/dec
      -	peer: added a PeerInfo struct
        PeerInfo is a small struct used to pass around a peer with
       	a set of addresses and keys. This is not meant to be a
       	complete view of the system, but rather to model updates to
       	the peerstore. It is used by things like the routing system.
      -	updated peer/queue + peerset
      -	latency metrics
      -	testutil: use crand for PeerID gen
       	RandPeerID generates random "valid" peer IDs. it does not
       	NEED to generate keys because it is as if we lost the key
       	right away. fine to read some randomness and hash it. to
       	generate proper keys and an ID, use:
       	  sk, pk, _ := testutil.RandKeyPair()
       	  id, _ := peer.IDFromPublicKey(pk)
       	Also added RandPeerIDFatal helper
      - removed old spipe
      - updated seccat
      - core: cleanup initIdentity
      - removed old getFromPeerList
      c84a714b
  14. 18 Nov, 2014 2 commits
  15. 14 Nov, 2014 20 commits