Commit Graph

633 Commits

Author SHA1 Message Date
Marcin Rataj
733b01a37b
fix(gw): useful IPIP-402 CARs on not found errors (#10084)
Co-authored-by: Henrique Dias <hacdias@gmail.com>
2023-08-18 06:54:08 +00:00
Jorropo
b4f415088f chore: bump boxo for verifcid breaking changes
This is a Q&D fix to get kubo building again, this is completely equivalent to what we used to have.
I'll submit a patch that DI the verifcid.Allowlist interface with fx later but this is needed to unblock something else.
2023-08-17 13:41:30 +02:00
Jorropo
f805b9fcda feat: allow users to optin again into mplex
This is a partial revert of 7220409394.

Closes #9958
2023-08-15 14:53:44 +02:00
Jorropo
7220409394 feat: remove Mplex
Mplex does not implement backpressure, our implementation will randomly reset streams if buffers overflow instead of risking deadlocks.

In the past we had a bug where kubo nodes would prefer mplex over yamux. Turning off mplex make our connections to thoses nodes negociate yamux.

Closes #9958
2023-08-15 11:35:45 +02:00
Jorropo
b8e393056c chore: bump go-libp2p v0.29.2 2023-08-08 14:26:58 +02:00
Jorropo
4cd49cfca8 chore: bump go-libp2p v0.29.1 2023-08-04 18:31:58 +02:00
Jorropo
5a0a9ede15 chore: bump boxo to v0.11.0 for release 2023-07-27 12:08:19 +02:00
Marco Munizaga
649283bb6c chore: update go-libp2p to v0.29.0 2023-07-26 14:48:19 +02:00
Marten Seemann
c08313f032 chore: update go-libp2p to v0.28.1
Co-authored-by: Jorropo <jorropo.pgm@gmail.com>
2023-07-26 14:48:19 +02:00
Jorropo
9c02eecad7
fix: mark all routers DoNotWaitForSearchValue (#10020)
* fix: mark ipns pubsub router DoNotWaitForSearchValue

That means if the DHT has finished searching and no one responded over pubsub *yet*, we will not spend 1 minute searching for no reason.

This also include other error handling bug fixes inside `go-libp2p-routing-helpers`.

Fixes: #9927

* routing: bring back the old IPNS behaviour

Stop making this configurable let everything race like it used to do.
2023-07-25 19:39:21 +02:00
Henrique Dias
a8c63537f2
feat(gateway): support for ipip-412 parameters 2023-07-24 11:09:09 +02:00
Henrique Dias
394d72db4c refactor: replace boxo/ipld/car by ipld/go-car 2023-06-29 16:10:49 +02:00
Henrique Dias
dae41836c0 chore: bump to boxo master 2023-06-29 13:05:08 +02:00
Marcin Rataj
3da4e5b409
fix(gateway): include CORS on subdomain redirects (#9994) 2023-06-27 11:11:21 +00:00
Henrique Dias
5156f21162
feat(ipns): records with V2-only signatures (#9932) 2023-06-20 14:24:31 +02:00
Jorropo
f3ca75947f chore: bump go-libp2p-kad-dht for deadlock fix 2023-06-20 07:56:19 +02:00
Henrique Dias
8bba03d8bf
chore: bump boxo to 0.10.1 (#9970) 2023-06-19 15:07:33 +02:00
Jorropo
44c5ec0505 chore: update dht and libp2p for identify stream block
Streams used to be blocked on ping IO because we didn't handled the DHT ping check asynchronously.

Include fixes from libp2p/go-libp2p-kad-dht#851
Fixes #9957
2023-06-15 12:57:54 +02:00
Jorropo
8138e00024 chore: last dependency update for v0.21-rc1 2023-06-12 15:26:05 +02:00
Henrique Dias
ad9e208ad6
chore: bump to boxo 0.10 (#9928) 2023-06-09 12:29:07 +02:00
Henrique Dias
2716cd987f
feat(gateway): support for IPIP-402 CAR params (#9914) 2023-06-08 17:32:18 +02:00
Jorropo
30f5e54e19 chore: update dependencies ahead of 0.21 release 2023-06-08 14:02:26 +02:00
Jorropo
e7294cbdff feat: warn users who are falling behind reprovides
Fixes: #9704
Fixes: #9702
Fixes: #9703
Fixes: #9419
2023-06-08 10:05:30 +02:00
Adin Schmahmann
50feb752b9 chore: update boxo to version with fewer globals 2023-06-08 09:38:31 +02:00
Jorropo
9b63ab6da6 client/rpc: bring up to speed with streaming pins 2023-06-02 16:55:51 +02:00
Henrique Dias
eb265f7cd8
fix(gateway)!: no duplicate payload during subdomain redirects (#9913)
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2023-06-02 08:14:19 +02:00
Henrique Dias
dfd244816a
feat(gateway): human error pages, dag-cbor/dag-json preview (#9904)
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2023-05-31 23:43:11 +00:00
dependabot[bot]
5a993cf20d chore(deps): bump go.uber.org/dig from 1.16.1 to 1.17.0
Bumps [go.uber.org/dig](https://github.com/uber-go/dig) from 1.16.1 to 1.17.0.
- [Release notes](https://github.com/uber-go/dig/releases)
- [Changelog](https://github.com/uber-go/dig/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uber-go/dig/compare/v1.16.1...v1.17.0)

---
updated-dependencies:
- dependency-name: go.uber.org/dig
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-31 15:57:33 +02:00
Jorropo
86d8e75b7f client/rpc: migrate go-ipfs-http-client 2023-05-30 21:28:07 +02:00
Henrique Dias
c10b804449
feat: Gateway.DeserializedResponses config flag (#9789)
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2023-05-30 00:59:34 +02:00
Henrique Dias
e3126eb3e0
chore: upgrade boxo and fix test function signature (#9896) 2023-05-25 15:36:33 +02:00
Henrique Dias
13c379604f
fix(gateway): redirect /ipns/b58mh to /ipns/cidb36 (#9785) 2023-05-16 13:09:39 +02:00
Laurent Senta
61f8c7301a
refactor: use reusable IPNS ValidateWithPeerID (#9867)
Co-authored-by: Henrique Dias <hacdias@gmail.com>
2023-05-10 11:49:31 +00:00
Henrique Dias
0e7331c952
feat: update boxo with routing streaming 2023-05-10 08:14:48 +00:00
dependabot[bot]
7ec67fdc04 chore(deps): bump golang.org/x/crypto from 0.7.0 to 0.9.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.7.0 to 0.9.0.
- [Commits](https://github.com/golang/crypto/compare/v0.7.0...v0.9.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-10 05:31:01 +02:00
Marten Seemann
c39b8052ea
chore: update go-libp2p to v0.27.3 (#9862) 2023-05-09 10:59:05 +02:00
Henrique Dias
c178c51835
fix: deadlock on retrieving WebTransport addresses (#9857)
Co-authored-by: Marco Polo <git@marcopolo.io>
2023-05-08 16:11:03 +02:00
Michael Muré
a197125b8f
pin: follow async pinner changes
See https://github.com/ipfs/boxo/pull/290

This PR follow the changes in the Pinner to make listing recursive and direct pins asynchronous, which in turns allow pin/ls to build and emit results without having to wait anything, or accumulate too much in memory.

Note: there is a tradeoff for pin/ls?type=all:
- keep the recursive pins in memory (which I chose)
- ask the pinner twice for the recursive pins, and limit memory usage

Also, follow the changes in the GC with similar benefit of not having to wait the full pin list. Add a test.
Also, follow the changes in pin.Verify.
2023-05-05 17:51:35 +02:00
Laurent Senta
a6f446a4ba
test: deterministic ipns fixtures during sharness gateway tests (#9667) 2023-05-03 15:01:13 +02:00
Henrique Dias
e4908a0163
chore: bump to boxo 0.8.1 (#9836) 2023-04-25 10:47:28 +02:00
Marco Munizaga
78895a1184
deps: bump go-libp2p to v0.27.1 (#9816)
Co-authored-by: Jorropo <jorropo.pgm@gmail.com>
2023-04-14 09:09:51 +00:00
Henrique Dias
f7cab554f9
feat: boxo tracing and traceparent support (#9811)
https://www.w3.org/TR/trace-context/
https://github.com/ipfs/bifrost-gateway/issues/68
2023-04-11 23:51:02 +00:00
Marten Seemann
3c363eb658 update go-libp2p to v0.27.0 2023-04-06 23:15:33 +02:00
Gus Eggert
0e55ca9377 feat: add experimental optimistic provide
This adds the ability to enable "optimistic provide" to the default
DHT client, which enables faster provides and reprovides.

For more information about optimistic provide, see:

https://protocollabs.notion.site/Optimistic-Provide-2c79745820fa45649d48de038516b814

Note that this feature only works when using non-custom router
types. This does not include the ability to enable optimistic provide
on custom routers for now, to minimize the footprint of this
experimental feature. We intend on continuing to test this and improve
the UX, which may or may not involve adding configuration for it to
custom routers. We also plan on refactoring/redesigning custom routers
more broadly so I don't want this to add more effort for maintainers
and confusion for users.
2023-04-06 16:49:46 -04:00
Henrique Dias
c6a59c9cc1
feat(tracing): use OTEL_PROPAGATORS as per OTel spec (#9801) 2023-04-06 16:36:15 +02:00
Gus Eggert
7cff6b9359
chore: upgrade boxo to v0.8.0 (#9793) 2023-04-05 16:48:39 +00:00
Piotr Galar
0ec22f4add
chore: update deps after v0.19.0 release (#9744)
Co-authored-by: Henrique Dias <hacdias@gmail.com>
2023-04-05 12:02:20 +00:00
Gus Eggert
1b3e4438fc
chore: upgrade OpenTelemetry dependencies (#9736) 2023-04-05 11:44:14 +00:00
Marcin Rataj
d1713ca28e
feat(gw): new metrics and HTTP range support (#9786)
Co-authored-by: Henrique Dias <hacdias@gmail.com>
2023-04-03 08:17:07 +00:00
Gus Eggert
a09c8df24d
fix: remove timeout on default DHT operations (#9783)
* fix: remove timeout on default DHT operations

This removes the timeout by default for DHT operations. In particular
this causes issues with ProvideMany requests which can take an
indeterminate amount of time, but really these should just respect
context timeouts by default. Users can still specify timeouts here if
they want, but by default they will be set to "0" which means "no
timeout".

This is unlikely to break existing users of custom routing, because
there was previously no utility in configuring a router with timeout=0
because that would cause the router to immediately fail, so it is
unlikely (and incorrect) if anybody was using timeout=0.

* fix: remove 5m timeout on ProvideManyRouter

For context see
5fda291b66

---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2023-03-30 16:08:43 -04:00