|
|
@@ -59,35 +59,6 @@ import (
|
|
|
"tailscale.com/wgengine/wgcfg"
|
|
|
)
|
|
|
|
|
|
-// Various debugging and experimental tweakables, set by environment
|
|
|
-// variable.
|
|
|
-var (
|
|
|
- // logPacketDests prints the known addresses for a peer every time
|
|
|
- // they change, in the legacy (non-discovery) endpoint code only.
|
|
|
- logPacketDests, _ = strconv.ParseBool(os.Getenv("TS_DEBUG_LOG_PACKET_DESTS"))
|
|
|
- // debugDisco prints verbose logs of active discovery events as
|
|
|
- // they happen.
|
|
|
- debugDisco, _ = strconv.ParseBool(os.Getenv("TS_DEBUG_DISCO"))
|
|
|
- // debugOmitLocalAddresses removes all local interface addresses
|
|
|
- // from magicsock's discovered local endpoints. Used in some tests.
|
|
|
- debugOmitLocalAddresses, _ = strconv.ParseBool(os.Getenv("TS_DEBUG_OMIT_LOCAL_ADDRS"))
|
|
|
- // debugUseDerpRoute temporarily (2020-03-22) controls whether DERP
|
|
|
- // reverse routing is enabled (Issue 150). It will become always true
|
|
|
- // later.
|
|
|
- debugUseDerpRouteEnv = os.Getenv("TS_DEBUG_ENABLE_DERP_ROUTE")
|
|
|
- debugUseDerpRoute, _ = strconv.ParseBool(debugUseDerpRouteEnv)
|
|
|
- // logDerpVerbose logs all received DERP packets, including their
|
|
|
- // full payload.
|
|
|
- logDerpVerbose, _ = strconv.ParseBool(os.Getenv("TS_DEBUG_DERP"))
|
|
|
- // debugReSTUNStopOnIdle unconditionally enables the "shut down
|
|
|
- // STUN if magicsock is idle" behavior that normally only triggers
|
|
|
- // on mobile devices, lowers the shutdown interval, and logs more
|
|
|
- // verbosely about idle measurements.
|
|
|
- debugReSTUNStopOnIdle, _ = strconv.ParseBool(os.Getenv("TS_DEBUG_RESTUN_STOP_ON_IDLE"))
|
|
|
- // debugAlwaysDERP disables the use of UDP, forcing all peer communication over DERP.
|
|
|
- debugAlwaysDERP, _ = strconv.ParseBool(os.Getenv("TS_DEBUG_ALWAYS_USE_DERP"))
|
|
|
-)
|
|
|
-
|
|
|
// useDerpRoute reports whether magicsock should enable the DERP
|
|
|
// return path optimization (Issue 150).
|
|
|
func useDerpRoute() bool {
|
|
|
@@ -101,17 +72,6 @@ func useDerpRoute() bool {
|
|
|
return false
|
|
|
}
|
|
|
|
|
|
-// inTest reports whether the running program is a test that set the
|
|
|
-// IN_TS_TEST environment variable.
|
|
|
-//
|
|
|
-// Unlike the other debug tweakables above, this one needs to be
|
|
|
-// checked every time at runtime, because tests set this after program
|
|
|
-// startup.
|
|
|
-func inTest() bool {
|
|
|
- inTest, _ := strconv.ParseBool(os.Getenv("IN_TS_TEST"))
|
|
|
- return inTest
|
|
|
-}
|
|
|
-
|
|
|
// A Conn routes UDP packets and actively manages a list of its endpoints.
|
|
|
// It implements wireguard/conn.Bind.
|
|
|
type Conn struct {
|