mirror of
https://github.com/tailscale/tailscale.git
synced 2025-10-27 03:32:03 +00:00
control/ts2021: rename from internal/noiseconn in prep for controlclient split
A following change will split out the controlclient.NoiseClient type out, away from the rest of the controlclient package which is relatively dependency heavy. A question was where to move it, and whether to make a new (a fifth!) package in the ts2021 dependency chain. @creachadair and I brainstormed and decided to merge internal/noiseconn and controlclient.NoiseClient into one package, with names ts2021.Conn and ts2021.Client. For ease of reviewing the subsequent PR, this is the first step that just renames the internal/noiseconn package to control/ts2021. Updates #17305 Change-Id: Ib5ea162dc1d336c1d805bdd9548d1702dd6e1468 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
committed by
Brad Fitzpatrick
parent
801aac59db
commit
78af49dd1a
@@ -690,6 +690,7 @@ tailscale.com/cmd/k8s-operator dependencies: (generated by github.com/tailscale/
|
|||||||
tailscale.com/control/controlhttp from tailscale.com/control/controlclient
|
tailscale.com/control/controlhttp from tailscale.com/control/controlclient
|
||||||
tailscale.com/control/controlhttp/controlhttpcommon from tailscale.com/control/controlhttp
|
tailscale.com/control/controlhttp/controlhttpcommon from tailscale.com/control/controlhttp
|
||||||
tailscale.com/control/controlknobs from tailscale.com/control/controlclient+
|
tailscale.com/control/controlknobs from tailscale.com/control/controlclient+
|
||||||
|
tailscale.com/control/ts2021 from tailscale.com/control/controlclient
|
||||||
tailscale.com/derp from tailscale.com/derp/derphttp+
|
tailscale.com/derp from tailscale.com/derp/derphttp+
|
||||||
tailscale.com/derp/derpconst from tailscale.com/derp/derphttp+
|
tailscale.com/derp/derpconst from tailscale.com/derp/derphttp+
|
||||||
tailscale.com/derp/derphttp from tailscale.com/ipn/localapi+
|
tailscale.com/derp/derphttp from tailscale.com/ipn/localapi+
|
||||||
@@ -710,7 +711,6 @@ tailscale.com/cmd/k8s-operator dependencies: (generated by github.com/tailscale/
|
|||||||
tailscale.com/health/healthmsg from tailscale.com/ipn/ipnlocal+
|
tailscale.com/health/healthmsg from tailscale.com/ipn/ipnlocal+
|
||||||
tailscale.com/hostinfo from tailscale.com/client/web+
|
tailscale.com/hostinfo from tailscale.com/client/web+
|
||||||
tailscale.com/internal/client/tailscale from tailscale.com/cmd/k8s-operator+
|
tailscale.com/internal/client/tailscale from tailscale.com/cmd/k8s-operator+
|
||||||
tailscale.com/internal/noiseconn from tailscale.com/control/controlclient
|
|
||||||
tailscale.com/ipn from tailscale.com/client/local+
|
tailscale.com/ipn from tailscale.com/client/local+
|
||||||
tailscale.com/ipn/conffile from tailscale.com/ipn/ipnlocal+
|
tailscale.com/ipn/conffile from tailscale.com/ipn/ipnlocal+
|
||||||
💣 tailscale.com/ipn/ipnauth from tailscale.com/ipn/ipnlocal+
|
💣 tailscale.com/ipn/ipnauth from tailscale.com/ipn/ipnlocal+
|
||||||
|
|||||||
@@ -31,10 +31,10 @@ import (
|
|||||||
"golang.org/x/net/http2"
|
"golang.org/x/net/http2"
|
||||||
"tailscale.com/client/tailscale/apitype"
|
"tailscale.com/client/tailscale/apitype"
|
||||||
"tailscale.com/control/controlhttp"
|
"tailscale.com/control/controlhttp"
|
||||||
|
"tailscale.com/control/ts2021"
|
||||||
"tailscale.com/feature"
|
"tailscale.com/feature"
|
||||||
_ "tailscale.com/feature/condregister/useproxy"
|
_ "tailscale.com/feature/condregister/useproxy"
|
||||||
"tailscale.com/hostinfo"
|
"tailscale.com/hostinfo"
|
||||||
"tailscale.com/internal/noiseconn"
|
|
||||||
"tailscale.com/ipn"
|
"tailscale.com/ipn"
|
||||||
"tailscale.com/net/ace"
|
"tailscale.com/net/ace"
|
||||||
"tailscale.com/net/netmon"
|
"tailscale.com/net/netmon"
|
||||||
@@ -1122,7 +1122,7 @@ func tryConnect(ctx context.Context, controlPublic key.MachinePublic, noiseDiale
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Now, create a Noise conn over the existing conn.
|
// Now, create a Noise conn over the existing conn.
|
||||||
nc, err := noiseconn.New(conn.Conn, h2Transport, 0, nil)
|
nc, err := ts2021.New(conn.Conn, h2Transport, 0, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("noiseconn.New: %w", err)
|
return fmt.Errorf("noiseconn.New: %w", err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ tailscale.com/cmd/tailscale dependencies: (generated by github.com/tailscale/dep
|
|||||||
tailscale.com/control/controlbase from tailscale.com/control/controlhttp+
|
tailscale.com/control/controlbase from tailscale.com/control/controlhttp+
|
||||||
tailscale.com/control/controlhttp from tailscale.com/cmd/tailscale/cli
|
tailscale.com/control/controlhttp from tailscale.com/cmd/tailscale/cli
|
||||||
tailscale.com/control/controlhttp/controlhttpcommon from tailscale.com/control/controlhttp
|
tailscale.com/control/controlhttp/controlhttpcommon from tailscale.com/control/controlhttp
|
||||||
|
tailscale.com/control/ts2021 from tailscale.com/cmd/tailscale/cli
|
||||||
tailscale.com/derp from tailscale.com/derp/derphttp+
|
tailscale.com/derp from tailscale.com/derp/derphttp+
|
||||||
tailscale.com/derp/derpconst from tailscale.com/derp/derphttp+
|
tailscale.com/derp/derpconst from tailscale.com/derp/derphttp+
|
||||||
tailscale.com/derp/derphttp from tailscale.com/net/netcheck
|
tailscale.com/derp/derphttp from tailscale.com/net/netcheck
|
||||||
@@ -105,7 +106,6 @@ tailscale.com/cmd/tailscale dependencies: (generated by github.com/tailscale/dep
|
|||||||
tailscale.com/health/healthmsg from tailscale.com/cmd/tailscale/cli
|
tailscale.com/health/healthmsg from tailscale.com/cmd/tailscale/cli
|
||||||
tailscale.com/hostinfo from tailscale.com/client/web+
|
tailscale.com/hostinfo from tailscale.com/client/web+
|
||||||
tailscale.com/internal/client/tailscale from tailscale.com/cmd/tailscale/cli+
|
tailscale.com/internal/client/tailscale from tailscale.com/cmd/tailscale/cli+
|
||||||
tailscale.com/internal/noiseconn from tailscale.com/cmd/tailscale/cli
|
|
||||||
tailscale.com/ipn from tailscale.com/client/local+
|
tailscale.com/ipn from tailscale.com/client/local+
|
||||||
tailscale.com/ipn/ipnstate from tailscale.com/client/local+
|
tailscale.com/ipn/ipnstate from tailscale.com/client/local+
|
||||||
tailscale.com/kube/kubetypes from tailscale.com/envknob
|
tailscale.com/kube/kubetypes from tailscale.com/envknob
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
|
|||||||
tailscale.com/control/controlhttp from tailscale.com/control/controlclient
|
tailscale.com/control/controlhttp from tailscale.com/control/controlclient
|
||||||
tailscale.com/control/controlhttp/controlhttpcommon from tailscale.com/control/controlhttp
|
tailscale.com/control/controlhttp/controlhttpcommon from tailscale.com/control/controlhttp
|
||||||
tailscale.com/control/controlknobs from tailscale.com/control/controlclient+
|
tailscale.com/control/controlknobs from tailscale.com/control/controlclient+
|
||||||
|
tailscale.com/control/ts2021 from tailscale.com/control/controlclient
|
||||||
tailscale.com/derp from tailscale.com/derp/derphttp+
|
tailscale.com/derp from tailscale.com/derp/derphttp+
|
||||||
tailscale.com/derp/derpconst from tailscale.com/derp/derphttp+
|
tailscale.com/derp/derpconst from tailscale.com/derp/derphttp+
|
||||||
tailscale.com/derp/derphttp from tailscale.com/net/netcheck+
|
tailscale.com/derp/derphttp from tailscale.com/net/netcheck+
|
||||||
@@ -60,7 +61,6 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
|
|||||||
tailscale.com/health from tailscale.com/control/controlclient+
|
tailscale.com/health from tailscale.com/control/controlclient+
|
||||||
tailscale.com/health/healthmsg from tailscale.com/ipn/ipnlocal+
|
tailscale.com/health/healthmsg from tailscale.com/ipn/ipnlocal+
|
||||||
tailscale.com/hostinfo from tailscale.com/cmd/tailscaled+
|
tailscale.com/hostinfo from tailscale.com/cmd/tailscaled+
|
||||||
tailscale.com/internal/noiseconn from tailscale.com/control/controlclient
|
|
||||||
tailscale.com/ipn from tailscale.com/cmd/tailscaled+
|
tailscale.com/ipn from tailscale.com/cmd/tailscaled+
|
||||||
tailscale.com/ipn/conffile from tailscale.com/cmd/tailscaled+
|
tailscale.com/ipn/conffile from tailscale.com/cmd/tailscaled+
|
||||||
tailscale.com/ipn/ipnauth from tailscale.com/ipn/ipnext+
|
tailscale.com/ipn/ipnauth from tailscale.com/ipn/ipnext+
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
|
|||||||
tailscale.com/control/controlhttp from tailscale.com/control/controlclient+
|
tailscale.com/control/controlhttp from tailscale.com/control/controlclient+
|
||||||
tailscale.com/control/controlhttp/controlhttpcommon from tailscale.com/control/controlhttp
|
tailscale.com/control/controlhttp/controlhttpcommon from tailscale.com/control/controlhttp
|
||||||
tailscale.com/control/controlknobs from tailscale.com/control/controlclient+
|
tailscale.com/control/controlknobs from tailscale.com/control/controlclient+
|
||||||
|
tailscale.com/control/ts2021 from tailscale.com/cmd/tailscale/cli+
|
||||||
tailscale.com/derp from tailscale.com/derp/derphttp+
|
tailscale.com/derp from tailscale.com/derp/derphttp+
|
||||||
tailscale.com/derp/derpconst from tailscale.com/derp/derphttp+
|
tailscale.com/derp/derpconst from tailscale.com/derp/derphttp+
|
||||||
tailscale.com/derp/derphttp from tailscale.com/net/netcheck+
|
tailscale.com/derp/derphttp from tailscale.com/net/netcheck+
|
||||||
@@ -82,7 +83,6 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
|
|||||||
tailscale.com/health/healthmsg from tailscale.com/ipn/ipnlocal+
|
tailscale.com/health/healthmsg from tailscale.com/ipn/ipnlocal+
|
||||||
tailscale.com/hostinfo from tailscale.com/cmd/tailscaled+
|
tailscale.com/hostinfo from tailscale.com/cmd/tailscaled+
|
||||||
tailscale.com/internal/client/tailscale from tailscale.com/cmd/tailscale/cli
|
tailscale.com/internal/client/tailscale from tailscale.com/cmd/tailscale/cli
|
||||||
tailscale.com/internal/noiseconn from tailscale.com/control/controlclient+
|
|
||||||
tailscale.com/ipn from tailscale.com/cmd/tailscaled+
|
tailscale.com/ipn from tailscale.com/cmd/tailscaled+
|
||||||
tailscale.com/ipn/conffile from tailscale.com/cmd/tailscaled+
|
tailscale.com/ipn/conffile from tailscale.com/cmd/tailscaled+
|
||||||
tailscale.com/ipn/ipnauth from tailscale.com/ipn/ipnext+
|
tailscale.com/ipn/ipnauth from tailscale.com/ipn/ipnext+
|
||||||
|
|||||||
@@ -255,6 +255,7 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
|
|||||||
tailscale.com/control/controlhttp from tailscale.com/control/controlclient
|
tailscale.com/control/controlhttp from tailscale.com/control/controlclient
|
||||||
tailscale.com/control/controlhttp/controlhttpcommon from tailscale.com/control/controlhttp
|
tailscale.com/control/controlhttp/controlhttpcommon from tailscale.com/control/controlhttp
|
||||||
tailscale.com/control/controlknobs from tailscale.com/control/controlclient+
|
tailscale.com/control/controlknobs from tailscale.com/control/controlclient+
|
||||||
|
tailscale.com/control/ts2021 from tailscale.com/control/controlclient
|
||||||
tailscale.com/derp from tailscale.com/derp/derphttp+
|
tailscale.com/derp from tailscale.com/derp/derphttp+
|
||||||
tailscale.com/derp/derpconst from tailscale.com/derp/derphttp+
|
tailscale.com/derp/derpconst from tailscale.com/derp/derphttp+
|
||||||
tailscale.com/derp/derphttp from tailscale.com/cmd/tailscaled+
|
tailscale.com/derp/derphttp from tailscale.com/cmd/tailscaled+
|
||||||
@@ -296,7 +297,6 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
|
|||||||
tailscale.com/health from tailscale.com/control/controlclient+
|
tailscale.com/health from tailscale.com/control/controlclient+
|
||||||
tailscale.com/health/healthmsg from tailscale.com/ipn/ipnlocal+
|
tailscale.com/health/healthmsg from tailscale.com/ipn/ipnlocal+
|
||||||
tailscale.com/hostinfo from tailscale.com/client/web+
|
tailscale.com/hostinfo from tailscale.com/client/web+
|
||||||
tailscale.com/internal/noiseconn from tailscale.com/control/controlclient
|
|
||||||
tailscale.com/ipn from tailscale.com/client/local+
|
tailscale.com/ipn from tailscale.com/client/local+
|
||||||
W tailscale.com/ipn/auditlog from tailscale.com/cmd/tailscaled
|
W tailscale.com/ipn/auditlog from tailscale.com/cmd/tailscaled
|
||||||
tailscale.com/ipn/conffile from tailscale.com/cmd/tailscaled+
|
tailscale.com/ipn/conffile from tailscale.com/cmd/tailscaled+
|
||||||
|
|||||||
@@ -132,6 +132,7 @@ tailscale.com/cmd/tsidp dependencies: (generated by github.com/tailscale/depawar
|
|||||||
tailscale.com/control/controlhttp from tailscale.com/control/controlclient
|
tailscale.com/control/controlhttp from tailscale.com/control/controlclient
|
||||||
tailscale.com/control/controlhttp/controlhttpcommon from tailscale.com/control/controlhttp
|
tailscale.com/control/controlhttp/controlhttpcommon from tailscale.com/control/controlhttp
|
||||||
tailscale.com/control/controlknobs from tailscale.com/control/controlclient+
|
tailscale.com/control/controlknobs from tailscale.com/control/controlclient+
|
||||||
|
tailscale.com/control/ts2021 from tailscale.com/control/controlclient
|
||||||
tailscale.com/derp from tailscale.com/derp/derphttp+
|
tailscale.com/derp from tailscale.com/derp/derphttp+
|
||||||
tailscale.com/derp/derpconst from tailscale.com/derp/derphttp+
|
tailscale.com/derp/derpconst from tailscale.com/derp/derphttp+
|
||||||
tailscale.com/derp/derphttp from tailscale.com/ipn/localapi+
|
tailscale.com/derp/derphttp from tailscale.com/ipn/localapi+
|
||||||
@@ -152,7 +153,6 @@ tailscale.com/cmd/tsidp dependencies: (generated by github.com/tailscale/depawar
|
|||||||
tailscale.com/health/healthmsg from tailscale.com/ipn/ipnlocal+
|
tailscale.com/health/healthmsg from tailscale.com/ipn/ipnlocal+
|
||||||
tailscale.com/hostinfo from tailscale.com/client/web+
|
tailscale.com/hostinfo from tailscale.com/client/web+
|
||||||
tailscale.com/internal/client/tailscale from tailscale.com/tsnet+
|
tailscale.com/internal/client/tailscale from tailscale.com/tsnet+
|
||||||
tailscale.com/internal/noiseconn from tailscale.com/control/controlclient
|
|
||||||
tailscale.com/ipn from tailscale.com/client/local+
|
tailscale.com/ipn from tailscale.com/client/local+
|
||||||
tailscale.com/ipn/conffile from tailscale.com/ipn/ipnlocal+
|
tailscale.com/ipn/conffile from tailscale.com/ipn/ipnlocal+
|
||||||
💣 tailscale.com/ipn/ipnauth from tailscale.com/ipn/ipnext+
|
💣 tailscale.com/ipn/ipnauth from tailscale.com/ipn/ipnext+
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ import (
|
|||||||
|
|
||||||
"golang.org/x/net/http2"
|
"golang.org/x/net/http2"
|
||||||
"tailscale.com/control/controlhttp"
|
"tailscale.com/control/controlhttp"
|
||||||
|
"tailscale.com/control/ts2021"
|
||||||
"tailscale.com/health"
|
"tailscale.com/health"
|
||||||
"tailscale.com/internal/noiseconn"
|
|
||||||
"tailscale.com/net/dnscache"
|
"tailscale.com/net/dnscache"
|
||||||
"tailscale.com/net/netmon"
|
"tailscale.com/net/netmon"
|
||||||
"tailscale.com/net/tsdial"
|
"tailscale.com/net/tsdial"
|
||||||
@@ -50,7 +50,7 @@ type NoiseClient struct {
|
|||||||
|
|
||||||
// sfDial ensures that two concurrent requests for a noise connection only
|
// sfDial ensures that two concurrent requests for a noise connection only
|
||||||
// produce one shared one between the two callers.
|
// produce one shared one between the two callers.
|
||||||
sfDial singleflight.Group[struct{}, *noiseconn.Conn]
|
sfDial singleflight.Group[struct{}, *ts2021.Conn]
|
||||||
|
|
||||||
dialer *tsdial.Dialer
|
dialer *tsdial.Dialer
|
||||||
dnsCache *dnscache.Resolver
|
dnsCache *dnscache.Resolver
|
||||||
@@ -72,9 +72,9 @@ type NoiseClient struct {
|
|||||||
// mu only protects the following variables.
|
// mu only protects the following variables.
|
||||||
mu sync.Mutex
|
mu sync.Mutex
|
||||||
closed bool
|
closed bool
|
||||||
last *noiseconn.Conn // or nil
|
last *ts2021.Conn // or nil
|
||||||
nextID int
|
nextID int
|
||||||
connPool map[int]*noiseconn.Conn // active connections not yet closed; see noiseconn.Conn.Close
|
connPool map[int]*ts2021.Conn // active connections not yet closed; see ts2021.Conn.Close
|
||||||
}
|
}
|
||||||
|
|
||||||
// NoiseOpts contains options for the NewNoiseClient function. All fields are
|
// NoiseOpts contains options for the NewNoiseClient function. All fields are
|
||||||
@@ -195,12 +195,12 @@ func (e contextErr) Unwrap() error {
|
|||||||
return e.err
|
return e.err
|
||||||
}
|
}
|
||||||
|
|
||||||
// getConn returns a noiseconn.Conn that can be used to make requests to the
|
// getConn returns a ts2021.Conn that can be used to make requests to the
|
||||||
// coordination server. It may return a cached connection or create a new one.
|
// coordination server. It may return a cached connection or create a new one.
|
||||||
// Dials are singleflighted, so concurrent calls to getConn may only dial once.
|
// Dials are singleflighted, so concurrent calls to getConn may only dial once.
|
||||||
// As such, context values may not be respected as there are no guarantees that
|
// As such, context values may not be respected as there are no guarantees that
|
||||||
// the context passed to getConn is the same as the context passed to dial.
|
// the context passed to getConn is the same as the context passed to dial.
|
||||||
func (nc *NoiseClient) getConn(ctx context.Context) (*noiseconn.Conn, error) {
|
func (nc *NoiseClient) getConn(ctx context.Context) (*ts2021.Conn, error) {
|
||||||
nc.mu.Lock()
|
nc.mu.Lock()
|
||||||
if last := nc.last; last != nil && last.CanTakeNewRequest() {
|
if last := nc.last; last != nil && last.CanTakeNewRequest() {
|
||||||
nc.mu.Unlock()
|
nc.mu.Unlock()
|
||||||
@@ -214,7 +214,7 @@ func (nc *NoiseClient) getConn(ctx context.Context) (*noiseconn.Conn, error) {
|
|||||||
// canceled. Instead, we have to additionally check that the context
|
// canceled. Instead, we have to additionally check that the context
|
||||||
// which was canceled is our context and retry if our context is still
|
// which was canceled is our context and retry if our context is still
|
||||||
// valid.
|
// valid.
|
||||||
conn, err, _ := nc.sfDial.Do(struct{}{}, func() (*noiseconn.Conn, error) {
|
conn, err, _ := nc.sfDial.Do(struct{}{}, func() (*ts2021.Conn, error) {
|
||||||
c, err := nc.dial(ctx)
|
c, err := nc.dial(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if ctx.Err() != nil {
|
if ctx.Err() != nil {
|
||||||
@@ -282,7 +282,7 @@ func (nc *NoiseClient) Close() error {
|
|||||||
|
|
||||||
// dial opens a new connection to tailcontrol, fetching the server noise key
|
// dial opens a new connection to tailcontrol, fetching the server noise key
|
||||||
// if not cached.
|
// if not cached.
|
||||||
func (nc *NoiseClient) dial(ctx context.Context) (*noiseconn.Conn, error) {
|
func (nc *NoiseClient) dial(ctx context.Context) (*ts2021.Conn, error) {
|
||||||
nc.mu.Lock()
|
nc.mu.Lock()
|
||||||
connID := nc.nextID
|
connID := nc.nextID
|
||||||
nc.nextID++
|
nc.nextID++
|
||||||
@@ -352,7 +352,7 @@ func (nc *NoiseClient) dial(ctx context.Context) (*noiseconn.Conn, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
ncc, err := noiseconn.New(clientConn.Conn, nc.h2t, connID, nc.connClosed)
|
ncc, err := ts2021.New(clientConn.Conn, nc.h2t, connID, nc.connClosed)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import (
|
|||||||
|
|
||||||
"golang.org/x/net/http2"
|
"golang.org/x/net/http2"
|
||||||
"tailscale.com/control/controlhttp/controlhttpserver"
|
"tailscale.com/control/controlhttp/controlhttpserver"
|
||||||
"tailscale.com/internal/noiseconn"
|
"tailscale.com/control/ts2021"
|
||||||
"tailscale.com/net/netmon"
|
"tailscale.com/net/netmon"
|
||||||
"tailscale.com/net/tsdial"
|
"tailscale.com/net/tsdial"
|
||||||
"tailscale.com/tailcfg"
|
"tailscale.com/tailcfg"
|
||||||
@@ -310,7 +310,7 @@ func (up *Upgrader) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||||||
// https://httpwg.org/specs/rfc7540.html#rfc.section.4.1 (Especially not
|
// https://httpwg.org/specs/rfc7540.html#rfc.section.4.1 (Especially not
|
||||||
// an HTTP/2 settings frame, which isn't of type 'T')
|
// an HTTP/2 settings frame, which isn't of type 'T')
|
||||||
var notH2Frame [5]byte
|
var notH2Frame [5]byte
|
||||||
copy(notH2Frame[:], noiseconn.EarlyPayloadMagic)
|
copy(notH2Frame[:], ts2021.EarlyPayloadMagic)
|
||||||
var lenBuf [4]byte
|
var lenBuf [4]byte
|
||||||
binary.BigEndian.PutUint32(lenBuf[:], uint32(len(earlyJSON)))
|
binary.BigEndian.PutUint32(lenBuf[:], uint32(len(earlyJSON)))
|
||||||
// These writes are all buffered by caller, so fine to do them
|
// These writes are all buffered by caller, so fine to do them
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
// Copyright (c) Tailscale Inc & AUTHORS
|
// Copyright (c) Tailscale Inc & AUTHORS
|
||||||
// SPDX-License-Identifier: BSD-3-Clause
|
// SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
|
||||||
// Package noiseconn contains an internal-only wrapper around controlbase.Conn
|
// Package ts2021 handles the details of the Tailscale 2021 control protocol
|
||||||
// that properly handles the early payload sent by the server before the HTTP/2
|
// that are after (above) the Noise layer. In particular, the
|
||||||
// session begins.
|
// "tailcfg.EarlyNoise" message and the subsequent HTTP/2 connection.
|
||||||
//
|
package ts2021
|
||||||
// See the documentation on the Conn type for more details.
|
|
||||||
package noiseconn
|
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
@@ -128,6 +128,7 @@ tailscale.com/tsnet dependencies: (generated by github.com/tailscale/depaware)
|
|||||||
tailscale.com/control/controlhttp from tailscale.com/control/controlclient
|
tailscale.com/control/controlhttp from tailscale.com/control/controlclient
|
||||||
tailscale.com/control/controlhttp/controlhttpcommon from tailscale.com/control/controlhttp
|
tailscale.com/control/controlhttp/controlhttpcommon from tailscale.com/control/controlhttp
|
||||||
tailscale.com/control/controlknobs from tailscale.com/control/controlclient+
|
tailscale.com/control/controlknobs from tailscale.com/control/controlclient+
|
||||||
|
tailscale.com/control/ts2021 from tailscale.com/control/controlclient
|
||||||
tailscale.com/derp from tailscale.com/derp/derphttp+
|
tailscale.com/derp from tailscale.com/derp/derphttp+
|
||||||
tailscale.com/derp/derpconst from tailscale.com/derp/derphttp+
|
tailscale.com/derp/derpconst from tailscale.com/derp/derphttp+
|
||||||
tailscale.com/derp/derphttp from tailscale.com/ipn/localapi+
|
tailscale.com/derp/derphttp from tailscale.com/ipn/localapi+
|
||||||
@@ -148,7 +149,6 @@ tailscale.com/tsnet dependencies: (generated by github.com/tailscale/depaware)
|
|||||||
tailscale.com/health/healthmsg from tailscale.com/ipn/ipnlocal+
|
tailscale.com/health/healthmsg from tailscale.com/ipn/ipnlocal+
|
||||||
tailscale.com/hostinfo from tailscale.com/client/web+
|
tailscale.com/hostinfo from tailscale.com/client/web+
|
||||||
tailscale.com/internal/client/tailscale from tailscale.com/tsnet+
|
tailscale.com/internal/client/tailscale from tailscale.com/tsnet+
|
||||||
tailscale.com/internal/noiseconn from tailscale.com/control/controlclient
|
|
||||||
tailscale.com/ipn from tailscale.com/client/local+
|
tailscale.com/ipn from tailscale.com/client/local+
|
||||||
tailscale.com/ipn/conffile from tailscale.com/ipn/ipnlocal+
|
tailscale.com/ipn/conffile from tailscale.com/ipn/ipnlocal+
|
||||||
💣 tailscale.com/ipn/ipnauth from tailscale.com/ipn/ipnext+
|
💣 tailscale.com/ipn/ipnauth from tailscale.com/ipn/ipnext+
|
||||||
|
|||||||
Reference in New Issue
Block a user