awl
awl copied to clipboard
Broken p2p discovery in local network on Android 11+
As a result, in local networks, all connections between two android devices go through relays. Between android and other OS, this issue has less impact because Android --> not Android works fine.
Upstream issue: https://github.com/golang/go/issues/40569
Logs from device:
2021-11-17 22:15:04 ERROR basichost failed to resolve local interface addresses {"error": "route ip+net: netlinkrib: permission denied"}
2021-11-17 22:15:05 ERROR basichost failed to resolve local interface addresses {"error": "route ip+net: netlinkrib: permission denied"}
2021-11-17 22:15:05 INFO awl/p2p Connection established with bootstrap node: 12D3KooWNWa2r6dJVogbjNf1CKrKNttVAhKZr1PpWRPJYX7o4t4M
2021-11-17 22:15:05 INFO net/identify failed to get interface listen addrs%!(EXTRA *net.OpError=route ip+net: netlinkrib: permission denied)
2021-11-17 22:15:05 INFO net/identify failed to get interface listen addrs%!(EXTRA *net.OpError=route ip+net: netlinkrib: permission denied)
Addresses announced to DHT:
"PeerstoreAddrs": [
"/ip4/127.0.0.1/tcp/37449",
"/ip4/127.0.0.1/udp/42789/quic",
"/ip6/::1/tcp/37475",
"/ip6/::1/udp/42451/quic"
]
Possible solution that we could try: https://github.com/Catfriend1/syncthing-android/pull/800
Also, there is an option to temporary downgrade targetSdkVersion
to 29, since we are not publishing the app anywhere at the moment. But when we will, we'll have to set 30 as per google play's policy.