Skip to content

Commit

Permalink
Merge pull request #5705 from ipfs/fix/resolve-non-terminal
Browse files Browse the repository at this point in the history
error on resolving non-terminal paths
  • Loading branch information
Stebalien authored Oct 30, 2018
2 parents b6e1d38 + 126d996 commit d5c8fa5
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 2 deletions.
8 changes: 6 additions & 2 deletions core/commands/resolve.go
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,13 @@ Resolve the value of an IPFS DAG path:
return err
}

c := rp.Cid()
if rp.Remainder() != "" {
// TODO: js expects this error. Instead of fixing this
// error, we should fix #5703.
return fmt.Errorf("found non-link at given path")
}

return cmds.EmitOnce(res, &ncmd.ResolvedPath{Path: path.FromCid(c)})
return cmds.EmitOnce(res, &ncmd.ResolvedPath{Path: path.Path("/" + rp.Namespace() + "/" + rp.Cid().String())})
},
Encoders: cmds.EncoderMap{
cmds.Text: cmds.MakeEncoder(func(req *cmds.Request, w io.Writer, v interface{}) error {
Expand Down
9 changes: 9 additions & 0 deletions test/sharness/t0160-resolve.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ test_expect_success "resolve: prepare files" '
c_hash=$(ipfs add -q -r a/b/c | tail -n1)
'

test_expect_success "resolve: prepare dag" '
dag_hash=$(ipfs dag put <<<"{\"a\": {\"b\": {\"c\": \"asdfasdfasdf\"}}}")
'

test_resolve_setup_name() {
ref=$1

Expand Down Expand Up @@ -92,6 +96,11 @@ test_resolve_cmd_fail() {
test_resolve "/ipfs/$a_hash/b" "/ipfs/$b_hash"
test_resolve "/ipfs/$a_hash/b/c" "/ipfs/$c_hash"
test_resolve "/ipfs/$b_hash/c" "/ipfs/$c_hash"
test_resolve "/ipld/$dag_hash" "/ipld/$dag_hash"

test_resolve_fail "/ipld/$dag_hash/a/b/c" "/ipld/$dag_hash/a/b/c"
test_resolve_fail "/ipld/$dag_hash/a/b" "/ipld/$dag_hash/a/b"
test_resolve_fail "/ipld/$dag_hash/a" "/ipld/$dag_hash/a"

test_resolve_setup_name_fail "/ipfs/$a_hash"
test_resolve_fail "/ipns/$id_hash" "/ipfs/$a_hash"
Expand Down

0 comments on commit d5c8fa5

Please # to comment.