Skip to content

Commit 319b059

Browse files
committed
p2p/protocol/identify: test user agent in tests against the real user agent used
Fixes libp2p#3176
1 parent 6a96622 commit 319b059

File tree

3 files changed

+15
-6
lines changed

3 files changed

+15
-6
lines changed

p2p/protocol/identify/id.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919
"github.com/libp2p/go-libp2p/core/protocol"
2020
"github.com/libp2p/go-libp2p/core/record"
2121
"github.com/libp2p/go-libp2p/p2p/host/eventbus"
22+
useragent "github.com/libp2p/go-libp2p/p2p/protocol/identify/internal/user-agent"
2223
"github.com/libp2p/go-libp2p/p2p/protocol/identify/pb"
2324

2425
logging "github.com/ipfs/go-log/v2"
@@ -54,8 +55,6 @@ const (
5455
connectedPeerMaxAddrs = 500
5556
)
5657

57-
var defaultUserAgent = "github.com/libp2p/go-libp2p"
58-
5958
type identifySnapshot struct {
6059
seq uint64
6160
protocols []protocol.ID
@@ -188,7 +187,7 @@ func NewIDService(h host.Host, opts ...Option) (*idService, error) {
188187
opt(&cfg)
189188
}
190189

191-
userAgent := defaultUserAgent
190+
userAgent := useragent.DefaultUserAgent()
192191
if cfg.userAgent != "" {
193192
userAgent = cfg.userAgent
194193
}

p2p/protocol/identify/id_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727
"github.com/libp2p/go-libp2p/p2p/net/swarm"
2828
swarmt "github.com/libp2p/go-libp2p/p2p/net/swarm/testing"
2929
"github.com/libp2p/go-libp2p/p2p/protocol/identify"
30+
useragent "github.com/libp2p/go-libp2p/p2p/protocol/identify/internal/user-agent"
3031
"github.com/libp2p/go-libp2p/p2p/protocol/identify/pb"
3132

3233
mockClock "github.com/benbjohnson/clock"
@@ -45,7 +46,7 @@ func testKnowsAddrs(t *testing.T, h host.Host, p peer.ID, expected []ma.Multiadd
4546
func testHasAgentVersion(t *testing.T, h host.Host, p peer.ID) {
4647
v, err := h.Peerstore().Get(p, "AgentVersion")
4748
require.NoError(t, err, "fetching agent version")
48-
require.Equal(t, "github.com/libp2p/go-libp2p", v, "agent version")
49+
require.Equal(t, useragent.DefaultUserAgent(), v, "agent version")
4950
}
5051

5152
func testHasPublicKey(t *testing.T, h host.Host, p peer.ID, shouldBe ic.PubKey) {

p2p/protocol/identify/user_agent.go renamed to p2p/protocol/identify/internal/user-agent/user_agent.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,20 @@
1-
package identify
1+
package useragent
22

33
import (
44
"fmt"
55
"runtime/debug"
6+
"sync"
67
)
78

8-
func init() {
9+
func DefaultUserAgent() string {
10+
initOnce.Do(checkBuildInfos)
11+
return defaultUserAgent
12+
}
13+
14+
var defaultUserAgent = "github.com/libp2p/go-libp2p"
15+
var initOnce sync.Once
16+
17+
func checkBuildInfos() {
918
bi, ok := debug.ReadBuildInfo()
1019
if !ok {
1120
return

0 commit comments

Comments
 (0)