Skip to content

Commit 5047c02

Browse files
committed
fix: apply agent-version-suffix to libp2p identify
Closes #9456
1 parent b9a4d45 commit 5047c02

File tree

3 files changed

+26
-13
lines changed

3 files changed

+26
-13
lines changed

core/node/groups.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import (
2626
var logger = log.Logger("core:constructor")
2727

2828
var BaseLibP2P = fx.Options(
29-
fx.Provide(libp2p.UserAgent),
3029
fx.Provide(libp2p.PNet),
3130
fx.Provide(libp2p.ConnectionManager),
3231
fx.Provide(libp2p.Host),
@@ -134,6 +133,9 @@ func LibP2P(bcfg *BuildCfg, cfg *config.Config) fx.Option {
134133
opts := fx.Options(
135134
BaseLibP2P,
136135

136+
// identify's AgentVersion (incl. optional agent-version-suffix)
137+
fx.Provide(libp2p.UserAgent()),
138+
137139
// Services (resource management)
138140
fx.Provide(libp2p.ResourceManager(cfg.Swarm)),
139141
fx.Provide(libp2p.AddrFilters(cfg.Swarm.AddrFilters)),

core/node/libp2p/libp2p.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ type Libp2pOpts struct {
2525
Opts []libp2p.Option `group:"libp2p"`
2626
}
2727

28-
var UserAgent = simpleOpt(libp2p.UserAgent(version.GetUserAgentVersion()))
29-
3028
func ConnectionManager(low, high int, grace time.Duration) func() (opts Libp2pOpts, err error) {
3129
return func() (opts Libp2pOpts, err error) {
3230
cm, err := connmgr.NewConnManager(low, high, connmgr.WithGracePeriod(grace))
@@ -46,6 +44,10 @@ func PstoreAddSelfKeys(id peer.ID, sk crypto.PrivKey, ps peerstore.Peerstore) er
4644
return ps.AddPrivKey(id, sk)
4745
}
4846

47+
func UserAgent() func() (opts Libp2pOpts, err error) {
48+
return simpleOpt(libp2p.UserAgent(version.GetUserAgentVersion()))
49+
}
50+
4951
func simpleOpt(opt libp2p.Option) func() (opts Libp2pOpts, err error) {
5052
return func() (opts Libp2pOpts, err error) {
5153
opts.Opts = append(opts.Opts, opt)

test/sharness/t0026-id.sh

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,6 @@ test_expect_success "checking AgentVersion" '
3232
test_cmp expected-agent-version actual-agent-version
3333
'
3434

35-
test_launch_ipfs_daemon_without_network --agent-version-suffix=test-suffix
36-
37-
test_expect_success "checking AgentVersion with suffix (daemon running)" '
38-
test_id_compute_agent test-suffix > expected-agent-version &&
39-
ipfs id -f "<aver>\n" > actual-agent-version &&
40-
test_cmp expected-agent-version actual-agent-version
41-
'
42-
43-
test_kill_ipfs_daemon
44-
4535
test_expect_success "checking ProtocolVersion" '
4636
echo "ipfs/0.1.0" > expected-protocol-version &&
4737
ipfs id -f "<pver>\n" > actual-protocol-version &&
@@ -61,4 +51,23 @@ test_expect_success "checking and converting ID of a random peer while offline"
6151
test_cmp expected-id actual-id
6252
'
6353

54+
# agent-version-suffix (local, offline)
55+
test_launch_ipfs_daemon --agent-version-suffix=test-suffix
56+
test_expect_success "checking AgentVersion with suffix (local)" '
57+
test_id_compute_agent test-suffix > expected-agent-version &&
58+
ipfs id -f "<aver>\n" > actual-agent-version &&
59+
test_cmp expected-agent-version actual-agent-version
60+
'
61+
62+
# agent-version-suffix (over libp2p identify protocol)
63+
iptb testbed create -type localipfs -count 2 -init
64+
startup_cluster 2 --agent-version-suffix=test-suffix-identify
65+
test_expect_success "checking AgentVersion with suffix (fetched via libp2p identify protocol)" '
66+
ipfsi 0 id -f "<aver>\n" > expected-identify-agent-version &&
67+
ipfsi 1 id "$(ipfsi 0 config Identity.PeerID)" -f "<aver>\n" > actual-libp2p-identify-agent-version &&
68+
test_cmp expected-identify-agent-version actual-libp2p-identify-agent-version
69+
'
70+
test_kill_ipfs_daemon
71+
72+
6473
test_done

0 commit comments

Comments
 (0)