Tried to check all instances of IPFS and make sure they werent referring to the CLI tool. See #2910.
License: MIT
Signed-off-by: Richard Littauer <richard.littauer@gmail.com>
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>
Add back still useful test from reverted commit:
fe7b01f14e
Resolve symlink if it is directly referenced in cli (#2897)
License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
This reverts commit fe7b01f14e.
Conflicts:
commands/cli/parse.go
Revert "Merge pull request #3023 from ipfs/feature/eval-symlink-windows"
This reverts commit 16c5a89dd4, reversing
changes made to 8c77ff8188.
Conflicts:
commands/cli/parse.go
License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
Add test that removes a combination of pinned, valid, and non-existent
blocks in one command.
License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
Provide a new method, Pinner.CheckIfPinned(), which will check if
any of the arguments are pinned. Previously IsPinned would need to be
called once for each block. The new method will speed up the checking
of multiple pinned blocks from O(p*n) to O(p) (where p is the number
of pinned blocks and n is the number of blocks to be check)
Use the new method in "block rm".
License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
test_fsh() should quote its arguments before passing them
to `eval` otherwise there are problems when the arguments
contain spaces.
For example when running the following program:
```
#!/bin/sh
. ./ipfs-test-lib.sh
die () {
printf >&2 "%s\n" "$@"
exit 1
}
DIR1="test dir 1"
DIR2="test dir 2"
mkdir "$DIR1" "$DIR2" || die "Could not mkdir '$DIR1' '$DIR2'"
echo "in dir 1" >"$DIR1/file1" || die "Could not write into '$DIR1/file1'"
echo "in dir 2" >"$DIR2/file2" || die "Could not write into '$DIR2/file2'"
if test_cmp "$DIR1/file1" "$DIR2/file2"
then
echo "test_cmp succeeded!"
else
echo "test_cmp failed!"
fi
rm -rf "$DIR1" "$DIR2" || die "Could not rm -rf '$DIR1' '$DIR2'"
```
we get:
```
> diff -u test dir 1/file1 test dir 2/file2
diff: extra operand '1/file1'
diff: Try 'diff --help' for more information.
test_cmp failed!
```
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Only print "Reading from /dev/stdin" message when we actually read from
stdin (and not in other cases such as ipfs add --help).
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
1. Test that ipfs --version has a 0 exit status
2. Check the ipfs --version output matches ipfs version
License: MIT
Signed-off-by: Chris Sasarak <chris.sasarak@gmail.com>
* Resolve symlink if it is directly referenced in cli
test: Directly referenced symlink should be resolved
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
* sharness: add test for symlink in the middle
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
With verbose flag:
* remove EnableStdin() flags on all StringArg,
* remove all unneeded parsing code for StringArg, and print an
* informative message if `ipfs` begins reading from a CharDevice,
* remove broken go tests for EnableStdin cli parsing, and add some
* trivial test cases for reading FileArg from stdin,
* add a panic to prevent EnableStdin from being set on
* StringArg in the future.
Resolves: #2877, #2870
License: MIT
Signed-off-by: Thomas Gardner <tmg@fastmail.com>
* Update golog in go-ipfs
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
* Update go-libp2p for go-log
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
* Update go-libp2p-secio for go-log
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
* Update go-libp2p-crypto for go-log
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
* Update go-libp2p-peer for go-log
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
* Import peersore, it wasn't imported
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
* Update peerstore
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
* Update peer
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
* Update secio
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
* Update go-libp2p
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
This patch is in preparation for the gateway's extraction.
It's interesting to trace technical debt back to its
origin, understanding the circumstances in which it
was introduced and built up, and then cutting it back
at exactly the right places.
- Clean up the gateway's surface
The option builder GatewayOption() now takes only
arguments which are relevant for HTTP handler muxing,
i.e. the paths where the gateway should be mounted.
All other configuration happens through the
GatewayConfig object.
- Remove BlockList
I know why this was introduced in the first place,
but it never ended up fulfilling that purpose.
Somehow it was only ever used by the API server,
not the gateway, which really doesn't make sense.
It was also never wired up with CLI nor fs-repo.
Eventually @krl started punching holes into it
to make the Web UI accessible.
- Remove --unrestricted-api
This was holes being punched into BlockList too,
for accessing /ipfs and /ipn on the API server.
With BlockList removed and /ipfs and /ipns freely
accessible, putting this option out of action
is safe. With the next major release,
the option can be removed for good.
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
previously, paths were not supported as link values.
this would not work, and now can:
ipfs object patch $root add-link foo /ipfs/$hash/foo/bar
License: MIT
Signed-off-by: Juan Benet <juan@benet.ai>
startup_cluster() already contains some test_expect_success, so
it should not be inside one.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Modified init command to receive default configuration from stdin. The changes enable us to use existing key-pair, datastore configuration while initializing new ipfs node.
License: MIT
Signed-off-by: Sivachandran <sivachandran.p@gmail.com>
Now that iptb has been added as a gx dependency, we can replace
existing dependencies with the one from gx.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
* reduces help indent from 4 to 2 spaces
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* reduces horz/vert space taken by "ipfs" cmd
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* show subcommands on shorthelp
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Drops colons at the end of cmd headings.
This makes command headings consistent with the output of 'ipfs', which
does not include colons.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* more consistent output between short-/long-help
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Puts DESCRIPTION before SUBCOMMANDS.
Users likely want to understand what a command does before worrying
about its subcommands.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Keeps ipfs cmd from outputting its subcmds twice.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Removes redundant synopsis from "file"
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Removes extra whitespace from longhelp
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Consistent spacing whether SUBCMDS or not.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Removes redundant SUBCMD output from ipfs object.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Removes redundant synopsis from "name"
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Newline after Description only if it exists.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Removes redundant synopsis from "bootstrap"
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Removes redundant synopsis from "swarm"
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Removes trailing newline in ping help.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Prints shorthelp on parse error.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* tiny comment fixes
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* updates README usage
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Don't include extra whitespace if no .MoreHelp
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* description improvements
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Hides the obscure 'file' subcommand.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Splits 'ipfs daemon' into Short and Long help.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Removes redundant synopsis from "config"
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Wraps lines to keep from going over 80.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* specify repo separately
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* s/structure/hierarchy
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* missing .
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Removes trailing colon from 'usage' test.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Updates sharness test error messages.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Removes trailing colon from 'usage' test.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Updates add-symlink to use /bin/sh.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Removes "hierarchy".
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Updates "ipfs ping" synopsis.
* Updates t0040 with latest wording.
* Removes unnecessary daemon setup.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Adds repo fsck subcommand
Fixes#2457
License: MIT
Signed-off-by: Mike Pfister <pfista@gmail.com>
* Checks for error on file deletion
License: MIT
Signed-off-by: Mike Pfister <pfista@gmail.com>
* Checks if node is online
License: MIT
Signed-off-by: Mike Pfister <pfista@gmail.com>
* Update error checking
License: MIT
Signed-off-by: Michael Pfister <pfista@gmail.com>
* Prevents command from running while daemon is running
License: MIT
Signed-off-by: Michael Pfister <pfista@gmail.com>
* Add newline to command output message
License: MIT
Signed-off-by: Michael Pfister <pfista@gmail.com>
* removing superfluous error
License: MIT
Signed-off-by: Michael Pfister <pfista@gmail.com>
* Adds sharness test for repo fsck command
License: MIT
Signed-off-by: Michael Pfister <pfista@gmail.com>
* Ignore warning if file doesn't exist
License: MIT
Signed-off-by: Michael Pfister <pfista@gmail.com>
* Updating message output
License: MIT
Signed-off-by: Michael Pfister <pfista@gmail.com>
* adding debug statements
License: MIT
Signed-off-by: Michael Pfister <pfista@gmail.com>
* update and add fsck sharness tests
License: MIT
Signed-off-by: Michael Pfister <pfista@gmail.com>
* updating comments
License: MIT
Signed-off-by: Michael Pfister <pfista@gmail.com>
* Use printf in test
Using printf prevents a newline from being printed to the api test file. When
the newline was present, multiaddr threw errors trying to parse the api address
to an integer since the newline character was present.
License: MIT
Signed-off-by: Michael Pfister <pfista@gmail.com>
* updating tests
License: MIT
Signed-off-by: Michael Pfister <pfista@gmail.com>
* removing commented code
License: MIT
Signed-off-by: Michael Pfister <pfista@gmail.com>
* Cleans up 'ipfs dht findpeer' output
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Adds more docs for 'ipfs dht put'.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Write pretty peer ids for ipfs dht put.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Writes pretty peer ids for ipfs dht query.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Suppresses unrecognized event type for FinalPeer.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Improves helptext on dht commands.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Adds 'ipfs dht findpeer' sharness test.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Adds sharness tests for remaining DHT commands.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Uses bash tests rather than 'test' command.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Removes commented code.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Removes unneeded init_ipfs.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Tweaks iptb setup.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Tweaks wording on dht 'put' and 'get'.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Removes extraneous ).
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Removes apostrophe.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Tests the expected peer addresses.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Gets peer id using iptb.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Checks explicitly for common put/findprovs peers.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Sorts expected/actual findpeer results.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
* Fix disconnect argument description
License: MIT
Signed-off-by: Richard Littauer <richard.littauer@gmail.com>
* Fixes sort order in t0170-dht.sh.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
The gateway accepts an X-Ipfs-Path-Prefix header,
and assumes that it is mounted in a reverse proxy
like nginx, at this path. Links in directory listings,
as well as trailing-slash redirects need to be rewritten
with that prefix in mind.
We don't want a potential attacker to be able to
pass in arbitrary path prefixes, which would end up
in redirects and directory listings, which is why
every prefix has to be explicitly allowed in the config.
Previously, we'd accept *any* X-Ipfs-Path-Prefix header.
Example:
We mount blog.ipfs.io (a dnslink page) at ipfs.io/blog.
nginx_ipfs.conf:
location /blog/ {
rewrite "^/blog(/.*)$" $1 break;
proxy_set_header Host blog.ipfs.io;
proxy_set_header X-Ipfs-Gateway-Prefix /blog;
proxy_pass http://127.0.0.1:8080;
}
.ipfs/config:
"Gateway": {
"PathPrefixes": ["/blog"],
// ...
},
dnslink:
> dig TXT _dnslink.blog.ipfs.io
dnslink=/ipfs/QmWcBjXPAEdhXDATV4ghUpkAonNBbiyFx1VmmHcQe9HEGd
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
It used to default to `application/json` but is now correctly set to
`application/protobuf`.
fixes#2469
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
Removes all of the hardcoded ports and defaults to non-standard API,
Gateway, and Swarm ports.
License: MIT
Signed-off-by: Stephen Whitmore <noffle@ipfs.io>
For the rest of the packages in util, move them to thirdparty
and update the references. util is gone!
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>