@cryptotaxi247 / kubo / commits / 13c379604

fix(gateway): redirect /ipns/b58mh to /ipns/cidb36 (#9785)

Henrique Dias committed May 16, 2023 at 13:09 UTC 13c379604fd39250ca788bfbfc20c90595898aca
5 files changed +18 -11
docs/examples/kubo-as-a-library/go.mod
+1 -1
@@ -7,7 +7,7 @@ go 1.18
7 replace github.com/ipfs/kubo => ./../../..
8
9 require (
10 - github.com/ipfs/boxo v0.8.2-0.20230510114019-33e3f0cd052b
10 + github.com/ipfs/boxo v0.8.2-0.20230516102723-5e94b9d91816
11 github.com/ipfs/kubo v0.0.0-00010101000000-000000000000
12 github.com/libp2p/go-libp2p v0.27.3
13 github.com/multiformats/go-multiaddr v0.9.0
docs/examples/kubo-as-a-library/go.sum
+2 -2
@@ -321,8 +321,8 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:
321 github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
322 github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs=
323 github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0=
324 -github.com/ipfs/boxo v0.8.2-0.20230510114019-33e3f0cd052b h1:6EVpfwbBgwhfZOA19i55jOGokKOy+OaQAm1dg4RbXmc=
325 -github.com/ipfs/boxo v0.8.2-0.20230510114019-33e3f0cd052b/go.mod h1:Ej2r08Z4VIaFKqY08UXMNhwcLf6VekHhK8c+KqA1B9Y=
324 +github.com/ipfs/boxo v0.8.2-0.20230516102723-5e94b9d91816 h1:5EacqVA/Houq8q7jpecu80sWMB0Gvz0rLgRiK2Mfat0=
325 +github.com/ipfs/boxo v0.8.2-0.20230516102723-5e94b9d91816/go.mod h1:Ej2r08Z4VIaFKqY08UXMNhwcLf6VekHhK8c+KqA1B9Y=
326 github.com/ipfs/go-bitfield v1.1.0 h1:fh7FIo8bSwaJEh6DdTWbCeZ1eqOaOkKFI74SCnsWbGA=
327 github.com/ipfs/go-bitfield v1.1.0/go.mod h1:paqf1wjq/D2BBmzfTVFlJQ9IlFOZpg422HL0HqsGWHU=
328 github.com/ipfs/go-block-format v0.0.2/go.mod h1:AWR46JfpcObNfg3ok2JHDUfdiHRgWhJgCQF+KIgOPJY=
go.mod
+1 -1
@@ -16,7 +16,7 @@ require (
16 github.com/gogo/protobuf v1.3.2
17 github.com/google/uuid v1.3.0
18 github.com/hashicorp/go-multierror v1.1.1
19 - github.com/ipfs/boxo v0.8.2-0.20230510114019-33e3f0cd052b
19 + github.com/ipfs/boxo v0.8.2-0.20230516102723-5e94b9d91816
20 github.com/ipfs/go-block-format v0.1.2
21 github.com/ipfs/go-cid v0.4.1
22 github.com/ipfs/go-cidutil v0.1.0
go.sum
+2 -2
@@ -356,8 +356,8 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:
356 github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
357 github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs=
358 github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0=
359 -github.com/ipfs/boxo v0.8.2-0.20230510114019-33e3f0cd052b h1:6EVpfwbBgwhfZOA19i55jOGokKOy+OaQAm1dg4RbXmc=
360 -github.com/ipfs/boxo v0.8.2-0.20230510114019-33e3f0cd052b/go.mod h1:Ej2r08Z4VIaFKqY08UXMNhwcLf6VekHhK8c+KqA1B9Y=
359 +github.com/ipfs/boxo v0.8.2-0.20230516102723-5e94b9d91816 h1:5EacqVA/Houq8q7jpecu80sWMB0Gvz0rLgRiK2Mfat0=
360 +github.com/ipfs/boxo v0.8.2-0.20230516102723-5e94b9d91816/go.mod h1:Ej2r08Z4VIaFKqY08UXMNhwcLf6VekHhK8c+KqA1B9Y=
361 github.com/ipfs/go-bitfield v1.1.0 h1:fh7FIo8bSwaJEh6DdTWbCeZ1eqOaOkKFI74SCnsWbGA=
362 github.com/ipfs/go-bitfield v1.1.0/go.mod h1:paqf1wjq/D2BBmzfTVFlJQ9IlFOZpg422HL0HqsGWHU=
363 github.com/ipfs/go-block-format v0.0.2/go.mod h1:AWR46JfpcObNfg3ok2JHDUfdiHRgWhJgCQF+KIgOPJY=
test/cli/gateway_test.go
+12 -5
@@ -13,8 +13,10 @@ import (
13 "github.com/ipfs/kubo/config"
14 "github.com/ipfs/kubo/test/cli/harness"
15 . "github.com/ipfs/kubo/test/cli/testutils"
16 + "github.com/libp2p/go-libp2p/core/peer"
17 "github.com/multiformats/go-multiaddr"
18 manet "github.com/multiformats/go-multiaddr/net"
19 + "github.com/multiformats/go-multibase"
20 "github.com/stretchr/testify/assert"
21 "github.com/stretchr/testify/require"
22 )
@@ -25,10 +27,13 @@ func TestGateway(t *testing.T) {
27 node := h.NewNode().Init().StartDaemon("--offline")
28 cid := node.IPFSAddStr("Hello Worlds!")
29
30 + peerID, err := peer.ToCid(node.PeerID()).StringOfBase(multibase.Base36)
31 + assert.Nil(t, err)
32 +
33 client := node.GatewayClient()
34 client.TemplateData = map[string]string{
35 "CID": cid,
31 - "PeerID": node.PeerID().String(),
36 + "PeerID": peerID,
37 }
38
39 t.Run("GET IPFS path succeeds", func(t *testing.T) {
@@ -182,7 +187,7 @@ func TestGateway(t *testing.T) {
187 t.Run("GET /ipfs/ipns/{peerid} returns redirect to the valid path", func(t *testing.T) {
188 t.Parallel()
189 resp := client.Get("/ipfs/ipns/{{.PeerID}}?query=to-remember")
185 - peerID := node.PeerID().String()
190 +
191 assert.Contains(t,
192 resp.Body,
193 fmt.Sprintf(`<meta http-equiv="refresh" content="10;url=/ipns/%s?query=to-remember" />`, peerID),
@@ -474,6 +479,9 @@ func TestGateway(t *testing.T) {
479 cfg.Gateway.NoFetch = true
480 })
481
482 + node2PeerID, err := peer.ToCid(node2.PeerID()).StringOfBase(multibase.Base36)
483 + assert.Nil(t, err)
484 +
485 nodes.StartDaemons().Connect()
486
487 t.Run("not present", func(t *testing.T) {
@@ -486,7 +494,7 @@ func TestGateway(t *testing.T) {
494
495 t.Run("not present IPNS key from node 1", func(t *testing.T) {
496 t.Parallel()
489 - assert.Equal(t, 500, node1.GatewayClient().Get("/ipns/"+node2.PeerID().String()).StatusCode)
497 + assert.Equal(t, 500, node1.GatewayClient().Get("/ipns/"+node2PeerID).StatusCode)
498 })
499 })
500
@@ -501,8 +509,7 @@ func TestGateway(t *testing.T) {
509 t.Run("present IPNS key from node 1", func(t *testing.T) {
510 t.Parallel()
511 node2.IPFS("name", "publish", "/ipfs/"+cidBar)
504 - assert.Equal(t, 200, node1.GatewayClient().Get("/ipns/"+node2.PeerID().String()).StatusCode)
505 -
512 + assert.Equal(t, 200, node1.GatewayClient().Get("/ipns/"+node2PeerID).StatusCode)
513 })
514 })
515 })