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
})