In that situation, the data is not written to permanent storage, so a reference in MFS would be to p2p blocks at best.
The /add command in that situation is also likely to hang as it reads immediately the root node without being able to get it (it falls back to bitswap).
this command used to work with domain without `/ipns/` prefix.
we've switched it to the same backend as `resolve` command,
which requires the prefix, so we add it if it is missing
* fix(commands): routing put command returns the IPNS ID rather than the host's ID
* fix(commands): routing put command errors with the allow-offline hint if the error is an offline error
* fix: test expects correct error message
---------
Co-authored-by: Henrique Dias <hacdias@gmail.com>
Fixes#8492
This introduces "nopfs" as a preloaded plugin into Kubo
with support for denylists from https://github.com/ipfs/specs/pull/383
It automatically makes Kubo watch *.deny files found in:
- /etc/ipfs/denylists
- $XDG_CONFIG_HOME/ipfs/denylists
- $IPFS_PATH/denylists
* test: Gateway.NoFetch and GatewayOverLibp2p
adds missing tests for "no fetch" gateways one can expose,
in both cases the offline mode is done by passing custom
blockservice/exchange into path resolver, which means
global path resolver that has nopfs intercept is not used,
and the content blocking does not happen on these gateways.
* fix: use offline path resolvers where appropriate
this fixes the problem described in
https://github.com/ipfs/kubo/pull/10161#issuecomment-1782175955
by adding explicit offline path resolvers that are backed
by offline exchange, and using them in NoFetch gateways
instead of the default online ones
---------
Co-authored-by: Henrique Dias <hacdias@gmail.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
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.
* feat!: dag import - don't pin roots by default
Fixes: https://github.com/ipfs/kubo/issues/9765
* test(ipip-402): dag import
this adds basic regression test that guards behavior
around partial cars with or without pinning
* docs(ipip-402): ipip and dag import changelog
---------
Co-authored-by: Marcin Rataj <lidel@lidel.org>
* fix: useful errors during dag import
Most of the time the error is either a bitflip in one of blocks,
or a truncation of car stream.
This allows user to understand what happened
and at which place in the car stream, making debug more humane.
* fix: correct message when root pin failed
this also correctly exits CLI commands with code 1 (was silent
false-positive 0 before)