From 75e2d8983b2a2225972622152e1acda21043f064 Mon Sep 17 00:00:00 2001 From: kari-ts <135075563+kari-ts@users.noreply.github.com> Date: Thu, 18 Apr 2024 11:25:55 -0700 Subject: [PATCH] Revert "android: pass interface name to go" (#339) Revert "android: pass interface name to go (#336)" This reverts commit bbb3c86fa8df25478a50664322fe49a4ee4f659c. --- android/src/main/java/com/tailscale/ipn/App.kt | 4 ++-- libtailscale/backend.go | 4 ++-- libtailscale/callbacks.go | 9 ++++----- libtailscale/net.go | 4 +--- 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/android/src/main/java/com/tailscale/ipn/App.kt b/android/src/main/java/com/tailscale/ipn/App.kt index 92b9b23..7a9d564 100644 --- a/android/src/main/java/com/tailscale/ipn/App.kt +++ b/android/src/main/java/com/tailscale/ipn/App.kt @@ -166,14 +166,14 @@ class App : Application(), libtailscale.AppContext { } if (dns.updateDNSFromNetwork(sb.toString())) { - Libtailscale.onDnsConfigChanged(linkProperties?.getInterfaceName()) + Libtailscale.onDnsConfigChanged() } } override fun onLost(network: Network) { super.onLost(network) if (dns.updateDNSFromNetwork("")) { - Libtailscale.onDnsConfigChanged("") + Libtailscale.onDnsConfigChanged() } } }) diff --git a/libtailscale/backend.go b/libtailscale/backend.go index bbe73c3..a5610c6 100644 --- a/libtailscale/backend.go +++ b/libtailscale/backend.go @@ -222,9 +222,9 @@ func (a *App) runBackend(ctx context.Context) error { netns.SetAndroidProtectFunc(nil) service = nil } - case i := <-onDNSConfigChanged: + case <-onDNSConfigChanged: if b != nil { - go b.NetworkChanged(i) + go b.NetworkChanged() } } } diff --git a/libtailscale/callbacks.go b/libtailscale/callbacks.go index d35a8a0..bc3e489 100644 --- a/libtailscale/callbacks.go +++ b/libtailscale/callbacks.go @@ -23,14 +23,13 @@ var ( // onGoogleToken receives google ID tokens. onGoogleToken = make(chan string) - // onDNSConfigChanged is notified when the network changes and the DNS config needs to be updated. It receives the updated interface name. - onDNSConfigChanged = make(chan string, 1) + // onDNSConfigChanged is notified when the network changes and the DNS config needs to be updated. + onDNSConfigChanged = make(chan struct{}, 1) ) -// ifname is the interface name retrieved from LinkProperties on network change, if any. -func OnDnsConfigChanged(ifname string) { +func OnDnsConfigChanged() { select { - case onDNSConfigChanged <- ifname: + case onDNSConfigChanged <- struct{}{}: default: } } diff --git a/libtailscale/net.go b/libtailscale/net.go index 8d61a3d..49ced68 100644 --- a/libtailscale/net.go +++ b/libtailscale/net.go @@ -227,8 +227,7 @@ func (b *backend) CloseTUNs() { b.devices.Shutdown() } -// ifname is the interface name retrieved from LinkProperties on network change. If a network is lost, an empty string is passed in. -func (b *backend) NetworkChanged(ifname string) { +func (b *backend) NetworkChanged() { defer func() { if p := recover(); p != nil { log.Printf("panic in NetworkChanged %s: %s", p, debug.Stack()) @@ -240,7 +239,6 @@ func (b *backend) NetworkChanged(ifname string) { if nm, ok := b.sys.NetMon.GetOK(); ok { nm.InjectEvent() } - interfaces.UpdateLastKnownDefaultRouteInterface(ifname) } }