mirror of
https://github.com/tailscale/tailscale.git
synced 2026-06-03 21:01:54 +08:00
net/dns/resolver: fix UDP socket protection on android for non-tailscale resolvers
This commit is contained in:
parent
2eb45c2457
commit
ffdbe11013
@ -35,6 +35,7 @@
|
||||
"tailscale.com/net/dnscache"
|
||||
"tailscale.com/net/neterror"
|
||||
"tailscale.com/net/netmon"
|
||||
"tailscale.com/net/netns"
|
||||
"tailscale.com/net/netx"
|
||||
"tailscale.com/net/sockstats"
|
||||
"tailscale.com/net/tsdial"
|
||||
@ -498,11 +499,18 @@ func (f *forwarder) setRoutes(routesBySuffix map[dnsname.FQDN][]*dnstype.Resolve
|
||||
var stdNetPacketListener nettype.PacketListenerWithNetIP = nettype.MakePacketListenerWithNetIP(new(net.ListenConfig))
|
||||
|
||||
func (f *forwarder) packetListener(ip netip.Addr) (nettype.PacketListenerWithNetIP, error) {
|
||||
if f.linkSel == nil || initListenConfig == nil {
|
||||
var linkName string
|
||||
if f.linkSel != nil {
|
||||
linkName = f.linkSel.PickLink(ip)
|
||||
}
|
||||
if linkName == "" {
|
||||
if runtime.GOOS == "android" {
|
||||
f.logf("packetListener: using netns.Listener for %v", ip)
|
||||
return nettype.MakePacketListenerWithNetIP(netns.Listener(f.logf, f.netMon)), nil
|
||||
}
|
||||
return stdNetPacketListener, nil
|
||||
}
|
||||
linkName := f.linkSel.PickLink(ip)
|
||||
if linkName == "" {
|
||||
if initListenConfig == nil {
|
||||
return stdNetPacketListener, nil
|
||||
}
|
||||
lc := new(net.ListenConfig)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user