From 92a66fc8a477ba3f1c5cf98c6d41673fa4fd8328 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maxi=20Quo=C3=9F?= Date: Mon, 17 Mar 2025 10:39:28 +0100 Subject: [PATCH] fix: reduce port check errors --- backend/networking/ping.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/backend/networking/ping.go b/backend/networking/ping.go index 1313b865..8b65375c 100644 --- a/backend/networking/ping.go +++ b/backend/networking/ping.go @@ -1,6 +1,7 @@ package networking import ( + "errors" "net" "os" "os/exec" @@ -76,6 +77,13 @@ func CheckPort(host string, port string) (bool, error) { timeout := 500 * time.Millisecond conn, err := net.DialTimeout("tcp", net.JoinHostPort(host, port), timeout) if err != nil { + // treat "host unreachable" and "timeout" as no error + var netErr *net.OpError + if errors.As(err, &netErr) { + if errors.Is(netErr.Err, syscall.EHOSTUNREACH) || errors.Is(netErr.Err, os.ErrDeadlineExceeded) { + return false, nil + } + } return false, err } defer conn.Close()