Reset device locations when network changes

This commit is contained in:
Daniel 2022-04-13 11:04:08 +02:00
parent 650c272301
commit 014eb95eac

View file

@ -216,6 +216,10 @@ func SetInternetLocation(ip net.IP, source DeviceLocationSource) (dl *DeviceLoca
log.Warningf("netenv: failed to get geolocation data of %s (from %s): %s", ip, source, err)
return nil, false
}
// Only use location if there is data for it.
if geoLoc.Country.ISOCode == "" {
return nil, false
}
loc.Location = geoLoc
addLocation(loc)
@ -271,6 +275,13 @@ func GetInternetLocation() (deviceLocations *DeviceLocations, ok bool) {
}
locationNetworkChangedFlag.Refresh()
// Reset locations.
func() {
locationsLock.Lock()
defer locationsLock.Unlock()
locations = &DeviceLocations{}
}()
// Get all assigned addresses.
v4s, v6s, err := GetAssignedAddresses()
if err != nil {