mirror of
https://github.com/slackhq/nebula.git
synced 2026-08-15 10:36:57 +02:00
8cbee0e965
On Android 11+ the app sandbox denies bind() on netlink_route_socket, so the stdlib's net.Interfaces fails with EACCES. localAddrs discarded that error and returned an empty slice, so the node advertised no underlay addresses and peers could only ever reach it at the address a lighthouse observed. A device on the same LAN as a peer was unreachable at its LAN address. Split interface enumeration behind a build-tagged seam and use github.com/wlynxg/anet on Android, which reads RTM_GETADDR from an unbound socket. Interface addresses have to come from anet as well, since net.Interface.Addrs goes back through the same denied path. Every other platform keeps the net package implementation. Stop discarding the enumeration errors, which are exceptional now that the sandbox case is handled. anet needs -ldflags=-checklinkname=0 on Go 1.23+. Nebula ships no Android binaries, so build-test-mobile is unaffected, but consumers linking Android artifacts will need the flag.
58 lines
2.1 KiB
Modula-2
58 lines
2.1 KiB
Modula-2
module github.com/slackhq/nebula
|
|
|
|
go 1.26.0
|
|
|
|
require (
|
|
dario.cat/mergo v1.0.2
|
|
filippo.io/bigmod v0.1.0
|
|
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be
|
|
github.com/armon/go-radix v1.0.0
|
|
github.com/cyberdelia/go-metrics-graphite v0.0.0-20161219230853-39f87cc3b432
|
|
github.com/flynn/noise v1.1.0
|
|
github.com/gaissmai/bart v0.28.0
|
|
github.com/gogo/protobuf v1.3.2
|
|
github.com/google/gopacket v1.1.19
|
|
github.com/kardianos/service v1.3.0
|
|
github.com/miekg/dns v1.1.72
|
|
github.com/miekg/pkcs11 v1.1.2
|
|
github.com/nbrownus/go-metrics-prometheus v0.0.0-20210712211119-974a6260965f
|
|
github.com/prometheus/client_golang v1.23.2
|
|
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475
|
|
github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e
|
|
github.com/stefanberger/go-pkcs11uri v0.0.0-20230803200340-78284954bff6
|
|
github.com/stretchr/testify v1.11.1
|
|
github.com/vishvananda/netlink v1.3.1
|
|
github.com/wlynxg/anet v0.0.5
|
|
go.uber.org/goleak v1.3.0
|
|
go.yaml.in/yaml/v3 v3.0.4
|
|
golang.org/x/crypto v0.54.0
|
|
golang.org/x/exp v0.0.0-20230725093048-515e97ebf090
|
|
golang.org/x/net v0.57.0
|
|
golang.org/x/sync v0.22.0
|
|
golang.org/x/sys v0.47.0
|
|
golang.org/x/term v0.45.0
|
|
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2
|
|
golang.zx2c4.com/wireguard v0.0.0-20230325221338-052af4a8072b
|
|
golang.zx2c4.com/wireguard/windows v1.0.1
|
|
google.golang.org/protobuf v1.36.11
|
|
gopkg.in/yaml.v3 v3.0.1
|
|
gvisor.dev/gvisor v0.0.0-20240423190808-9d7a357edefe
|
|
)
|
|
|
|
require (
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
|
github.com/google/btree v1.1.2 // indirect
|
|
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
|
github.com/prometheus/client_model v0.6.2 // indirect
|
|
github.com/prometheus/common v0.66.1 // indirect
|
|
github.com/prometheus/procfs v0.16.1 // indirect
|
|
github.com/vishvananda/netns v0.0.5 // indirect
|
|
go.yaml.in/yaml/v2 v2.4.2 // indirect
|
|
golang.org/x/mod v0.36.0 // indirect
|
|
golang.org/x/time v0.5.0 // indirect
|
|
golang.org/x/tools v0.45.0 // indirect
|
|
)
|