From 1a4e8da0849fb5581f4ede1fdd07fe7009d91e1e Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Fri, 7 Jan 2022 09:52:54 -0800 Subject: [PATCH] wgengine/netstack: fake pings through netstack on Android too Every OS ping binary is slightly different. Adjust for Android's. Updates #1738 Signed-off-by: Brad Fitzpatrick --- wgengine/netstack/netstack.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/wgengine/netstack/netstack.go b/wgengine/netstack/netstack.go index 2617501a3..eb2ff2598 100644 --- a/wgengine/netstack/netstack.go +++ b/wgengine/netstack/netstack.go @@ -419,6 +419,12 @@ func (ns *Impl) userPing(dstIP netaddr.IP, pingResPkt []byte) { switch runtime.GOOS { case "windows": err = exec.Command("ping", "-n", "1", "-w", "3000", dstIP.String()).Run() + case "android": + ping := "/system/bin/ping" + if dstIP.Is6() { + ping = "/system/bin/ping6" + } + err = exec.Command(ping, "-c", "1", "-w", "3", dstIP.String()).Run() default: err = exec.Command("ping", "-c", "1", "-W", "3", dstIP.String()).Run() }