mirror of
https://github.com/ipfs/kubo.git
synced 2025-06-26 23:53:19 +08:00
unixfs: clean path in DagArchive
Fixes #4720. License: MIT Signed-off-by: Lucas Molas <schomatis@gmail.com>
This commit is contained in:
@ -104,6 +104,14 @@ test_get_cmd() {
|
||||
rm -r "$HASH2"
|
||||
'
|
||||
|
||||
# Test issue #4720: problems when path contains a trailing slash.
|
||||
test_expect_success "ipfs get with slash (directory)" '
|
||||
ipfs get "$HASH2/" &&
|
||||
test_cmp dir/a "$HASH2"/a &&
|
||||
test_cmp dir/b/c "$HASH2"/b/c &&
|
||||
rm -r "$HASH2"
|
||||
'
|
||||
|
||||
test_expect_success "ipfs get -a -C succeeds (directory)" '
|
||||
ipfs get "$HASH2" -a -C >actual
|
||||
'
|
||||
|
@ -33,7 +33,8 @@ func (i *identityWriteCloser) Close() error {
|
||||
// DagArchive is equivalent to `ipfs getdag $hash | maybe_tar | maybe_gzip`
|
||||
func DagArchive(ctx context.Context, nd ipld.Node, name string, dag ipld.DAGService, archive bool, compression int) (io.Reader, error) {
|
||||
|
||||
_, filename := path.Split(name)
|
||||
cleaned := path.Clean(name)
|
||||
_, filename := path.Split(cleaned)
|
||||
|
||||
// need to connect a writer to a reader
|
||||
piper, pipew := io.Pipe()
|
||||
|
Reference in New Issue
Block a user