|
|
|
@ -310,7 +310,7 @@ func (b *LocalBackend) setClientStatus(st controlclient.Status) {
|
|
|
|
|
prefsChanged = true
|
|
|
|
|
}
|
|
|
|
|
if st.NetMap != nil {
|
|
|
|
|
if b.findExitNodeID(st.NetMap) {
|
|
|
|
|
if b.findExitNodeIDLocked(st.NetMap) {
|
|
|
|
|
prefsChanged = true
|
|
|
|
|
}
|
|
|
|
|
b.setNetMapLocked(st.NetMap)
|
|
|
|
@ -371,9 +371,9 @@ func (b *LocalBackend) setClientStatus(st controlclient.Status) {
|
|
|
|
|
b.authReconfig()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// findExitNodeID updates b.prefs to reference an exit node by ID,
|
|
|
|
|
// findExitNodeIDLocked updates b.prefs to reference an exit node by ID,
|
|
|
|
|
// rather than by IP. It returns whether prefs was mutated.
|
|
|
|
|
func (b *LocalBackend) findExitNodeID(nm *netmap.NetworkMap) (prefsChanged bool) {
|
|
|
|
|
func (b *LocalBackend) findExitNodeIDLocked(nm *netmap.NetworkMap) (prefsChanged bool) {
|
|
|
|
|
// If we have a desired IP on file, try to find the corresponding
|
|
|
|
|
// node.
|
|
|
|
|
if b.prefs.ExitNodeIP.IsZero() {
|
|
|
|
|