@cryptotaxi247 / kubo / commits / b97559392

feat(gateway): invalid CID returns 400 Bad Request (#9726)

Henrique Dias committed Mar 20, 2023 at 14:14 UTC b975593920455c32793d4d233e49ee6762fbaf3b
6 files changed +17 -17
docs/examples/kubo-as-a-library/go.mod
+2 -2
@@ -7,7 +7,7 @@ go 1.18
7 replace github.com/ipfs/kubo => ./../../..
8
9 require (
10 - github.com/ipfs/go-libipfs v0.6.2
10 + github.com/ipfs/go-libipfs v0.7.0
11 github.com/ipfs/interface-go-ipfs-core v0.11.0
12 github.com/ipfs/kubo v0.0.0-00010101000000-000000000000
13 github.com/libp2p/go-libp2p v0.26.3
@@ -65,7 +65,7 @@ require (
65 github.com/ipfs/go-bitfield v1.1.0 // indirect
66 github.com/ipfs/go-block-format v0.1.1 // indirect
67 github.com/ipfs/go-blockservice v0.5.0 // indirect
68 - github.com/ipfs/go-cid v0.3.2 // indirect
68 + github.com/ipfs/go-cid v0.4.0 // indirect
69 github.com/ipfs/go-cidutil v0.1.0 // indirect
70 github.com/ipfs/go-datastore v0.6.0 // indirect
71 github.com/ipfs/go-delegated-routing v0.7.0 // indirect
docs/examples/kubo-as-a-library/go.sum
+4 -4
@@ -460,8 +460,8 @@ github.com/ipfs/go-cid v0.0.5/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67Fexh
460 github.com/ipfs/go-cid v0.0.6/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I=
461 github.com/ipfs/go-cid v0.0.7/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I=
462 github.com/ipfs/go-cid v0.1.0/go.mod h1:rH5/Xv83Rfy8Rw6xG+id3DYAMUVmem1MowoKwdXmN2o=
463 -github.com/ipfs/go-cid v0.3.2 h1:OGgOd+JCFM+y1DjWPmVH+2/4POtpDzwcr7VgnB7mZXc=
464 -github.com/ipfs/go-cid v0.3.2/go.mod h1:gQ8pKqT/sUxGY+tIwy1RPpAojYu7jAyCp5Tz1svoupw=
463 +github.com/ipfs/go-cid v0.4.0 h1:a4pdZq0sx6ZSxbCizebnKiMCx/xI/aBBFlB73IgH4rA=
464 +github.com/ipfs/go-cid v0.4.0/go.mod h1:uQHwDeX4c6CtyrFwdqyhpNcxVewur1M7l7fNU7LKwZk=
465 github.com/ipfs/go-cidutil v0.1.0 h1:RW5hO7Vcf16dplUU60Hs0AKDkQAVPVplr7lk97CFL+Q=
466 github.com/ipfs/go-cidutil v0.1.0/go.mod h1:e7OEVBMIv9JaOxt9zaGEmAoSlXW9jdFZ5lP/0PwcfpA=
467 github.com/ipfs/go-datastore v0.0.1/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE=
@@ -569,8 +569,8 @@ github.com/ipfs/go-ipld-legacy v0.1.1 h1:BvD8PEuqwBHLTKqlGFTHSwrwFOMkVESEvwIYwR2
569 github.com/ipfs/go-ipld-legacy v0.1.1/go.mod h1:8AyKFCjgRPsQFf15ZQgDB8Din4DML/fOmKZkkFkrIEg=
570 github.com/ipfs/go-ipns v0.3.0 h1:ai791nTgVo+zTuq2bLvEGmWP1M0A6kGTXUsgv/Yq67A=
571 github.com/ipfs/go-ipns v0.3.0/go.mod h1:3cLT2rbvgPZGkHJoPO1YMJeh6LtkxopCkKFcio/wE24=
572 -github.com/ipfs/go-libipfs v0.6.2 h1:QUf3kS3RrCjgtE0QW2d18PFFfOLeEt24Ft892ipLzRI=
573 -github.com/ipfs/go-libipfs v0.6.2/go.mod h1:FmhKgxMOQA572TK5DA3MZ5GL44ZqsMHIrkgK4gLn4A8=
572 +github.com/ipfs/go-libipfs v0.7.0 h1:Mi54WJTODaOL2/ZSm5loi3SwI3jI2OuFWUrQIkJ5cpM=
573 +github.com/ipfs/go-libipfs v0.7.0/go.mod h1:KsIf/03CqhICzyRGyGo68tooiBE2iFbI/rXW7FhAYr0=
574 github.com/ipfs/go-log v0.0.1/go.mod h1:kL1d2/hzSpI0thNYjiKfjanbVNU+IIGA/WnNESY9leM=
575 github.com/ipfs/go-log v1.0.2/go.mod h1:1MNjMxe0u6xvJZgeqbJ8vdo2TKaGwZ1a0Bpza+sr2Sk=
576 github.com/ipfs/go-log v1.0.3/go.mod h1:OsLySYkwIbiSUR/yBTdv1qPtcE4FW3WPWk/ewz9Ru+A=
go.mod
+2 -2
@@ -17,7 +17,7 @@ require (
17 github.com/google/uuid v1.3.0
18 github.com/hashicorp/go-multierror v1.1.1
19 github.com/ipfs/go-blockservice v0.5.0
20 - github.com/ipfs/go-cid v0.3.2
20 + github.com/ipfs/go-cid v0.4.0
21 github.com/ipfs/go-cidutil v0.1.0
22 github.com/ipfs/go-datastore v0.6.0
23 github.com/ipfs/go-delegated-routing v0.7.0
@@ -45,7 +45,7 @@ require (
45 github.com/ipfs/go-ipld-git v0.1.1
46 github.com/ipfs/go-ipld-legacy v0.1.1
47 github.com/ipfs/go-ipns v0.3.0
48 - github.com/ipfs/go-libipfs v0.6.2
48 + github.com/ipfs/go-libipfs v0.7.0
49 github.com/ipfs/go-log v1.0.5
50 github.com/ipfs/go-log/v2 v2.5.1
51 github.com/ipfs/go-merkledag v0.9.0
go.sum
+4 -4
@@ -478,8 +478,8 @@ github.com/ipfs/go-cid v0.0.5/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67Fexh
478 github.com/ipfs/go-cid v0.0.6/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I=
479 github.com/ipfs/go-cid v0.0.7/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I=
480 github.com/ipfs/go-cid v0.1.0/go.mod h1:rH5/Xv83Rfy8Rw6xG+id3DYAMUVmem1MowoKwdXmN2o=
481 -github.com/ipfs/go-cid v0.3.2 h1:OGgOd+JCFM+y1DjWPmVH+2/4POtpDzwcr7VgnB7mZXc=
482 -github.com/ipfs/go-cid v0.3.2/go.mod h1:gQ8pKqT/sUxGY+tIwy1RPpAojYu7jAyCp5Tz1svoupw=
481 +github.com/ipfs/go-cid v0.4.0 h1:a4pdZq0sx6ZSxbCizebnKiMCx/xI/aBBFlB73IgH4rA=
482 +github.com/ipfs/go-cid v0.4.0/go.mod h1:uQHwDeX4c6CtyrFwdqyhpNcxVewur1M7l7fNU7LKwZk=
483 github.com/ipfs/go-cidutil v0.1.0 h1:RW5hO7Vcf16dplUU60Hs0AKDkQAVPVplr7lk97CFL+Q=
484 github.com/ipfs/go-cidutil v0.1.0/go.mod h1:e7OEVBMIv9JaOxt9zaGEmAoSlXW9jdFZ5lP/0PwcfpA=
485 github.com/ipfs/go-datastore v0.0.1/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE=
@@ -591,8 +591,8 @@ github.com/ipfs/go-ipld-legacy v0.1.1 h1:BvD8PEuqwBHLTKqlGFTHSwrwFOMkVESEvwIYwR2
591 github.com/ipfs/go-ipld-legacy v0.1.1/go.mod h1:8AyKFCjgRPsQFf15ZQgDB8Din4DML/fOmKZkkFkrIEg=
592 github.com/ipfs/go-ipns v0.3.0 h1:ai791nTgVo+zTuq2bLvEGmWP1M0A6kGTXUsgv/Yq67A=
593 github.com/ipfs/go-ipns v0.3.0/go.mod h1:3cLT2rbvgPZGkHJoPO1YMJeh6LtkxopCkKFcio/wE24=
594 -github.com/ipfs/go-libipfs v0.6.2 h1:QUf3kS3RrCjgtE0QW2d18PFFfOLeEt24Ft892ipLzRI=
595 -github.com/ipfs/go-libipfs v0.6.2/go.mod h1:FmhKgxMOQA572TK5DA3MZ5GL44ZqsMHIrkgK4gLn4A8=
594 +github.com/ipfs/go-libipfs v0.7.0 h1:Mi54WJTODaOL2/ZSm5loi3SwI3jI2OuFWUrQIkJ5cpM=
595 +github.com/ipfs/go-libipfs v0.7.0/go.mod h1:KsIf/03CqhICzyRGyGo68tooiBE2iFbI/rXW7FhAYr0=
596 github.com/ipfs/go-log v0.0.1/go.mod h1:kL1d2/hzSpI0thNYjiKfjanbVNU+IIGA/WnNESY9leM=
597 github.com/ipfs/go-log v1.0.2/go.mod h1:1MNjMxe0u6xvJZgeqbJ8vdo2TKaGwZ1a0Bpza+sr2Sk=
598 github.com/ipfs/go-log v1.0.3/go.mod h1:OsLySYkwIbiSUR/yBTdv1qPtcE4FW3WPWk/ewz9Ru+A=
test/cli/gateway_test.go
+4 -4
@@ -126,10 +126,10 @@ func TestGateway(t *testing.T) {
126 assert.Equal(t, 404, resp.StatusCode)
127 })
128
129 - t.Run("GET IPFS invalid CID returns 500 (Internal Server Error)", func(t *testing.T) {
129 + t.Run("GET IPFS invalid CID returns 400 (Bad Request)", func(t *testing.T) {
130 t.Parallel()
131 resp := client.Get("/ipfs/QmInvalid/pleaseDontAddMe")
132 - assert.Equal(t, 500, resp.StatusCode)
132 + assert.Equal(t, 400, resp.StatusCode)
133 })
134
135 t.Run("GET IPFS inlined zero-length data object returns ok code (200)", func(t *testing.T) {
@@ -198,7 +198,7 @@ func TestGateway(t *testing.T) {
198
199 t.Run("GET invalid IPFS path errors", func(t *testing.T) {
200 t.Parallel()
201 - assert.Equal(t, 500, client.Get("/ipfs/12345").StatusCode)
201 + assert.Equal(t, 400, client.Get("/ipfs/12345").StatusCode)
202 })
203
204 t.Run("GET invalid path errors", func(t *testing.T) {
@@ -406,7 +406,7 @@ func TestGateway(t *testing.T) {
406 gatewayAddr := URLStrToMultiaddr(node.GatewayURL())
407 res := node.RunIPFS("--api", gatewayAddr.String(), "refs", "local")
408 assert.Equal(t,
409 - `Error: invalid path "local": selected encoding not supported`,
409 + `Error: invalid path "local": invalid cid: selected encoding not supported`,
410 res.Stderr.Trimmed(),
411 )
412 })
test/sharness/t0090-get.sh
+1 -1
@@ -129,7 +129,7 @@ test_get_cmd() {
129 '
130
131 test_expect_success "ipfs get ../.. should fail" '
132 - echo "Error: invalid path \"../..\": selected encoding not supported" >expected &&
132 + echo "Error: invalid path \"../..\": invalid cid: selected encoding not supported" >expected &&
133 test_must_fail ipfs get ../.. 2>actual &&
134 test_cmp expected actual
135 '