Commit Graph

229 Commits

Author SHA1 Message Date
zramsay
c5df8f0796 apply the megacheck tool to improve code quality
License: MIT
Signed-off-by: Zach Ramsay <zach.ramsay@gmail.com>
2017-05-31 16:56:11 -04:00
Lars Gierth
64ced367ac gx: update go-libp2p-peerstore, go-libp2p, go-libp2p-kbucket
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2017-05-30 02:26:05 +02:00
Jeromy Johnson
4cf046c4fb Merge pull request #3928 from ipfs/feat/provide-ann-opt
update to dht code with provide announce option
2017-05-25 10:11:09 -07:00
Jeromy
53f1a9a50a make odds of 'process added after close' panic less likely
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-05-24 09:12:27 -07:00
Jeromy
0418930ca8 update to dht code with provide announce option
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-05-23 13:59:36 -07:00
James Stanley
cb2a38d89b Add Suborigin header to gateway responses (#3209)
This existed before but was disabled in 912a972 because the Suborigin spec
changed and it became incompatible.

This commit updates the generated Suborigin header to be conformant with the
latest spec.

License: MIT
Signed-off-by: James Stanley <james@incoherency.co.uk>
2017-05-13 10:47:36 +01:00
Jeromy
5bb480b4da improved gateway directory listing for sharded nodes
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-05-05 13:31:34 -07:00
Jakub Sztandera
fe969d18be
mics: cleanup imports in touched files
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2017-04-24 15:01:55 +02:00
Jakub Sztandera
d1e3fc5c87
deps: Update go-is-domain to contain new gTLD
It should resolve issues with newer gTLDs being not selected

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2017-04-24 15:01:55 +02:00
Jeromy
b15470d548
bubble up updates from go-multihash changes
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-04-20 20:28:04 +02:00
Jakub Sztandera
584ab144f9 Merge branch 'master' into fix/gateway/3868-etag 2017-04-20 19:59:59 +02:00
Remco Bloemen
a90f4967e3 gateway: re-use resolved path
Instead of resolving a node, we resolve a path. This resolved path
is then re-used for Cat and Ls. This way, a resolve operation is
only done once.

The error messages for a failed resolve is changed from `ipfs cat …`
to `ipfs resolve …` to better reflect the API calls. The test is
updated accordingly.

License: MIT
Signed-off-by: Remco Bloemen <remco@2π.com>
2017-04-20 08:17:45 +01:00
Lars Gierth
2c4e6434ad gateway: fix erroneous Cache-Control: immutable on dir listings
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2017-04-19 05:10:41 +02:00
Remco Bloemen
8db6f86de6 gateway: use CID as an ETag strong validator
* Always use the fully resolved CID from api.ResolveNode
  as the ETag (also for IPNS).

* Format the result as a valid "Strong Validator"
  (double quotes around the encoded CID).

Fixes #3868

License: MIT
Signed-off-by: Remco Bloemen <remco@2π.com>
2017-04-18 16:24:37 +01:00
Jeromy Johnson
2cc5ce45b8 Merge pull request #3777 from ipfs/fix/gateway-status-codes
Return 404 Not Found for failed path resolutions
2017-03-22 22:31:54 -07:00
Lars Gierth
9e4800d40a gateway: simplify error responses, switch to 404
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2017-03-17 04:10:28 +01:00
Lars Gierth
ee45b8d32f coreapi: make the interfaces path centric
The new coreiface.Path maps a path to the cid.Cid
resulting from a full path resolution.

The path is internally represented as a go-ipfs/path.Path,
but that doesn't matter to the outside.

Apart from the path-to-CID mapping, it also aims to hold all
resolved segment CIDs of the path. Right now it only exposes
Root(), and only for flat paths a la /ipfs/Qmfoo. In other cases,
the root is nil.

In the future, resolution will internally use
go-ipfs/path.Resolver.ResolvePathComponents and thus always return
the proper resolved segments, via Root(), or a future Segments() func.

- Add coreiface.Path with Cid() and Root().
- Add CoreAPI.ResolvePath() for getting a coreiface.Path.
- All functions now expect and return coreiface.Path.
- Add ParsePath() and ParseCid() for constructing a coreiface.Path.
- Add coreiface.Node and Link which are simply go-ipld-node.Node and Link.
- Add CoreAPI.ResolveNode() for getting a Node from a Path.

License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2017-03-17 03:47:59 +01:00
Lars Gierth
e260d2fd06 coreapi: smarter way of dealing with the different APIs
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2017-03-17 02:35:17 +01:00
Jeromy
4e168dc323 update go-libp2p-kad-dht with getclosestpeers fix
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-03-05 23:06:04 -08:00
Jakub Sztandera
4eed546e06
deps: update dependencies for PNet
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2017-02-22 20:04:43 +01:00
Jeromy
b4eeff2d84 update go-multihash and bubble up deps
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-02-12 12:25:41 -08:00
Friedel Ziegelmayer
49c30f6efe feat(webui): update to new version
Closes #3664

License: MIT
Signed-off-by: Friedel <dignifiedquire@gmail.com>
2017-02-09 12:44:30 +01:00
Jeromy
30aacd1b0a update go-libp2p with negotiate lazy fixes
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2017-01-10 14:52:00 -08:00
Jeromy
d8f257c264 update libp2p for identify configuration updates
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-12-27 02:13:59 -08:00
Jakub Sztandera
912a9720bd
gateway: remove Suborigins as it conflicts the spec
The Suborigins spec was changed and we have to adjust, the spec is still
unstable and it might change in future. Currently the only browser
supporting it (Chrome) errors out on it as it doesn't confront spec it
uses.

See https://github.com/ipfs/specs/issues/131

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2016-12-19 14:41:58 +01:00
Jeromy
53d47669da bubble up go-datastore deps
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-28 22:29:38 -08:00
Jakub Sztandera
1e170e8d6d
Update go-libp2p across codebase
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2016-11-22 01:22:50 +01:00
Jakub Sztandera
ce96b915e7 gateway: change status code of failed namesys resution to 500
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2016-11-16 05:37:38 +01:00
Jakub Sztandera
43320e1b7f gateway: use switch for error handling
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2016-11-16 05:29:39 +01:00
Jakub Sztandera
82d46a5b5b gateway: degrade error in gateway to log to reduce noise
It logs all errors including expired IPNS keys and other non important
errors.

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2016-11-16 05:25:18 +01:00
Jeromy
396c629301 update to newer ipld node interface with Copy and better Tree
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-15 18:00:49 -08:00
Jeromy Johnson
aae9eb7891 Merge pull request #3244 from ipfs/feat/gateway-post-coreapi
gateway: use core api for serving GET/HEAD/POST
2016-11-14 14:15:54 -08:00
Jeromy
7fbaae49be update to go-libp2p 4.1.0
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-10 17:38:10 -08:00
Lars Gierth
0097b422de gateway: use core api for serving POST requests
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2016-11-07 18:25:49 +01:00
Lars Gierth
c31e4f7226 gateway: move context/close-notify wiring
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2016-11-07 18:25:49 +01:00
Lars Gierth
029f971d9c gateway: use core api for serving GET/HEAD requests
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2016-11-07 18:25:49 +01:00
Jeromy
25d9f8afd1 update to libp2p 4.0.4
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-05 21:44:36 -07:00
Jeromy
ec21220907 update go-libp2p
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-03 20:06:32 -07:00
Lars Gierth
02aa6b4714 gateway: bring back dir-index-html assets
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2016-11-03 00:38:32 +01:00
Jeromy Johnson
437cc7fa78 Merge pull request #2911 from ipfs/feature/ifps-capitalize
docs: decapitalize IPFS where possible
2016-11-02 13:20:51 -07:00
Jeromy
afce683eae update go-libp2p-swarm with deadlock fixes
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-10-30 19:16:28 -07:00
Richard Littauer
9843e86258 Changed so only explicit ipfs cli commands are lowercased
License: MIT
Signed-off-by: Richard Littauer <richard.littauer@gmail.com>
2016-10-27 22:55:13 -07:00
Jeromy
67c2a4ec14 make path resolver no longer require whole node for construction
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-10-25 15:04:44 -07:00
Jeromy
eac13abaec update to new cid and ipld node packages
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-10-25 09:54:04 -07:00
Jeromy
8ce9963289 fix add/cat of small files
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-10-18 15:26:44 -07:00
Jeromy
ded60a7356 unixfs: allow use of raw merkledag nodes for unixfs files
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-10-17 16:51:39 -07:00
Jeromy
01aee44679 merkledag: change 'Node' to be an interface
Also change existing 'Node' type to 'ProtoNode' and use that most
everywhere for now. As we move forward with the integration we will try
and use the Node interface in more places that we're currently using
ProtoNode.

License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-10-12 08:16:03 -07:00
Jeromy
f4d7369c4a bitswap: protocol extension to handle cids
This change adds the /ipfs/bitswap/1.1.0 protocol. The new protocol
adds a 'payload' field to the protobuf message and deprecates the
existing 'blocks' field. The 'payload' field is an array of pairs of cid
prefixes and block data. The cid prefixes are used to ensure the correct
codecs and hash functions are used to handle the block on the receiving
end.

License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-10-10 08:19:31 -07:00
Jeromy
1f9ec4e3ed update to libp2p 4.0.1 and propogate other changes
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-10-05 22:12:43 -07:00
Jeromy
91db6f31c2 update floodsub version 0.6.2
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-09-30 16:33:00 -07:00