Skip to content

Commit 13c3796

Browse files
authored
fix(gateway): redirect /ipns/b58mh to /ipns/cidb36 (#9785)
1 parent a4f5457 commit 13c3796

5 files changed

Lines changed: 18 additions & 11 deletions

File tree

docs/examples/kubo-as-a-library/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ go 1.18
77
replace github.com/ipfs/kubo => ./../../..
88

99
require (
10-
github.com/ipfs/boxo v0.8.2-0.20230510114019-33e3f0cd052b
10+
github.com/ipfs/boxo v0.8.2-0.20230516102723-5e94b9d91816
1111
github.com/ipfs/kubo v0.0.0-00010101000000-000000000000
1212
github.com/libp2p/go-libp2p v0.27.3
1313
github.com/multiformats/go-multiaddr v0.9.0

docs/examples/kubo-as-a-library/go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -321,8 +321,8 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:
321321
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
322322
github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs=
323323
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=
326326
github.com/ipfs/go-bitfield v1.1.0 h1:fh7FIo8bSwaJEh6DdTWbCeZ1eqOaOkKFI74SCnsWbGA=
327327
github.com/ipfs/go-bitfield v1.1.0/go.mod h1:paqf1wjq/D2BBmzfTVFlJQ9IlFOZpg422HL0HqsGWHU=
328328
github.com/ipfs/go-block-format v0.0.2/go.mod h1:AWR46JfpcObNfg3ok2JHDUfdiHRgWhJgCQF+KIgOPJY=

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ require (
1616
github.com/gogo/protobuf v1.3.2
1717
github.com/google/uuid v1.3.0
1818
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
2020
github.com/ipfs/go-block-format v0.1.2
2121
github.com/ipfs/go-cid v0.4.1
2222
github.com/ipfs/go-cidutil v0.1.0

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -356,8 +356,8 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:
356356
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
357357
github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs=
358358
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=
361361
github.com/ipfs/go-bitfield v1.1.0 h1:fh7FIo8bSwaJEh6DdTWbCeZ1eqOaOkKFI74SCnsWbGA=
362362
github.com/ipfs/go-bitfield v1.1.0/go.mod h1:paqf1wjq/D2BBmzfTVFlJQ9IlFOZpg422HL0HqsGWHU=
363363
github.com/ipfs/go-block-format v0.0.2/go.mod h1:AWR46JfpcObNfg3ok2JHDUfdiHRgWhJgCQF+KIgOPJY=

test/cli/gateway_test.go

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@ import (
1313
"github.com/ipfs/kubo/config"
1414
"github.com/ipfs/kubo/test/cli/harness"
1515
. "github.com/ipfs/kubo/test/cli/testutils"
16+
"github.com/libp2p/go-libp2p/core/peer"
1617
"github.com/multiformats/go-multiaddr"
1718
manet "github.com/multiformats/go-multiaddr/net"
19+
"github.com/multiformats/go-multibase"
1820
"github.com/stretchr/testify/assert"
1921
"github.com/stretchr/testify/require"
2022
)
@@ -25,10 +27,13 @@ func TestGateway(t *testing.T) {
2527
node := h.NewNode().Init().StartDaemon("--offline")
2628
cid := node.IPFSAddStr("Hello Worlds!")
2729

30+
peerID, err := peer.ToCid(node.PeerID()).StringOfBase(multibase.Base36)
31+
assert.Nil(t, err)
32+
2833
client := node.GatewayClient()
2934
client.TemplateData = map[string]string{
3035
"CID": cid,
31-
"PeerID": node.PeerID().String(),
36+
"PeerID": peerID,
3237
}
3338

3439
t.Run("GET IPFS path succeeds", func(t *testing.T) {
@@ -182,7 +187,7 @@ func TestGateway(t *testing.T) {
182187
t.Run("GET /ipfs/ipns/{peerid} returns redirect to the valid path", func(t *testing.T) {
183188
t.Parallel()
184189
resp := client.Get("/ipfs/ipns/{{.PeerID}}?query=to-remember")
185-
peerID := node.PeerID().String()
190+
186191
assert.Contains(t,
187192
resp.Body,
188193
fmt.Sprintf(`<meta http-equiv="refresh" content="10;url=/ipns/%s?query=to-remember" />`, peerID),
@@ -474,6 +479,9 @@ func TestGateway(t *testing.T) {
474479
cfg.Gateway.NoFetch = true
475480
})
476481

482+
node2PeerID, err := peer.ToCid(node2.PeerID()).StringOfBase(multibase.Base36)
483+
assert.Nil(t, err)
484+
477485
nodes.StartDaemons().Connect()
478486

479487
t.Run("not present", func(t *testing.T) {
@@ -486,7 +494,7 @@ func TestGateway(t *testing.T) {
486494

487495
t.Run("not present IPNS key from node 1", func(t *testing.T) {
488496
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)
490498
})
491499
})
492500

@@ -501,8 +509,7 @@ func TestGateway(t *testing.T) {
501509
t.Run("present IPNS key from node 1", func(t *testing.T) {
502510
t.Parallel()
503511
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)
506513
})
507514
})
508515
})

0 commit comments

Comments
 (0)