Skip to content

Commit

Permalink
Merge pull request #4743 from schomatis/fix/unixfs/dagarchive-path
Browse files Browse the repository at this point in the history
unixfs: clean path in DagArchive
  • Loading branch information
whyrusleeping authored Mar 23, 2018
2 parents b8e7b63 + f710b31 commit c44191e
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
8 changes: 8 additions & 0 deletions test/sharness/t0090-get.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
'
Expand Down
3 changes: 2 additions & 1 deletion unixfs/archive/archive.go
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down

0 comments on commit c44191e

Please sign in to comment.