Android 11 and later restrict some permissions (https://github.com/golang/go/pull/61089). The workaround is to get local interfaces in Java native code, and then give them to the replaced go-multiaddr package in go.mod.
To use mDNS on Android, we need to lock a multicast locker (https://developer.android.com/reference/android/net/wifi/WifiManager.MulticastLock). That's why we initialize mDNS with a custom IPFS node, and give it to the weshnet service (see core.go file). mDNS is optional to init IPFS, and currently there are no options to disable it from react-native (we will add them in later PR).
:warning: We detected 1 security issue in this pull request:
Vulnerable Libraries (1)
Severity | Details
:-: | :--
Critical | [pkg:golang/berty.tech/weshnet/v2@v2.0.1](https://github.com/berty/weshnet-expo/blob/37a45e9e2ac3762769a062cb8f95d0e84683e3c7/go.mod#L8) upgrade to: *> v2.0.1*
More info on how to fix Vulnerable Libraries in [Go](https://docs.guardrails.io/docs/en/vulnerabilities/go/using_vulnerable_libraries.html?utm_source=ghpr).
fixes https://github.com/berty/weshnet-expo/issues/19
go-multiaddr
package ingo.mod
.core.go
file). mDNS is optional to init IPFS, and currently there are no options to disable it from react-native (we will add them in later PR).