cmd/hello: use safesocket client to connect

pull/1244/head
Brad Fitzpatrick 3 years ago
parent 006a224f50
commit 60e189f699

@ -18,6 +18,7 @@ import (
"net/url" "net/url"
"strings" "strings"
"tailscale.com/safesocket"
"tailscale.com/tailcfg" "tailscale.com/tailcfg"
) )
@ -102,15 +103,12 @@ func root(w http.ResponseWriter, r *http.Request) {
}) })
} }
// tsSockClient does HTTP requests to the local tailscaled by dialing // tsSockClient does HTTP requests to the local Tailscale daemon.
// its Unix socket or whatever type of connection is required on the local // The hostname in the HTTP request is ignored.
// system.
// TODO(bradfitz): do the macOS dial-the-sandbox dance like cmd/tailscale does.
var tsSockClient = &http.Client{ var tsSockClient = &http.Client{
Transport: &http.Transport{ Transport: &http.Transport{
DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) { DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) {
var d net.Dialer return safesocket.ConnectDefault()
return d.DialContext(ctx, "unix", "/var/run/tailscale/tailscaled.sock")
}, },
}, },
} }

@ -27,6 +27,11 @@ func ConnCloseWrite(c net.Conn) error {
return c.(closeable).CloseWrite() return c.(closeable).CloseWrite()
} }
// ConnectDefault connects to the local Tailscale daemon.
func ConnectDefault() (net.Conn, error) {
return Connect("/var/run/tailscale/tailscaled.sock", 41112)
}
// Connect connects to either path (on Unix) or the provided localhost port (on Windows). // Connect connects to either path (on Unix) or the provided localhost port (on Windows).
func Connect(path string, port uint16) (net.Conn, error) { func Connect(path string, port uint16) (net.Conn, error) {
return connect(path, port) return connect(path, port)

Loading…
Cancel
Save