Skip to content

Commit deb796e

Browse files
committed
feat(config): change Addresses#AppendAnnounce to a []string
This is changed that way to avoid potential issues that a migration wouldn't catch, for example an automated deployment system.
1 parent aea12a9 commit deb796e

File tree

4 files changed

+22
-15
lines changed

4 files changed

+22
-15
lines changed

core/node/groups.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ func LibP2P(bcfg *BuildCfg, cfg *config.Config) fx.Option {
129129
BaseLibP2P,
130130

131131
fx.Provide(libp2p.AddrFilters(cfg.Swarm.AddrFilters)),
132-
fx.Provide(libp2p.AddrsFactory(cfg.Addresses.Announce, cfg.Addresses.AppendAnnouce, cfg.Addresses.NoAnnounce)),
132+
fx.Provide(libp2p.AddrsFactory(cfg.Addresses.Announce, cfg.Addresses.AppendAnnounce, cfg.Addresses.NoAnnounce)),
133133
fx.Provide(libp2p.SmuxTransport(cfg.Swarm.Transports)),
134134
fx.Provide(libp2p.Relay(enableRelay, cfg.Swarm.EnableRelayHop)),
135135
fx.Provide(libp2p.Transports(cfg.Swarm.Transports)),

core/node/libp2p/addrs.go

+18-11
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,23 @@ func AddrFilters(filters []string) func() (*ma.Filters, Libp2pOpts, error) {
2525
}
2626
}
2727

28-
func makeAddrsFactory(announce []string, appendAnnouce bool, noAnnounce []string) (p2pbhost.AddrsFactory, error) {
29-
var annAddrs []ma.Multiaddr
30-
for _, addr := range announce {
31-
maddr, err := ma.NewMultiaddr(addr)
28+
func makeAddrsFactory(announce []string, appendAnnouce []string, noAnnounce []string) (p2pbhost.AddrsFactory, error) {
29+
var err error // To assign to the slice in the for loop
30+
31+
annAddrs := make([]ma.Multiaddr, len(announce))
32+
for i, addr := range announce {
33+
annAddrs[i], err = ma.NewMultiaddr(addr)
34+
if err != nil {
35+
return nil, err
36+
}
37+
}
38+
39+
appendAnnAddrs := make([]ma.Multiaddr, len(appendAnnouce))
40+
for i, addr := range appendAnnouce {
41+
appendAnnAddrs[i], err = ma.NewMultiaddr(addr)
3242
if err != nil {
3343
return nil, err
3444
}
35-
annAddrs = append(annAddrs, maddr)
3645
}
3746

3847
filters := ma.NewFilters()
@@ -52,14 +61,12 @@ func makeAddrsFactory(announce []string, appendAnnouce bool, noAnnounce []string
5261

5362
return func(allAddrs []ma.Multiaddr) []ma.Multiaddr {
5463
var addrs []ma.Multiaddr
55-
switch {
56-
case appendAnnouce:
57-
addrs = append(allAddrs, annAddrs...)
58-
case len(annAddrs) > 0:
64+
if len(annAddrs) > 0 {
5965
addrs = annAddrs
60-
default:
66+
} else {
6167
addrs = allAddrs
6268
}
69+
addrs = append(addrs, appendAnnAddrs...)
6370

6471
var out []ma.Multiaddr
6572
for _, maddr := range addrs {
@@ -74,7 +81,7 @@ func makeAddrsFactory(announce []string, appendAnnouce bool, noAnnounce []string
7481
}, nil
7582
}
7683

77-
func AddrsFactory(announce []string, appendAnnouce bool, noAnnounce []string) func() (opts Libp2pOpts, err error) {
84+
func AddrsFactory(announce []string, appendAnnouce []string, noAnnounce []string) func() (opts Libp2pOpts, err error) {
7885
return func() (opts Libp2pOpts, err error) {
7986
addrsFactory, err := makeAddrsFactory(announce, appendAnnouce, noAnnounce)
8087
if err != nil {

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -109,4 +109,4 @@ require (
109109

110110
go 1.15
111111

112-
replace github.com/ipfs/go-ipfs-config => github.com/Jorropo/go-ipfs-config v0.14.1 // Temporary while waiting for https://github.com/ipfs/go-ipfs-config/pull/135/
112+
replace github.com/ipfs/go-ipfs-config => github.com/Jorropo/go-ipfs-config v0.14.2 // Temporary while waiting for https://github.com/ipfs/go-ipfs-config/pull/135/

go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96/go.mod h1:bOv
3333
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
3434
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
3535
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
36-
github.com/Jorropo/go-ipfs-config v0.14.1 h1:kpAlUUAiwLlm/wfOe1FRsUJepSytyMuFtlVViO83+xk=
37-
github.com/Jorropo/go-ipfs-config v0.14.1/go.mod h1:4IoXvJ4eEe+KpI/OXXeserUraTREewhTYJSRdhKgNcY=
36+
github.com/Jorropo/go-ipfs-config v0.14.2 h1:n89JXCYpgwLKjh8hle1UQCCuQwZmfaRtstqhQD605I0=
37+
github.com/Jorropo/go-ipfs-config v0.14.2/go.mod h1:4IoXvJ4eEe+KpI/OXXeserUraTREewhTYJSRdhKgNcY=
3838
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
3939
github.com/Kubuxu/go-os-helper v0.0.1 h1:EJiD2VUQyh5A9hWJLmc6iWg6yIcJ7jpBcwC8GMGXfDk=
4040
github.com/Kubuxu/go-os-helper v0.0.1/go.mod h1:N8B+I7vPCT80IcP58r50u4+gEEcsZETFUpAzWW2ep1Y=

0 commit comments

Comments
 (0)