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>
pull/4262/head
Brad Fitzpatrick 3 years ago committed by Brad Fitzpatrick
parent 0861923c21
commit 8144c6d87d

@ -15,6 +15,7 @@ import (
"net/http" "net/http"
"os" "os"
"path/filepath" "path/filepath"
"runtime"
"strings" "strings"
"sync" "sync"
"time" "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. // Start connects the server to the tailnet.
// Optional: any calls to Dial/Listen will also call Start. // Optional: any calls to Dial/Listen will also call Start.
func (s *Server) Start() error { 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) s.initOnce.Do(s.doInit)
return s.initErr return s.initErr
} }

Loading…
Cancel
Save