control/controlclient: add debug knob to not use control's endpoints
@@ -744,6 +744,14 @@ func (c *Direct) sendMapRequest(ctx context.Context, maxPolls int, cb func(*Netw
}
resp.Peers = filtered
}
+ if Debug.StripEndpoints {
+ for _, p := range resp.Peers {
+ // We need at least one endpoint here for now else
+ // other code doesn't even create the discoEndpoint.
+ // TODO(bradfitz): fix that and then just nil this out.
+ p.Endpoints = []string{"127.9.9.9:456"}
+ }
+ }
if pf := resp.PacketFilter; pf != nil {
lastParsedPacketFilter = c.parsePacketFilter(pf)
@@ -976,6 +984,7 @@ type debug struct {
ProxyDNS bool
OnlyDisco bool
Disco bool
+ StripEndpoints bool // strip endpoints from control (only use disco messages)
}
func initDebug() debug {
@@ -983,6 +992,7 @@ func initDebug() debug {
return debug{
NetMap: envBool("TS_DEBUG_NETMAP"),
ProxyDNS: envBool("TS_DEBUG_PROXY_DNS"),
+ StripEndpoints: envBool("TS_DEBUG_STRIP_ENDPOINTS"),
OnlyDisco: use == "only",
Disco: use == "only" || use == "" || envBool("TS_DEBUG_USE_DISCO"),
}
