Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mybee
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
vicotor
mybee
Commits
b612d623
Unverified
Commit
b612d623
authored
Apr 28, 2021
by
Janoš Guljaš
Committed by
GitHub
Apr 28, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
libp2p static address resolver test simplification (#1617)
parent
b8e478a4
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
17 additions
and
38 deletions
+17
-38
go.mod
go.mod
+0
-1
go.sum
go.sum
+0
-8
libp2p.go
pkg/p2p/libp2p/libp2p.go
+1
-1
static_resolver.go
pkg/p2p/libp2p/static_resolver.go
+4
-4
static_resolver_test.go
pkg/p2p/libp2p/static_resolver_test.go
+12
-24
No files found.
go.mod
View file @
b612d623
...
...
@@ -11,7 +11,6 @@ require (
github.com/ethersphere/go-storage-incentives-abi v0.1.0
github.com/ethersphere/go-sw3-abi v0.3.2
github.com/ethersphere/langos v1.0.0
github.com/foxcpp/go-mockdns v0.0.0-20201212160233-ede2f9158d15
github.com/gogo/protobuf v1.3.1
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect
github.com/google/gopacket v1.1.19 // indirect
...
...
go.sum
View file @
b612d623
...
...
@@ -174,8 +174,6 @@ github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI
github.com/flynn/noise v0.0.0-20180327030543-2492fe189ae6 h1:u/UEqS66A5ckRmS4yNpjmVH56sVtS/RfclBAYocb4as=
github.com/flynn/noise v0.0.0-20180327030543-2492fe189ae6/go.mod h1:1i71OnUq3iUe1ma7Lr6yG6/rjvM3emb6yoL7xLFzcVQ=
github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g=
github.com/foxcpp/go-mockdns v0.0.0-20201212160233-ede2f9158d15 h1:nLPjjvpUAODOR6vY/7o0hBIk8iTr19Fvmf8aFx/kC7A=
github.com/foxcpp/go-mockdns v0.0.0-20201212160233-ede2f9158d15/go.mod h1:tPg4cp4nseejPd+UKxtCVQ2hUxNTZ7qQZJa7CLriIeo=
github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk=
github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY=
github.com/frankban/quicktest v1.7.2/go.mod h1:jaStnuzAqU1AJdCO0l53JDCJrVDKcS03DbaAcR7Ks/o=
...
...
@@ -648,9 +646,7 @@ github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyex
github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4=
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/miekg/dns v1.1.12/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/miekg/dns v1.1.22/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso=
github.com/miekg/dns v1.1.28/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=
github.com/miekg/dns v1.1.31 h1:sJFOl9BgwbYAWOGEwr61FU28pqsBNdpRBnhGXtO06Oo=
github.com/miekg/dns v1.1.31/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=
github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0OXOcUbGjvZxxijuBwbbmlSxLiuofa+g=
github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ=
...
...
@@ -1012,7 +1008,6 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190618222545-ea8f1a30c443/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191219195013-becbf705a915/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
...
...
@@ -1135,7 +1130,6 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
...
...
@@ -1192,7 +1186,6 @@ golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgw
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
...
...
@@ -1322,7 +1315,6 @@ honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9
resenje.org/daemon v0.1.2/go.mod h1:mF5JRpH3EbrxI9WoeKY78e6PqSsbBtX9jAQL5vj/GBA=
resenje.org/email v0.1.3/go.mod h1:OhAVLRG3vqd9NSgayN3pAgzxTmc2B6mAefgShZvEgf0=
resenje.org/jsonhttp v0.2.0/go.mod h1:EDyeguyTWj2fU3D3SCE0qNTgthzyEkHYLM1uu0uikHU=
resenje.org/logging v0.1.5 h1:dw2TEg2kw7lhDqCCH5SqC1pFVuIFcqnTkI5PzgOhopM=
resenje.org/logging v0.1.5/go.mod h1:1IdoCm3+UwYfsplxDGV2pHCkUrLlQzlWwp4r28XfPx4=
resenje.org/marshal v0.1.1/go.mod h1:P7Cla6Ju5CFvW4Y8JbRgWX1Hcy4L1w4qcCsyadO7G94=
resenje.org/recovery v0.1.1/go.mod h1:3S6aCVKMJEWsSAb61oZTteaiqkIfQPTr1RdiWnRbhME=
...
...
pkg/p2p/libp2p/libp2p.go
View file @
b612d623
...
...
@@ -201,7 +201,7 @@ func New(ctx context.Context, signer beecrypto.Signer, networkID uint64, overlay
host
:
h
,
}
}
else
{
natAddrResolver
,
err
=
newStaticAddressResolver
(
o
.
NATAddr
)
natAddrResolver
,
err
=
newStaticAddressResolver
(
o
.
NATAddr
,
net
.
LookupIP
)
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"static nat: %w"
,
err
)
}
...
...
pkg/p2p/libp2p/static_resolver.go
View file @
b612d623
...
...
@@ -19,7 +19,7 @@ type staticAddressResolver struct {
port
string
}
func
newStaticAddressResolver
(
addr
string
)
(
*
staticAddressResolver
,
error
)
{
func
newStaticAddressResolver
(
addr
string
,
lookupIP
func
(
host
string
)
([]
net
.
IP
,
error
)
)
(
*
staticAddressResolver
,
error
)
{
host
,
port
,
err
:=
net
.
SplitHostPort
(
addr
)
if
err
!=
nil
{
return
nil
,
err
...
...
@@ -27,7 +27,7 @@ func newStaticAddressResolver(addr string) (*staticAddressResolver, error) {
var
multiProto
string
if
host
!=
""
{
multiProto
,
err
=
getMultiProto
(
host
)
multiProto
,
err
=
getMultiProto
(
host
,
lookupIP
)
if
err
!=
nil
{
return
nil
,
err
}
...
...
@@ -77,7 +77,7 @@ func (r *staticAddressResolver) Resolve(observedAddress ma.Multiaddr) (ma.Multia
return
buildUnderlayAddress
(
a
,
observableAddrInfo
.
ID
)
}
func
getMultiProto
(
host
string
)
(
string
,
error
)
{
func
getMultiProto
(
host
string
,
lookupIP
func
(
host
string
)
([]
net
.
IP
,
error
)
)
(
string
,
error
)
{
if
host
==
""
{
return
""
,
nil
}
...
...
@@ -88,7 +88,7 @@ func getMultiProto(host string) (string, error) {
}
return
"/ip4/"
+
ip
.
String
(),
nil
}
ips
,
err
:=
net
.
L
ookupIP
(
host
)
ips
,
err
:=
l
ookupIP
(
host
)
if
err
!=
nil
{
return
""
,
fmt
.
Errorf
(
"invalid IP or Domain Name %q"
,
host
)
}
...
...
pkg/p2p/libp2p/static_resolver_test.go
View file @
b612d623
...
...
@@ -6,19 +6,13 @@ package libp2p_test
import
(
"net"
"runtime"
"testing"
"github.com/ethersphere/bee/pkg/p2p/libp2p"
mockdns
"github.com/foxcpp/go-mockdns"
ma
"github.com/multiformats/go-multiaddr"
)
func
TestStaticAddressResolver
(
t
*
testing
.
T
)
{
if
runtime
.
GOOS
==
"windows"
||
runtime
.
GOOS
==
"plan9"
{
t
.
Skipf
(
"skipped all dns resolver tests on %v"
,
runtime
.
GOOS
)
}
for
_
,
tc
:=
range
[]
struct
{
name
string
natAddr
string
...
...
@@ -87,24 +81,18 @@ func TestStaticAddressResolver(t *testing.T) {
},
}
{
t
.
Run
(
tc
.
name
,
func
(
t
*
testing
.
T
)
{
srv
,
err
:=
mockdns
.
NewServer
(
map
[
string
]
mockdns
.
Zone
{
"ipv4.com."
:
{
A
:
[]
string
{
"192.168.1.34"
},
},
"ipv4and6.com."
:
{
A
:
[]
string
{
"192.168.1.34"
},
AAAA
:
[]
string
{
"2001:db8::8a2e:370:1111"
},
},
},
false
)
if
err
!=
nil
{
t
.
Fatalf
(
"new mockdns: %v"
,
err
)
}
defer
srv
.
Close
()
srv
.
PatchNet
(
net
.
DefaultResolver
)
defer
mockdns
.
UnpatchNet
(
net
.
DefaultResolver
)
r
,
err
:=
libp2p
.
NewStaticAddressResolver
(
tc
.
natAddr
)
r
,
err
:=
libp2p
.
NewStaticAddressResolver
(
tc
.
natAddr
,
func
(
host
string
)
([]
net
.
IP
,
error
)
{
hosts
:=
map
[
string
][]
net
.
IP
{
"ipv4.com"
:
{
net
.
ParseIP
(
"192.168.1.34"
),
},
"ipv4and6.com"
:
{
net
.
ParseIP
(
"192.168.1.34"
),
net
.
ParseIP
(
"2001:db8::8a2e:370:1111"
),
},
}
return
hosts
[
host
],
nil
})
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment