tsnet: fail with nice message with go1.18 on darwin

Like we did in ead16b24ec for tailscaled.

Updates #4258
Due to golang/go#51759

Change-Id: I6effcea7c5f2ec264b9711f4c316f8fca09490f1
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick 2022-03-22 20:24:57 -07:00 committed by Brad Fitzpatrick
parent 0861923c21
commit 8144c6d87d

View File

@ -15,6 +15,7 @@
"net/http"
"os"
"path/filepath"
"runtime"
"strings"
"sync"
"time"
@ -92,6 +93,9 @@ func (s *Server) Dial(ctx context.Context, network, address string) (net.Conn, e
// Start connects the server to the tailnet.
// Optional: any calls to Dial/Listen will also call Start.
func (s *Server) Start() error {
if runtime.GOOS == "darwin" && runtime.Version() == "go1.18" {
log.Fatalf("Tailscale is broken on macOS with go1.18 due to upstream bug https://github.com/golang/go/issues/51759; use 1.18.1+ or Tailscale's Go fork")
}
s.initOnce.Do(s.doInit)
return s.initErr
}