|
|
|
@ -353,9 +353,7 @@ func (b *LocalBackend) Start(opts Options) error {
|
|
|
|
|
b.serverURL = b.prefs.ControlURL
|
|
|
|
|
hostinfo.RoutableIPs = append(hostinfo.RoutableIPs, b.prefs.AdvertiseRoutes...)
|
|
|
|
|
hostinfo.RequestTags = append(hostinfo.RequestTags, b.prefs.AdvertiseTags...)
|
|
|
|
|
if b.prefs.Hostname != "" {
|
|
|
|
|
hostinfo.Hostname = b.prefs.Hostname
|
|
|
|
|
}
|
|
|
|
|
applyPrefsToHostinfo(hostinfo, b.prefs)
|
|
|
|
|
|
|
|
|
|
b.notify = opts.Notify
|
|
|
|
|
b.netMap = nil
|
|
|
|
@ -734,9 +732,7 @@ func (b *LocalBackend) SetPrefs(new *Prefs) {
|
|
|
|
|
oldHi := b.hostinfo
|
|
|
|
|
newHi := oldHi.Clone()
|
|
|
|
|
newHi.RoutableIPs = append([]wgcfg.CIDR(nil), b.prefs.AdvertiseRoutes...)
|
|
|
|
|
if h := new.Hostname; h != "" {
|
|
|
|
|
newHi.Hostname = h
|
|
|
|
|
}
|
|
|
|
|
applyPrefsToHostinfo(newHi, new)
|
|
|
|
|
b.hostinfo = newHi
|
|
|
|
|
hostInfoChanged := !oldHi.Equal(newHi)
|
|
|
|
|
b.mu.Unlock()
|
|
|
|
@ -943,6 +939,18 @@ func wgCIDRToNetaddr(cidrs []wgcfg.CIDR) (ret []netaddr.IPPrefix) {
|
|
|
|
|
return ret
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func applyPrefsToHostinfo(hi *tailcfg.Hostinfo, prefs *Prefs) {
|
|
|
|
|
if h := prefs.Hostname; h != "" {
|
|
|
|
|
hi.Hostname = h
|
|
|
|
|
}
|
|
|
|
|
if v := prefs.OSVersion; v != "" {
|
|
|
|
|
hi.OSVersion = v
|
|
|
|
|
}
|
|
|
|
|
if m := prefs.DeviceModel; m != "" {
|
|
|
|
|
hi.DeviceModel = m
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// enterState transitions the backend into newState, updating internal
|
|
|
|
|
// state and propagating events out as needed.
|
|
|
|
|
//
|
|
|
|
|