mirror of
https://github.com/tailscale/tailscale.git
synced 2025-08-20 01:47:33 +00:00
tailcfg, feature/relayserver, wgengine/magicsock: invert UDP relay server nodeAttrs (#16444)
Inverts the nodeAttrs related to UDP relay client/server enablement to disablement, and fixes up the corresponding logic that uses them. Also updates the doc comments on both nodeAttrs. Fixes tailscale/corp#30024 Signed-off-by: Dylan Bargatze <dylan@tailscale.com>
This commit is contained in:
@@ -50,11 +50,11 @@ func newExtension(logf logger.Logf, _ ipnext.SafeBackend) (ipnext.Extension, err
|
||||
type extension struct {
|
||||
logf logger.Logf
|
||||
|
||||
mu sync.Mutex // guards the following fields
|
||||
shutdown bool
|
||||
port *int // ipn.Prefs.RelayServerPort, nil if disabled
|
||||
hasNodeAttrRelayServer bool // tailcfg.NodeAttrRelayServer
|
||||
server relayServer // lazily initialized
|
||||
mu sync.Mutex // guards the following fields
|
||||
shutdown bool
|
||||
port *int // ipn.Prefs.RelayServerPort, nil if disabled
|
||||
hasNodeAttrDisableRelayServer bool // tailcfg.NodeAttrDisableRelayServer
|
||||
server relayServer // lazily initialized
|
||||
}
|
||||
|
||||
// relayServer is the interface of [udprelay.Server].
|
||||
@@ -81,8 +81,8 @@ func (e *extension) Init(host ipnext.Host) error {
|
||||
func (e *extension) selfNodeViewChanged(nodeView tailcfg.NodeView) {
|
||||
e.mu.Lock()
|
||||
defer e.mu.Unlock()
|
||||
e.hasNodeAttrRelayServer = nodeView.HasCap(tailcfg.NodeAttrRelayServer)
|
||||
if !e.hasNodeAttrRelayServer && e.server != nil {
|
||||
e.hasNodeAttrDisableRelayServer = nodeView.HasCap(tailcfg.NodeAttrDisableRelayServer)
|
||||
if e.hasNodeAttrDisableRelayServer && e.server != nil {
|
||||
e.server.Close()
|
||||
e.server = nil
|
||||
}
|
||||
@@ -130,8 +130,8 @@ func (e *extension) relayServerOrInit() (relayServer, error) {
|
||||
if e.port == nil {
|
||||
return nil, errors.New("relay server is not configured")
|
||||
}
|
||||
if !e.hasNodeAttrRelayServer {
|
||||
return nil, errors.New("no relay:server node attribute")
|
||||
if e.hasNodeAttrDisableRelayServer {
|
||||
return nil, errors.New("disable-relay-server node attribute is present")
|
||||
}
|
||||
if !envknob.UseWIPCode() {
|
||||
return nil, errors.New("TAILSCALE_USE_WIP_CODE envvar is not set")
|
||||
|
Reference in New Issue
Block a user